irda_sirc_spec.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "../irda_i.h"
  2. #include "irda_protocol_defs_i.h"
  3. static const IrdaProtocolSpecification irda_sirc_protocol_specification = {
  4. .name = "SIRC",
  5. .address_length = 5,
  6. .command_length = 7,
  7. .frequency = IRDA_SIRC_CARRIER_FREQUENCY,
  8. .duty_cycle = IRDA_SIRC_DUTY_CYCLE,
  9. };
  10. static const IrdaProtocolSpecification irda_sirc15_protocol_specification = {
  11. .name = "SIRC15",
  12. .address_length = 8,
  13. .command_length = 7,
  14. .frequency = IRDA_SIRC_CARRIER_FREQUENCY,
  15. .duty_cycle = IRDA_SIRC_DUTY_CYCLE,
  16. };
  17. static const IrdaProtocolSpecification irda_sirc20_protocol_specification = {
  18. .name = "SIRC20",
  19. .address_length = 13,
  20. .command_length = 7,
  21. .frequency = IRDA_SIRC_CARRIER_FREQUENCY,
  22. .duty_cycle = IRDA_SIRC_DUTY_CYCLE,
  23. };
  24. const IrdaProtocolSpecification* irda_sirc_get_spec(IrdaProtocol protocol) {
  25. if(protocol == IrdaProtocolSIRC)
  26. return &irda_sirc_protocol_specification;
  27. else if(protocol == IrdaProtocolSIRC15)
  28. return &irda_sirc15_protocol_specification;
  29. else if(protocol == IrdaProtocolSIRC20)
  30. return &irda_sirc20_protocol_specification;
  31. else
  32. return NULL;
  33. }