15#ifndef __FW_RNF24L01_H__
16#define __FW_RNF24L01_H__
30#define NRF24_CMD_R_REGISTER 0x00
31#define NRF24_CMD_W_REGISTER 0x20
32#define NRF24_CMD_R_RX_PAYLOAD 0x61
33#define NRF24_CMD_W_TX_PAYLOAD 0xA0
34#define NRF24_CMD_FLUSH_TX 0xE1
35#define NRF24_CMD_FLUSH_RX 0xE2
36#define NRF24_CMD_REUSE_TX_PL 0xE3
37#define NRF24_CMD_R_RX_PL_WID 0x60
38#define NRF24_CMD_W_ACK_PAYLOAD 0xA8
39#define NRF24_CMD_W_TX_PAYLOAD_NOACK 0xB0
40#define NRF24_CMD_NOP 0xFF
42#define NRF24_CMD_ACTIVATE 0x50
43#define NRF24_CMD_LOCK_UNLOCK 0x50
46#define NRF24_REG_CONFIG 0x00
47#define NRF24_REG_EN_AA 0x01
48#define NRF24_REG_EN_RXADDR 0x02
49#define NRF24_REG_SETUP_AW 0x03
50#define NRF24_REG_SETUP_RETR 0x04
51#define NRF24_REG_RF_CH 0x05
52#define NRF24_REG_RF_SETUP 0x06
53#define NRF24_REG_STATUS 0x07
54#define NRF24_REG_OBSERVE_TX 0x08
55#define NRF24_REG_RPD 0x09
56#define NRF24_REG_RX_ADDR_P0 0x0A
57#define NRF24_REG_RX_ADDR_P1 0x0B
58#define NRF24_REG_RX_ADDR_P2 0x0C
59#define NRF24_REG_RX_ADDR_P3 0x0D
60#define NRF24_REG_RX_ADDR_P4 0x0E
61#define NRF24_REG_RX_ADDR_P5 0x0F
62#define NRF24_REG_TX_ADDR 0x10
63#define NRF24_REG_RX_PW_P0 0x11
64#define NRF24_REG_RX_PW_P1 0x12
65#define NRF24_REG_RX_PW_P2 0x13
66#define NRF24_REG_RX_PW_P3 0x14
67#define NRF24_REG_RX_PW_P4 0x15
68#define NRF24_REG_RX_PW_P5 0x16
69#define NRF24_REG_FIFO_STATUS 0x17
70#define NRF24_REG_DYNPD 0x1C
71#define NRF24_REG_FEATURE 0x1D
74#define NRF24_CONFIG_PRIM_RX 0x01
75#define NRF24_CONFIG_PWR_UP 0x02
76#define NRF24_FEATURE_EN_DYN_ACK 0x01
77#define NRF24_FEATURE_EN_ACK_PAY 0x02
78#define NRF24_FEATURE_EN_DPL 0x04
79#define NRF24_FLAG_RX_DREADY 0x40
80#define NRF24_FLAG_TX_DSENT 0x20
81#define NRF24_FLAG_MAX_RT 0x10
82#define NRF24_FLAG_TX_FULL 0x01
85#define NRF24_MASK_REG_MAP 0x1F
86#define NRF24_MASK_CRC 0x0C
87#define NRF24_MASK_STATUS_IRQ 0x70
88#define NRF24_MASK_RF_PWR 0x06
89#define NRF24_MASK_RX_P_NO 0x0E
90#define NRF24_MASK_DATARATE 0x28
91#define NRF24_MASK_EN_RX 0x3F
92#define NRF24_MASK_RX_PW 0x3F
93#define NRF24_MASK_RETR_ARD 0xF0
94#define NRF24_MASK_RETR_ARC 0x0F
95#define NRF24_MASK_RXFIFO 0x03
96#define NRF24_MASK_TXFIFO 0x30
97#define NRF24_MASK_PLOS_CNT 0xF0
98#define NRF24_MASK_ARC_CNT 0x0F
100#define NRF24_ADDR_WIDTH 5
101#define NRF24_PLOAD_WIDTH 32
102#define NRF24_TEST_ADDR "nRF24"
void NRF24L01_WriteReg(uint8_t reg, uint8_t value)
uint8_t NRF24L01_WriteFast(const void *pBuf)
uint8_t NRF24L01_ReadReg(uint8_t reg)
void NRF24L01_Init(NRF24_MODE mode)
void NRF24L01_ResetTX(void)
void NRF24L01_PrintBuf(void)
uint8_t NRF24L01_Check(void)
void NRF24L01_FlushRX(void)
void NRF24L01_WriteFromBuf(uint8_t reg, const uint8_t *pBuf, uint8_t len)
void NRF24L01_Tx(uint8_t *pBuf)
void NRF24L01_HandelIrqFlag(void)
void NRF24L01_FlushTX(void)
uint8_t NRF24L01_RxAvailable(uint8_t *pipe_num)
void NRF24L01_ReadToBuf(uint8_t reg, uint8_t len)
void NRF24L01_StartFastWrite(const void *pBuf)
void NRF24L01_CheckFlag(void)