switchboard_control.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef SWITCHBOARD_CONTROL_H
  2. #define SWITCHBOARD_CONTROL_H
  3. //The driver manages the power of the RF circuit
  4. #include <stdint.h>
  5. #include <stdbool.h>
  6. // SPI2_KEEP_NSS_PULLEDUP
  7. // if enabled (=1) keeps NSS pin pulled up when deinitialized
  8. #define SPI2_KEEP_NSS_PULLEDUP_SB 1
  9. //============================================================================
  10. // Êîìàíäû ðàáîòû ïî SPI ñ êîììóòàòîðîì
  11. //============================================================================
  12. // 16 bit MSB [0:3] - ïîäêëþ÷åíèå ïåðâîãî ïîðòà; [4:7] - ïîäêëþ÷åíèå ïîðòà 2; [8:15] - êîìàíäà
  13. typedef struct{
  14. uint8_t cmd;
  15. uint8_t addr;
  16. uint8_t responce_2;
  17. uint8_t responce_1;
  18. }SB_command_t;
  19. //============================================================================
  20. // Êîìàíäû äëÿ ðàáîòû ñ òàáëèöåé èçìåðåíèé
  21. //============================================================================
  22. #define SWB_TABLE_NEW_RECORD (uint8_t) 0x01 // Çàïèñü íîâîãî çíà÷åíèÿ â òàáëèöó ïåðåêëþ÷åíèé
  23. #define SWB_TABLE_GET_RECORD (uint8_t) 0x02 // ×òåíèå çàïèñè ïîä íîìåðîì
  24. #define SWB_TABLE_TABLE_COUNT (uint8_t) 0x03 // ×òåíèå ÷èñëà çàïèñåé â òàáëèöå
  25. #define SWB_TABLE_START_MEASURING (uint8_t) 0x05 // Ñòàðò èçìåðåíèé ñ íóëÿ!
  26. #define SWB_TABLE_STOP_MEASURING (uint8_t) 0x04 // Ñòîï èçìåðåíèé íà òåêóùåì èçìåðåíèè
  27. #define SWB_TABLE_CONTINUE_MEASURING (uint8_t) 0x06 // Ïðîäîëæèòü èçìåðåíèÿ ñ ïîñëåäíåé èçìåðåííîé êîììóòàöèè
  28. #define SWB_TABLE_CLEAR (uint8_t) 0xFF // Î÷èñòêà ïëàíà èçìåðåíèé
  29. //============================================================================
  30. // Êîìàíäû äëÿ ðàáîòû ñ ïðèáîðîì áåç òàáëè÷íîãî óïðàâëåíèÿ
  31. //============================================================================
  32. #define SWB_CONTROL_PORT (uint8_t) 0x07 // Êîììóòàöèÿ ïîðòîâ â ñîîòâåòñòâèè ñî çíà÷åíèÿìè
  33. #define SWB_CONTROL_READ (uint8_t) 0x08 // ×òåíèå êîììóòàöèè ïîðòîâ
  34. #define SWB_CONTROL_SET_TRIGGER_MODE (uint8_t) 0x09 // Óñòàíîâèòü ðåæèì òðèããåðà
  35. #define SWB_CONTROL_GET_TRIGGER_MODE (uint8_t) 0x0A // Ïîëó÷èòü ðåæèì òðèããåðà
  36. #define SWB_CONTROL_GET_TRIGGER_COUN (uint8_t) 0x0B // Çàïðîñèòü ÷èñëî ïðèõîäîâ èìïóëüñîâ âî âðåìÿ èçìåðåíèÿ
  37. #define SWB_CONTROL_MEASURING_MODE (uint8_t) 0x0C // Çàïðîñèòü ðåæèì ðàáîòû êîììóòàòîðà
  38. //============================================================================
  39. typedef struct
  40. {
  41. bool (*Init)( );
  42. void (*DeInit)();
  43. void (*SetNSS)();
  44. void (*ClrNSS)();
  45. void (*Transmit)( uint8_t * pTxBuf, size_t size );
  46. bool (*Receive)( uint8_t * pRxBuf, size_t size );
  47. void (*TransmitReceive)( uint8_t * pTxBuf, uint8_t * pRxBuf, size_t size );
  48. }
  49. SB_Handle_t;
  50. extern const SB_Handle_t SBHandle;
  51. #endif