6060////////////////////////////////////////////////////////////////////////////////////
6161// Register definitions
6262////////////////////////////////////////////////////////////////////////////////////
63- #define RF_CONFIG 0x00
64- #define RF_EN_AA 0x01
65- #define RF_EN_RXADDR 0x02
66- #define RF_SETUP_AW 0x03
67- #define RF_SETUP_RETR 0x04
68- #define RF_RF_CH 0x05
69- #define RF_RF_SETUP 0x06
70- #define RF_STATUS 0x07
71- #define RF_OBSERVE_TX 0x08
72- #define RF_RPD 0x09
73- #define RF_RX_ADDR_P0 0x0A
74- #define RF_RX_ADDR_P1 0x0B
75- #define RF_RX_ADDR_P2 0x0C
76- #define RF_RX_ADDR_P3 0x0D
77- #define RF_RX_ADDR_P4 0x0E
78- #define RF_RX_ADDR_P5 0x0F
79- #define RF_TX_ADDR 0x10
80- #define RF_RX_PW_P0 0x11
81- #define RF_RX_PW_P1 0x12
82- #define RF_RX_PW_P2 0x13
83- #define RF_RX_PW_P3 0x14
84- #define RF_RX_PW_P4 0x15
85- #define RF_RX_PW_P5 0x16
86- #define RF_FIFO_STATUS 0x17
87- #define RF_DYNPD 0x1C
88- #define RF_FEATURE 0x1D
63+ #define RF_CONFIG 0x00
64+ #define RF_EN_AA 0x01
65+ #define RF_EN_RXADDR 0x02
66+ #define RF_SETUP_AW 0x03
67+ #define RF_SETUP_RETR 0x04
68+ #define RF_RF_CH 0x05
69+ #define RF_RF_SETUP 0x06
70+ #define RF_STATUS 0x07
71+ #define RF_OBSERVE_TX 0x08
72+ #define RF_RPD 0x09
73+ #define RF_RX_ADDR_P0 0x0A
74+ #define RF_RX_ADDR_P1 0x0B
75+ #define RF_RX_ADDR_P2 0x0C
76+ #define RF_RX_ADDR_P3 0x0D
77+ #define RF_RX_ADDR_P4 0x0E
78+ #define RF_RX_ADDR_P5 0x0F
79+ #define RF_TX_ADDR 0x10
80+ #define RF_RX_PW_P0 0x11
81+ #define RF_RX_PW_P1 0x12
82+ #define RF_RX_PW_P2 0x13
83+ #define RF_RX_PW_P3 0x14
84+ #define RF_RX_PW_P4 0x15
85+ #define RF_RX_PW_P5 0x16
86+ #define RF_FIFO_STATUS 0x17
87+ #define RF_DYNPD 0x1C
88+ #define RF_FEATURE 0x1D
8989
9090
9191////////////////////////////////////////////////////////////////////////////////////
103103#define RF_RF_SETUP_DEFAULT_VAL 0x0F
104104#define RF_STATUS_DEFAULT_VAL 0x0E
105105#define RF_OBSERVE_TX_DEFAULT_VAL 0x00
106- #define RF_RPD_DEFAULT_VAL 0x00
107- #define RF_RX_ADDR_P0_B0_DEFAULT_VAL 0xE7
108- #define RF_RX_ADDR_P0_B1_DEFAULT_VAL 0xE7
109- #define RF_RX_ADDR_P0_B2_DEFAULT_VAL 0xE7
110- #define RF_RX_ADDR_P0_B3_DEFAULT_VAL 0xE7
111- #define RF_RX_ADDR_P0_B4_DEFAULT_VAL 0xE7
112- #define RF_RX_ADDR_P1_B0_DEFAULT_VAL 0xC2
113- #define RF_RX_ADDR_P1_B1_DEFAULT_VAL 0xC2
114- #define RF_RX_ADDR_P1_B2_DEFAULT_VAL 0xC2
115- #define RF_RX_ADDR_P1_B3_DEFAULT_VAL 0xC2
116- #define RF_RX_ADDR_P1_B4_DEFAULT_VAL 0xC2
106+ #define RF_RPD_DEFAULT_VAL 0x00
107+ #define RF_RX_ADDR_P0_B0_DEFAULT_VAL 0xE7
108+ #define RF_RX_ADDR_P0_B1_DEFAULT_VAL 0xE7
109+ #define RF_RX_ADDR_P0_B2_DEFAULT_VAL 0xE7
110+ #define RF_RX_ADDR_P0_B3_DEFAULT_VAL 0xE7
111+ #define RF_RX_ADDR_P0_B4_DEFAULT_VAL 0xE7
112+ #define RF_RX_ADDR_P1_B0_DEFAULT_VAL 0xC2
113+ #define RF_RX_ADDR_P1_B1_DEFAULT_VAL 0xC2
114+ #define RF_RX_ADDR_P1_B2_DEFAULT_VAL 0xC2
115+ #define RF_RX_ADDR_P1_B3_DEFAULT_VAL 0xC2
116+ #define RF_RX_ADDR_P1_B4_DEFAULT_VAL 0xC2
117117#define RF_RX_ADDR_P2_DEFAULT_VAL 0xC3
118118#define RF_RX_ADDR_P3_DEFAULT_VAL 0xC4
119119#define RF_RX_ADDR_P4_DEFAULT_VAL 0xC5
138138// Register bitwise definitions
139139////////////////////////////////////////////////////////////////////////////////////
140140//CONFIG register bitwise definitions
141- #define RF_CONFIG_RESERVED 0x80
142- #define RF_CONFIG_MASK_RX_DR 0x40
143- #define RF_CONFIG_MASK_TX_DS 0x20
144- #define RF_CONFIG_MASK_MAX_RT 0x10
145- #define RF_CONFIG_EN_CRC 0x08
146- #define RF_CONFIG_CRCO 0x04
147- #define RF_CONFIG_PWR_UP 0x02
148- #define RF_CONFIG_PRIM_RX 0x01
141+ #define RF_CONFIG_RESERVED 0x80
142+ #define RF_CONFIG_MASK_RX_DR 0x40
143+ #define RF_CONFIG_MASK_TX_DS 0x20
144+ #define RF_CONFIG_MASK_MAX_RT 0x10
145+ #define RF_CONFIG_EN_CRC 0x08
146+ #define RF_CONFIG_CRCO 0x04
147+ #define RF_CONFIG_PWR_UP 0x02
148+ #define RF_CONFIG_PRIM_RX 0x01
149149
150150//EN_AA register bitwise definitions
151- #define RF_EN_AA_RESERVED 0xC0
152- #define RF_EN_AA_ENAA_ALL 0x3F
153- #define RF_EN_AA_ENAA_P5 0x20
154- #define RF_EN_AA_ENAA_P4 0x10
155- #define RF_EN_AA_ENAA_P3 0x08
156- #define RF_EN_AA_ENAA_P2 0x04
157- #define RF_EN_AA_ENAA_P1 0x02
158- #define RF_EN_AA_ENAA_P0 0x01
159- #define RF_EN_AA_ENAA_NONE 0x00
151+ #define RF_EN_AA_RESERVED 0xC0
152+ #define RF_EN_AA_ENAA_ALL 0x3F
153+ #define RF_EN_AA_ENAA_P5 0x20
154+ #define RF_EN_AA_ENAA_P4 0x10
155+ #define RF_EN_AA_ENAA_P3 0x08
156+ #define RF_EN_AA_ENAA_P2 0x04
157+ #define RF_EN_AA_ENAA_P1 0x02
158+ #define RF_EN_AA_ENAA_P0 0x01
159+ #define RF_EN_AA_ENAA_NONE 0x00
160160
161161//EN_RXADDR register bitwise definitions
162- #define RF_EN_RXADDR_RESERVED 0xC0
163- #define RF_EN_RXADDR_ERX_ALL 0x3F
164- #define RF_EN_RXADDR_ERX_P5 0x20
165- #define RF_EN_RXADDR_ERX_P4 0x10
166- #define RF_EN_RXADDR_ERX_P3 0x08
167- #define RF_EN_RXADDR_ERX_P2 0x04
168- #define RF_EN_RXADDR_ERX_P1 0x02
169- #define RF_EN_RXADDR_ERX_P0 0x01
170- #define RF_EN_RXADDR_ERX_NONE 0x00
162+ #define RF_EN_RXADDR_RESERVED 0xC0
163+ #define RF_EN_RXADDR_ERX_ALL 0x3F
164+ #define RF_EN_RXADDR_ERX_P5 0x20
165+ #define RF_EN_RXADDR_ERX_P4 0x10
166+ #define RF_EN_RXADDR_ERX_P3 0x08
167+ #define RF_EN_RXADDR_ERX_P2 0x04
168+ #define RF_EN_RXADDR_ERX_P1 0x02
169+ #define RF_EN_RXADDR_ERX_P0 0x01
170+ #define RF_EN_RXADDR_ERX_NONE 0x00
171171
172172//SETUP_AW register bitwise definitions
173- #define RF_SETUP_AW_RESERVED 0xFC
173+ #define RF_SETUP_AW_RESERVED 0xFC
174174#define RF_SETUP_AW 0x03
175- #define RF_SETUP_AW_5BYTES 0x03
176- #define RF_SETUP_AW_4BYTES 0x02
177- #define RF_SETUP_AW_3BYTES 0x01
178- #define RF_SETUP_AW_ILLEGAL 0x00
175+ #define RF_SETUP_AW_5BYTES 0x03
176+ #define RF_SETUP_AW_4BYTES 0x02
177+ #define RF_SETUP_AW_3BYTES 0x01
178+ #define RF_SETUP_AW_ILLEGAL 0x00
179179
180180//SETUP_RETR register bitwise definitions
181- #define RF_SETUP_RETR_ARD 0xF0
182- #define RF_SETUP_RETR_ARD_4000 0xF0
183- #define RF_SETUP_RETR_ARD_3750 0xE0
184- #define RF_SETUP_RETR_ARD_3500 0xD0
185- #define RF_SETUP_RETR_ARD_3250 0xC0
186- #define RF_SETUP_RETR_ARD_3000 0xB0
187- #define RF_SETUP_RETR_ARD_2750 0xA0
188- #define RF_SETUP_RETR_ARD_2500 0x90
189- #define RF_SETUP_RETR_ARD_2250 0x80
190- #define RF_SETUP_RETR_ARD_2000 0x70
191- #define RF_SETUP_RETR_ARD_1750 0x60
192- #define RF_SETUP_RETR_ARD_1500 0x50
193- #define RF_SETUP_RETR_ARD_1250 0x40
194- #define RF_SETUP_RETR_ARD_1000 0x30
195- #define RF_SETUP_RETR_ARD_750 0x20
196- #define RF_SETUP_RETR_ARD_500 0x10
197- #define RF_SETUP_RETR_ARD_250 0x00
198- #define RF_SETUP_RETR_ARC 0x0F
199- #define RF_SETUP_RETR_ARC_15 0x0F
200- #define RF_SETUP_RETR_ARC_14 0x0E
201- #define RF_SETUP_RETR_ARC_13 0x0D
202- #define RF_SETUP_RETR_ARC_12 0x0C
203- #define RF_SETUP_RETR_ARC_11 0x0B
204- #define RF_SETUP_RETR_ARC_10 0x0A
205- #define RF_SETUP_RETR_ARC_9 0x09
206- #define RF_SETUP_RETR_ARC_8 0x08
207- #define RF_SETUP_RETR_ARC_7 0x07
208- #define RF_SETUP_RETR_ARC_6 0x06
209- #define RF_SETUP_RETR_ARC_5 0x05
210- #define RF_SETUP_RETR_ARC_4 0x04
211- #define RF_SETUP_RETR_ARC_3 0x03
212- #define RF_SETUP_RETR_ARC_2 0x02
213- #define RF_SETUP_RETR_ARC_1 0x01
214- #define RF_SETUP_RETR_ARC_0 0x00
215- #define RF_SETUP_RETR_DISABLE 0x00
181+ #define RF_SETUP_RETR_ARD 0xF0
182+ #define RF_SETUP_RETR_ARD_4000 0xF0
183+ #define RF_SETUP_RETR_ARD_3750 0xE0
184+ #define RF_SETUP_RETR_ARD_3500 0xD0
185+ #define RF_SETUP_RETR_ARD_3250 0xC0
186+ #define RF_SETUP_RETR_ARD_3000 0xB0
187+ #define RF_SETUP_RETR_ARD_2750 0xA0
188+ #define RF_SETUP_RETR_ARD_2500 0x90
189+ #define RF_SETUP_RETR_ARD_2250 0x80
190+ #define RF_SETUP_RETR_ARD_2000 0x70
191+ #define RF_SETUP_RETR_ARD_1750 0x60
192+ #define RF_SETUP_RETR_ARD_1500 0x50
193+ #define RF_SETUP_RETR_ARD_1250 0x40
194+ #define RF_SETUP_RETR_ARD_1000 0x30
195+ #define RF_SETUP_RETR_ARD_750 0x20
196+ #define RF_SETUP_RETR_ARD_500 0x10
197+ #define RF_SETUP_RETR_ARD_250 0x00
198+ #define RF_SETUP_RETR_ARC 0x0F
199+ #define RF_SETUP_RETR_ARC_15 0x0F
200+ #define RF_SETUP_RETR_ARC_14 0x0E
201+ #define RF_SETUP_RETR_ARC_13 0x0D
202+ #define RF_SETUP_RETR_ARC_12 0x0C
203+ #define RF_SETUP_RETR_ARC_11 0x0B
204+ #define RF_SETUP_RETR_ARC_10 0x0A
205+ #define RF_SETUP_RETR_ARC_9 0x09
206+ #define RF_SETUP_RETR_ARC_8 0x08
207+ #define RF_SETUP_RETR_ARC_7 0x07
208+ #define RF_SETUP_RETR_ARC_6 0x06
209+ #define RF_SETUP_RETR_ARC_5 0x05
210+ #define RF_SETUP_RETR_ARC_4 0x04
211+ #define RF_SETUP_RETR_ARC_3 0x03
212+ #define RF_SETUP_RETR_ARC_2 0x02
213+ #define RF_SETUP_RETR_ARC_1 0x01
214+ #define RF_SETUP_RETR_ARC_0 0x00
215+ #define RF_SETUP_RETR_DISABLE 0x00
216216
217217//RF_CH register bitwise definitions
218- #define RF_RF_CH_RESERVED 0x80
219- #define RF_RF_CH_MAX_CHAN_NUM 127
218+ #define RF_RF_CH_RESERVED 0x80
219+ #define RF_RF_CH_MAX_CHAN_NUM 127
220220
221221//RF_SETUP register bitwise definitions
222222#define RF_RF_SETUP_CONT_WAVE 0x80
223223#define RF_RF_SETUP_RESERVED 0x40
224+ #define RF_RF_SETUP_RF_DR 0x28
224225#define RF_RF_SETUP_RF_DR_LOW 0x20
225226#define RF_RF_SETUP_PLL_LOCK 0x10
226227#define RF_RF_SETUP_RF_DR_HIGH 0x08
235236#define RF_RF_SETUP_RF_DR_250_KBPS RF_RF_SETUP_RF_DR_LOW
236237
237238//STATUS register bitwise definitions
238- #define RF_STATUS_RESERVED 0x80
239- #define RF_STATUS_IRQ_MASKS (RF_STATUS_RX_DR | RF_STATUS_TX_DS | RF_STATUS_MAX_RT)
240- #define RF_STATUS_RX_DR 0x40
241- #define RF_STATUS_TX_DS 0x20
242- #define RF_STATUS_MAX_RT 0x10
243- #define RF_STATUS_RX_P_NO 0x0E
239+ #define RF_STATUS_RESERVED 0x80
240+ #define RF_STATUS_IRQ_MASKS (RF_STATUS_RX_DR | RF_STATUS_TX_DS | RF_STATUS_MAX_RT)
241+ #define RF_STATUS_RX_DR 0x40
242+ #define RF_STATUS_TX_DS 0x20
243+ #define RF_STATUS_MAX_RT 0x10
244+ #define RF_STATUS_RX_P_NO 0x0E
244245#define RF_STATUS_RX_P_NO_RX_FIFO_EMPTY 0x0E
245- #define RF_STATUS_RX_P_NO_UNUSED 0x0C
246- #define RF_STATUS_RX_P_NO_5 0x0A
247- #define RF_STATUS_RX_P_NO_4 0x08
248- #define RF_STATUS_RX_P_NO_3 0x06
249- #define RF_STATUS_RX_P_NO_2 0x04
250- #define RF_STATUS_RX_P_NO_1 0x02
251- #define RF_STATUS_RX_P_NO_0 0x00
252- #define RF_STATUS_TX_FULL 0x01
246+ #define RF_STATUS_RX_P_NO_UNUSED 0x0C
247+ #define RF_STATUS_RX_P_NO_5 0x0A
248+ #define RF_STATUS_RX_P_NO_4 0x08
249+ #define RF_STATUS_RX_P_NO_3 0x06
250+ #define RF_STATUS_RX_P_NO_2 0x04
251+ #define RF_STATUS_RX_P_NO_1 0x02
252+ #define RF_STATUS_RX_P_NO_0 0x00
253+ #define RF_STATUS_TX_FULL 0x01
253254
254255//OBSERVE_TX register bitwise definitions
255- #define RF_OBSERVE_TX_PLOS_CNT 0xF0
256- #define RF_OBSERVE_TX_ARC_CNT 0x0F
256+ #define RF_OBSERVE_TX_PLOS_CNT 0xF0
257+ #define RF_OBSERVE_TX_ARC_CNT 0x0F
257258
258259//RPD register bitwise definitions
259- #define RF_RPD_RESERVED 0xFE
260- #define RF_RPD_RPD 0x01
260+ #define RF_RPD_RESERVED 0xFE
261+ #define RF_RPD_RPD 0x01
261262
262263//RX_PW_P0 register bitwise definitions
263- #define RF_RX_PW_P0_RESERVED 0xC0
264+ #define RF_RX_PW_P0_RESERVED 0xC0
264265
265266//RX_PW_P0 register bitwise definitions
266- #define RF_RX_PW_P0_RESERVED 0xC0
267+ #define RF_RX_PW_P0_RESERVED 0xC0
267268
268269//RX_PW_P1 register bitwise definitions
269- #define RF_RX_PW_P1_RESERVED 0xC0
270+ #define RF_RX_PW_P1_RESERVED 0xC0
270271
271272//RX_PW_P2 register bitwise definitions
272- #define RF_RX_PW_P2_RESERVED 0xC0
273+ #define RF_RX_PW_P2_RESERVED 0xC0
273274
274275//RX_PW_P3 register bitwise definitions
275- #define RF_RX_PW_P3_RESERVED 0xC0
276+ #define RF_RX_PW_P3_RESERVED 0xC0
276277
277278//RX_PW_P4 register bitwise definitions
278- #define RF_RX_PW_P4_RESERVED 0xC0
279+ #define RF_RX_PW_P4_RESERVED 0xC0
279280
280281//RX_PW_P5 register bitwise definitions
281- #define RF_RX_PW_P5_RESERVED 0xC0
282+ #define RF_RX_PW_P5_RESERVED 0xC0
282283
283284//FIFO_STATUS register bitwise definitions
284285#define RF_FIFO_STATUS_RESERVED 0x8C
@@ -375,6 +376,7 @@ void rf_configure(uint8_t config,
375376 uint8_t rx_pw_p5 ,
376377 uint8_t dynpd ,
377378 uint8_t feature );
379+
378380void rf_configure_debug (bool rx , uint8_t p0_payload_width , bool enable_auto_ack );
379381void rf_configure_debug_lite (bool rx , uint8_t p0_payload_width );
380382
@@ -384,6 +386,7 @@ void rf_power_down();
384386void rf_power_down_param (uint8_t config );
385387
386388void rf_set_output_power (uint8_t );
389+ void rf_set_data_rate (uint8_t );
387390
388391uint8_t rf_write_register (uint8_t regnumber , uint8_t * dataptr , uint16_t len );
389392uint8_t rf_read_register (uint8_t regnumber , uint8_t * dataptr , uint16_t len );
0 commit comments