nfm_base_model.h 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef NFM_BASE_MODEL_H
  2. #define NFM_BASE_MODEL_H
  3. // -----------------------------------------------------------------------------
  4. typedef enum // @.DeviceID field from common header
  5. { //
  6. eModel_SC6000_v1 = 0, // SC6000.1
  7. eModel_SC8000_v1 = 1, // SC8000.1
  8. eModel_SC4000_v1 = 2, // SC4000.1
  9. eModel_SC2520_v1 = 3, // SC2520.1
  10. eModel_SC8400_v1 = 4, // SC8400.1
  11. eModel_SC8400_v2 = 5, // SC8400.2
  12. eModel_SC2509_v1 = 6, // SC2509.1
  13. eModel_SC2509_v2 = 7, // SC2509.2
  14. eModel_SC4509_v1 = 8, // SC4509.1
  15. eModel_SC4509_v2 = eModel_SC8400_v1, // 4509.2 = SC8401
  16. eModel_SC4520_v1 = 9, // SC4520.1
  17. eModel_SC6000_NFMB_2506_v1 = 10, // SC6000/NFMB2506.1
  18. eModel_SC2506_v1 = 11, // =SC2509.1 } ������������� �����������, ������������ ������� �������, ������� 2509.1
  19. eModel_SC2506_v2 = 12, // =SC2509.2 } ������������� �����������, ������������ ������� �������, ������� 2509.2
  20. eModel_SC2504_v1 = 13, // =SC2509.1 } ������������� �����������, ������������ ������� �������, ������� 2509.1
  21. eModel_SC2504_v2 = 14, // =SC2509.2 } ������������� �����������, ������������ ������� �������, ������� 2509.2
  22. eModel_SC2520_v2 = 15, // SC2520.2
  23. eModel_CalPod_1520_v1 = 16, // STM32+ADRF5045, CalPod 2019
  24. eModel_SC2543_NFM_2543_v1 = 17, // NFM2543.1
  25. eModel_NFM = 18, // NFM
  26. eModel_SWB = 19, // PE750212
  27. eModel_SWB_16 = 21, // PE2P16Ta
  28. eModel_SWB_16M = 22, // ME216-18A
  29. eModel_SWB_8M = 23, // ME208-18A
  30. eModel_PAK_LEMZ = 24, // MK207-04H (PAK-LEMZ)
  31. eModel_undefined = 255,
  32. }
  33. eNFMModel_t;
  34. //-----------------------------------------------------------------------------
  35. typedef struct
  36. {
  37. uint16_t allowedInputPorts;
  38. uint16_t allowedOutputPorts;
  39. uint16_t defaultInputState;
  40. uint16_t * inputPortStates;
  41. }controlProfile_t;
  42. typedef struct
  43. {
  44. const char * profileName; // profile name
  45. controlProfile_t controlProfile; // number of control profiles
  46. }
  47. sNFMControlSwitchProfile_t;
  48. #include "app/nfm/nfm_base_keyprofiles.h"
  49. // -----------------------------------------------------------------------------
  50. typedef struct
  51. {
  52. eNFMModel_t deviceId; // raw device identifier (@DeviceID from Common Header of MEMORY)
  53. const char * modelName; // human-readable device model name
  54. const sNFMControlSwitchProfile_t * nfProfile; // assigned control profile
  55. const sSwitchMemoryProfile_t * memProfile; // assigned memory profile
  56. }
  57. sNFMModel_t;
  58. // -----------------------------------------------------------------------------
  59. extern const size_t aNFMModels_count; // amount of aNFMModels[]
  60. extern const sNFMModel_t aNFMModels[]; // NFM models profiles
  61. // -----------------------------------------------------------------------------
  62. #endif