3 * This program is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU General Public License
5 * as published by the Free Software Foundation; either version 2
6 * of the License, or (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #define SI24_R_REGISTER 0x00
21 #define SI24_W_REGISTER 0x20
22 #define SI24_R_RX_PAYLOAD 0x61
23 #define SI24_W_TX_PAYLOAD 0xA0
24 #define SI24_FLUSH_TX 0xE1
25 #define SI24_FLUSH_RX 0xE2
26 #define SI24_REUSE_TX_PL 0xE3
27 #define SI24_RX_PL_WID 0x60
28 #define SI24_W_ACK_PAYLOAD 0xA8
29 #define SI24_W_TX_PAYLOAD_NO_ACK 0xB0
32 /* SI24R1 register addresses */
33 #define SI24_REG_CONFIG 0x00
34 #define SI24_REG_EN_AA 0x01
35 #define SI24_REG_EN_RXADDR 0x02
36 #define SI24_REG_SETUP_AW 0x03
37 #define SI24_REG_SETUP_RETR 0x04
38 #define SI24_REG_RF_CH 0x05
39 #define SI24_REG_RF_SETUP 0x06
40 #define SI24_REG_STATUS 0x07
41 #define SI24_REG_OBSERVE_TX 0x08
42 #define SI24_REG_RSSI 0x09
43 #define SI24_REG_RX_ADDR_P0 0x0A
44 #define SI24_REG_RX_ADDR_P1 0x0B
45 #define SI24_REG_RX_ADDR_P2 0x0C
46 #define SI24_REG_RX_ADDR_P3 0x0D
47 #define SI24_REG_RX_ADDR_P4 0x0E
48 #define SI24_REG_RX_ADDR_P5 0x0F
49 #define SI24_REG_TX_ADDR 0x10
50 #define SI24_REG_RX_PW_P0 0x11
51 #define SI24_REG_RX_PW_P1 0x12
52 #define SI24_REG_RX_PW_P2 0x13
53 #define SI24_REG_RX_PW_P3 0x14
54 #define SI24_REG_RX_PW_P4 0x15
55 #define SI24_REG_RX_PW_P5 0x16
56 #define SI24_REG_FIFO_SATUS 0x17
57 #define SI24_REG_DYNPD 0x1C
58 #define SI24_REG_FEATURE 0x1D
65 #define MASK_MAX_RT 0x4
66 #define MASK_TX_DS 0x5
67 #define MASK_RX_DR 0x6
87 #define ARD(x) (x << 4)
88 #define ARC(x) (x & 0xF)
93 #define RF_DR_HIGH 0x03
95 #define RF_DR_LOW 0x05
96 #define CONT_WAVE 0x07
98 #define PLOS_CNT(x) (x & 0xF0)
99 #define ARC_CNT(x) (x & 0x0F)
115 #define EN_DYN_ACK 0x0
116 #define EN_ACK_PAY 0x1