AllWize Library
RC1701HP.h
Go to the documentation of this file.
1 
6 // Module signature
7 #define MODULE_SIGNATURE "RC1701"
8 
9 // Module types
10 enum {
11 
13 
17 
19 
20 };
21 
22 // Special characters
23 #define END_OF_RESPONSE '>'
24 #define START_BYTE 0x68
25 #define STOP_BYTE 0x16
26 
27 // Special command keys
28 #define CMD_ENTER_CONFIG (char) 0x00
29 #define CMD_EXIT_CONFIG (char) 0x58
30 #define CMD_NO_RESPONSE (char) 0xFB
31 #define CMD_KEY_CHALLENGE (char) 0xFC
32 #define CMD_IDLE_ENABLE_RF (char) 0xFD
33 #define CMD_IDLE_DISABLE_RF (char) 0xFF
34 #define CMD_AWAKE (char) 0xFF // Deprecated
35 #define CMD_EXIT_MEMORY (char) 0xFF // Deprecated
36 
37 // Command keys
38 #define CMD_AUTO_MESSAGE_FLAGS 'A'
39 #define CMD_BIND 'B'
40 #define CMD_CHANNEL 'C'
41 #define CMD_PING 'D'
42 #define CMD_ENCRYPT 'E'
43 #define CMD_CONTROL_FIELD 'F'
44 #define CMD_MBUS_MODE 'G'
45 #define CMD_INSTALL_MODE 'I'
46 #define CMD_KEY_REGISTER 'K'
47 #define CMD_LIST_BINDING 'L'
48 #define CMD_WRITE_MEMORY 'M'
49 #define CMD_ACCESS_NUMBER 'N'
50 #define CMD_READ_AUTO_MESSAGE_FLAGS 'O'
51 #define CMD_RF_POWER 'P'
52 #define CMD_QUALITY 'Q'
53 #define CMD_READ_MAILBOX 'R'
54 #define CMD_RSSI 'S'
55 #define CMD_DESTINATION 'T'
56 #define CMD_TEMPERATURE 'U'
57 #define CMD_VOLTAGE 'V'
58 #define CMD_WRITE_MAILBOX 'W'
59 #define CMD_READ_MEMORY 'Y'
60 #define CMD_SLEEP 'Z'
61 #define CMD_RSSI_CONTINUOUS 's'
62 #define CMD_TEST_MODE_0 '0'
63 
64 // Memory slots
65 // These are abstract memory slots
66 // that are mapped to actual addresses in the MEM_ADDRESS array
67 enum {
68 
76 
82 
88 
94 
100 
106 
108 
110 
111 };
112 
113 // MBUS4
114 static const uint8_t MEM_ADDRESS[MODULE_MAX-1][MEM_MAX_SLOTS] = {
115 
116  /* MODULE_MBUS4 */
117  {
118  0x00, 0xFF, 0x01, 0x02, 0xFF, 0x03, 0x04, 0x05, 0xFF, 0x0A,
119  0x10, 0x12, 0x16, 0x19, 0x1B, 0x1F, 0x20, 0x30, 0x35, 0x36,
120  0x37, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x61,
121  0x78
122  },
123 
124  /* MODULE_OSP */
125  {
126  0x00, 0xFF, 0x01, 0x02, 0xFF, 0x03, 0x04, 0x05, 0xFF, 0x0A,
127  0x10, 0x12, 0x16, 0x19, 0x1B, 0x1F, 0x20, 0x30, 0x35, 0x36,
128  0x37, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x89,
129  0xA9 // Is this 0x9A?
130  },
131 
132  /* MODULE_WIZE */
133  {
134  0x00, 0x01, 0x04, 0x02, 0x03, 0x05, 0x06, 0x07, 0x08, 0xFF,
135  0x10, 0x12, 0x16, 0x19, 0x1B, 0x1F, 0x20, 0x30, 0x35, 0x36,
136  0x37, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x89,
137  0x9A
138  }
139 
140 };
141 
142 // Channels
143 #define CHANNEL_01 1
144 #define CHANNEL_02 2
145 #define CHANNEL_03 3
146 #define CHANNEL_04 4
147 #define CHANNEL_05 5
148 #define CHANNEL_06 6
149 #define CHANNEL_07 7
150 #define CHANNEL_08 8
151 #define CHANNEL_09 9
152 #define CHANNEL_10 10
153 #define CHANNEL_11 11
154 #define CHANNEL_12 12
155 #define CHANNEL_13 13
156 #define CHANNEL_14 14
157 #define CHANNEL_15 15
158 #define CHANNEL_16 16
159 #define CHANNEL_17 17
160 #define CHANNEL_18 18
161 #define CHANNEL_19 19
162 #define CHANNEL_20 20
163 #define CHANNEL_21 21
164 #define CHANNEL_22 22
165 #define CHANNEL_23 23
166 #define CHANNEL_24 24
167 #define CHANNEL_25 25
168 #define CHANNEL_26 26
169 #define CHANNEL_27 27
170 #define CHANNEL_28 28
171 #define CHANNEL_29 29
172 #define CHANNEL_30 30
173 #define CHANNEL_31 31
174 #define CHANNEL_32 32
175 #define CHANNEL_33 33
176 #define CHANNEL_34 34
177 #define CHANNEL_35 35
178 #define CHANNEL_36 36
179 #define CHANNEL_37 37
180 #define CHANNEL_38 38
181 #define CHANNEL_39 39
182 #define CHANNEL_40 40
183 #define CHANNEL_41 41
184 
185 // Data rates
186 #define DATARATE_2400bps 0x01 // Only OSP & WIZE
187 #define DATARATE_4800bps 0x02 // Only OSP & WIZE
188 #define DATARATE_6400bps 0x03 // Only WIZE
189 #define DATARATE_19200bps 0x04 // Only OSP
190 #define DATARATE_6400bps_OSP 0x05 // Only OSP
191 
192 static const uint32_t DATARATES[4] = {2400, 4800, 6400, 9600};
193 
194 // Power modes
195 #define POWER_14dBm 0x01
196 #define POWER_17dBm 0x02
197 #define POWER_20dBm 0x03
198 #define POWER_24dBm 0x04
199 #define POWER_27dBm 0x05
200 
201 // MBus modes
202 #define MBUS_MODE_S2 0x00
203 #define MBUS_MODE_T1 0x01
204 #define MBUS_MODE_T2 0x02
205 #define MBUS_MODE_S1 0x03
206 #define MBUS_MODE_R 0x04
207 #define MBUS_MODE_T1_C 0x0A
208 #define MBUS_MODE_T2_C 0x0B
209 #define MBUS_MODE_N2 0x10
210 #define MBUS_MODE_N1 0x11
211 #define MBUS_MODE_OSP 0x12
212 
213 // Operation modes
214 #define INSTALL_MODE_NORMAL 0x00
215 #define INSTALL_MODE_INSTALL 0x01
216 #define INSTALL_MODE_HOST 0x02
217 
218 // Sleep modes
219 #define SLEEP_MODE_DISABLE 0x00
220 #define SLEEP_MODE_AFTER_TX 0x01
221 #define SLEEP_MODE_AFTER_TX_RX 0x03
222 #define SLEEP_MODE_AFTER_TX_TIMEOUT 0x05
223 #define SLEEP_MODE_AFTER_TX_RX_TIMEOUT 0x07
224 
225 // Network roles
226 #define NETWORK_ROLE_SLAVE 0x00
227 #define NETWORK_ROLE_MASTER 0x01
228 #define NETWORK_ROLE_REPEATER 0x02
229 
230 // LED Control
231 #define LED_CONTROL_DISABLED 0x00
232 #define LED_CONTROL_RX_TX 0x01
233 #define LED_CONTROL_UART_RF_IDLE 0x02
234 #define LED_CONTROL_RF_RX_TX 0x03
235 
236 // Encrypt/Decrypt flags
237 #define ENCRYPT_DISABLED 0x00
238 #define ENCRYPT_ENABLED 0x01
239 #define ENCRYPT_ENABLED_CRC 0x03
240 
241 // Data interface
242 #define DATA_INTERFACE_ID_ADDR 0x00
243 #define DATA_INTERFACE_APP_ONLY 0x01
244 #define DATA_INTERFACE_APP_ACK 0x03
245 #define DATA_INTERFACE_START_STOP 0x04
246 #define DATA_INTERFACE_CRC 0x08
247 #define DATA_INTERFACE_CRC_START_STOP 0x0C
248 
249 // Preamble Length
250 #define PREAMBLE_FORMAT_A 0x00
251 #define PREAMBLE_FORMAT_B 0x02
252 
253 // Baud rates
254 #define BAUDRATE_2400 0x01
255 #define BAUDRATE_4800 0x02
256 #define BAUDRATE_9600 0x03
257 #define BAUDRATE_14400 0x04
258 #define BAUDRATE_19200 0x05
259 #define BAUDRATE_28800 0x06
260 #define BAUDRATE_38400 0x07
261 #define BAUDRATE_57600 0x08
262 #define BAUDRATE_76800 0x09
263 #define BAUDRATE_115200 0x0A
264 #define BAUDRATE_230400 0x0B
265 
266 static const uint32_t BAUDRATES[11] = {2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200, 230400};
static const uint32_t DATARATES[4]
Definition: RC1701HP.h:192
static const uint32_t BAUDRATES[11]
Definition: RC1701HP.h:266
static const uint8_t MEM_ADDRESS[MODULE_MAX-1][MEM_MAX_SLOTS]
Definition: RC1701HP.h:114