diff --git a/_c_c1101_8h_source.html b/_c_c1101_8h_source.html
index 3eef88f9..0bb8d3d6 100644
--- a/_c_c1101_8h_source.html
+++ b/_c_c1101_8h_source.html
@@ -96,756 +96,755 @@ $(document).ready(function(){initNavTree('_c_c1101_8h_source.html',''); initResi
10 #define RADIOLIB_CC1101_FREQUENCY_STEP_SIZE 396.7285156
- 11 #define RADIOLIB_CC1101_MAX_PACKET_LENGTH 255
+ 11 #define RADIOLIB_CC1101_MAX_PACKET_LENGTH 63
12 #define RADIOLIB_CC1101_CRYSTAL_FREQ 26.0
13 #define RADIOLIB_CC1101_DIV_EXPONENT 16
- 14 #define RADIOLIB_CC1101_FIFO_SIZE 64
-
-
- 17 #define RADIOLIB_CC1101_CMD_READ 0b10000000
- 18 #define RADIOLIB_CC1101_CMD_WRITE 0b00000000
- 19 #define RADIOLIB_CC1101_CMD_BURST 0b01000000
- 20 #define RADIOLIB_CC1101_CMD_ACCESS_STATUS_REG 0b01000000
- 21 #define RADIOLIB_CC1101_CMD_FIFO_RX 0b10000000
- 22 #define RADIOLIB_CC1101_CMD_FIFO_TX 0b00000000
- 23 #define RADIOLIB_CC1101_CMD_RESET 0x30
- 24 #define RADIOLIB_CC1101_CMD_FSTXON 0x31
- 25 #define RADIOLIB_CC1101_CMD_XOFF 0x32
- 26 #define RADIOLIB_CC1101_CMD_CAL 0x33
- 27 #define RADIOLIB_CC1101_CMD_RX 0x34
- 28 #define RADIOLIB_CC1101_CMD_TX 0x35
- 29 #define RADIOLIB_CC1101_CMD_IDLE 0x36
- 30 #define RADIOLIB_CC1101_CMD_WOR 0x38
- 31 #define RADIOLIB_CC1101_CMD_POWER_DOWN 0x39
- 32 #define RADIOLIB_CC1101_CMD_FLUSH_RX 0x3A
- 33 #define RADIOLIB_CC1101_CMD_FLUSH_TX 0x3B
- 34 #define RADIOLIB_CC1101_CMD_WOR_RESET 0x3C
- 35 #define RADIOLIB_CC1101_CMD_NOP 0x3D
-
-
- 38 #define RADIOLIB_CC1101_REG_IOCFG2 0x00
- 39 #define RADIOLIB_CC1101_REG_IOCFG1 0x01
- 40 #define RADIOLIB_CC1101_REG_IOCFG0 0x02
- 41 #define RADIOLIB_CC1101_REG_FIFOTHR 0x03
- 42 #define RADIOLIB_CC1101_REG_SYNC1 0x04
- 43 #define RADIOLIB_CC1101_REG_SYNC0 0x05
- 44 #define RADIOLIB_CC1101_REG_PKTLEN 0x06
- 45 #define RADIOLIB_CC1101_REG_PKTCTRL1 0x07
- 46 #define RADIOLIB_CC1101_REG_PKTCTRL0 0x08
- 47 #define RADIOLIB_CC1101_REG_ADDR 0x09
- 48 #define RADIOLIB_CC1101_REG_CHANNR 0x0A
- 49 #define RADIOLIB_CC1101_REG_FSCTRL1 0x0B
- 50 #define RADIOLIB_CC1101_REG_FSCTRL0 0x0C
- 51 #define RADIOLIB_CC1101_REG_FREQ2 0x0D
- 52 #define RADIOLIB_CC1101_REG_FREQ1 0x0E
- 53 #define RADIOLIB_CC1101_REG_FREQ0 0x0F
- 54 #define RADIOLIB_CC1101_REG_MDMCFG4 0x10
- 55 #define RADIOLIB_CC1101_REG_MDMCFG3 0x11
- 56 #define RADIOLIB_CC1101_REG_MDMCFG2 0x12
- 57 #define RADIOLIB_CC1101_REG_MDMCFG1 0x13
- 58 #define RADIOLIB_CC1101_REG_MDMCFG0 0x14
- 59 #define RADIOLIB_CC1101_REG_DEVIATN 0x15
- 60 #define RADIOLIB_CC1101_REG_MCSM2 0x16
- 61 #define RADIOLIB_CC1101_REG_MCSM1 0x17
- 62 #define RADIOLIB_CC1101_REG_MCSM0 0x18
- 63 #define RADIOLIB_CC1101_REG_FOCCFG 0x19
- 64 #define RADIOLIB_CC1101_REG_BSCFG 0x1A
- 65 #define RADIOLIB_CC1101_REG_AGCCTRL2 0x1B
- 66 #define RADIOLIB_CC1101_REG_AGCCTRL1 0x1C
- 67 #define RADIOLIB_CC1101_REG_AGCCTRL0 0x1D
- 68 #define RADIOLIB_CC1101_REG_WOREVT1 0x1E
- 69 #define RADIOLIB_CC1101_REG_WOREVT0 0x1F
- 70 #define RADIOLIB_CC1101_REG_WORCTRL 0x20
- 71 #define RADIOLIB_CC1101_REG_FREND1 0x21
- 72 #define RADIOLIB_CC1101_REG_FREND0 0x22
- 73 #define RADIOLIB_CC1101_REG_FSCAL3 0x23
- 74 #define RADIOLIB_CC1101_REG_FSCAL2 0x24
- 75 #define RADIOLIB_CC1101_REG_FSCAL1 0x25
- 76 #define RADIOLIB_CC1101_REG_FSCAL0 0x26
- 77 #define RADIOLIB_CC1101_REG_RCCTRL1 0x27
- 78 #define RADIOLIB_CC1101_REG_RCCTRL0 0x28
- 79 #define RADIOLIB_CC1101_REG_FSTEST 0x29
- 80 #define RADIOLIB_CC1101_REG_PTEST 0x2A
- 81 #define RADIOLIB_CC1101_REG_AGCTEST 0x2B
- 82 #define RADIOLIB_CC1101_REG_TEST2 0x2C
- 83 #define RADIOLIB_CC1101_REG_TEST1 0x2D
- 84 #define RADIOLIB_CC1101_REG_TEST0 0x2E
- 85 #define RADIOLIB_CC1101_REG_PARTNUM 0x30
- 86 #define RADIOLIB_CC1101_REG_VERSION 0x31
- 87 #define RADIOLIB_CC1101_REG_FREQEST 0x32
- 88 #define RADIOLIB_CC1101_REG_LQI 0x33
- 89 #define RADIOLIB_CC1101_REG_RSSI 0x34
- 90 #define RADIOLIB_CC1101_REG_MARCSTATE 0x35
- 91 #define RADIOLIB_CC1101_REG_WORTIME1 0x36
- 92 #define RADIOLIB_CC1101_REG_WORTIME0 0x37
- 93 #define RADIOLIB_CC1101_REG_PKTSTATUS 0x38
- 94 #define RADIOLIB_CC1101_REG_VCO_VC_DAC 0x39
- 95 #define RADIOLIB_CC1101_REG_TXBYTES 0x3A
- 96 #define RADIOLIB_CC1101_REG_RXBYTES 0x3B
- 97 #define RADIOLIB_CC1101_REG_RCCTRL1_STATUS 0x3C
- 98 #define RADIOLIB_CC1101_REG_RCCTRL0_STATUS 0x3D
- 99 #define RADIOLIB_CC1101_REG_PATABLE 0x3E
- 100 #define RADIOLIB_CC1101_REG_FIFO 0x3F
-
-
- 103 #define RADIOLIB_CC1101_STATUS_CHIP_READY 0b00000000
- 104 #define RADIOLIB_CC1101_STATUS_CHIP_NOT_READY 0b10000000
- 105 #define RADIOLIB_CC1101_STATUS_IDLE 0b00000000
- 106 #define RADIOLIB_CC1101_STATUS_RX 0b00010000
- 107 #define RADIOLIB_CC1101_STATUS_TX 0b00100000
- 108 #define RADIOLIB_CC1101_STATUS_FSTXON 0b00110000
- 109 #define RADIOLIB_CC1101_STATUS_CALIBRATE 0b01000000
- 110 #define RADIOLIB_CC1101_STATUS_SETTLING 0b01010000
- 111 #define RADIOLIB_CC1101_STATUS_RXFIFO_OVERFLOW 0b01100000
- 112 #define RADIOLIB_CC1101_STATUS_TXFIFO_UNDERFLOW 0b01110000
-
-
- 115 #define RADIOLIB_CC1101_GDO2_NORM 0b00000000
- 116 #define RADIOLIB_CC1101_GDO2_INV 0b01000000
-
-
- 119 #define RADIOLIB_CC1101_GDO1_DS_LOW 0b00000000
- 120 #define RADIOLIB_CC1101_GDO1_DS_HIGH 0b10000000
- 121 #define RADIOLIB_CC1101_GDO1_NORM 0b00000000
- 122 #define RADIOLIB_CC1101_GDO1_INV 0b01000000
-
-
- 125 #define RADIOLIB_CC1101_GDO0_TEMP_SENSOR_OFF 0b00000000
- 126 #define RADIOLIB_CC1101_GDO0_TEMP_SENSOR_ON 0b10000000
- 127 #define RADIOLIB_CC1101_GDO0_NORM 0b00000000
- 128 #define RADIOLIB_CC1101_GDO0_INV 0b01000000
-
-
- 131 #define RADIOLIB_CC1101_GDOX_RX_FIFO_FULL 0x00
- 132 #define RADIOLIB_CC1101_GDOX_RX_FIFO_FULL_OR_PKT_END 0x01
- 133 #define RADIOLIB_CC1101_GDOX_TX_FIFO_ABOVE_THR 0x02
- 134 #define RADIOLIB_CC1101_GDOX_TX_FIFO_FULL 0x03
- 135 #define RADIOLIB_CC1101_GDOX_RX_FIFO_OVERFLOW 0x04
- 136 #define RADIOLIB_CC1101_GDOX_TX_FIFO_UNDERFLOW 0x05
- 137 #define RADIOLIB_CC1101_GDOX_SYNC_WORD_SENT_OR_PKT_RECEIVED 0x06
- 138 #define RADIOLIB_CC1101_GDOX_PKT_RECEIVED_CRC_OK 0x07
- 139 #define RADIOLIB_CC1101_GDOX_PREAMBLE_QUALITY_REACHED 0x08
- 140 #define RADIOLIB_CC1101_GDOX_CHANNEL_CLEAR 0x09
- 141 #define RADIOLIB_CC1101_GDOX_PLL_LOCKED 0x0A
- 142 #define RADIOLIB_CC1101_GDOX_SERIAL_CLOCK 0x0B
- 143 #define RADIOLIB_CC1101_GDOX_SERIAL_DATA_SYNC 0x0C
- 144 #define RADIOLIB_CC1101_GDOX_SERIAL_DATA_ASYNC 0x0D
- 145 #define RADIOLIB_CC1101_GDOX_CARRIER_SENSE 0x0E
- 146 #define RADIOLIB_CC1101_GDOX_CRC_OK 0x0F
- 147 #define RADIOLIB_CC1101_GDOX_RX_HARD_DATA1 0x16
- 148 #define RADIOLIB_CC1101_GDOX_RX_HARD_DATA0 0x17
- 149 #define RADIOLIB_CC1101_GDOX_PA_PD 0x1B
- 150 #define RADIOLIB_CC1101_GDOX_LNA_PD 0x1C
- 151 #define RADIOLIB_CC1101_GDOX_RX_SYMBOL_TICK 0x1D
- 152 #define RADIOLIB_CC1101_GDOX_WOR_EVNT0 0x24
- 153 #define RADIOLIB_CC1101_GDOX_WOR_EVNT1 0x25
- 154 #define RADIOLIB_CC1101_GDOX_CLK_256 0x26
- 155 #define RADIOLIB_CC1101_GDOX_CLK_32K 0x27
- 156 #define RADIOLIB_CC1101_GDOX_CHIP_RDYN 0x29
- 157 #define RADIOLIB_CC1101_GDOX_XOSC_STABLE 0x2B
- 158 #define RADIOLIB_CC1101_GDOX_HIGH_Z 0x2E
- 159 #define RADIOLIB_CC1101_GDOX_HW_TO_0 0x2F
- 160 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_1 0x30
- 161 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_1_5 0x31
- 162 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_2 0x32
- 163 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_3 0x33
- 164 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_4 0x34
- 165 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_6 0x35
- 166 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_8 0x36
- 167 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_12 0x37
- 168 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_16 0x38
- 169 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_24 0x39
- 170 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_32 0x3A
- 171 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_48 0x3B
- 172 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_64 0x3C
- 173 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_96 0x3D
- 174 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_128 0x3E
- 175 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_192 0x3F
-
-
- 178 #define RADIOLIB_CC1101_ADC_RETENTION_OFF 0b00000000
- 179 #define RADIOLIB_CC1101_ADC_RETENTION_ON 0b01000000
- 180 #define RADIOLIB_CC1101_RX_ATTEN_0_DB 0b00000000
- 181 #define RADIOLIB_CC1101_RX_ATTEN_6_DB 0b00010000
- 182 #define RADIOLIB_CC1101_RX_ATTEN_12_DB 0b00100000
- 183 #define RADIOLIB_CC1101_RX_ATTEN_18_DB 0b00110000
- 184 #define RADIOLIB_CC1101_FIFO_THR_TX_61_RX_4 0b00000000
- 185 #define RADIOLIB_CC1101_FIFO_THR_TX_33_RX_32 0b00000111
- 186 #define RADIOLIB_CC1101_FIFO_THRESH_TX 33
- 187 #define RADIOLIB_CC1101_FIFO_THRESH_RX 32
-
-
- 190 #define RADIOLIB_CC1101_SYNC_WORD_MSB 0xD3
-
-
- 193 #define RADIOLIB_CC1101_SYNC_WORD_LSB 0x91
-
-
- 196 #define RADIOLIB_CC1101_PACKET_LENGTH 0xFF
-
-
- 199 #define RADIOLIB_CC1101_PQT 0x00
- 200 #define RADIOLIB_CC1101_CRC_AUTOFLUSH_OFF 0b00000000
- 201 #define RADIOLIB_CC1101_CRC_AUTOFLUSH_ON 0b00001000
- 202 #define RADIOLIB_CC1101_APPEND_STATUS_OFF 0b00000000
- 203 #define RADIOLIB_CC1101_APPEND_STATUS_ON 0b00000100
- 204 #define RADIOLIB_CC1101_ADR_CHK_NONE 0b00000000
- 205 #define RADIOLIB_CC1101_ADR_CHK_NO_BROADCAST 0b00000001
- 206 #define RADIOLIB_CC1101_ADR_CHK_SINGLE_BROADCAST 0b00000010
- 207 #define RADIOLIB_CC1101_ADR_CHK_DOUBLE_BROADCAST 0b00000011
-
-
- 210 #define RADIOLIB_CC1101_WHITE_DATA_OFF 0b00000000
- 211 #define RADIOLIB_CC1101_WHITE_DATA_ON 0b01000000
- 212 #define RADIOLIB_CC1101_PKT_FORMAT_NORMAL 0b00000000
- 213 #define RADIOLIB_CC1101_PKT_FORMAT_SYNCHRONOUS 0b00010000
- 214 #define RADIOLIB_CC1101_PKT_FORMAT_RANDOM 0b00100000
- 215 #define RADIOLIB_CC1101_PKT_FORMAT_ASYNCHRONOUS 0b00110000
- 216 #define RADIOLIB_CC1101_CRC_OFF 0b00000000
- 217 #define RADIOLIB_CC1101_CRC_ON 0b00000100
- 218 #define RADIOLIB_CC1101_LENGTH_CONFIG_FIXED 0b00000000
- 219 #define RADIOLIB_CC1101_LENGTH_CONFIG_VARIABLE 0b00000001
- 220 #define RADIOLIB_CC1101_LENGTH_CONFIG_INFINITE 0b00000010
-
-
- 223 #define RADIOLIB_CC1101_DEVICE_ADDR 0x00
-
-
- 226 #define RADIOLIB_CC1101_CHAN 0x00
-
-
- 229 #define RADIOLIB_CC1101_FREQ_IF 0x0F
-
-
- 232 #define RADIOLIB_CC1101_FREQOFF 0x00
-
-
- 235 #define RADIOLIB_CC1101_FREQ_MSB 0x1E
- 236 #define RADIOLIB_CC1101_FREQ_MID 0xC4
- 237 #define RADIOLIB_CC1101_FREQ_LSB 0xEC
-
-
- 240 #define RADIOLIB_CC1101_CHANBW_E 0b10000000
- 241 #define RADIOLIB_CC1101_CHANBW_M 0b00000000
- 242 #define RADIOLIB_CC1101_DRATE_E 0x0C
-
-
- 245 #define RADIOLIB_CC1101_DRATE_M 0x22
-
-
- 248 #define RADIOLIB_CC1101_DEM_DCFILT_OFF 0b10000000
- 249 #define RADIOLIB_CC1101_DEM_DCFILT_ON 0b00000000
- 250 #define RADIOLIB_CC1101_MOD_FORMAT_2_FSK 0b00000000
- 251 #define RADIOLIB_CC1101_MOD_FORMAT_GFSK 0b00010000
- 252 #define RADIOLIB_CC1101_MOD_FORMAT_ASK_OOK 0b00110000
- 253 #define RADIOLIB_CC1101_MOD_FORMAT_4_FSK 0b01000000
- 254 #define RADIOLIB_CC1101_MOD_FORMAT_MFSK 0b01110000
- 255 #define RADIOLIB_CC1101_MANCHESTER_EN_OFF 0b00000000
- 256 #define RADIOLIB_CC1101_MANCHESTER_EN_ON 0b00001000
- 257 #define RADIOLIB_CC1101_SYNC_MODE_NONE 0b00000000
- 258 #define RADIOLIB_CC1101_SYNC_MODE_15_16 0b00000001
- 259 #define RADIOLIB_CC1101_SYNC_MODE_16_16 0b00000010
- 260 #define RADIOLIB_CC1101_SYNC_MODE_30_32 0b00000011
- 261 #define RADIOLIB_CC1101_SYNC_MODE_NONE_THR 0b00000100
- 262 #define RADIOLIB_CC1101_SYNC_MODE_15_16_THR 0b00000101
- 263 #define RADIOLIB_CC1101_SYNC_MODE_16_16_THR 0b00000110
- 264 #define RADIOLIB_CC1101_SYNC_MODE_30_32_THR 0b00000111
-
-
- 267 #define RADIOLIB_CC1101_FEC_OFF 0b00000000
- 268 #define RADIOLIB_CC1101_FEC_ON 0b10000000
- 269 #define RADIOLIB_CC1101_NUM_PREAMBLE_2 0b00000000
- 270 #define RADIOLIB_CC1101_NUM_PREAMBLE_3 0b00010000
- 271 #define RADIOLIB_CC1101_NUM_PREAMBLE_4 0b00100000
- 272 #define RADIOLIB_CC1101_NUM_PREAMBLE_6 0b00110000
- 273 #define RADIOLIB_CC1101_NUM_PREAMBLE_8 0b01000000
- 274 #define RADIOLIB_CC1101_NUM_PREAMBLE_12 0b01010000
- 275 #define RADIOLIB_CC1101_NUM_PREAMBLE_16 0b01100000
- 276 #define RADIOLIB_CC1101_NUM_PREAMBLE_24 0b01110000
- 277 #define RADIOLIB_CC1101_CHANSPC_E 0x02
-
-
- 280 #define RADIOLIB_CC1101_CHANSPC_M 0xF8
-
-
- 283 #define RADIOLIB_CC1101_DEVIATION_E 0b01000000
- 284 #define RADIOLIB_CC1101_DEVIATION_M 0b00000111
- 285 #define RADIOLIB_CC1101_MSK_PHASE_CHANGE_PERIOD 0x07
-
-
- 288 #define RADIOLIB_CC1101_RX_TIMEOUT_RSSI_OFF 0b00000000
- 289 #define RADIOLIB_CC1101_RX_TIMEOUT_RSSI_ON 0b00010000
- 290 #define RADIOLIB_CC1101_RX_TIMEOUT_QUAL_OFF 0b00000000
- 291 #define RADIOLIB_CC1101_RX_TIMEOUT_QUAL_ON 0b00001000
- 292 #define RADIOLIB_CC1101_RX_TIMEOUT_OFF 0b00000111
- 293 #define RADIOLIB_CC1101_RX_TIMEOUT_MAX 0b00000000
-
-
- 296 #define RADIOLIB_CC1101_CCA_MODE_ALWAYS 0b00000000
- 297 #define RADIOLIB_CC1101_CCA_MODE_RSSI_THR 0b00010000
- 298 #define RADIOLIB_CC1101_CCA_MODE_RX_PKT 0b00100000
- 299 #define RADIOLIB_CC1101_CCA_MODE_RSSI_THR_RX_PKT 0b00110000
- 300 #define RADIOLIB_CC1101_RXOFF_IDLE 0b00000000
- 301 #define RADIOLIB_CC1101_RXOFF_FSTXON 0b00000100
- 302 #define RADIOLIB_CC1101_RXOFF_TX 0b00001000
- 303 #define RADIOLIB_CC1101_RXOFF_RX 0b00001100
- 304 #define RADIOLIB_CC1101_TXOFF_IDLE 0b00000000
- 305 #define RADIOLIB_CC1101_TXOFF_FSTXON 0b00000001
- 306 #define RADIOLIB_CC1101_TXOFF_TX 0b00000010
- 307 #define RADIOLIB_CC1101_TXOFF_RX 0b00000011
-
-
- 310 #define RADIOLIB_CC1101_FS_AUTOCAL_NEVER 0b00000000
- 311 #define RADIOLIB_CC1101_FS_AUTOCAL_IDLE_TO_RXTX 0b00010000
- 312 #define RADIOLIB_CC1101_FS_AUTOCAL_RXTX_TO_IDLE 0b00100000
- 313 #define RADIOLIB_CC1101_FS_AUTOCAL_RXTX_TO_IDLE_4TH 0b00110000
- 314 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_1 0b00000000
- 315 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_16 0b00000100
- 316 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_64 0b00001000
- 317 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_256 0b00001100
- 318 #define RADIOLIB_CC1101_PIN_CTRL_OFF 0b00000000
- 319 #define RADIOLIB_CC1101_PIN_CTRL_ON 0b00000010
- 320 #define RADIOLIB_CC1101_XOSC_FORCE_OFF 0b00000000
- 321 #define RADIOLIB_CC1101_XOSC_FORCE_ON 0b00000001
-
-
- 324 #define RADIOLIB_CC1101_FOC_BS_CS_GATE_OFF 0b00000000
- 325 #define RADIOLIB_CC1101_FOC_BS_CS_GATE_ON 0b00100000
- 326 #define RADIOLIB_CC1101_FOC_PRE_K 0b00000000
- 327 #define RADIOLIB_CC1101_FOC_PRE_2K 0b00001000
- 328 #define RADIOLIB_CC1101_FOC_PRE_3K 0b00010000
- 329 #define RADIOLIB_CC1101_FOC_PRE_4K 0b00011000
- 330 #define RADIOLIB_CC1101_FOC_POST_K 0b00000000
- 331 #define RADIOLIB_CC1101_FOC_POST_K_2 0b00000100
- 332 #define RADIOLIB_CC1101_FOC_LIMIT_NO_COMPENSATION 0b00000000
- 333 #define RADIOLIB_CC1101_FOC_LIMIT_BW_CHAN_8 0b00000001
- 334 #define RADIOLIB_CC1101_FOC_LIMIT_BW_CHAN_4 0b00000010
- 335 #define RADIOLIB_CC1101_FOC_LIMIT_BW_CHAN_2 0b00000011
-
-
- 338 #define RADIOLIB_CC1101_BS_PRE_KI 0b00000000
- 339 #define RADIOLIB_CC1101_BS_PRE_2KI 0b01000000
- 340 #define RADIOLIB_CC1101_BS_PRE_3KI 0b10000000
- 341 #define RADIOLIB_CC1101_BS_PRE_4KI 0b11000000
- 342 #define RADIOLIB_CC1101_BS_PRE_KP 0b00000000
- 343 #define RADIOLIB_CC1101_BS_PRE_2KP 0b00010000
- 344 #define RADIOLIB_CC1101_BS_PRE_3KP 0b00100000
- 345 #define RADIOLIB_CC1101_BS_PRE_4KP 0b00110000
- 346 #define RADIOLIB_CC1101_BS_POST_KI 0b00000000
- 347 #define RADIOLIB_CC1101_BS_POST_KI_2 0b00001000
- 348 #define RADIOLIB_CC1101_BS_POST_KP 0b00000000
- 349 #define RADIOLIB_CC1101_BS_POST_KP_1 0b00000100
- 350 #define RADIOLIB_CC1101_BS_LIMIT_NO_COMPENSATION 0b00000000
- 351 #define RADIOLIB_CC1101_BS_LIMIT_3_125 0b00000001
- 352 #define RADIOLIB_CC1101_BS_LIMIT_6_25 0b00000010
- 353 #define RADIOLIB_CC1101_BS_LIMIT_12_5 0b00000011
-
-
- 356 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_0 0b00000000
- 357 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_1 0b01000000
- 358 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_2 0b10000000
- 359 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_3 0b11000000
- 360 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_0_DB 0b00000000
- 361 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_2_6_DB 0b00001000
- 362 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_6_1_DB 0b00010000
- 363 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_7_4_DB 0b00011000
- 364 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_9_2_DB 0b00100000
- 365 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_11_5_DB 0b00101000
- 366 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_14_6_DB 0b00110000
- 367 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_17_1_DB 0b00111000
- 368 #define RADIOLIB_CC1101_MAGN_TARGET_24_DB 0b00000000
- 369 #define RADIOLIB_CC1101_MAGN_TARGET_27_DB 0b00000001
- 370 #define RADIOLIB_CC1101_MAGN_TARGET_30_DB 0b00000010
- 371 #define RADIOLIB_CC1101_MAGN_TARGET_33_DB 0b00000011
- 372 #define RADIOLIB_CC1101_MAGN_TARGET_36_DB 0b00000100
- 373 #define RADIOLIB_CC1101_MAGN_TARGET_38_DB 0b00000101
- 374 #define RADIOLIB_CC1101_MAGN_TARGET_40_DB 0b00000110
- 375 #define RADIOLIB_CC1101_MAGN_TARGET_42_DB 0b00000111
-
-
- 378 #define RADIOLIB_CC1101_AGC_LNA_PRIORITY_LNA2 0b00000000
- 379 #define RADIOLIB_CC1101_AGC_LNA_PRIORITY_LNA 0b01000000
- 380 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_OFF 0b00000000
- 381 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_6_DB 0b00010000
- 382 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_10_DB 0b00100000
- 383 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_14_DB 0b00110000
- 384 #define RADIOLIB_CC1101_CARRIER_SENSE_ABS_THR 0x00
-
-
- 387 #define RADIOLIB_CC1101_HYST_LEVEL_NONE 0b00000000
- 388 #define RADIOLIB_CC1101_HYST_LEVEL_LOW 0b01000000
- 389 #define RADIOLIB_CC1101_HYST_LEVEL_MEDIUM 0b10000000
- 390 #define RADIOLIB_CC1101_HYST_LEVEL_HIGH 0b11000000
- 391 #define RADIOLIB_CC1101_WAIT_TIME_8_SAMPLES 0b00000000
- 392 #define RADIOLIB_CC1101_WAIT_TIME_16_SAMPLES 0b00010000
- 393 #define RADIOLIB_CC1101_WAIT_TIME_24_SAMPLES 0b00100000
- 394 #define RADIOLIB_CC1101_WAIT_TIME_32_SAMPLES 0b00110000
- 395 #define RADIOLIB_CC1101_AGC_FREEZE_NEVER 0b00000000
- 396 #define RADIOLIB_CC1101_AGC_FREEZE_SYNC_WORD 0b00000100
- 397 #define RADIOLIB_CC1101_AGC_FREEZE_MANUAL_A 0b00001000
- 398 #define RADIOLIB_CC1101_AGC_FREEZE_MANUAL_AD 0b00001100
- 399 #define RADIOLIB_CC1101_FILTER_LENGTH_8 0b00000000
- 400 #define RADIOLIB_CC1101_FILTER_LENGTH_16 0b00000001
- 401 #define RADIOLIB_CC1101_FILTER_LENGTH_32 0b00000010
- 402 #define RADIOLIB_CC1101_FILTER_LENGTH_64 0b00000011
- 403 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_4_DB 0b00000000
- 404 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_8_DB 0b00000001
- 405 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_12_DB 0b00000010
- 406 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_16_DB 0b00000011
-
-
- 409 #define RADIOLIB_CC1101_EVENT0_TIMEOUT_MSB 0x87
- 410 #define RADIOLIB_CC1101_EVENT0_TIMEOUT_LSB 0x6B
-
-
- 413 #define RADIOLIB_CC1101_RC_POWER_UP 0b00000000
- 414 #define RADIOLIB_CC1101_RC_POWER_DOWN 0b10000000
- 415 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_4 0b00000000
- 416 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_6 0b00010000
- 417 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_8 0b00100000
- 418 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_12 0b00110000
- 419 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_16 0b01000000
- 420 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_24 0b01010000
- 421 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_32 0b01100000
- 422 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_48 0b01110000
- 423 #define RADIOLIB_CC1101_RC_CAL_OFF 0b00000000
- 424 #define RADIOLIB_CC1101_RC_CAL_ON 0b00001000
- 425 #define RADIOLIB_CC1101_WOR_RES_1 0b00000000
- 426 #define RADIOLIB_CC1101_WOR_RES_2_5 0b00000001
- 427 #define RADIOLIB_CC1101_WOR_RES_2_10 0b00000010
- 428 #define RADIOLIB_CC1101_WOR_RES_2_15 0b00000011
-
-
- 431 #define RADIOLIB_CC1101_LNA_CURRENT 0x01
- 432 #define RADIOLIB_CC1101_LNA2MIX_CURRENT 0x01
- 433 #define RADIOLIB_CC1101_LODIV_BUF_CURRENT_RX 0x01
- 434 #define RADIOLIB_CC1101_MIX_CURRENT 0x02
-
-
- 437 #define RADIOLIB_CC1101_LODIV_BUF_CURRENT_TX 0x01
- 438 #define RADIOLIB_CC1101_PA_POWER 0x00
-
-
- 441 #define RADIOLIB_CC1101_CHP_CURR_CAL_OFF 0b00000000
- 442 #define RADIOLIB_CC1101_CHP_CURR_CAL_ON 0b00100000
- 443 #define RADIOLIB_CC1101_FSCAL3 0x09
-
-
- 446 #define RADIOLIB_CC1101_VCO_CORE_LOW 0b00000000
- 447 #define RADIOLIB_CC1101_VCO_CORE_HIGH 0b00100000
- 448 #define RADIOLIB_CC1101_FSCAL2 0x0A
-
-
- 451 #define RADIOLIB_CC1101_FSCAL1 0x20
-
-
- 454 #define RADIOLIB_CC1101_FSCAL0 0x0D
-
-
- 457 #define RADIOLIB_CC1101_RCCTRL1 0x41
-
-
- 460 #define RADIOLIB_CC1101_RCCTRL0 0x00
-
-
- 463 #define RADIOLIB_CC1101_TEMP_SENS_IDLE_OFF 0x7F
- 464 #define RADIOLIB_CC1101_TEMP_SENS_IDLE_ON 0xBF
-
-
- 467 #define RADIOLIB_CC1101_VCO_SEL_CAL_OFF 0b00000000
- 468 #define RADIOLIB_CC1101_VCO_SEL_CAL_ON 0b00000010
-
-
- 471 #define RADIOLIB_CC1101_PARTNUM 0x00
-
-
- 474 #define RADIOLIB_CC1101_VERSION_CURRENT 0x14
- 475 #define RADIOLIB_CC1101_VERSION_LEGACY 0x04
- 476 #define RADIOLIB_CC1101_VERSION_CLONE 0x17
-
-
- 479 #define RADIOLIB_CC1101_MARC_STATE_SLEEP 0x00
- 480 #define RADIOLIB_CC1101_MARC_STATE_IDLE 0x01
- 481 #define RADIOLIB_CC1101_MARC_STATE_XOFF 0x02
- 482 #define RADIOLIB_CC1101_MARC_STATE_VCOON_MC 0x03
- 483 #define RADIOLIB_CC1101_MARC_STATE_REGON_MC 0x04
- 484 #define RADIOLIB_CC1101_MARC_STATE_MANCAL 0x05
- 485 #define RADIOLIB_CC1101_MARC_STATE_VCOON 0x06
- 486 #define RADIOLIB_CC1101_MARC_STATE_REGON 0x07
- 487 #define RADIOLIB_CC1101_MARC_STATE_STARTCAL 0x08
- 488 #define RADIOLIB_CC1101_MARC_STATE_BWBOOST 0x09
- 489 #define RADIOLIB_CC1101_MARC_STATE_FS_LOCK 0x0A
- 490 #define RADIOLIB_CC1101_MARC_STATE_IFADCON 0x0B
- 491 #define RADIOLIB_CC1101_MARC_STATE_ENDCAL 0x0C
- 492 #define RADIOLIB_CC1101_MARC_STATE_RX 0x0D
- 493 #define RADIOLIB_CC1101_MARC_STATE_RX_END 0x0E
- 494 #define RADIOLIB_CC1101_MARC_STATE_RX_RST 0x0F
- 495 #define RADIOLIB_CC1101_MARC_STATE_TXRX_SWITCH 0x10
- 496 #define RADIOLIB_CC1101_MARC_STATE_RXFIFO_OVERFLOW 0x11
- 497 #define RADIOLIB_CC1101_MARC_STATE_FSTXON 0x12
- 498 #define RADIOLIB_CC1101_MARC_STATE_TX 0x13
- 499 #define RADIOLIB_CC1101_MARC_STATE_TX_END 0x14
- 500 #define RADIOLIB_CC1101_MARC_STATE_RXTX_SWITCH 0x15
- 501 #define RADIOLIB_CC1101_MARC_STATE_TXFIFO_UNDERFLOW 0x16
-
-
- 504 #define RADIOLIB_CC1101_WORTIME_MSB 0x00
- 505 #define RADIOLIB_CC1101_WORTIME_LSB 0x00
-
-
- 508 #define RADIOLIB_CC1101_CRC_OK 0b10000000
- 509 #define RADIOLIB_CC1101_CRC_ERROR 0b00000000
- 510 #define RADIOLIB_CC1101_CS 0b01000000
- 511 #define RADIOLIB_CC1101_PQT_REACHED 0b00100000
- 512 #define RADIOLIB_CC1101_CCA 0b00010000
- 513 #define RADIOLIB_CC1101_SFD 0b00001000
- 514 #define RADIOLIB_CC1101_GDO2_ACTIVE 0b00000100
- 515 #define RADIOLIB_CC1101_GDO0_ACTIVE 0b00000001
-
-
- 518 #define RADIOLIB_CC1101_DEFAULT_FREQ 434.0
- 519 #define RADIOLIB_CC1101_DEFAULT_BR 4.8
- 520 #define RADIOLIB_CC1101_DEFAULT_FREQDEV 5.0
- 521 #define RADIOLIB_CC1101_DEFAULT_RXBW 135.0
- 522 #define RADIOLIB_CC1101_DEFAULT_POWER 10
- 523 #define RADIOLIB_CC1101_DEFAULT_PREAMBLELEN 16
- 524 #define RADIOLIB_CC1101_DEFAULT_SW {0x12, 0xAD}
- 525 #define RADIOLIB_CC1101_DEFAULT_SW_LEN 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 560 float freq = RADIOLIB_CC1101_DEFAULT_FREQ,
- 561 float br = RADIOLIB_CC1101_DEFAULT_BR,
- 562 float freqDev = RADIOLIB_CC1101_DEFAULT_FREQDEV,
- 563 float rxBw = RADIOLIB_CC1101_DEFAULT_RXBW,
- 564 int8_t pwr = RADIOLIB_CC1101_DEFAULT_POWER,
- 565 uint8_t preambleLength = RADIOLIB_CC1101_DEFAULT_PREAMBLELEN);
-
-
-
- 580 int16_t
transmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
-
- 589 int16_t
receive(uint8_t* data,
size_t len)
override;
-
-
-
- 602 int16_t
standby(uint8_t mode)
override;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 692 int16_t
startTransmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
-
-
-
-
-
- 714 int16_t
startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask,
size_t len);
-
- 724 int16_t
readData(uint8_t* data,
size_t len)
override;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 779 int16_t
setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits = 0,
bool requireCarrierSense =
false);
-
- 789 int16_t
setSyncWord(uint8_t* syncWord, uint8_t len, uint8_t maxErrBits = 0,
bool requireCarrierSense =
false);
-
-
-
- 805 int16_t
setNodeAddress(uint8_t nodeAddr, uint8_t numBroadcastAddrs = 0);
-
-
-
- 818 int16_t
setOOK(
bool enableOOK);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 925 #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
-
-
-
-
-
-
- 947 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
-
-
-
-
- 953 int16_t SPIgetRegValue(uint8_t reg, uint8_t msb = 7, uint8_t lsb = 0);
- 954 int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2);
- 955 void SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t* inBytes);
- 956 uint8_t SPIreadRegister(uint8_t reg);
- 957 void SPIwriteRegisterBurst(uint8_t reg, uint8_t* data,
size_t len);
- 958 void SPIwriteRegister(uint8_t reg, uint8_t data);
-
- 960 void SPIsendCommand(uint8_t cmd);
-
- 962 #if !defined(RADIOLIB_GODMODE)
-
-
-
- 966 float frequency = RADIOLIB_CC1101_DEFAULT_FREQ;
- 967 float bitRate = RADIOLIB_CC1101_DEFAULT_BR;
-
-
- 970 uint8_t modulation = RADIOLIB_CC1101_MOD_FORMAT_2_FSK;
-
- 972 size_t packetLength = 0;
- 973 bool packetLengthQueried =
false;
- 974 uint8_t packetLengthConfig = RADIOLIB_CC1101_LENGTH_CONFIG_VARIABLE;
-
- 976 bool promiscuous =
false;
-
- 978 bool directModeEnabled =
true;
-
- 980 int8_t power = RADIOLIB_CC1101_DEFAULT_POWER;
-
-
-
-
- 985 int16_t directMode(
bool sync);
- 986 static void getExpMant(
float target, uint16_t mantOffset, uint8_t divExp, uint8_t expMax, uint8_t& exp, uint8_t& mant);
- 987 int16_t setPacketMode(uint8_t mode, uint16_t len);
-
-
-
-Control class for CC1101 module.
Definition: CC1101.h:531
-int16_t setDIOMapping(uint32_t pin, uint32_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: CC1101.cpp:1028
-int16_t setPromiscuousMode(bool enable=true)
Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address,...
Definition: CC1101.cpp:907
-int16_t setFrequencyDeviation(float freqDev) override
Sets frequency deviation. Allowed values range from 1.587 to 380.8 kHz.
Definition: CC1101.cpp:562
-size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: CC1101.cpp:837
+
+
+ 16 #define RADIOLIB_CC1101_CMD_READ 0b10000000
+ 17 #define RADIOLIB_CC1101_CMD_WRITE 0b00000000
+ 18 #define RADIOLIB_CC1101_CMD_BURST 0b01000000
+ 19 #define RADIOLIB_CC1101_CMD_ACCESS_STATUS_REG 0b01000000
+ 20 #define RADIOLIB_CC1101_CMD_FIFO_RX 0b10000000
+ 21 #define RADIOLIB_CC1101_CMD_FIFO_TX 0b00000000
+ 22 #define RADIOLIB_CC1101_CMD_RESET 0x30
+ 23 #define RADIOLIB_CC1101_CMD_FSTXON 0x31
+ 24 #define RADIOLIB_CC1101_CMD_XOFF 0x32
+ 25 #define RADIOLIB_CC1101_CMD_CAL 0x33
+ 26 #define RADIOLIB_CC1101_CMD_RX 0x34
+ 27 #define RADIOLIB_CC1101_CMD_TX 0x35
+ 28 #define RADIOLIB_CC1101_CMD_IDLE 0x36
+ 29 #define RADIOLIB_CC1101_CMD_WOR 0x38
+ 30 #define RADIOLIB_CC1101_CMD_POWER_DOWN 0x39
+ 31 #define RADIOLIB_CC1101_CMD_FLUSH_RX 0x3A
+ 32 #define RADIOLIB_CC1101_CMD_FLUSH_TX 0x3B
+ 33 #define RADIOLIB_CC1101_CMD_WOR_RESET 0x3C
+ 34 #define RADIOLIB_CC1101_CMD_NOP 0x3D
+
+
+ 37 #define RADIOLIB_CC1101_REG_IOCFG2 0x00
+ 38 #define RADIOLIB_CC1101_REG_IOCFG1 0x01
+ 39 #define RADIOLIB_CC1101_REG_IOCFG0 0x02
+ 40 #define RADIOLIB_CC1101_REG_FIFOTHR 0x03
+ 41 #define RADIOLIB_CC1101_REG_SYNC1 0x04
+ 42 #define RADIOLIB_CC1101_REG_SYNC0 0x05
+ 43 #define RADIOLIB_CC1101_REG_PKTLEN 0x06
+ 44 #define RADIOLIB_CC1101_REG_PKTCTRL1 0x07
+ 45 #define RADIOLIB_CC1101_REG_PKTCTRL0 0x08
+ 46 #define RADIOLIB_CC1101_REG_ADDR 0x09
+ 47 #define RADIOLIB_CC1101_REG_CHANNR 0x0A
+ 48 #define RADIOLIB_CC1101_REG_FSCTRL1 0x0B
+ 49 #define RADIOLIB_CC1101_REG_FSCTRL0 0x0C
+ 50 #define RADIOLIB_CC1101_REG_FREQ2 0x0D
+ 51 #define RADIOLIB_CC1101_REG_FREQ1 0x0E
+ 52 #define RADIOLIB_CC1101_REG_FREQ0 0x0F
+ 53 #define RADIOLIB_CC1101_REG_MDMCFG4 0x10
+ 54 #define RADIOLIB_CC1101_REG_MDMCFG3 0x11
+ 55 #define RADIOLIB_CC1101_REG_MDMCFG2 0x12
+ 56 #define RADIOLIB_CC1101_REG_MDMCFG1 0x13
+ 57 #define RADIOLIB_CC1101_REG_MDMCFG0 0x14
+ 58 #define RADIOLIB_CC1101_REG_DEVIATN 0x15
+ 59 #define RADIOLIB_CC1101_REG_MCSM2 0x16
+ 60 #define RADIOLIB_CC1101_REG_MCSM1 0x17
+ 61 #define RADIOLIB_CC1101_REG_MCSM0 0x18
+ 62 #define RADIOLIB_CC1101_REG_FOCCFG 0x19
+ 63 #define RADIOLIB_CC1101_REG_BSCFG 0x1A
+ 64 #define RADIOLIB_CC1101_REG_AGCCTRL2 0x1B
+ 65 #define RADIOLIB_CC1101_REG_AGCCTRL1 0x1C
+ 66 #define RADIOLIB_CC1101_REG_AGCCTRL0 0x1D
+ 67 #define RADIOLIB_CC1101_REG_WOREVT1 0x1E
+ 68 #define RADIOLIB_CC1101_REG_WOREVT0 0x1F
+ 69 #define RADIOLIB_CC1101_REG_WORCTRL 0x20
+ 70 #define RADIOLIB_CC1101_REG_FREND1 0x21
+ 71 #define RADIOLIB_CC1101_REG_FREND0 0x22
+ 72 #define RADIOLIB_CC1101_REG_FSCAL3 0x23
+ 73 #define RADIOLIB_CC1101_REG_FSCAL2 0x24
+ 74 #define RADIOLIB_CC1101_REG_FSCAL1 0x25
+ 75 #define RADIOLIB_CC1101_REG_FSCAL0 0x26
+ 76 #define RADIOLIB_CC1101_REG_RCCTRL1 0x27
+ 77 #define RADIOLIB_CC1101_REG_RCCTRL0 0x28
+ 78 #define RADIOLIB_CC1101_REG_FSTEST 0x29
+ 79 #define RADIOLIB_CC1101_REG_PTEST 0x2A
+ 80 #define RADIOLIB_CC1101_REG_AGCTEST 0x2B
+ 81 #define RADIOLIB_CC1101_REG_TEST2 0x2C
+ 82 #define RADIOLIB_CC1101_REG_TEST1 0x2D
+ 83 #define RADIOLIB_CC1101_REG_TEST0 0x2E
+ 84 #define RADIOLIB_CC1101_REG_PARTNUM 0x30
+ 85 #define RADIOLIB_CC1101_REG_VERSION 0x31
+ 86 #define RADIOLIB_CC1101_REG_FREQEST 0x32
+ 87 #define RADIOLIB_CC1101_REG_LQI 0x33
+ 88 #define RADIOLIB_CC1101_REG_RSSI 0x34
+ 89 #define RADIOLIB_CC1101_REG_MARCSTATE 0x35
+ 90 #define RADIOLIB_CC1101_REG_WORTIME1 0x36
+ 91 #define RADIOLIB_CC1101_REG_WORTIME0 0x37
+ 92 #define RADIOLIB_CC1101_REG_PKTSTATUS 0x38
+ 93 #define RADIOLIB_CC1101_REG_VCO_VC_DAC 0x39
+ 94 #define RADIOLIB_CC1101_REG_TXBYTES 0x3A
+ 95 #define RADIOLIB_CC1101_REG_RXBYTES 0x3B
+ 96 #define RADIOLIB_CC1101_REG_RCCTRL1_STATUS 0x3C
+ 97 #define RADIOLIB_CC1101_REG_RCCTRL0_STATUS 0x3D
+ 98 #define RADIOLIB_CC1101_REG_PATABLE 0x3E
+ 99 #define RADIOLIB_CC1101_REG_FIFO 0x3F
+
+
+ 102 #define RADIOLIB_CC1101_STATUS_CHIP_READY 0b00000000
+ 103 #define RADIOLIB_CC1101_STATUS_CHIP_NOT_READY 0b10000000
+ 104 #define RADIOLIB_CC1101_STATUS_IDLE 0b00000000
+ 105 #define RADIOLIB_CC1101_STATUS_RX 0b00010000
+ 106 #define RADIOLIB_CC1101_STATUS_TX 0b00100000
+ 107 #define RADIOLIB_CC1101_STATUS_FSTXON 0b00110000
+ 108 #define RADIOLIB_CC1101_STATUS_CALIBRATE 0b01000000
+ 109 #define RADIOLIB_CC1101_STATUS_SETTLING 0b01010000
+ 110 #define RADIOLIB_CC1101_STATUS_RXFIFO_OVERFLOW 0b01100000
+ 111 #define RADIOLIB_CC1101_STATUS_TXFIFO_UNDERFLOW 0b01110000
+
+
+ 114 #define RADIOLIB_CC1101_GDO2_NORM 0b00000000
+ 115 #define RADIOLIB_CC1101_GDO2_INV 0b01000000
+
+
+ 118 #define RADIOLIB_CC1101_GDO_DS_LOW 0b00000000
+ 119 #define RADIOLIB_CC1101_GDO_DS_HIGH 0b10000000
+ 120 #define RADIOLIB_CC1101_GDO1_NORM 0b00000000
+ 121 #define RADIOLIB_CC1101_GDO1_INV 0b01000000
+
+
+ 124 #define RADIOLIB_CC1101_GDO0_TEMP_SENSOR_OFF 0b00000000
+ 125 #define RADIOLIB_CC1101_GDO0_TEMP_SENSOR_ON 0b10000000
+ 126 #define RADIOLIB_CC1101_GDO0_NORM 0b00000000
+ 127 #define RADIOLIB_CC1101_GDO0_INV 0b01000000
+
+
+ 130 #define RADIOLIB_CC1101_GDOX_RX_FIFO_FULL 0x00
+ 131 #define RADIOLIB_CC1101_GDOX_RX_FIFO_FULL_OR_PKT_END 0x01
+ 132 #define RADIOLIB_CC1101_GDOX_TX_FIFO_ABOVE_THR 0x02
+ 133 #define RADIOLIB_CC1101_GDOX_TX_FIFO_FULL 0x03
+ 134 #define RADIOLIB_CC1101_GDOX_RX_FIFO_OVERFLOW 0x04
+ 135 #define RADIOLIB_CC1101_GDOX_TX_FIFO_UNDERFLOW 0x05
+ 136 #define RADIOLIB_CC1101_GDOX_SYNC_WORD_SENT_OR_PKT_RECEIVED 0x06
+ 137 #define RADIOLIB_CC1101_GDOX_PKT_RECEIVED_CRC_OK 0x07
+ 138 #define RADIOLIB_CC1101_GDOX_PREAMBLE_QUALITY_REACHED 0x08
+ 139 #define RADIOLIB_CC1101_GDOX_CHANNEL_CLEAR 0x09
+ 140 #define RADIOLIB_CC1101_GDOX_PLL_LOCKED 0x0A
+ 141 #define RADIOLIB_CC1101_GDOX_SERIAL_CLOCK 0x0B
+ 142 #define RADIOLIB_CC1101_GDOX_SERIAL_DATA_SYNC 0x0C
+ 143 #define RADIOLIB_CC1101_GDOX_SERIAL_DATA_ASYNC 0x0D
+ 144 #define RADIOLIB_CC1101_GDOX_CARRIER_SENSE 0x0E
+ 145 #define RADIOLIB_CC1101_GDOX_CRC_OK 0x0F
+ 146 #define RADIOLIB_CC1101_GDOX_RX_HARD_DATA1 0x16
+ 147 #define RADIOLIB_CC1101_GDOX_RX_HARD_DATA0 0x17
+ 148 #define RADIOLIB_CC1101_GDOX_PA_PD 0x1B
+ 149 #define RADIOLIB_CC1101_GDOX_LNA_PD 0x1C
+ 150 #define RADIOLIB_CC1101_GDOX_RX_SYMBOL_TICK 0x1D
+ 151 #define RADIOLIB_CC1101_GDOX_WOR_EVNT0 0x24
+ 152 #define RADIOLIB_CC1101_GDOX_WOR_EVNT1 0x25
+ 153 #define RADIOLIB_CC1101_GDOX_CLK_256 0x26
+ 154 #define RADIOLIB_CC1101_GDOX_CLK_32K 0x27
+ 155 #define RADIOLIB_CC1101_GDOX_CHIP_RDYN 0x29
+ 156 #define RADIOLIB_CC1101_GDOX_XOSC_STABLE 0x2B
+ 157 #define RADIOLIB_CC1101_GDOX_HIGH_Z 0x2E
+ 158 #define RADIOLIB_CC1101_GDOX_HW_TO_0 0x2F
+ 159 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_1 0x30
+ 160 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_1_5 0x31
+ 161 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_2 0x32
+ 162 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_3 0x33
+ 163 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_4 0x34
+ 164 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_6 0x35
+ 165 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_8 0x36
+ 166 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_12 0x37
+ 167 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_16 0x38
+ 168 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_24 0x39
+ 169 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_32 0x3A
+ 170 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_48 0x3B
+ 171 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_64 0x3C
+ 172 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_96 0x3D
+ 173 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_128 0x3E
+ 174 #define RADIOLIB_CC1101_GDOX_CLOCK_XOSC_192 0x3F
+
+
+ 177 #define RADIOLIB_CC1101_ADC_RETENTION_OFF 0b00000000
+ 178 #define RADIOLIB_CC1101_ADC_RETENTION_ON 0b01000000
+ 179 #define RADIOLIB_CC1101_RX_ATTEN_0_DB 0b00000000
+ 180 #define RADIOLIB_CC1101_RX_ATTEN_6_DB 0b00010000
+ 181 #define RADIOLIB_CC1101_RX_ATTEN_12_DB 0b00100000
+ 182 #define RADIOLIB_CC1101_RX_ATTEN_18_DB 0b00110000
+ 183 #define RADIOLIB_CC1101_FIFO_THR_TX_61_RX_4 0b00000000
+ 184 #define RADIOLIB_CC1101_FIFO_THR_TX_33_RX_32 0b00000111
+ 185 #define RADIOLIB_CC1101_FIFO_THRESH_TX 33
+ 186 #define RADIOLIB_CC1101_FIFO_THRESH_RX 32
+
+
+ 189 #define RADIOLIB_CC1101_SYNC_WORD_MSB 0xD3
+
+
+ 192 #define RADIOLIB_CC1101_SYNC_WORD_LSB 0x91
+
+
+ 195 #define RADIOLIB_CC1101_PACKET_LENGTH 0xFF
+
+
+ 198 #define RADIOLIB_CC1101_PQT 0x00
+ 199 #define RADIOLIB_CC1101_CRC_AUTOFLUSH_OFF 0b00000000
+ 200 #define RADIOLIB_CC1101_CRC_AUTOFLUSH_ON 0b00001000
+ 201 #define RADIOLIB_CC1101_APPEND_STATUS_OFF 0b00000000
+ 202 #define RADIOLIB_CC1101_APPEND_STATUS_ON 0b00000100
+ 203 #define RADIOLIB_CC1101_ADR_CHK_NONE 0b00000000
+ 204 #define RADIOLIB_CC1101_ADR_CHK_NO_BROADCAST 0b00000001
+ 205 #define RADIOLIB_CC1101_ADR_CHK_SINGLE_BROADCAST 0b00000010
+ 206 #define RADIOLIB_CC1101_ADR_CHK_DOUBLE_BROADCAST 0b00000011
+
+
+ 209 #define RADIOLIB_CC1101_WHITE_DATA_OFF 0b00000000
+ 210 #define RADIOLIB_CC1101_WHITE_DATA_ON 0b01000000
+ 211 #define RADIOLIB_CC1101_PKT_FORMAT_NORMAL 0b00000000
+ 212 #define RADIOLIB_CC1101_PKT_FORMAT_SYNCHRONOUS 0b00010000
+ 213 #define RADIOLIB_CC1101_PKT_FORMAT_RANDOM 0b00100000
+ 214 #define RADIOLIB_CC1101_PKT_FORMAT_ASYNCHRONOUS 0b00110000
+ 215 #define RADIOLIB_CC1101_CRC_OFF 0b00000000
+ 216 #define RADIOLIB_CC1101_CRC_ON 0b00000100
+ 217 #define RADIOLIB_CC1101_LENGTH_CONFIG_FIXED 0b00000000
+ 218 #define RADIOLIB_CC1101_LENGTH_CONFIG_VARIABLE 0b00000001
+ 219 #define RADIOLIB_CC1101_LENGTH_CONFIG_INFINITE 0b00000010
+
+
+ 222 #define RADIOLIB_CC1101_DEVICE_ADDR 0x00
+
+
+ 225 #define RADIOLIB_CC1101_CHAN 0x00
+
+
+ 228 #define RADIOLIB_CC1101_FREQ_IF 0x0F
+
+
+ 231 #define RADIOLIB_CC1101_FREQOFF 0x00
+
+
+ 234 #define RADIOLIB_CC1101_FREQ_MSB 0x1E
+ 235 #define RADIOLIB_CC1101_FREQ_MID 0xC4
+ 236 #define RADIOLIB_CC1101_FREQ_LSB 0xEC
+
+
+ 239 #define RADIOLIB_CC1101_CHANBW_E 0b10000000
+ 240 #define RADIOLIB_CC1101_CHANBW_M 0b00000000
+ 241 #define RADIOLIB_CC1101_DRATE_E 0x0C
+
+
+ 244 #define RADIOLIB_CC1101_DRATE_M 0x22
+
+
+ 247 #define RADIOLIB_CC1101_DEM_DCFILT_OFF 0b10000000
+ 248 #define RADIOLIB_CC1101_DEM_DCFILT_ON 0b00000000
+ 249 #define RADIOLIB_CC1101_MOD_FORMAT_2_FSK 0b00000000
+ 250 #define RADIOLIB_CC1101_MOD_FORMAT_GFSK 0b00010000
+ 251 #define RADIOLIB_CC1101_MOD_FORMAT_ASK_OOK 0b00110000
+ 252 #define RADIOLIB_CC1101_MOD_FORMAT_4_FSK 0b01000000
+ 253 #define RADIOLIB_CC1101_MOD_FORMAT_MFSK 0b01110000
+ 254 #define RADIOLIB_CC1101_MANCHESTER_EN_OFF 0b00000000
+ 255 #define RADIOLIB_CC1101_MANCHESTER_EN_ON 0b00001000
+ 256 #define RADIOLIB_CC1101_SYNC_MODE_NONE 0b00000000
+ 257 #define RADIOLIB_CC1101_SYNC_MODE_15_16 0b00000001
+ 258 #define RADIOLIB_CC1101_SYNC_MODE_16_16 0b00000010
+ 259 #define RADIOLIB_CC1101_SYNC_MODE_30_32 0b00000011
+ 260 #define RADIOLIB_CC1101_SYNC_MODE_NONE_THR 0b00000100
+ 261 #define RADIOLIB_CC1101_SYNC_MODE_15_16_THR 0b00000101
+ 262 #define RADIOLIB_CC1101_SYNC_MODE_16_16_THR 0b00000110
+ 263 #define RADIOLIB_CC1101_SYNC_MODE_30_32_THR 0b00000111
+
+
+ 266 #define RADIOLIB_CC1101_FEC_OFF 0b00000000
+ 267 #define RADIOLIB_CC1101_FEC_ON 0b10000000
+ 268 #define RADIOLIB_CC1101_NUM_PREAMBLE_2 0b00000000
+ 269 #define RADIOLIB_CC1101_NUM_PREAMBLE_3 0b00010000
+ 270 #define RADIOLIB_CC1101_NUM_PREAMBLE_4 0b00100000
+ 271 #define RADIOLIB_CC1101_NUM_PREAMBLE_6 0b00110000
+ 272 #define RADIOLIB_CC1101_NUM_PREAMBLE_8 0b01000000
+ 273 #define RADIOLIB_CC1101_NUM_PREAMBLE_12 0b01010000
+ 274 #define RADIOLIB_CC1101_NUM_PREAMBLE_16 0b01100000
+ 275 #define RADIOLIB_CC1101_NUM_PREAMBLE_24 0b01110000
+ 276 #define RADIOLIB_CC1101_CHANSPC_E 0x02
+
+
+ 279 #define RADIOLIB_CC1101_CHANSPC_M 0xF8
+
+
+ 282 #define RADIOLIB_CC1101_DEVIATION_E 0b01000000
+ 283 #define RADIOLIB_CC1101_DEVIATION_M 0b00000111
+ 284 #define RADIOLIB_CC1101_MSK_PHASE_CHANGE_PERIOD 0x07
+
+
+ 287 #define RADIOLIB_CC1101_RX_TIMEOUT_RSSI_OFF 0b00000000
+ 288 #define RADIOLIB_CC1101_RX_TIMEOUT_RSSI_ON 0b00010000
+ 289 #define RADIOLIB_CC1101_RX_TIMEOUT_QUAL_OFF 0b00000000
+ 290 #define RADIOLIB_CC1101_RX_TIMEOUT_QUAL_ON 0b00001000
+ 291 #define RADIOLIB_CC1101_RX_TIMEOUT_OFF 0b00000111
+ 292 #define RADIOLIB_CC1101_RX_TIMEOUT_MAX 0b00000000
+
+
+ 295 #define RADIOLIB_CC1101_CCA_MODE_ALWAYS 0b00000000
+ 296 #define RADIOLIB_CC1101_CCA_MODE_RSSI_THR 0b00010000
+ 297 #define RADIOLIB_CC1101_CCA_MODE_RX_PKT 0b00100000
+ 298 #define RADIOLIB_CC1101_CCA_MODE_RSSI_THR_RX_PKT 0b00110000
+ 299 #define RADIOLIB_CC1101_RXOFF_IDLE 0b00000000
+ 300 #define RADIOLIB_CC1101_RXOFF_FSTXON 0b00000100
+ 301 #define RADIOLIB_CC1101_RXOFF_TX 0b00001000
+ 302 #define RADIOLIB_CC1101_RXOFF_RX 0b00001100
+ 303 #define RADIOLIB_CC1101_TXOFF_IDLE 0b00000000
+ 304 #define RADIOLIB_CC1101_TXOFF_FSTXON 0b00000001
+ 305 #define RADIOLIB_CC1101_TXOFF_TX 0b00000010
+ 306 #define RADIOLIB_CC1101_TXOFF_RX 0b00000011
+
+
+ 309 #define RADIOLIB_CC1101_FS_AUTOCAL_NEVER 0b00000000
+ 310 #define RADIOLIB_CC1101_FS_AUTOCAL_IDLE_TO_RXTX 0b00010000
+ 311 #define RADIOLIB_CC1101_FS_AUTOCAL_RXTX_TO_IDLE 0b00100000
+ 312 #define RADIOLIB_CC1101_FS_AUTOCAL_RXTX_TO_IDLE_4TH 0b00110000
+ 313 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_1 0b00000000
+ 314 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_16 0b00000100
+ 315 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_64 0b00001000
+ 316 #define RADIOLIB_CC1101_PO_TIMEOUT_COUNT_256 0b00001100
+ 317 #define RADIOLIB_CC1101_PIN_CTRL_OFF 0b00000000
+ 318 #define RADIOLIB_CC1101_PIN_CTRL_ON 0b00000010
+ 319 #define RADIOLIB_CC1101_XOSC_FORCE_OFF 0b00000000
+ 320 #define RADIOLIB_CC1101_XOSC_FORCE_ON 0b00000001
+
+
+ 323 #define RADIOLIB_CC1101_FOC_BS_CS_GATE_OFF 0b00000000
+ 324 #define RADIOLIB_CC1101_FOC_BS_CS_GATE_ON 0b00100000
+ 325 #define RADIOLIB_CC1101_FOC_PRE_K 0b00000000
+ 326 #define RADIOLIB_CC1101_FOC_PRE_2K 0b00001000
+ 327 #define RADIOLIB_CC1101_FOC_PRE_3K 0b00010000
+ 328 #define RADIOLIB_CC1101_FOC_PRE_4K 0b00011000
+ 329 #define RADIOLIB_CC1101_FOC_POST_K 0b00000000
+ 330 #define RADIOLIB_CC1101_FOC_POST_K_2 0b00000100
+ 331 #define RADIOLIB_CC1101_FOC_LIMIT_NO_COMPENSATION 0b00000000
+ 332 #define RADIOLIB_CC1101_FOC_LIMIT_BW_CHAN_8 0b00000001
+ 333 #define RADIOLIB_CC1101_FOC_LIMIT_BW_CHAN_4 0b00000010
+ 334 #define RADIOLIB_CC1101_FOC_LIMIT_BW_CHAN_2 0b00000011
+
+
+ 337 #define RADIOLIB_CC1101_BS_PRE_KI 0b00000000
+ 338 #define RADIOLIB_CC1101_BS_PRE_2KI 0b01000000
+ 339 #define RADIOLIB_CC1101_BS_PRE_3KI 0b10000000
+ 340 #define RADIOLIB_CC1101_BS_PRE_4KI 0b11000000
+ 341 #define RADIOLIB_CC1101_BS_PRE_KP 0b00000000
+ 342 #define RADIOLIB_CC1101_BS_PRE_2KP 0b00010000
+ 343 #define RADIOLIB_CC1101_BS_PRE_3KP 0b00100000
+ 344 #define RADIOLIB_CC1101_BS_PRE_4KP 0b00110000
+ 345 #define RADIOLIB_CC1101_BS_POST_KI 0b00000000
+ 346 #define RADIOLIB_CC1101_BS_POST_KI_2 0b00001000
+ 347 #define RADIOLIB_CC1101_BS_POST_KP 0b00000000
+ 348 #define RADIOLIB_CC1101_BS_POST_KP_1 0b00000100
+ 349 #define RADIOLIB_CC1101_BS_LIMIT_NO_COMPENSATION 0b00000000
+ 350 #define RADIOLIB_CC1101_BS_LIMIT_3_125 0b00000001
+ 351 #define RADIOLIB_CC1101_BS_LIMIT_6_25 0b00000010
+ 352 #define RADIOLIB_CC1101_BS_LIMIT_12_5 0b00000011
+
+
+ 355 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_0 0b00000000
+ 356 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_1 0b01000000
+ 357 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_2 0b10000000
+ 358 #define RADIOLIB_CC1101_MAX_DVGA_GAIN_3 0b11000000
+ 359 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_0_DB 0b00000000
+ 360 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_2_6_DB 0b00001000
+ 361 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_6_1_DB 0b00010000
+ 362 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_7_4_DB 0b00011000
+ 363 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_9_2_DB 0b00100000
+ 364 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_11_5_DB 0b00101000
+ 365 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_14_6_DB 0b00110000
+ 366 #define RADIOLIB_CC1101_LNA_GAIN_REDUCE_17_1_DB 0b00111000
+ 367 #define RADIOLIB_CC1101_MAGN_TARGET_24_DB 0b00000000
+ 368 #define RADIOLIB_CC1101_MAGN_TARGET_27_DB 0b00000001
+ 369 #define RADIOLIB_CC1101_MAGN_TARGET_30_DB 0b00000010
+ 370 #define RADIOLIB_CC1101_MAGN_TARGET_33_DB 0b00000011
+ 371 #define RADIOLIB_CC1101_MAGN_TARGET_36_DB 0b00000100
+ 372 #define RADIOLIB_CC1101_MAGN_TARGET_38_DB 0b00000101
+ 373 #define RADIOLIB_CC1101_MAGN_TARGET_40_DB 0b00000110
+ 374 #define RADIOLIB_CC1101_MAGN_TARGET_42_DB 0b00000111
+
+
+ 377 #define RADIOLIB_CC1101_AGC_LNA_PRIORITY_LNA2 0b00000000
+ 378 #define RADIOLIB_CC1101_AGC_LNA_PRIORITY_LNA 0b01000000
+ 379 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_OFF 0b00000000
+ 380 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_6_DB 0b00010000
+ 381 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_10_DB 0b00100000
+ 382 #define RADIOLIB_CC1101_CARRIER_SENSE_REL_THR_14_DB 0b00110000
+ 383 #define RADIOLIB_CC1101_CARRIER_SENSE_ABS_THR 0x00
+
+
+ 386 #define RADIOLIB_CC1101_HYST_LEVEL_NONE 0b00000000
+ 387 #define RADIOLIB_CC1101_HYST_LEVEL_LOW 0b01000000
+ 388 #define RADIOLIB_CC1101_HYST_LEVEL_MEDIUM 0b10000000
+ 389 #define RADIOLIB_CC1101_HYST_LEVEL_HIGH 0b11000000
+ 390 #define RADIOLIB_CC1101_WAIT_TIME_8_SAMPLES 0b00000000
+ 391 #define RADIOLIB_CC1101_WAIT_TIME_16_SAMPLES 0b00010000
+ 392 #define RADIOLIB_CC1101_WAIT_TIME_24_SAMPLES 0b00100000
+ 393 #define RADIOLIB_CC1101_WAIT_TIME_32_SAMPLES 0b00110000
+ 394 #define RADIOLIB_CC1101_AGC_FREEZE_NEVER 0b00000000
+ 395 #define RADIOLIB_CC1101_AGC_FREEZE_SYNC_WORD 0b00000100
+ 396 #define RADIOLIB_CC1101_AGC_FREEZE_MANUAL_A 0b00001000
+ 397 #define RADIOLIB_CC1101_AGC_FREEZE_MANUAL_AD 0b00001100
+ 398 #define RADIOLIB_CC1101_FILTER_LENGTH_8 0b00000000
+ 399 #define RADIOLIB_CC1101_FILTER_LENGTH_16 0b00000001
+ 400 #define RADIOLIB_CC1101_FILTER_LENGTH_32 0b00000010
+ 401 #define RADIOLIB_CC1101_FILTER_LENGTH_64 0b00000011
+ 402 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_4_DB 0b00000000
+ 403 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_8_DB 0b00000001
+ 404 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_12_DB 0b00000010
+ 405 #define RADIOLIB_CC1101_ASK_OOK_BOUNDARY_16_DB 0b00000011
+
+
+ 408 #define RADIOLIB_CC1101_EVENT0_TIMEOUT_MSB 0x87
+ 409 #define RADIOLIB_CC1101_EVENT0_TIMEOUT_LSB 0x6B
+
+
+ 412 #define RADIOLIB_CC1101_RC_POWER_UP 0b00000000
+ 413 #define RADIOLIB_CC1101_RC_POWER_DOWN 0b10000000
+ 414 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_4 0b00000000
+ 415 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_6 0b00010000
+ 416 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_8 0b00100000
+ 417 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_12 0b00110000
+ 418 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_16 0b01000000
+ 419 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_24 0b01010000
+ 420 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_32 0b01100000
+ 421 #define RADIOLIB_CC1101_EVENT1_TIMEOUT_48 0b01110000
+ 422 #define RADIOLIB_CC1101_RC_CAL_OFF 0b00000000
+ 423 #define RADIOLIB_CC1101_RC_CAL_ON 0b00001000
+ 424 #define RADIOLIB_CC1101_WOR_RES_1 0b00000000
+ 425 #define RADIOLIB_CC1101_WOR_RES_2_5 0b00000001
+ 426 #define RADIOLIB_CC1101_WOR_RES_2_10 0b00000010
+ 427 #define RADIOLIB_CC1101_WOR_RES_2_15 0b00000011
+
+
+ 430 #define RADIOLIB_CC1101_LNA_CURRENT 0x01
+ 431 #define RADIOLIB_CC1101_LNA2MIX_CURRENT 0x01
+ 432 #define RADIOLIB_CC1101_LODIV_BUF_CURRENT_RX 0x01
+ 433 #define RADIOLIB_CC1101_MIX_CURRENT 0x02
+
+
+ 436 #define RADIOLIB_CC1101_LODIV_BUF_CURRENT_TX 0x01
+ 437 #define RADIOLIB_CC1101_PA_POWER 0x00
+
+
+ 440 #define RADIOLIB_CC1101_CHP_CURR_CAL_OFF 0b00000000
+ 441 #define RADIOLIB_CC1101_CHP_CURR_CAL_ON 0b00100000
+ 442 #define RADIOLIB_CC1101_FSCAL3 0x09
+
+
+ 445 #define RADIOLIB_CC1101_VCO_CORE_LOW 0b00000000
+ 446 #define RADIOLIB_CC1101_VCO_CORE_HIGH 0b00100000
+ 447 #define RADIOLIB_CC1101_FSCAL2 0x0A
+
+
+ 450 #define RADIOLIB_CC1101_FSCAL1 0x20
+
+
+ 453 #define RADIOLIB_CC1101_FSCAL0 0x0D
+
+
+ 456 #define RADIOLIB_CC1101_RCCTRL1 0x41
+
+
+ 459 #define RADIOLIB_CC1101_RCCTRL0 0x00
+
+
+ 462 #define RADIOLIB_CC1101_TEMP_SENS_IDLE_OFF 0x7F
+ 463 #define RADIOLIB_CC1101_TEMP_SENS_IDLE_ON 0xBF
+
+
+ 466 #define RADIOLIB_CC1101_VCO_SEL_CAL_OFF 0b00000000
+ 467 #define RADIOLIB_CC1101_VCO_SEL_CAL_ON 0b00000010
+
+
+ 470 #define RADIOLIB_CC1101_PARTNUM 0x00
+
+
+ 473 #define RADIOLIB_CC1101_VERSION_CURRENT 0x14
+ 474 #define RADIOLIB_CC1101_VERSION_LEGACY 0x04
+ 475 #define RADIOLIB_CC1101_VERSION_CLONE 0x17
+
+
+ 478 #define RADIOLIB_CC1101_MARC_STATE_SLEEP 0x00
+ 479 #define RADIOLIB_CC1101_MARC_STATE_IDLE 0x01
+ 480 #define RADIOLIB_CC1101_MARC_STATE_XOFF 0x02
+ 481 #define RADIOLIB_CC1101_MARC_STATE_VCOON_MC 0x03
+ 482 #define RADIOLIB_CC1101_MARC_STATE_REGON_MC 0x04
+ 483 #define RADIOLIB_CC1101_MARC_STATE_MANCAL 0x05
+ 484 #define RADIOLIB_CC1101_MARC_STATE_VCOON 0x06
+ 485 #define RADIOLIB_CC1101_MARC_STATE_REGON 0x07
+ 486 #define RADIOLIB_CC1101_MARC_STATE_STARTCAL 0x08
+ 487 #define RADIOLIB_CC1101_MARC_STATE_BWBOOST 0x09
+ 488 #define RADIOLIB_CC1101_MARC_STATE_FS_LOCK 0x0A
+ 489 #define RADIOLIB_CC1101_MARC_STATE_IFADCON 0x0B
+ 490 #define RADIOLIB_CC1101_MARC_STATE_ENDCAL 0x0C
+ 491 #define RADIOLIB_CC1101_MARC_STATE_RX 0x0D
+ 492 #define RADIOLIB_CC1101_MARC_STATE_RX_END 0x0E
+ 493 #define RADIOLIB_CC1101_MARC_STATE_RX_RST 0x0F
+ 494 #define RADIOLIB_CC1101_MARC_STATE_TXRX_SWITCH 0x10
+ 495 #define RADIOLIB_CC1101_MARC_STATE_RXFIFO_OVERFLOW 0x11
+ 496 #define RADIOLIB_CC1101_MARC_STATE_FSTXON 0x12
+ 497 #define RADIOLIB_CC1101_MARC_STATE_TX 0x13
+ 498 #define RADIOLIB_CC1101_MARC_STATE_TX_END 0x14
+ 499 #define RADIOLIB_CC1101_MARC_STATE_RXTX_SWITCH 0x15
+ 500 #define RADIOLIB_CC1101_MARC_STATE_TXFIFO_UNDERFLOW 0x16
+
+
+ 503 #define RADIOLIB_CC1101_WORTIME_MSB 0x00
+ 504 #define RADIOLIB_CC1101_WORTIME_LSB 0x00
+
+
+ 507 #define RADIOLIB_CC1101_CRC_OK 0b10000000
+ 508 #define RADIOLIB_CC1101_CRC_ERROR 0b00000000
+ 509 #define RADIOLIB_CC1101_CS 0b01000000
+ 510 #define RADIOLIB_CC1101_PQT_REACHED 0b00100000
+ 511 #define RADIOLIB_CC1101_CCA 0b00010000
+ 512 #define RADIOLIB_CC1101_SFD 0b00001000
+ 513 #define RADIOLIB_CC1101_GDO2_ACTIVE 0b00000100
+ 514 #define RADIOLIB_CC1101_GDO0_ACTIVE 0b00000001
+
+
+ 517 #define RADIOLIB_CC1101_DEFAULT_FREQ 434.0
+ 518 #define RADIOLIB_CC1101_DEFAULT_BR 4.8
+ 519 #define RADIOLIB_CC1101_DEFAULT_FREQDEV 5.0
+ 520 #define RADIOLIB_CC1101_DEFAULT_RXBW 58.0
+ 521 #define RADIOLIB_CC1101_DEFAULT_POWER 10
+ 522 #define RADIOLIB_CC1101_DEFAULT_PREAMBLELEN 16
+ 523 #define RADIOLIB_CC1101_DEFAULT_SW {0x12, 0xAD}
+ 524 #define RADIOLIB_CC1101_DEFAULT_SW_LEN 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 559 float freq = RADIOLIB_CC1101_DEFAULT_FREQ,
+ 560 float br = RADIOLIB_CC1101_DEFAULT_BR,
+ 561 float freqDev = RADIOLIB_CC1101_DEFAULT_FREQDEV,
+ 562 float rxBw = RADIOLIB_CC1101_DEFAULT_RXBW,
+ 563 int8_t pwr = RADIOLIB_CC1101_DEFAULT_POWER,
+ 564 uint8_t preambleLength = RADIOLIB_CC1101_DEFAULT_PREAMBLELEN);
+
+
+
+ 579 int16_t
transmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
+
+ 588 int16_t
receive(uint8_t* data,
size_t len)
override;
+
+
+
+ 601 int16_t
standby(uint8_t mode)
override;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 691 int16_t
startTransmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
+
+
+
+
+
+ 713 int16_t
startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask,
size_t len);
+
+ 723 int16_t
readData(uint8_t* data,
size_t len)
override;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 778 int16_t
setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits = 0,
bool requireCarrierSense =
false);
+
+ 788 int16_t
setSyncWord(uint8_t* syncWord, uint8_t len, uint8_t maxErrBits = 0,
bool requireCarrierSense =
false);
+
+
+
+ 804 int16_t
setNodeAddress(uint8_t nodeAddr, uint8_t numBroadcastAddrs = 0);
+
+
+
+ 817 int16_t
setOOK(
bool enableOOK);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 924 #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
+
+
+
+
+
+
+ 946 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
+
+
+
+
+ 952 int16_t SPIgetRegValue(uint8_t reg, uint8_t msb = 7, uint8_t lsb = 0);
+ 953 int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2);
+ 954 void SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t* inBytes);
+ 955 uint8_t SPIreadRegister(uint8_t reg);
+ 956 void SPIwriteRegisterBurst(uint8_t reg, uint8_t* data,
size_t len);
+ 957 void SPIwriteRegister(uint8_t reg, uint8_t data);
+
+ 959 void SPIsendCommand(uint8_t cmd);
+
+ 961 #if !defined(RADIOLIB_GODMODE)
+
+
+
+ 965 float frequency = RADIOLIB_CC1101_DEFAULT_FREQ;
+ 966 float bitRate = RADIOLIB_CC1101_DEFAULT_BR;
+
+
+ 969 uint8_t modulation = RADIOLIB_CC1101_MOD_FORMAT_2_FSK;
+
+ 971 size_t packetLength = 0;
+ 972 bool packetLengthQueried =
false;
+ 973 uint8_t packetLengthConfig = RADIOLIB_CC1101_LENGTH_CONFIG_VARIABLE;
+
+ 975 bool promiscuous =
false;
+
+ 977 bool directModeEnabled =
true;
+
+ 979 int8_t power = RADIOLIB_CC1101_DEFAULT_POWER;
+
+
+
+
+ 984 int16_t directMode(
bool sync);
+ 985 static void getExpMant(
float target, uint16_t mantOffset, uint8_t divExp, uint8_t expMax, uint8_t& exp, uint8_t& mant);
+ 986 int16_t setPacketMode(uint8_t mode, uint16_t len);
+
+
+
+Control class for CC1101 module.
Definition: CC1101.h:530
+int16_t setDIOMapping(uint32_t pin, uint32_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: CC1101.cpp:941
+int16_t setPromiscuousMode(bool enable=true)
Set modem in "sniff" mode: no packet filtering (e.g., no preamble, sync word, address,...
Definition: CC1101.cpp:820
+int16_t setFrequencyDeviation(float freqDev) override
Sets frequency deviation. Allowed values range from 1.587 to 380.8 kHz.
Definition: CC1101.cpp:483
+size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: CC1101.cpp:758
void reset()
Reset method - resets the chip using manual reset sequence (without RESET pin).
Definition: CC1101.cpp:94
-void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode.
Definition: CC1101.cpp:1023
-int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: CC1101.cpp:176
-int16_t getChipVersion()
Read version SPI register. Should return CC1101_VERSION_LEGACY (0x04) or CC1101_VERSION_CURRENT (0x14...
Definition: CC1101.cpp:1014
+void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode.
Definition: CC1101.cpp:936
+int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: CC1101.cpp:186
+int16_t getChipVersion()
Read version SPI register. Should return CC1101_VERSION_LEGACY (0x04) or CC1101_VERSION_CURRENT (0x14...
Definition: CC1101.cpp:927
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
-int16_t setRxBandwidth(float rxBw)
Sets receiver bandwidth. Allowed values range from 58.0 to 812.0 kHz.
Definition: CC1101.cpp:541
-int16_t packetMode()
Stops direct mode. It is required to call this method to switch from direct transmissions to packet-b...
Definition: CC1101.cpp:227
-int16_t setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)
Sets 16-bit sync word as a two byte value.
Definition: CC1101.cpp:713
-float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. In asynchronous direct mo...
Definition: CC1101.cpp:810
+int16_t setRxBandwidth(float rxBw)
Sets receiver bandwidth. Allowed values range from 58.0 to 812.0 kHz.
Definition: CC1101.cpp:462
+int16_t packetMode()
Stops direct mode. It is required to call this method to switch from direct transmissions to packet-b...
Definition: CC1101.cpp:237
+int16_t setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)
Sets 16-bit sync word as a two byte value.
Definition: CC1101.cpp:634
+float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. In asynchronous direct mo...
Definition: CC1101.cpp:731
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-int16_t disableSyncWordFiltering(bool requireCarrierSense=false)
Disable preamble and sync word filtering and generation.
Definition: CC1101.cpp:892
-void setPacketReceivedAction(void(*func)(void))
Sets interrupt service routine to call when a packet is received.
Definition: CC1101.cpp:242
-int16_t setOutputPower(int8_t pwr)
Sets output power. Allowed values are -30, -20, -15, -10, 0, 5, 7 or 10 dBm.
Definition: CC1101.cpp:614
-int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_CC1101_MAX_PACKET_LENGTH)
Set modem in variable packet length mode.
Definition: CC1101.cpp:869
-void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: CC1101.cpp:1019
-uint8_t getLQI() const
Gets LQI (Link Quality Indicator) of the last received packet.
Definition: CC1101.cpp:833
-void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: CC1101.cpp:986
-int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: CC1101.cpp:897
+int16_t disableSyncWordFiltering(bool requireCarrierSense=false)
Disable preamble and sync word filtering and generation.
Definition: CC1101.cpp:805
+void setPacketReceivedAction(void(*func)(void))
Sets interrupt service routine to call when a packet is received.
Definition: CC1101.cpp:252
+int16_t setOutputPower(int8_t pwr)
Sets output power. Allowed values are -30, -20, -15, -10, 0, 5, 7 or 10 dBm.
Definition: CC1101.cpp:535
+int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_CC1101_MAX_PACKET_LENGTH)
Set modem in variable packet length mode.
Definition: CC1101.cpp:782
+void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: CC1101.cpp:932
+uint8_t getLQI() const
Gets LQI (Link Quality Indicator) of the last received packet.
Definition: CC1101.cpp:754
+void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: CC1101.cpp:899
+int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: CC1101.cpp:810
CC1101(Module *module)
Default constructor.
Definition: CC1101.cpp:5
-int16_t setNodeAddress(uint8_t nodeAddr, uint8_t numBroadcastAddrs=0)
Sets node and broadcast addresses. Calling this method will also enable address filtering.
Definition: CC1101.cpp:760
-int16_t enableSyncWordFiltering(uint8_t maxErrBits=0, bool requireCarrierSense=false)
Enable sync word filtering and generation.
Definition: CC1101.cpp:873
-void clearPacketSentAction()
Clears interrupt service routine to call when a packet is sent.
Definition: CC1101.cpp:254
-void clearPacketReceivedAction()
Clears interrupt service routine to call when a packet is received.
Definition: CC1101.cpp:246
+int16_t setNodeAddress(uint8_t nodeAddr, uint8_t numBroadcastAddrs=0)
Sets node and broadcast addresses. Calling this method will also enable address filtering.
Definition: CC1101.cpp:681
+int16_t enableSyncWordFiltering(uint8_t maxErrBits=0, bool requireCarrierSense=false)
Enable sync word filtering and generation.
Definition: CC1101.cpp:786
+void clearPacketSentAction()
Clears interrupt service routine to call when a packet is sent.
Definition: CC1101.cpp:264
+void clearPacketReceivedAction()
Clears interrupt service routine to call when a packet is received.
Definition: CC1101.cpp:256
int16_t standby() override
Sets the module to standby mode.
Definition: CC1101.cpp:162
-void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: CC1101.cpp:990
-uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: CC1101.cpp:994
+void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: CC1101.cpp:903
+uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: CC1101.cpp:907
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
-int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in bands 300.0 to 348.0 MHz, 387.0 to 464....
Definition: CC1101.cpp:495
-int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: CC1101.cpp:771
-void setGdo0Action(void(*func)(void), uint32_t dir)
Sets interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:234
-int16_t receiveDirectAsync()
Starts asynchronous direct mode reception.
Definition: CC1101.cpp:210
-int16_t setBitRate(float br)
Sets bit rate. Allowed values range from 0.025 to 600.0 kbps.
Definition: CC1101.cpp:521
-int16_t receiveDirect() override
Starts direct mode reception.
Definition: CC1101.cpp:206
-int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER,...
Definition: CC1101.cpp:962
-void clearGdo0Action()
Clears interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:238
+int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in bands 300.0 to 348.0 MHz, 387.0 to 464....
Definition: CC1101.cpp:416
+int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: CC1101.cpp:692
+void setGdo0Action(void(*func)(void), uint32_t dir)
Sets interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:244
+int16_t receiveDirectAsync()
Starts asynchronous direct mode reception.
Definition: CC1101.cpp:220
+int16_t setBitRate(float br)
Sets bit rate. Allowed values range from 0.025 to 600.0 kbps.
Definition: CC1101.cpp:442
+int16_t receiveDirect() override
Starts direct mode reception.
Definition: CC1101.cpp:216
+int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Allowed values are RADIOLIB_ENCODING_NRZ, RADIOLIB_ENCODING_MANCHESTER,...
Definition: CC1101.cpp:875
+void clearGdo0Action()
Clears interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:248
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
-int16_t getFrequencyDeviation(float *freqDev)
Gets frequency deviation.
Definition: CC1101.cpp:589
-void clearGdo2Action()
Clears interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:266
-int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_CC1101_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode.
Definition: CC1101.cpp:859
-void setGdo2Action(void(*func)(void), uint32_t dir)
Sets interrupt service routine to call when GDO2 activates.
Definition: CC1101.cpp:258
+int16_t getFrequencyDeviation(float *freqDev)
Gets frequency deviation.
Definition: CC1101.cpp:510
+void clearGdo2Action()
Clears interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:276
+int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_CC1101_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode.
Definition: CC1101.cpp:772
+void setGdo2Action(void(*func)(void), uint32_t dir)
Sets interrupt service routine to call when GDO2 activates.
Definition: CC1101.cpp:268
int16_t begin(float freq=RADIOLIB_CC1101_DEFAULT_FREQ, float br=RADIOLIB_CC1101_DEFAULT_BR, float freqDev=RADIOLIB_CC1101_DEFAULT_FREQDEV, float rxBw=RADIOLIB_CC1101_DEFAULT_RXBW, int8_t pwr=RADIOLIB_CC1101_DEFAULT_POWER, uint8_t preambleLength=RADIOLIB_CC1101_DEFAULT_PREAMBLELEN)
Initialization method.
Definition: CC1101.cpp:13
-int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed value is RADI...
Definition: CC1101.cpp:943
-int16_t setPreambleLength(uint8_t preambleLength, uint8_t qualityThreshold)
Sets preamble length.
Definition: CC1101.cpp:718
-bool getPromiscuousMode()
Get whether the modem is in promiscuous mode: no packet filtering (e.g., no preamble,...
Definition: CC1101.cpp:939
-int16_t transmitDirectAsync(uint32_t frf=0)
Starts asynchronous direct mode transmission.
Definition: CC1101.cpp:180
-int16_t finishTransmit() override
Clean up after transmission is done.
Definition: CC1101.cpp:364
-int16_t startReceive()
Interrupt-driven receive method. GDO0 will be activated when full packet is received.
Definition: CC1101.cpp:375
-int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: CC1101.cpp:781
-void setPacketSentAction(void(*func)(void))
Sets interrupt service routine to call when a packet is sent.
Definition: CC1101.cpp:250
+int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed value is RADI...
Definition: CC1101.cpp:856
+int16_t setPreambleLength(uint8_t preambleLength, uint8_t qualityThreshold)
Sets preamble length.
Definition: CC1101.cpp:639
+bool getPromiscuousMode()
Get whether the modem is in promiscuous mode: no packet filtering (e.g., no preamble,...
Definition: CC1101.cpp:852
+int16_t transmitDirectAsync(uint32_t frf=0)
Starts asynchronous direct mode transmission.
Definition: CC1101.cpp:190
+int16_t finishTransmit() override
Clean up after transmission is done.
Definition: CC1101.cpp:322
+int16_t startReceive()
Interrupt-driven receive method. GDO0 will be activated when full packet is received.
Definition: CC1101.cpp:333
+int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: CC1101.cpp:702
+void setPacketSentAction(void(*func)(void))
Sets interrupt service routine to call when a packet is sent.
Definition: CC1101.cpp:260
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:42
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:33