Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00023 #ifndef HAL_NRF_REG_H__
00024 #define HAL_NRF_REG_H__
00025
00028
00029 #define W_REGISTER 0x20U
00030 #define R_RX_PAYLOAD 0x61U
00031 #define W_TX_PAYLOAD 0xA0U
00032 #define FLUSH_TX 0xE1U
00033 #define FLUSH_RX 0xE2U
00034 #define REUSE_TX_PL 0xE3U
00035 #define ACTIVATE 0x50U
00036 #define R_RX_PL_WID 0x60U
00037 #define W_ACK_PAYLOAD 0xA8U
00038 #define W_TX_PAYLOAD_NOACK 0xB0U
00039 #define NOP 0xFFU
00041
00042
00044
00045 #define CONFIG 0x00U
00046 #define EN_AA 0x01U
00047 #define EN_RXADDR 0x02U
00048 #define SETUP_AW 0x03U
00049 #define SETUP_RETR 0x04U
00050 #define RF_CH 0x05U
00051 #define RF_SETUP 0x06U
00052 #define STATUS 0x07U
00053 #define OBSERVE_TX 0x08U
00054 #define CD 0x09U
00055 #define RX_ADDR_P0 0x0AU
00056 #define RX_ADDR_P1 0x0BU
00057 #define RX_ADDR_P2 0x0CU
00058 #define RX_ADDR_P3 0x0DU
00059 #define RX_ADDR_P4 0x0EU
00060 #define RX_ADDR_P5 0x0FU
00061 #define TX_ADDR 0x10U
00062 #define RX_PW_P0 0x11U
00063 #define RX_PW_P1 0x12U
00064 #define RX_PW_P2 0x13U
00065 #define RX_PW_P3 0x14U
00066 #define RX_PW_P4 0x15U
00067 #define RX_PW_P5 0x16U
00068 #define FIFO_STATUS 0x17U
00069 #define DYNPD 0x1CU
00070 #define FEATURE 0x1DU
00073
00074
00075
00076
00077
00081 typedef enum {
00082 HAL_NRF_MAX_RT = 4,
00083 HAL_NRF_TX_DS,
00084 HAL_NRF_RX_DR
00085 } hal_nrf_irq_source_t;
00086
00087
00091 typedef enum {
00092 HAL_NRF_PTX,
00093 HAL_NRF_PRX
00094 } hal_nrf_operation_mode_t;
00095
00099 typedef enum {
00100 HAL_NRF_PWR_DOWN,
00101 HAL_NRF_PWR_UP
00102 } hal_nrf_pwr_mode_t;
00103
00107 typedef enum {
00108 HAL_NRF_18DBM,
00109 HAL_NRF_12DBM,
00110 HAL_NRF_6DBM,
00111 HAL_NRF_0DBM
00112 } hal_nrf_output_power_t;
00113
00117 typedef enum {
00118 HAL_NRF_1MBPS,
00119 HAL_NRF_2MBPS,
00120 HAL_NRF_250KBPS
00121 } hal_nrf_datarate_t;
00122
00126 typedef enum {
00127 HAL_NRF_CRC_OFF,
00128 HAL_NRF_CRC_8BIT,
00129 HAL_NRF_CRC_16BIT
00130 } hal_nrf_crc_mode_t;
00131
00135 typedef enum {
00136 HAL_NRF_TX_PLOAD = 7,
00137 HAL_NRF_RX_PLOAD,
00138 HAL_NRF_ACK_PLOAD
00139 } hal_nrf_pload_command_t;
00140
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00163 typedef enum {
00164 HAL_NRF_PIPE0 = 0,
00165 HAL_NRF_PIPE1,
00166 HAL_NRF_PIPE2,
00167 HAL_NRF_PIPE3,
00168 HAL_NRF_PIPE4,
00169 HAL_NRF_PIPE5,
00170 HAL_NRF_TX,
00171 HAL_NRF_ALL = 0xFF
00174 } hal_nrf_address_t;
00175
00179 typedef enum {
00180 HAL_NRF_AW_3BYTES = 3,
00181 HAL_NRF_AW_4BYTES,
00182 HAL_NRF_AW_5BYTES
00183 } hal_nrf_address_width_t;
00184
00185
00188
00189 #define MASK_RX_DR 6
00190 #define MASK_TX_DS 5
00191 #define MASK_MAX_RT 4
00192 #define EN_CRC 3
00193 #define CRCO 2
00194 #define PWR_UP 1
00195 #define PRIM_RX 0
00197
00198
00200 #define PLL_LOCK 4
00201 #define RF_DR 3
00202 #define RF_PWR1 2
00203 #define RF_PWR0 1
00204 #define LNA_HCURR 0
00206
00207
00210 #define RX_DR 6
00211 #define TX_DS 5
00212 #define MAX_RT 4
00213 #define TX_FULL 0
00215
00216
00219 #define TX_REUSE 6
00220 #define TX_FIFO_FULL 5
00221 #define TX_EMPTY 4
00222 #define RX_FULL 1
00223 #define RX_EMPTY 0
00225
00226 #endif // HAL_NRF_REG_H__
00227