/* / _____) _ | | ( (____ _____ ____ _| |_ _____ ____| |__ \____ \| ___ | (_ _) ___ |/ ___) _ \ _____) ) ____| | | || |_| ____( (___| | | | (______/|_____)_|_|_| \__)_____)\____)_| |_| (C) 2014 Semtech Description: - License: Revised BSD License, see LICENSE.TXT file include in the project Maintainers: Miguel Luis, Gregory Cristian and Nicolas Huguenin */ #ifndef __ENUMS_H__ #define __ENUMS_H__ /*! * Radio driver internal state machine states definition */ typedef enum RadioState { RF_IDLE = 0, RF_RX_RUNNING, RF_TX_RUNNING, RF_CAD, }RadioState_t; /*! * Type of the modem. [LORA / FSK] */ typedef enum ModemType { MODEM_FSK = 0, MODEM_LORA }RadioModems_t; /*! * Type of the supported board. [SX1276MB1MAS / SX1276MB1LAS] */ typedef enum BoardType { SX1276MB1MAS = 0, SX1276MB1LAS, UNKNOWN }BoardType_t; /*! * Radio FSK modem parameters */ typedef struct { int8_t Power; uint32_t Fdev; uint32_t Bandwidth; uint32_t BandwidthAfc; uint32_t Datarate; uint16_t PreambleLen; bool FixLen; uint8_t PayloadLen; bool CrcOn; bool IqInverted; bool RxContinuous; uint32_t TxTimeout; uint32_t RxSingleTimeout; }RadioFskSettings_t; /*! * Radio FSK packet handler state */ typedef struct { uint8_t PreambleDetected; uint8_t SyncWordDetected; int8_t RssiValue; int32_t AfcValue; uint8_t RxGain; uint16_t Size; uint16_t NbBytes; uint8_t FifoThresh; uint8_t ChunkSize; }RadioFskPacketHandler_t; /*! * Radio LoRa modem parameters */ typedef struct { int8_t Power; uint32_t Bandwidth; uint32_t Datarate; bool LowDatarateOptimize; uint8_t Coderate; uint16_t PreambleLen; bool FixLen; uint8_t PayloadLen; bool CrcOn; bool FreqHopOn; uint8_t HopPeriod; bool IqInverted; bool RxContinuous; uint32_t TxTimeout; bool PublicNetwork; }RadioLoRaSettings_t; /*! * Radio LoRa packet handler state */ typedef struct { int8_t SnrValue; int8_t RssiValue; uint8_t Size; }RadioLoRaPacketHandler_t; /*! * Radio Settings */ typedef struct { RadioState State; ModemType Modem; uint32_t Channel; RadioFskSettings_t Fsk; RadioFskPacketHandler_t FskPacketHandler; RadioLoRaSettings_t LoRa; RadioLoRaPacketHandler_t LoRaPacketHandler; }RadioSettings_t; #endif //__ENUMS_H__