registry.c 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "registry.h"
  2. #include "princeton.h"
  3. #include "keeloq.h"
  4. #include "star_line.h"
  5. #include "nice_flo.h"
  6. #include "came.h"
  7. #include "faac_slh.h"
  8. #include "nice_flor_s.h"
  9. #include "came_twee.h"
  10. #include "came_atomo.h"
  11. #include "nero_sketch.h"
  12. #include "ido.h"
  13. #include "kia.h"
  14. #include "hormann.h"
  15. #include "nero_radio.h"
  16. #include "somfy_telis.h"
  17. #include "somfy_keytis.h"
  18. #include "scher_khan.h"
  19. #include "gate_tx.h"
  20. #include "raw.h"
  21. const SubGhzProtocol* subghz_protocol_registry[] = {
  22. &subghz_protocol_princeton, &subghz_protocol_keeloq, &subghz_protocol_star_line,
  23. &subghz_protocol_nice_flo, &subghz_protocol_came, &subghz_protocol_faac_slh,
  24. &subghz_protocol_nice_flor_s, &subghz_protocol_came_twee, &subghz_protocol_came_atomo,
  25. &subghz_protocol_nero_sketch, &subghz_protocol_ido, &subghz_protocol_kia,
  26. &subghz_protocol_hormann, &subghz_protocol_nero_radio, &subghz_protocol_somfy_telis,
  27. &subghz_protocol_somfy_keytis, &subghz_protocol_scher_khan, &subghz_protocol_gate_tx,
  28. &subghz_protocol_raw,
  29. };
  30. const SubGhzProtocol* subghz_protocol_registry_get_by_name(const char* name) {
  31. for(size_t i = 0; i < subghz_protocol_registry_count(); i++) {
  32. if(strcmp(name, subghz_protocol_registry[i]->name) == 0) {
  33. return subghz_protocol_registry[i];
  34. }
  35. }
  36. return NULL;
  37. }
  38. const SubGhzProtocol* subghz_protocol_registry_get_by_index(size_t index) {
  39. if(index < subghz_protocol_registry_count()) {
  40. return subghz_protocol_registry[index];
  41. } else {
  42. return NULL;
  43. }
  44. }
  45. size_t subghz_protocol_registry_count() {
  46. return COUNT_OF(subghz_protocol_registry);
  47. }