-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmoji_defy.h
427 lines (315 loc) · 16.1 KB
/
moji_defy.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
#ifndef MOJI_DEFY
#define MOJI_DEFY
#define PLG_BBB 1//for Matilda, comment for Zbyrator
//dev type
#define DEV_POLL 1// пристрій опитування лічильників. Режими: опитування, шлюз, зберігання і передача даних
#define DEV_STOR 2// пристрій зберігання даних. Режими: зберігання і передача даних (дані можуть додаватись з іншого джерела, наприклад опитування лічильників ПЗ Збриратор )
#define DEV_GATE 3// пристрій який працює в режимі шлюзу
#define DEV_SVAHA 4// пристрій який комутує сокет активного клієнта матільди і сокет ПЗ конфігурації
#define DEV_POLL_EMULATOR_L0 20// емуляція пристрою опитування лічильників. Режими: опитування, зберігання і передача даних (урізана версія DEV_POLL)
#define DEV_POLL_EMULATOR_L1 21// емуляція пристрою опитування лічильників. Режими: опитування, шлюз (через протокол матільди), зберігання і передача даних (урізана версія DEV_POLL)
#define DEV_POLL_EMULATOR_L2 22// емуляція пристрою опитування лічильників. Режими: опитування, шлюз (в режимі сервісу), зберігання і передача даних (урізана версія DEV_POLL)
#define SETT_GPRS 1
#define SETT_PEREDAVATOR 2
#define SETT_MATILDA 3
#define SETT_ZIGBEE 4
#define SETT_TCP 5
#define SETT_MAX_UNCOMPRSS_PACkET_SIZE 500
#define SETT_MIN 1
#define SETT_MAX 3
#define SVAHA_MAX_MAC 10
#define SETT_MAX_IDENTICAL_MESS_PER_SESION 30
#define SETT_DT_DIFF_MAX_SECS 90
#define SETT_DT_DIFF_MAX_ALLOW_CORR 1800//30 hv. 0 - disable, -1 - dozvil na vse
#define MATILDA_PROTOCOL_VERSION_V1 1
#define MATILDA_PROTOCOL_VERSION_V2 2
#define MATILDA_PROTOCOL_VERSION_V3 3
#define MATILDA_PROTOCOL_VERSION_V4 4
#define MATILDA_PROTOCOL_VERSION_V5 5
#define MATILDA_PROTOCOL_VERSION_V6 6
#define MATILDA_PROTOCOL_VERSION_V7 7
#define MATILDA_PROTOCOL_VERSION_V8 8
#define MATILDA_PROTOCOL_VERSION_V9 9
#define MATILDA_PROTOCOL_VERSION_V10 10
#define MATILDA_PROTOCOL_VERSION MATILDA_PROTOCOL_VERSION_V10
#define MATILDA_BACKUP_VERSION MATILDA_PROTOCOL_VERSION_V1
//exit codes
#define APP_CODE_RESTART 23//RESTART IN ZAPUSKATOR SH
#define APP_CODE_FULL_UPGRADE 25//RESTART AND FULL UPGRADE
#define APP_CODE_UPGRADE 27//RESTART AND UPGRADE (ADD NEW PACKETS)
#define APP_CODE_REBOOT 35//EXIT ZAPUSKATOR SH
#define FATAL_ERROR_MAX 33
//Protocol Matilda v1
//#define COMMAND_SPLIT_SYMBOL 1
#define COMMAND_ZULU 0
#define COMMAND_YOUR_ID_AND_MAC 1
#define COMMAND_AUTHORIZE 2
#define COMMAND_ACCESS_DENIED 4
#define COMMAND_CONNECT_2_THIS_SERVICE 5
//#define COMMAND_LAST_OPER_RESULT 5
#define COMMAND_I_AM_A_ZOMBIE 6
#define COMMAND_ERROR_CODE 7
#define COMMAND_COMPRESSED_PACKET 8
#define COMMAND_COMPRESSED_STREAM 9
#define COMMAND_I_NEED_MORE_TIME 10
#define COMMAND_CONNECT_ME_2_THIS_ID_OR_MAC 11
#define COMMAND_ERROR_CODE_EXT 13
//READ ROOT AND GUEST
#define COMMAND_READ_SYSTEM_SETTINGS 22
#define COMMAND_READ_TASK_INFO 23
#define COMMAND_READ_ABOUT_PLG 24
#define COMMAND_READ_DATE_SETT 25
#define COMMAND_READ_GPRS_SETT 26
#define COMMAND_READ_STATE 27
#define COMMAND_READ_IFCONFIG 28
#define COMMAND_READ_APP_LOG 29
#define COMMAND_READ_POLL_SCHEDULE 30
#define COMMAND_READ_METER_LIST 31
#define COMMAND_READ_DATABASE 32
#define COMMAND_READ_DATABASE_GET_TABLES 33
#define COMMAND_READ_DATABASE_GET_VAL 34
#define COMMAND_READ_METER_LOGS 35
#define COMMAND_READ_METER_LOGS_GET_TABLES 36
#define COMMAND_READ_METER_LOGS_GET_VAL 37
#define COMMAND_READ_METER_LIST_FRAMED 38
#define COMMAND_READ_DATABASE_TABLES_PARSING 39
#define COMMAND_READ_ZBR_LOG 40
#define COMMAND_READ_ABOUT_OBJECT 41
#define COMMAND_READ_POLL_SETT 42
#define COMMAND_READ_POLL_STATISTIC 43
#define COMMAND_READ_TABLE_HASH_SUMM 44
#define COMMAND_READ_IP_FILTER_SETT 47
#define COMMAND_READ_METER_LIST_HASH_SUMM 48
#define COMMAND_READ_SERIAL_LOG 49
#define COMMAND_READ_COMMANDS 50
#define COMMAND_READ_DA_DATA_FROM_COORDINATOR 53
#define COMMAND_READ_DA_SERVICE_SETT 54
#define COMMAND_READ_PLUGIN_LOG_WARN 55
#define COMMAND_READ_PLUGIN_LOG_ERROR 56
#define COMMAND_READ_PEREDAVATOR_AC_SETT 57
#define COMMAND_READ_MATILDA_AC_SETT 58
#define COMMAND_READ_BACKUP_LIST 59
#define COMMAND_READ_UDP_BEACON 60
#define COMMAND_READ_METER_LIST_HASH_SUMM_EXT 61
#define COMMAND_READ_METER_LIST_FRAMED_EXT 62
#define COMMAND_READ_ZIGBEE_SETT 63
#define COMMAND_READ_TCP_SETT 64
#define COMMAND_READ_FRWRD_SETT 65
//protocol v2
#define COMMAND_READ_DEVICE_SERIAL_NUMBER 68
//protocol v4
#define COMMAND_READ_TEMP_LED_SHCEDULE 91//get the temporary schedule of led groups
//protocol v6
///updated commands
#define COMMAND_READ_LEDLAMPLIST_FRAMED 69
#define COMMAND_READ_GROUP_SCHEDULE 70
///new commands
#define COMMAND_READ_GROUP_RESCUE_SCHEDULE 105
#define COMMAND_READ_FIREFLY_SCHEDULESTATE 108
//ROOT || OPERATOR WRITE
#define COMMAND_WRITE_FIRST_4_OPERATOR 40000
#define COMMAND_WRITE_POLL_SCHEDULE 40001
#define COMMAND_WRITE_METER_LIST 40002
#define COMMAND_WRITE_METER_LIST_FRAMED 40003
#define COMMAND_WRITE_DATE_SETT 40004
#define COMMAND_WRITE_RESET_MODEM 40005
#define COMMAND_WRITE_POLL_SETT 40006
#define COMMAND_WRITE_METER_LIST_ONE_PART 40007
#define COMMAND_WRITE_METER_LIST_POLL_ON 40008
#define COMMAND_WRITE_METER_LIST_POLL_OFF 40009
#define COMMAND_WRITE_METER_LIST_DEL_NI 40010
#define COMMAND_WRITE_COMMANDS 40011
#define COMMAND_WRITE_DA_SERVICE_SETT 40012
#define COMMAND_WRITE_PEREDAVATOR_AC_SETT 40013
#define COMMAND_WRITE_DA_OPEN_CLOSE 40014
#define COMMAND_WRITE_DA_DATA_2_COORDINATOR 40015
#define COMMAND_WRITE_FRWRD_SETT 40016
//protocol v4
#define COMMAND_WRITE_NEW_QUEUE_4_LAMPPOLL 40025
#define COMMAND_WRITE_ACTVT_BEACON_MODE 40026
#define COMMAND_WRITE_CANCEL_TASKS 40027//firefly
#define COMMAND_WRITE_TEMP_LED_SHCEDULE 40028
//protocol v6
///updated commands
#define COMMAND_WRITE_LEDLAMPLIST_FRAMED 40017
#define COMMAND_WRITE_GROUP_SCHEDULE 40018
///new commands
#define COMMAND_WRITE_GROUP_RESCUE_SCHEDULE 40042
#define COMMAND_WRITE_FIREFLY_INSERT_LAMPS 40043//insert a part of the LEDLAMPLIST
#define COMMAND_WRITE_FIREFLY_INSERT_NIS 40044//insert a NIs list with default grp, tna, pna to LEDLAMPLIST, it contains pair NI to coordinate
#define COMMAND_WRITE_FIREFLY_REMOVE_NIS 40045//QSL of NIs to remove
#define COMMAND_WRITE_FIREFLY_LIST_POLL_ON 40049
#define COMMAND_WRITE_FIREFLY_LIST_POLL_OFF 40050
#define COMMAND_WRITE_FIREFLY_START_POLL 40052//firefly
#define COMMAND_WRITE_ADD_DEL_TEMPSCHEDULE 40053//firefly
//ROOT: ONLY WRITE
#define COMMAND_WRITE_FIRST 60000
#define COMMAND_WRITE_UPGRADE 60001
#define COMMAND_WRITE_GPRS_SETT 60003
#define COMMAND_WRITE_REBOOT 60004
#define COMMAND_WRITE_DAEMON_RESTART 60005
#define COMMAND_WRITE_FULL_UPGRADE 60006
#define COMMAND_WRITE_ROOT_LOGIN_PSWD 60007
#define COMMAND_WRITE_GUEST_LOGIN_PSWD 60008
#define COMMAND_WRITE_OPEARTOR_LOGIN_PSWD 60009
#define COMMAND_WRITE_DROP_TABLE_GET_COUNT 60010
#define COMMAND_WRITE_DROP_TABLE 60011
#define COMMAND_WRITE_DROP_TABLE_ALL 60012
#define COMMAND_WRITE_TIMEZONE 60013
#define COMMAND_WRITE_NTP_SETTINGS 60014
#define COMMAND_WRITE_ABOUT_OBJECT 60015
#define COMMAND_WRITE_IP_FILTER_SETT 60016
#define COMMAND_WRITE_ERASE_ALL_DATA 60017
#define COMMAND_WRITE_MATILDA_AC_SETT 60018
#define COMMAND_WRITE_DELETE_BACKUP_FILE 60019
#define COMMAND_WRITE_BACK_IN_TIME 60020
#define COMMAND_WRITE_CREATE_BACK_IN_TIME 60021
#define COMMAND_WRITE_UDP_BEACON 60022
#define COMMAND_WRITE_ZIGBEE_SETT 60023
#define COMMAND_WRITE_TCP_SETT 60024
#define COMMAND_WRITE_COMMAND2BASH 60025
#define COMMAND_GET_BACKUP_FILE 60419
#define COMMAND_PUSH_BACKUP_FILE_AND_APPLY 60420
//bash commands
#define BASH_DMESG 1
#define BASH_ROUTE 2
#define BASH_DF 3
#define BASH_SCREENFETCH 4
#define BASH_TOP 5
#define BASH_USB_DEVICES 6
#define BASH_LSUSB 7
#define BASH_LSBLK 8
#define BASH_I2C_INFO 9
#define BASH_LSMOD 10
#define BASH_TAIL 111
#define BASH_HEAD 112
#define BASH_MTR 113
#define BASH_FILE 114
#define BASH_SYSTEMCTL_STATUS 115
//error codes
#define ERR_DATABASE_CLOSED 1
#define ERR_NO_DATA 2
#define ERR_INTERNAL_ERROR 3
#define ERR_INCORRECT_REQUEST 4
#define ERR_MAX_TABLE_COUNT 5
#define ERR_CORRUPTED_DATA 6
#define ERR_DUPLICATE_NI 7
#define ERR_DUPLICATE_SN 8
#define ERR_DATE_NOT_VALID 9
#define ERR_COMMAND_NOT_ALLOWED 10
#define ERR_ACCESS_DENIED 11
#define ERR_RESOURCE_BUSY 12
#define ERR_IP_BLOCKED 13
#define ERR_DA_CLOSED 14
#define ERR_NO_ERROR 99
#define MAX_METER_COUNT 5000
#define MAX_REQUEST_NI_IN_LINE 300
#define MAX_PRECISION 9
#define MAX_INRVL_AGO 100// Днів/Місяців назад
#define MAX_MSEC_TIME2OPEN_DA 100
#define MAX_TARIFF_COUNT 5//0 - summ, 1 T1, 2 T2, 3 T3, 4 T4
#define MAX_DATALEN 2800 //for reading from DB 2610 * k =~ 5875 byte
#define MAX_TABLE_READ 450
#define MAX_PACKET_LEN_RECOMENDATION 1400
#define MAX_PACKET_LEN 10000000
#define MAX_DATABASE_SIZE 550000000 //~550M
#define MAX_DATABASE_RESERV_SIZE 5000000 //~5M
#define MAX_DATABASE_RESERV_SIZE_FREE_DISK 50000000 //~50M
#define MAX_PACKET_SIZE_ONLY4DATA 5000000
#define MAX_GLYBYNA 0x64
#define MAX_METER_READ_FROM_DB 100000
//tariff program
#define TRFF_MAX_SEASON 12
#define TRFF_MAX_DAYPROFILE 100
#define TRFF_MAX_TARIFFNUMB 5
#define TRFF_MAX_SPECDAY 100
#define TRFF_MIN_SEASON 0
#define TRFF_MIN_DAYPROFILE 0
#define TRFF_MIN_TARIFFNUMB 1
#define TRFF_MIN_SPECDAY 0
//read%2 == 0
#define POLL_INTRVL_AGO 11
#define POLL_CODE_READ_TARIFF 50
#define POLL_CODE_WRITE_TARIFF 51
#define POLL_CODE_READ_DATE_TIME_DST 52
#define POLL_CODE_WRITE_DATE_TIME_DST 53
#define POLL_CODE_WRITE_METER_ADDR 58
#define POLL_CODE_RELAY_OPERATIONS 59
#define POLL_CODE_METER_STATUS 60
#define POLL_CODE_READ_VOLTAGE 100
#define POLL_CODE_READ_POWER 120
#define POLL_CODE_READ_CURRENT 140
#ifdef PLG_BBB
#define POLL_CODE_READ_END_DAY 160
#define POLL_CODE_READ_END_MONTH 180
#else
#define POLL_CODE_READ_END_DAY 180
#define POLL_CODE_READ_END_MONTH 220
#endif
//error code
//SUB JOURNALS
#define POLL_CODE_METER_STATUS_JRNL 61
#define POLL_CODE_MATILDA_EVNTS 70
//protocol Matilda Extension v1
#define MTD_EXT_NAME_ALL 0
#define MTD_EXT_NAME_ZBYRATOR 1
#define MTD_EXT_NAME_PEREDAVATOR 2
#define MTD_EXT_NAME_MATILDA 3
#define MTD_EXT_NAME_MATILDA_PROC_MANAGER 4
#define MTD_EXT_NAME_MATILDA_SERVER 5
#define MTD_EXT_GET_INFO 1
#define MTD_EXT_GET_LOCATION 2
#define MTD_EXT_INTERNAL_STATE 3
#define MTD_EXT_GET_EVENTS 4
#define MTD_EXT_CUSTOM_COMMAND_0 5
#define MTD_EXT_CUSTOM_COMMAND_1 6
#define MTD_EXT_CUSTOM_COMMAND_2 7
#define MTD_EXT_OPERATION_HISTORY 8
#define MTD_EXT_PING 9
#define MTD_EXT_OPERATION_STATISTIC 10
#define MTD_EXT_OPERATION_SERIAL_LOG 11
#define MTD_EXT_OPERATION_WARN_LOG 12
#define MTD_EXT_OPERATION_ERROR_LOG 13
#define MTD_EXT_PEREDAVATOR_AC_LOG 14
#define MTD_EXT_MATILDA_AC_LOG 15
#define MTD_EXT_PING_2_SERV 16
#define MTD_EXT_CUSTOM_COMMAND_3 30
#define MTD_EXT_CUSTOM_COMMAND_4 31
#define MTD_EXT_CUSTOM_COMMAND_5 32
#define MTD_EXT_CUSTOM_COMMAND_6 33
#define MTD_EXT_CUSTOM_COMMAND_7 34
#define MTD_EXT_CUSTOM_COMMAND_8 35
#define MTD_EXT_CUSTOM_COMMAND_9 36
#define MTD_EXT_CUSTOM_COMMAND_10 37
#define MTD_EXT_CUSTOM_COMMAND_11 38
#define MTD_EXT_CUSTOM_COMMAND_12 39
#define MTD_EXT_CUSTOM_COMMAND_13 40
#define MTD_EXT_CUSTOM_COMMAND_14 41
#define MTD_EXT_COMMAND_2_OTHER_APP 90
#define MTD_EXT_COMMAND_KICK_COORDINATOR 91
#define MTD_EXT_COMMAND_RESTART_APP 92
#define MTD_EXT_COMMAND_RELOAD_SETT 93
#define MTD_EXT_COMMAND_RELOAD_DB 94
#define MTD_EXT_COMMAND_KILL_PEREDAVATOR 95
#define MTD_EXT_COMMAND_PEREDAVATOR_IN_CONN 96
#define MTD_EXT_COMMAND_PEREDAVATOR_IN_IP_CONN 97
#define MTD_EXT_COMMAND_PEREDAVATOR_IN_IP_DISCONN 98
#define MTD_EXT_WRITE_STATE_AUTO_SEND 99
//network speed level
#define NET_SPEED_VERY_LOW 3
#define NET_SPEED_LOW 11
#define NET_SPEED_NORMAL 30 //if speed > NET_SPEED_NORMAL : disable compressing
#define NET_SPEED_HIGH 55//300
#define NET_SPEED_VERY_HIGH 200//1500
#define NET_SPEED_UFS_1 800//1500
//#define MTD_EXT_
#define MTD_USER_ADMIN 1
#define MTD_USER_OPER 2
#define MTD_USER_GUEST 3
//стани клієнтів матільди та передаватора
#define AC_STATE_UNKNOWN 0
#define AC_STATE_READY 1
#define AC_STATE_CONNECTING 2
#define AC_STATE_CLOSED 3
#define AC_STATE_AUTHORIZATION 4
#endif // MOJI_DEFY