McMajan Library Pack  v 2.00
Improve your Arduino !
Ss_nrf24.h
Go to the documentation of this file.
1 #ifndef _McNRF24_h_
2 #define _McNRF24_h_
3 
5 
6 
7 /* Memory Map */
8 
9 //#define McAir24_Base ((1<<EN_CRC) | (0<<CRCO) )
10 #define McAir24_Base 0x08
11 //----------------------------------------
12 #define McAir24_Reg00_CONFIG 0x00
13 #define McAir24_MASK_RX_DR 0x40
14 #define McAir24_MASK_TX_DS 0x20
15 #define McAir24_MASK_MAX_RT 0x10
16 #define McAir24_EN_CRC 0x08
17 #define McAir24_CRCO 0x04
18 #define McAir24_PWR_UP 0x02
19 #define McAir24_PRIM_RX 0x01
20 //---------------------------------------- //Auto ACK
21 #define McAir24_Reg01_EN_AA 0x01
22 #define EN_AA_P5 0x20
23 #define EN_AA_P4 0x10
24 #define EN_AA_P3 0x08
25 #define EN_AA_P2 0x04
26 #define EN_AA_P1 0x02
27 #define EN_AA_P0 0x01
28 //---------------------------------------- //Pipes da attivare
29 #define EN_RXADDR 0x02
30 //---------------------------------------- //Address width
31 #define SETUP_AW 0x03
32 //---------------------------------------- //ritrasmissioni e attesa
33 #define McAir24_Reg04_SETUP_RETR 0x04
34 //---------------------------------------- //canale (1c=1MHz)
35 #define RF_CH 0x05
36 //---------------------------------------- // velocità e guadagno
37 #define McAir24_Reg06_RF_SETUP 0x06
38 #define McAir24_PWR_18dB 0x00
39 #define McAir24_PWR_12dB 0x02
40 #define McAir24_PWR_6dB 0x04
41 #define McAir24_PWR_0dB 0x06
42 
43 #define McAir24_SPD_250K 0x20
44 #define McAir24_SPD_1M 0x00
45 #define McAir24_SPD_2M 0x08
46 
47 //----------------------------------------
48 #define McAir24_Reg07_STATUS 0x07
49 #define McAir24_RX_DR 0x40
50 #define McAir24_TX_DS 0x20
51 #define McAir24_MAX_RT 0x10
52 
53 //----------------------------------------
54 #define OBSERVE_TX 0x08
55 //----------------------------------------
56 #define McAir24_Reg09_RPD 0x09
57 //----------------------------------------
58 #define RX_ADDR_P0 0x0A
59 #define RX_ADDR_P1 0x0B
60 #define RX_ADDR_P2 0x0C
61 #define RX_ADDR_P3 0x0D
62 #define RX_ADDR_P4 0x0E
63 #define RX_ADDR_P5 0x0F
64 #define TX_ADDR 0x10
65 #define RX_PW_P0 0x11
66 #define RX_PW_P1 0x12
67 #define RX_PW_P2 0x13
68 #define RX_PW_P3 0x14
69 #define RX_PW_P4 0x15
70 #define RX_PW_P5 0x16
71 //----------------------------------------
72 #define McAir24_Reg17_FIFO_STATUS 0x17
73 #define FIFO_STATUS 0x17
74 
75 
76 #define McAir24_RX_EMPTY 0x01
77 //----------------------------------------
78 /* Bit Mnemonics */
79 #define MASK_RX_DR 6
80 #define MASK_TX_DS 5
81 #define MASK_MAX_RT 4
82 #define EN_CRC 3
83 #define CRCO 2
84 #define PWR_UP 1
85 #define PRIM_RX 0
86 #define ENAA_P5 5
87 #define ENAA_P4 4
88 #define ENAA_P3 3
89 #define ENAA_P2 2
90 #define ENAA_P1 1
91 #define ENAA_P0 0
92 #define ERX_P5 5
93 #define ERX_P4 4
94 #define ERX_P3 3
95 #define ERX_P2 2
96 #define ERX_P1 1
97 #define ERX_P0 0
98 #define AW 0
99 #define ARD 4
100 #define ARC 0
101 #define PLL_LOCK 4
102 #define RF_DR 3
103 #define RF_PWR 1
104 #define LNA_HCURR 0
105 
106 
107 //#define RX_DR 6 //- 0x40
108 
109 
110 
111 //#define TX_DS 5
112 //#define MAX_RT 4
113 #define RX_P_NO 1
114 #define TX_FULL 0
115 #define PLOS_CNT 4
116 #define ARC_CNT 0
117 #define TX_REUSE 6
118 #define FIFO_FULL 5
119 #define TX_EMPTY 4
120 #define RX_FULL 1
121 
122 
123 //#define RX_EMPTY 0
124 
125 
126 
127 /* Comandi SPI */
128 #define McAir24_R_REGISTER 0x00
129 #define McAir24_W_REGISTER 0x20
130 #define McAir24_REGISTER_MASK 0x1F
131 #define R_RX_PAYLOAD 0x61
132 #define W_TX_PAYLOAD 0xA0
133 #define McAir24_FLUSH_TX 0xE1
134 #define McAir24_FLUSH_RX 0xE2
135 #define REUSE_TX_PL 0xE3
136 #define NOP 0xFF
137 
138 
139 
140 
141 #endif