This library update contains changes according to the HW-modification.

Dependents:   LoRaWAN_Serial_port_driven_and_configurable_ELMO_based_on_TxRx_Template

Fork of SX1272lib by Espotel

Changes compared to original SX1272lib:

HW modification was made to remove RFO-output and replaced with PABOOST-output. PASELECT changed accordingly.

Committer:
KosTee
Date:
Fri Oct 07 11:35:50 2016 +0000
Revision:
13:1af18cdef696
Parent:
2:b0a793d995ad
RFO & PABOOST transmit modification has been done to some devices.; Selection can be made on sx1272-hal.cpp.; The new transmit route is currently commented on sx1272-hal.cpp, cause majority of devices still use the old route.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WGorniak 0:669f3b0e91c8 1 /*
WGorniak 0:669f3b0e91c8 2 / _____) _ | |
WGorniak 0:669f3b0e91c8 3 ( (____ _____ ____ _| |_ _____ ____| |__
WGorniak 0:669f3b0e91c8 4 \____ \| ___ | (_ _) ___ |/ ___) _ \
WGorniak 0:669f3b0e91c8 5 _____) ) ____| | | || |_| ____( (___| | | |
WGorniak 0:669f3b0e91c8 6 (______/|_____)_|_|_| \__)_____)\____)_| |_|
WGorniak 0:669f3b0e91c8 7 ( C )2014 Semtech
WGorniak 0:669f3b0e91c8 8
WGorniak 0:669f3b0e91c8 9 Description: -
WGorniak 0:669f3b0e91c8 10
WGorniak 0:669f3b0e91c8 11 License: Revised BSD License, see LICENSE.TXT file include in the project
WGorniak 0:669f3b0e91c8 12
WGorniak 0:669f3b0e91c8 13 Maintainers: Miguel Luis, Gregory Cristian and Nicolas Huguenin
WGorniak 0:669f3b0e91c8 14 */
WGorniak 0:669f3b0e91c8 15 #ifndef __ENUMS_H__
WGorniak 0:669f3b0e91c8 16 #define __ENUMS_H__
WGorniak 0:669f3b0e91c8 17
WGorniak 0:669f3b0e91c8 18 /*!
WGorniak 0:669f3b0e91c8 19 * State of the radio:
WGorniak 0:669f3b0e91c8 20 * [IDLE,
WGorniak 0:669f3b0e91c8 21 * RX_RUNNING, RX_TIMEOUT, RX_ERROR,
WGorniak 0:669f3b0e91c8 22 * TX_RUNNING, TX_TIMEOUT,
WGorniak 0:669f3b0e91c8 23 CAD]
WGorniak 0:669f3b0e91c8 24 */
WGorniak 0:669f3b0e91c8 25 enum RadioState
WGorniak 0:669f3b0e91c8 26 {
WGorniak 0:669f3b0e91c8 27 LOWPOWER = 0,
WGorniak 0:669f3b0e91c8 28 IDLE,
WGorniak 0:669f3b0e91c8 29
WGorniak 0:669f3b0e91c8 30 RX,
WGorniak 0:669f3b0e91c8 31 RX_TIMEOUT,
WGorniak 0:669f3b0e91c8 32 RX_ERROR,
WGorniak 0:669f3b0e91c8 33
WGorniak 0:669f3b0e91c8 34 TX,
WGorniak 0:669f3b0e91c8 35 TX_TIMEOUT,
WGorniak 0:669f3b0e91c8 36
WGorniak 0:669f3b0e91c8 37 CAD,
WGorniak 0:669f3b0e91c8 38 CAD_DONE
WGorniak 0:669f3b0e91c8 39 };
WGorniak 0:669f3b0e91c8 40
WGorniak 0:669f3b0e91c8 41 /*!
WGorniak 0:669f3b0e91c8 42 * Type of the modem. [LORA / FSK]
WGorniak 0:669f3b0e91c8 43 */
WGorniak 0:669f3b0e91c8 44 enum ModemType
WGorniak 0:669f3b0e91c8 45 {
WGorniak 0:669f3b0e91c8 46 MODEM_FSK = 0,
WGorniak 0:669f3b0e91c8 47 MODEM_LORA
WGorniak 0:669f3b0e91c8 48 };
WGorniak 0:669f3b0e91c8 49
WGorniak 0:669f3b0e91c8 50 /*!
WGorniak 0:669f3b0e91c8 51 * Type of the supported board. [SX1276MB1MAS / SX1276MB1LAS]
WGorniak 0:669f3b0e91c8 52 */
WGorniak 2:b0a793d995ad 53 //enum BoardType
WGorniak 2:b0a793d995ad 54 //{
WGorniak 2:b0a793d995ad 55 // SX1276MB1MAS = 0,
WGorniak 2:b0a793d995ad 56 // SX1276MB1LAS,
WGorniak 2:b0a793d995ad 57 // UNKNOWN
WGorniak 2:b0a793d995ad 58 //};
WGorniak 0:669f3b0e91c8 59 /*!
WGorniak 0:669f3b0e91c8 60 * Radio FSK modem parameters
WGorniak 0:669f3b0e91c8 61 */
WGorniak 0:669f3b0e91c8 62 typedef struct
WGorniak 0:669f3b0e91c8 63 {
WGorniak 0:669f3b0e91c8 64 int8_t Power;
WGorniak 0:669f3b0e91c8 65 uint32_t Fdev;
WGorniak 0:669f3b0e91c8 66 uint32_t Bandwidth;
WGorniak 0:669f3b0e91c8 67 uint32_t BandwidthAfc;
WGorniak 0:669f3b0e91c8 68 uint32_t Datarate;
WGorniak 0:669f3b0e91c8 69 uint16_t PreambleLen;
WGorniak 0:669f3b0e91c8 70 bool FixLen;
WGorniak 0:669f3b0e91c8 71 uint8_t PayloadLen;
WGorniak 0:669f3b0e91c8 72 bool CrcOn;
WGorniak 0:669f3b0e91c8 73 bool IqInverted;
WGorniak 0:669f3b0e91c8 74 bool RxContinuous;
WGorniak 0:669f3b0e91c8 75 uint32_t TxTimeout;
WGorniak 0:669f3b0e91c8 76 }RadioFskSettings_t;
WGorniak 0:669f3b0e91c8 77
WGorniak 0:669f3b0e91c8 78 /*!
WGorniak 0:669f3b0e91c8 79 * Radio FSK packet handler state
WGorniak 0:669f3b0e91c8 80 */
WGorniak 0:669f3b0e91c8 81 typedef struct
WGorniak 0:669f3b0e91c8 82 {
WGorniak 0:669f3b0e91c8 83 uint8_t PreambleDetected;
WGorniak 0:669f3b0e91c8 84 uint8_t SyncWordDetected;
WGorniak 0:669f3b0e91c8 85 int8_t RssiValue;
WGorniak 0:669f3b0e91c8 86 int32_t AfcValue;
WGorniak 0:669f3b0e91c8 87 uint8_t RxGain;
WGorniak 0:669f3b0e91c8 88 uint16_t Size;
WGorniak 0:669f3b0e91c8 89 uint16_t NbBytes;
WGorniak 0:669f3b0e91c8 90 uint8_t FifoThresh;
WGorniak 0:669f3b0e91c8 91 uint8_t ChunkSize;
WGorniak 0:669f3b0e91c8 92 }RadioFskPacketHandler_t;
WGorniak 0:669f3b0e91c8 93
WGorniak 0:669f3b0e91c8 94 /*!
WGorniak 0:669f3b0e91c8 95 * Radio LoRa modem parameters
WGorniak 0:669f3b0e91c8 96 */
WGorniak 0:669f3b0e91c8 97 typedef struct
WGorniak 0:669f3b0e91c8 98 {
WGorniak 0:669f3b0e91c8 99 int8_t Power;
WGorniak 0:669f3b0e91c8 100 uint32_t Bandwidth;
WGorniak 0:669f3b0e91c8 101 uint32_t Datarate;
WGorniak 0:669f3b0e91c8 102 bool LowDatarateOptimize;
WGorniak 0:669f3b0e91c8 103 uint8_t Coderate;
WGorniak 0:669f3b0e91c8 104 uint16_t PreambleLen;
WGorniak 0:669f3b0e91c8 105 bool FixLen;
WGorniak 0:669f3b0e91c8 106 uint8_t PayloadLen;
WGorniak 0:669f3b0e91c8 107 bool CrcOn;
WGorniak 0:669f3b0e91c8 108 bool FreqHopOn;
WGorniak 0:669f3b0e91c8 109 uint8_t HopPeriod;
WGorniak 0:669f3b0e91c8 110 bool IqInverted;
WGorniak 0:669f3b0e91c8 111 bool RxContinuous;
WGorniak 0:669f3b0e91c8 112 uint32_t TxTimeout;
WGorniak 0:669f3b0e91c8 113 }RadioLoRaSettings_t;
WGorniak 0:669f3b0e91c8 114
WGorniak 0:669f3b0e91c8 115 /*!
WGorniak 0:669f3b0e91c8 116 * Radio LoRa packet handler state
WGorniak 0:669f3b0e91c8 117 */
WGorniak 0:669f3b0e91c8 118 typedef struct
WGorniak 0:669f3b0e91c8 119 {
WGorniak 0:669f3b0e91c8 120 int8_t SnrValue;
WGorniak 0:669f3b0e91c8 121 int8_t RssiValue;
WGorniak 0:669f3b0e91c8 122 uint8_t Size;
WGorniak 0:669f3b0e91c8 123 }RadioLoRaPacketHandler_t;
WGorniak 0:669f3b0e91c8 124
WGorniak 0:669f3b0e91c8 125 /*!
WGorniak 0:669f3b0e91c8 126 * Radio Settings
WGorniak 0:669f3b0e91c8 127 */
WGorniak 0:669f3b0e91c8 128 typedef struct
WGorniak 0:669f3b0e91c8 129 {
WGorniak 0:669f3b0e91c8 130 RadioState State;
WGorniak 0:669f3b0e91c8 131 ModemType Modem;
WGorniak 0:669f3b0e91c8 132 uint32_t Channel;
WGorniak 0:669f3b0e91c8 133 RadioFskSettings_t Fsk;
WGorniak 0:669f3b0e91c8 134 RadioFskPacketHandler_t FskPacketHandler;
WGorniak 0:669f3b0e91c8 135 RadioLoRaSettings_t LoRa;
WGorniak 0:669f3b0e91c8 136 RadioLoRaPacketHandler_t LoRaPacketHandler;
WGorniak 0:669f3b0e91c8 137 }RadioSettings_t;
WGorniak 0:669f3b0e91c8 138
WGorniak 0:669f3b0e91c8 139
WGorniak 0:669f3b0e91c8 140 #endif //__ENUMS_H__
WGorniak 0:669f3b0e91c8 141