17#include <RHNRFSPIDriver.h>
21#define RH_CC110_NUM_INTERRUPTS 3
24#define RH_CC110_FIFO_SIZE 64
28#define RH_CC110_MAX_PAYLOAD_LEN RH_CC110_FIFO_SIZE
32#define RH_CC110_HEADER_LEN 4
37#ifndef RH_CC110_MAX_MESSAGE_LEN
38 #define RH_CC110_MAX_MESSAGE_LEN (RH_CC110_MAX_PAYLOAD_LEN - RH_CC110_HEADER_LEN - 1)
41#define RH_CC110_SPI_READ_MASK 0x80
42#define RH_CC110_SPI_BURST_MASK 0x40
45#define RH_CC110_REG_00_IOCFG2 0x00
46#define RH_CC110_REG_01_IOCFG1 0x01
47#define RH_CC110_REG_02_IOCFG0 0x02
48#define RH_CC110_REG_03_FIFOTHR 0x03
49#define RH_CC110_REG_04_SYNC1 0x04
50#define RH_CC110_REG_05_SYNC0 0x05
51#define RH_CC110_REG_06_PKTLEN 0x06
52#define RH_CC110_REG_07_PKTCTRL1 0x07
53#define RH_CC110_REG_08_PKTCTRL0 0x08
54#define RH_CC110_REG_09_ADDR 0x09
55#define RH_CC110_REG_0A_CHANNR 0x0a
56#define RH_CC110_REG_0B_FSCTRL1 0x0b
57#define RH_CC110_REG_0C_FSCTRL0 0x0c
58#define RH_CC110_REG_0D_FREQ2 0x0d
59#define RH_CC110_REG_0E_FREQ1 0x0e
60#define RH_CC110_REG_0F_FREQ0 0x0f
61#define RH_CC110_REG_10_MDMCFG4 0x10
62#define RH_CC110_REG_11_MDMCFG3 0x11
63#define RH_CC110_REG_12_MDMCFG2 0x12
64#define RH_CC110_REG_13_MDMCFG1 0x13
65#define RH_CC110_REG_14_MDMCFG0 0x14
66#define RH_CC110_REG_15_DEVIATN 0x15
67#define RH_CC110_REG_16_MCSM2 0x16
68#define RH_CC110_REG_17_MCSM1 0x17
69#define RH_CC110_REG_18_MCSM0 0x18
70#define RH_CC110_REG_19_FOCCFG 0x19
71#define RH_CC110_REG_1A_BSCFG 0x1a
72#define RH_CC110_REG_1B_AGCCTRL2 0x1b
73#define RH_CC110_REG_1C_AGCCTRL1 0x1c
74#define RH_CC110_REG_1D_AGCCTRL0 0x1d
75#define RH_CC110_REG_1E_WOREVT1 0x1e
76#define RH_CC110_REG_1F_WOREVT0 0x1f
77#define RH_CC110_REG_20_WORCTRL 0x20
78#define RH_CC110_REG_21_FREND1 0x21
79#define RH_CC110_REG_22_FREND0 0x22
80#define RH_CC110_REG_23_FSCAL3 0x23
81#define RH_CC110_REG_24_FSCAL2 0x24
82#define RH_CC110_REG_25_FSCAL1 0x25
83#define RH_CC110_REG_26_FSCAL0 0x26
84#define RH_CC110_REG_27_RCCTRL1 0x28
85#define RH_CC110_REG_28_RCCTRL0 0x29
86#define RH_CC110_REG_29_FSTEST 0x2a
87#define RH_CC110_REG_2A_PTEST 0x2b
88#define RH_CC110_REG_2B_AGCTEST 0x2c
89#define RH_CC110_REG_2C_TEST2 0x2c
90#define RH_CC110_REG_2D_TEST1 0x2d
91#define RH_CC110_REG_2E_TEST0 0x2e
95#define RH_CC110_STROBE_30_SRES 0x30
96#define RH_CC110_STROBE_31_SFSTXON 0x31
97#define RH_CC110_STROBE_32_SXOFF 0x32
98#define RH_CC110_STROBE_33_SCAL 0x33
99#define RH_CC110_STROBE_34_SRX 0x34
100#define RH_CC110_STROBE_35_STX 0x35
101#define RH_CC110_STROBE_36_SIDLE 0x36
103#define RH_CC110_STROBE_39_SPWD 0x39
104#define RH_CC110_STROBE_3A_SFRX 0x3a
105#define RH_CC110_STROBE_3B_SFTX 0x3b
107#define RH_CC110_STROBE_3D_SNOP 0x3d
112#define RH_CC110_REG_30_PARTNUM 0x30
113#define RH_CC110_REG_31_VERSION 0x31
114#define RH_CC110_REG_32_FREQEST 0x32
115#define RH_CC110_REG_33_CRC_REG 0x33
116#define RH_CC110_REG_34_RSSI 0x34
117#define RH_CC110_REG_35_MARCSTATE 0x35
119#define RH_CC110_REG_38_PKTSTATUS 0x38
121#define RH_CC110_REG_3A_TXBYTES 0x3a
122#define RH_CC110_REG_3B_RXBYTES 0x3b
125#define RH_CC110_REG_3E_PATABLE 0x3e
126#define RH_CC110_REG_3F_FIFO 0x3f
129#define RH_CC110_STATUS_CHIP_RDY 0x80
130#define RH_CC110_STATUS_STATE 0x70
131#define RH_CC110_STATUS_IDLE 0x00
132#define RH_CC110_STATUS_RX 0x10
133#define RH_CC110_STATUS_TX 0x20
134#define RH_CC110_STATUS_FSTXON 0x30
135#define RH_CC110_STATUS_CALIBRATE 0x40
136#define RH_CC110_STATUS_SETTLING 0x50
137#define RH_CC110_STATUS_RXFIFO_OVERFLOW 0x60
138#define RH_CC110_STATUS_TXFIFO_UNDERFLOW 0x70
139#define RH_CC110_STATUS_FIFOBYTES_AVAILABLE 0x0f
143#define RH_CC110_CHIP_RDY 0x80
144#define RH_CC110_STATE 0x70
145#define RH_CC110_FIFO_BYTES_AVAILABLE 0x0f
151#define RH_CC110_GDO_CFG_RX_FIFO_THR 0x00
152#define RH_CC110_GDO_CFG_RX_FIFO_FULL 0x01
153#define RH_CC110_GDO_CFG_TX_FIFO_THR 0x02
154#define RH_CC110_GDO_CFG_TX_FIFO_EMPTY 0x03
155#define RH_CC110_GDO_CFG_RX_FIFO_OVERFLOW 0x04
156#define RH_CC110_GDO_CFG_TX_FIFO_UNDEFLOOW 0x05
157#define RH_CC110_GDO_CFG_SYNC 0x06
158#define RH_CC110_GDO_CFG_CRC_OK_AUTORESET 0x07
159#define RH_CC110_GDO_CFG_CCA 0x09
160#define RH_CC110_GDO_CFG_LOCK_DETECT 0x0a
161#define RH_CC110_GDO_CFG_SERIAL_CLOCK 0x0b
162#define RH_CC110_GDO_CFG_SYNCHRONOUS_SDO 0x0c
163#define RH_CC110_GDO_CFG_SDO 0x0d
164#define RH_CC110_GDO_CFG_CARRIER 0x0e
165#define RH_CC110_GDO_CFG_CRC_OK 0x0f
166#define RH_CC110_GDO_CFG_PA_PD 0x1b
167#define RH_CC110_GDO_CFG_LNA_PD 0x1c
168#define RH_CC110_GDO_CFG_CLK_32K 0x27
169#define RH_CC110_GDO_CFG_CHIP_RDYN 0x29
170#define RH_CC110_GDO_CFG_XOSC_STABLE 0x2b
171#define RH_CC110_GDO_CFG_HIGH_IMPEDANCE 0x2e
172#define RH_CC110_GDO_CFG_0 0x2f
173#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_1 0x30
174#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_1_5 0x31
175#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_2 0x32
176#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_3 0x33
177#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_4 0x34
178#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_6 0x35
179#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_8 0x36
180#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_12 0x37
181#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_16 0x38
182#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_24 0x39
183#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_32 0x3a
184#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_48 0x3b
185#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_64 0x3c
186#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_96 0x3d
187#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_128 0x3e
188#define RH_CC110_GDO_CFG_CLK_XOSC_DIV_192 0x3f
191#define RH_CC110_ADC_RETENTION 0x80
193#define RH_CC110_CLOSE_IN_RX 0x30
194#define RH_CC110_CLOSE_IN_RX_0DB 0x00
195#define RH_CC110_CLOSE_IN_RX_6DB 0x10
196#define RH_CC110_CLOSE_IN_RX_12DB 0x20
197#define RH_CC110_CLOSE_IN_RX_18DB 0x30
199#define RH_CC110_FIFO_THR 0x0f
205#define RH_CC110_CRC_AUTOFLUSH 0x08
206#define RH_CC110_APPEND_STATUS 0x04
207#define RH_CC110_ADDR_CHK 0x03
209#define RH_CC110_ADDR_CHK_ADDRESS 0x01
210#define RH_CC110_ADDR_CHK_BROADCAST 0x02
214#define RH_CC110_PKT_FORMAT 0x30
215#define RH_CC110_PKT_FORMAT_NORMAL 0x00
216#define RH_CC110_PKT_FORMAT_SYNC_SERIAL 0x10
217#define RH_CC110_PKT_FORMAT_RANDOM_TX 0x20
218#define RH_CC110_PKT_FORMAT_ASYNC_SERIAL 0x30
220#define RH_CC110_CRC_EN 0x04
222#define RH_CC110_LENGTH_CONFIG 0x03
223#define RH_CC110_LENGTH_CONFIG_FIXED 0x00
224#define RH_CC110_LENGTH_CONFIG_VARIABLE 0x01
225#define RH_CC110_LENGTH_CONFIG_INFINITE 0x02
235#define RH_CC110_CHANBW_E 0xc0
236#define RH_CC110_CHANBW_M 0x30
237#define RH_CC110_DRATE_E 0x0f
241#define RH_CC110_DEM_DCFILT_OFF 0x80
242#define RH_CC110_MOD_FORMAT 0x70
243#define RH_CC110_MOD_FORMAT_2FSK 0x00
244#define RH_CC110_MOD_FORMAT_GFSK 0x10
245#define RH_CC110_MOD_FORMAT_OOK 0x30
246#define RH_CC110_MOD_FORMAT_4FSK 0x40
247#define RH_CC110_MANCHESTER_EN 0x08
248#define RH_CC110_SYNC_MODE 0x07
249#define RH_CC110_SYNC_MODE_NONE 0x00
250#define RH_CC110_SYNC_MODE_15_16 0x01
251#define RH_CC110_SYNC_MODE_16_16 0x02
252#define RH_CC110_SYNC_MODE_30_32 0x03
253#define RH_CC110_SYNC_MODE_NONE_CARRIER 0x04
254#define RH_CC110_SYNC_MODE_15_16_CARRIER 0x05
255#define RH_CC110_SYNC_MODE_16_16_CARRIER 0x06
256#define RH_CC110_SYNC_MODE_30_32_CARRIER 0x07
259#define RH_CC110_NUM_PREAMBLE 0x70
260#define RH_CC110_NUM_PREAMBLE_2 0x00
261#define RH_CC110_NUM_PREAMBLE_3 0x10
262#define RH_CC110_NUM_PREAMBLE_4 0x20
263#define RH_CC110_NUM_PREAMBLE_6 0x30
264#define RH_CC110_NUM_PREAMBLE_8 0x40
265#define RH_CC110_NUM_PREAMBLE_12 0x50
266#define RH_CC110_NUM_PREAMBLE_16 0x60
267#define RH_CC110_NUM_PREAMBLE_24 0x70
269#define RH_CC110_CHANSPC_E 0x03
273#define RH_CC110_DEVIATION_E 0x70
274#define RH_CC110_DEVIATION_M 0x07
277#define RH_CC110_RX_TIME_RSSI 0x10
280#define RH_CC110_CCA_MODE 0x30
281#define RH_CC110_CCA_MODE_ALWAYS 0x00
282#define RH_CC110_CCA_MODE_RSSI 0x10
283#define RH_CC110_CCA_MODE_PACKET 0x20
284#define RH_CC110_CCA_MODE_RSSI_PACKET 0x30
285#define RH_CC110_RXOFF_MODE 0x0c
286#define RH_CC110_RXOFF_MODE_IDLE 0x00
287#define RH_CC110_RXOFF_MODE_FSTXON 0x04
288#define RH_CC110_RXOFF_MODE_TX 0x08
289#define RH_CC110_RXOFF_MODE_RX 0x0c
290#define RH_CC110_TXOFF_MODE 0x03
291#define RH_CC110_TXOFF_MODE_IDLE 0x00
292#define RH_CC110_TXOFF_MODE_FSTXON 0x01
293#define RH_CC110_TXOFF_MODE_TX 0x02
294#define RH_CC110_TXOFF_MODE_RX 0x03
297#define RH_CC110_FS_AUTOCAL 0x30
298#define RH_CC110_FS_AUTOCAL_NEVER 0x00
299#define RH_CC110_FS_AUTOCAL_FROM_IDLE 0x10
300#define RH_CC110_FS_AUTOCAL_TO_IDLE 0x20
301#define RH_CC110_FS_AUTOCAL_TO_IDLE_4 0x30
302#define RH_CC110_PO_TIMEOUT 0x0c
303#define RH_CC110_PO_TIMEOUT_1 0x00
304#define RH_CC110_PO_TIMEOUT_16 0x04
305#define RH_CC110_PO_TIMEOUT_64 0x08
306#define RH_CC110_PO_TIMEOUT_256 0x0c
307#define RH_CC110_XOSC_FORCE_ON 0x01
310#define RH_CC110_FOC_BS_CS_GATE 0x20
311#define RH_CC110_FOC_PRE_K 0x18
312#define RH_CC110_FOC_PRE_K_0 0x00
313#define RH_CC110_FOC_PRE_K_1 0x08
314#define RH_CC110_FOC_PRE_K_2 0x10
315#define RH_CC110_FOC_PRE_K_3 0x18
316#define RH_CC110_FOC_POST_K 0x04
317#define RH_CC110_FOC_LIMIT 0x03
318#define RH_CC110_FOC_LIMIT_0 0x00
319#define RH_CC110_FOC_LIMIT_8 0x01
320#define RH_CC110_FOC_LIMIT_4 0x02
321#define RH_CC110_FOC_LIMIT_2 0x03
324#define RH_CC110_BS_PRE_K 0xc0
325#define RH_CC110_BS_PRE_K_1 0x00
326#define RH_CC110_BS_PRE_K_2 0x40
327#define RH_CC110_BS_PRE_K_3 0x80
328#define RH_CC110_BS_PRE_K_4 0xc0
329#define RH_CC110_BS_PRE_KP 0x30
330#define RH_CC110_BS_PRE_KP_1 0x00
331#define RH_CC110_BS_PRE_KP_2 0x10
332#define RH_CC110_BS_PRE_KP_3 0x20
333#define RH_CC110_BS_PRE_KP_4 0x30
334#define RH_CC110_BS_POST_KI 0x08
335#define RH_CC110_BS_POST_KP 0x04
336#define RH_CC110_BS_LIMIT 0x03
337#define RH_CC110_BS_LIMIT_0 0x00
338#define RH_CC110_BS_LIMIT_3 0x01
339#define RH_CC110_BS_LIMIT_6 0x02
340#define RH_CC110_BS_LIMIT_12 0x03
343#define RH_CC110_MAX_DVA_GAIN 0xc0
344#define RH_CC110_MAX_DVA_GAIN_ALL 0x00
345#define RH_CC110_MAX_DVA_GAIN_ALL_LESS_1 0x40
346#define RH_CC110_MAX_DVA_GAIN_ALL_LESS_2 0x80
347#define RH_CC110_MAX_DVA_GAIN_ALL_LESS_3 0xc0
348#define RH_CC110_MAX_LNA_GAIN 0x38
350#define RH_CC110_MAGN_TARGET 0x07
351#define RH_CC110_MAGN_TARGET_24DB 0x00
352#define RH_CC110_MAGN_TARGET_27DB 0x01
353#define RH_CC110_MAGN_TARGET_30DB 0x02
354#define RH_CC110_MAGN_TARGET_33DB 0x03
355#define RH_CC110_MAGN_TARGET_36DB 0x04
356#define RH_CC110_MAGN_TARGET_38DB 0x05
357#define RH_CC110_MAGN_TARGET_40DB 0x06
358#define RH_CC110_MAGN_TARGET_42DB 0x07
361#define RH_CC110_AGC_LNA_PRIORITY 0x40
362#define RH_CC110_CARRIER_SENSE_REL_THR 0x30
363#define RH_CC110_CARRIER_SENSE_REL_THR_0DB 0x00
364#define RH_CC110_CARRIER_SENSE_REL_THR_6DB 0x10
365#define RH_CC110_CARRIER_SENSE_REL_THR_10DB 0x20
366#define RH_CC110_CARRIER_SENSE_REL_THR_14DB 0x30
367#define RH_CC110_CARRIER_SENSE_ABS_THR 0x0f
370#define RH_CC110_HYST_LEVEL 0xc0
371#define RH_CC110_HYST_LEVEL_NONE 0x00
372#define RH_CC110_HYST_LEVEL_LOW 0x40
373#define RH_CC110_HYST_LEVEL_MEDIUM 0x80
374#define RH_CC110_HYST_LEVEL_HIGH 0xc0
375#define RH_CC110_WAIT_TIME 0x30
376#define RH_CC110_WAIT_TIME_8 0x00
377#define RH_CC110_WAIT_TIME_16 0x10
378#define RH_CC110_WAIT_TIME_24 0x20
379#define RH_CC110_WAIT_TIME_32 0x30
380#define RH_CC110_AGC_FREEZE 0x0c
381#define RH_CC110_AGC_FILTER_LENGTH 0x03
382#define RH_CC110_AGC_FILTER_LENGTH_8 0x00
383#define RH_CC110_AGC_FILTER_LENGTH_16 0x01
384#define RH_CC110_AGC_FILTER_LENGTH_32 0x02
385#define RH_CC110_AGC_FILTER_LENGTH_64 0x03
391#define RH_CC110_LNA_CURRENT 0xc0
392#define RH_CC110_LNA2MIX_CURRENT 0x30
393#define RH_CC110_LODIV_BUF_CURRENT_RX 0x0c
394#define RH_CC110_MIX_CURRENT 0x03
397#define RH_CC110_LODIV_BUF_CURRENT_TX 0x30
398#define RH_CC110_PA_POWER 0x07
401#define RH_CC110_FSCAL3_7_6 0xc0
402#define RH_CC110_CHP_CURR_CAL_EN 0x30
403#define RH_CC110_FSCAL3_3_0 0x0f
406#define RH_CC110_VCO_CORE_H_EN 0x20
407#define RH_CC110_FSCAL2 0x1f
410#define RH_CC110_FSCAL1 0x3f
413#define RH_CC110_FSCAL0 0x7f
423#define RH_CC110_TEST0_7_2 0xfc
424#define RH_CC110_VCO_SEL_CAL_EN 0x02
425#define RH_CC110_TEST0_0 0x01
431#define RH_CC110_CRC_REG_CRC_OK 0x80
435#define RH_CC110_MARC_STATE 0x1f
436#define RH_CC110_MARC_STATE_SLEEP 0x00
437#define RH_CC110_MARC_STATE_IDLE 0x01
438#define RH_CC110_MARC_STATE_XOFF 0x02
439#define RH_CC110_MARC_STATE_VCOON_MC 0x03
440#define RH_CC110_MARC_STATE_REGON_MC 0x04
441#define RH_CC110_MARC_STATE_MANCAL 0x05
442#define RH_CC110_MARC_STATE_VCOON 0x06
443#define RH_CC110_MARC_STATE_REGON 0x07
444#define RH_CC110_MARC_STATE_STARTCAL 0x08
445#define RH_CC110_MARC_STATE_BWBOOST 0x09
446#define RH_CC110_MARC_STATE_FS_LOCK 0x0a
447#define RH_CC110_MARC_STATE_IFADCON 0x0b
448#define RH_CC110_MARC_STATE_ENDCAL 0x0c
449#define RH_CC110_MARC_STATE_RX 0x0d
450#define RH_CC110_MARC_STATE_RX_END 0x0e
451#define RH_CC110_MARC_STATE_RX_RST 0x0f
452#define RH_CC110_MARC_STATE_TXRX_SWITCH 0x10
453#define RH_CC110_MARC_STATE_RXFIFO_OVERFLOW 0x11
454#define RH_CC110_MARC_STATE_FSTXON 0x12
455#define RH_CC110_MARC_STATE_TX 0x13
456#define RH_CC110_MARC_STATE_TX_END 0x14
457#define RH_CC110_MARC_STATE_RXTX_SWITCH 0x15
458#define RH_CC110_MARC_STATE_TXFIFO_UNDERFLOW 0x16
461#define RH_CC110_PKTSTATUS_CRC_OK 0x80
462#define RH_CC110_PKTSTATUS_CS 0x40
463#define RH_CC110_PKTSTATUS_CCA 0x10
464#define RH_CC110_PKTSTATUS_SFD 0x08
465#define RH_CC110_PKTSTATUS_GDO2 0x04
466#define RH_CC110_PKTSTATUS_GDO0 0x01
469#define RH_CC110_TXFIFO_UNDERFLOW 0x80
470#define RH_CC110_NUM_TXBYTES 0x7f
473#define RH_CC110_RXFIFO_UNDERFLOW 0x80
474#define RH_CC110_NUM_RXBYTES 0x7f
678 RH_CC110(uint8_t slaveSelectPin = SS, uint8_t interruptPin = 2,
bool is27MHz =
false,
RHGenericSPI& spi = hardware_spi);
720 virtual bool recv(uint8_t* buf, uint8_t* len);
728 virtual bool send(
const uint8_t* data, uint8_t len);
754 virtual bool sleep();
801 void setSyncWords(
const uint8_t* syncWords, uint8_t len);
806 void setPaTable(uint8_t* patable, uint8_t patablesize);
867 static RH_CC110* _deviceForInterrupt[];
870 static uint8_t _interruptCount;
873 uint8_t _interruptPin;
877 uint8_t _myInterruptIndex;
880 volatile uint8_t _bufLen;
884 uint8_t _buf[RH_CC110_MAX_PAYLOAD_LEN + 2];
887 volatile bool _rxBufValid;
Base class for SPI interfaces.
Definition RHGenericSPI.h:31
Base class for RadioHead drivers that use the SPI bus to communicate with its NRF family transport ha...
Definition RHNRFSPIDriver.h:34
Send and receive unaddressed, unreliable, datagrams by Texas Instruments CC110L and compatible transc...
Definition RH_CC110.h:593
virtual uint8_t maxMessageLength()
Definition RH_CC110.cpp:343
void clearRxBuf()
Clear our local receive buffer.
Definition RH_CC110.cpp:291
uint8_t spiWriteRegister(uint8_t reg, uint8_t val)
Definition RH_CC110.cpp:231
uint8_t spiBurstReadRegister(uint8_t reg)
Definition RH_CC110.cpp:226
virtual bool send(const uint8_t *data, uint8_t len)
Definition RH_CC110.cpp:318
void handleInterrupt()
Definition RH_CC110.cpp:158
void setModemRegisters(const ModemConfig *config)
Definition RH_CC110.cpp:460
void setModeIdle()
Definition RH_CC110.cpp:361
bool setModemConfig(ModemConfigChoice index)
Definition RH_CC110.cpp:486
void validateRxBuf()
Definition RH_CC110.cpp:263
virtual bool init()
Definition RH_CC110.cpp:77
uint8_t statusRead()
Definition RH_CC110.cpp:402
void setModeRx()
Definition RH_CC110.cpp:382
virtual bool sleep()
Definition RH_CC110.cpp:371
void setPaTable(uint8_t *patable, uint8_t patablesize)
Definition RH_CC110.cpp:436
bool setTxPower(TransmitPower power)
Definition RH_CC110.cpp:424
void setSyncWords(const uint8_t *syncWords, uint8_t len)
Definition RH_CC110.cpp:499
TransmitPower
Definition RH_CC110.h:649
@ TransmitPower5dBm
5dBm
Definition RH_CC110.h:655
@ TransmitPowerM10dBm
-10dBm
Definition RH_CC110.h:653
@ TransmitPower0dBm
0dBm
Definition RH_CC110.h:654
@ TransmitPower10dBm
10dBm
Definition RH_CC110.h:657
@ TransmitPowerM30dBm
-30dBm
Definition RH_CC110.h:650
@ TransmitPowerM15dBm
-15dBm
Definition RH_CC110.h:652
@ TransmitPower7dBm
7dBm
Definition RH_CC110.h:656
@ TransmitPowerM20dBm
-20dBm
Definition RH_CC110.h:651
uint8_t spiBurstWriteRegister(uint8_t reg, const uint8_t *src, uint8_t len)
Definition RH_CC110.cpp:236
ModemConfigChoice
Definition RH_CC110.h:633
@ GFSK_Rb1_2Fd5_2
GFSK, Data Rate: 1.2kBaud, Dev: 5.2kHz, RX BW 58kHz, optimised for sensitivity.
Definition RH_CC110.h:634
@ GFSK_Rb250Fd127
GFSK, Data Rate: 250kBaud, Dev: 127kHz, RX BW 540kHz, optimised for sensitivity.
Definition RH_CC110.h:641
@ GFSK_Rb76_8Fd32
GFSK, Data Rate: 76.8kBaud, Dev: 32kHz, RX BW 232kHz, optimised for sensitivity.
Definition RH_CC110.h:639
@ GFSK_Rb38_4Fd20
GFSK, Data Rate: 38.4kBaud, Dev: 20kHz, RX BW 100kHz, optimised for sensitivity.
Definition RH_CC110.h:638
@ GFSK_Rb4_8Fd25_4
GFSK, Data Rate: 4.8kBaud, Dev: 25.4kHz, RX BW 100kHz, optimised for sensitivity.
Definition RH_CC110.h:636
@ GFSK_Rb2_4Fd5_2
GFSK, Data Rate: 2.4kBaud, Dev: 5.2kHz, RX BW 58kHz, optimised for sensitivity.
Definition RH_CC110.h:635
@ GFSK_Rb100Fd47
GFSK, Data Rate: 100kBaud, Dev: 47kHz, RX BW 325kHz, optimised for sensitivity.
Definition RH_CC110.h:640
@ GFSK_Rb10Fd19
GFSK, Data Rate: 10kBaud, Dev: 19kHz, RX BW 100kHz, optimised for sensitivity.
Definition RH_CC110.h:637
uint8_t spiReadRegister(uint8_t reg)
Definition RH_CC110.cpp:221
bool printRegisters()
Definition RH_CC110.cpp:241
void setIs27MHz(bool is27MHz=true)
Definition RH_CC110.cpp:151
void handleOverFlows(uint8_t status)
Definition RH_CC110.cpp:348
virtual bool available()
Definition RH_CC110.cpp:281
virtual bool recv(uint8_t *buf, uint8_t *len)
Definition RH_CC110.cpp:299
void setModeTx()
Definition RH_CC110.cpp:393
bool setFrequency(float centre)
Definition RH_CC110.cpp:441
virtual bool waitPacketSent()
Definition RH_CC110.cpp:410
Defines register configuration values for a desired modulation.
Definition RH_CC110.h:601
uint8_t reg_0b
RH_CC110_REG_0B_FSCTRL1.
Definition RH_CC110.h:602
uint8_t reg_1c
RH_CC110_REG_1C_AGCCTRL1.
Definition RH_CC110.h:611
uint8_t reg_2d
RH_CC110_REG_2D_TEST1.
Definition RH_CC110.h:620
uint8_t reg_24
RH_CC110_REG_24_FSCAL2.
Definition RH_CC110.h:616
uint8_t reg_26
RH_CC110_REG_26_FSCAL0.
Definition RH_CC110.h:618
uint8_t reg_2c
RH_CC110_REG_2C_TEST2.
Definition RH_CC110.h:619
uint8_t reg_15
RH_CC110_REG_15_DEVIATN.
Definition RH_CC110.h:607
uint8_t reg_0c
RH_CC110_REG_0C_FSCTRL0.
Definition RH_CC110.h:603
uint8_t reg_22
RH_CC110_REG_22_FREND0.
Definition RH_CC110.h:614
uint8_t reg_1b
RH_CC110_REG_1B_AGCCTRL2.
Definition RH_CC110.h:610
uint8_t reg_21
RH_CC110_REG_21_FREND1.
Definition RH_CC110.h:613
uint8_t reg_11
RH_CC110_REG_11_MDMCFG3.
Definition RH_CC110.h:605
uint8_t reg_12
RH_CC110_REG_12_MDMCFG2.
Definition RH_CC110.h:606
uint8_t reg_10
RH_CC110_REG_10_MDMCFG4.
Definition RH_CC110.h:604
uint8_t reg_1a
RH_CC110_REG_1A_BSCFG.
Definition RH_CC110.h:609
uint8_t reg_19
RH_CC110_REG_19_FOCCFG.
Definition RH_CC110.h:608
uint8_t reg_23
RH_CC110_REG_23_FSCAL3.
Definition RH_CC110.h:615
uint8_t reg_2e
RH_CC110_REG_2E_TEST0.
Definition RH_CC110.h:621
uint8_t reg_1d
RH_CC110_REG_1D_AGCCTRL0.
Definition RH_CC110.h:612
uint8_t reg_25
RH_CC110_REG_25_FSCAL1.
Definition RH_CC110.h:617