lora.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef _LORA_H_
  2. #define _LORA_H_
  3. //CAD parameters
  4. #define CAD_SYMBOL_NUM LORA_CAD_02_SYMBOL
  5. #define CAD_DET_PEAK 22
  6. #define CAD_DET_MIN 10
  7. #define CAD_TIMEOUT_MS 2000
  8. #define NB_TRY 10
  9. typedef struct _lora_param_{
  10. uint32_t freq; //发射频率
  11. uint8_t power; // 发射功率
  12. uint8_t bandwidth; //带宽
  13. uint8_t spreadingFactor; //扩频因子
  14. uint8_t codingrate; // 纠错编码率
  15. uint16_t preambleLen; // 前导码长度
  16. }loraParam;
  17. extern loraParam g_loraPa[4];
  18. typedef enum LORA_STATE_ENUM {
  19. lora_state_idle,
  20. lora_state_rcv,
  21. lora_state_send,
  22. lora_state_sendRept,
  23. lora_state_max
  24. } LORA_STATE_ENUM;
  25. typedef struct _system_lora {
  26. uint8_t memory[8][256]; //必须4字节对齐
  27. OS_Q lora_q;
  28. OS_SEM sem;
  29. OS_MEM lora_m;
  30. OS_TMR lora_tmr;
  31. } system_lora_t;
  32. static void SX126xOnTxDone( void );
  33. static void SX126xOnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
  34. static void SX126xOnTxTimeout( void );
  35. static void SX126xOnRxTimeout( void );
  36. static void SX126xOnRxError( void );
  37. extern void lora_queue_proc_testTx(void);
  38. #endif