myRadio.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef __MY_RADIO_H
  2. #define __MY_RADIO_H
  3. /* Includes ------------------------------------------------------------------*/
  4. #include "stm32f10x.h"
  5. #define MAX_RF_PACKET_LEN 128
  6. //! \brief Structure for the TX Packet
  7. typedef struct
  8. {
  9. uint8_t rmvAddr[8]; //
  10. uint32_t absTime; //
  11. uint8_t len; //
  12. uint8_t payload[MAX_RF_PACKET_LEN]; //
  13. } rfTxPacket_ts;
  14. typedef struct
  15. {
  16. uint8_t rmvAddr[8]; //
  17. int8_t rssi; //
  18. uint32_t absTime; //
  19. uint32_t rxTimeout; //
  20. uint8_t len; //
  21. uint8_t payload[MAX_RF_PACKET_LEN];
  22. } rfRxPacket_ts;
  23. typedef enum
  24. {
  25. RADIO_EXT_CONTROL_TX_UNMODULATED, //单载波功率测试
  26. RADIO_EXT_CONTROL_RX_SENSITIVITY, //接收灵敏度测试
  27. }controlMode_te;
  28. typedef enum
  29. {
  30. RX_STA_SECCESS,
  31. RX_STA_TIMEOUT,
  32. RX_STA_PAYLOAD_ERROR,
  33. TX_STA_SECCESS,
  34. TX_STA_ERROR,
  35. }rxStatus_te;
  36. typedef void (*rfRxCallBack)(uint8_t status, rfRxPacket_ts packet);
  37. void myRadio_init(int agr0, void *agr1_ptr);
  38. void myRadio_abort(void);
  39. void myRadio_transmit(rfTxPacket_ts *packet);
  40. void myRadio_receiver(void);
  41. void myRadio_receiverSync(rfRxPacket_ts *packet);
  42. uint8_t myRadio_getRfMode(void);
  43. void myRadio_setCtrl(controlMode_te mode, uint32_t value);
  44. void myRadio_process(void);
  45. #endif