-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdte_params.py
177 lines (172 loc) · 7.72 KB
/
dte_params.py
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
from .dte_types import * # noqa
class DTEParamMap():
param_map = [
[ "DEVICE_MODEL", "IDT02", TEXT ],
[ "FW_APP_VERSION", "IDT03", TEXT ],
[ "HW_VERSION", "IDT04", TEXT ],
[ "LAST_TX", "ART01", DATESTRING ],
[ "TX_COUNTER", "ART02", UINT ],
[ "BATT_SOC", "POT03", UINT ],
[ "LAST_FULL_CHARGE_DATE", "POT05", DATESTRING ],
[ "BATT_VOLTAGE", "POT06", FLOAT ],
[ "PROFILE_NAME", "IDP11", TEXT ],
[ "ARGOS_DECID", "IDP12", UINT ],
[ "ARGOS_HEXID", "IDT06", TEXT ],
[ "ARGOS_AOP_DATE", "ART03", DATESTRING ],
[ "ARGOS_FREQ", "ARP03", ARGOSFREQ ],
[ "ARGOS_POWER", "ARP04", ARGOSPOWER ],
[ "ARGOS_TX_REPETITION", "ARP05", UINT ],
[ "ARGOS_MODE", "ARP01", ARGOSMODE ],
[ "ARGOS_NTRY_PER_MESSAGE", "ARP19", UINT ],
[ "ARGOS_DUTY_CYCLE", "ARP18", ARGOSDUTYCYLE ],
[ "GLONASS_CONST_SELECT", "GNP08", DECIMAL ],
[ "GNSS_ENABLE", "GNP01", BOOLEAN ],
[ "GNSS_DELTATIME_ACQ", "ARP11", AQPERIOD ],
[ "GNSS_NBLASTFIX_TOSEND", "ARP16", DEPTHPILE ],
[ "GNSS_HDOPFILT_ENABLE", "GNP02", BOOLEAN ],
[ "GNSS_HDOPFILT_THR", "GNP03", UINT ],
[ "GNSS_ACQ_TIMEOUT", "GNP05", UINT ],
[ "GNSS_NTRY", "GNP04", UINT ],
[ "GNSS_COLD_ACQ_TIMEOUT", "GNP09", UINT ],
[ "GNSS_FIX_MODE", "GNP10", GNSSFIXMODE ],
[ "GNSS_DYN_MODEL", "GNP11", GNSSDYNMODEL ],
[ "UW_ENABLE", "UNP01", BOOLEAN ],
[ "UW_DRY_TIME_BEFORE_TX", "UNP02", UINT ],
[ "UW_WET_SAMPLING", "UNP03", UINT ],
[ "UW_DRY_SAMPLING", "UNP04", UINT ],
[ "LB_EN", "LBP01", BOOLEAN ],
[ "LB_TRESHOLD", "LBP02", UINT ],
[ "LB_ARGOS_POWER", "LBP03", ARGOSPOWER ],
[ "LB_ARGOS_TX_REPETITION", "ARP06", UINT ],
[ "LB_ARGOS_MODE", "LBP04", ARGOSMODE ],
[ "LB_ARGOS_DUTY_CYCLE", "LBP05", ARGOSDUTYCYLE ],
[ "LB_GNSS_EN", "LBP06", BOOLEAN ],
[ "LB_GNSS_DELTATIME_ACQ", "ARP12", AQPERIOD ],
[ "LB_GNSS_HDOPFILT_THR", "LBP07", UINT ],
[ "LB_GNSS_NBLASTFIX_TOSEND", "LBP08", DEPTHPILE ],
[ "LB_GNSS_ACQ_TIMEOUT", "LBP09", UINT ],
[ "PP_MIN_ELEVATION", "PPP01", FLOAT ],
[ "PP_MAX_ELEVATION", "PPP02", FLOAT ],
[ "PP_MIN_DURATION", "PPP03", UINT ],
[ "PP_MAX_PASSES", "PPP04", UINT ],
[ "PP_LINEAR_MARGIN", "PPP05", UINT ],
[ "PP_COMP_STEP", "PPP06", UINT ],
[ "GNSS_HACCFILT_ENABLE", "GNP20", BOOLEAN ],
[ "GNSS_HACCFILT_THR", "GNP21", UINT ],
[ "GNSS_MIN_NUM_FIXES", "GNP22", UINT ],
[ "GNSS_COLD_START_RETRY_PERIOD", "GNP23", UINT ],
[ "ARGOS_TIME_SYNC_BURST_EN", "ARP30", BOOLEAN ],
[ "LED_MODE", "LDP01", LEDMODE ],
[ "ARGOS_TX_JITTER_EN", "ARP31", BOOLEAN ],
[ "ARGOS_RX_EN", "ARP32", BOOLEAN ],
[ "ARGOS_RX_MAX_WINDOW", "ARP33", UINT ],
[ "ARGOS_RX_AOP_UPDATE_PERIOD", "ARP34", UINT ],
[ "ARGOS_TCXO_WARMUP_TIME", "ARP35", UINT ],
[ "RX_COUNTER", "ART10", UINT ],
[ "RX_TIME", "ART11", UINT ],
[ "GNSS_ASSISTNOW_EN", "GNP24", BOOLEAN ],
[ "LB_GNSS_HACCFILT_THR", "LBP10", UINT ],
[ "LB_NTRY_PER_MESSAGE", "LBP11", BOOLEAN ],
[ "ZONE_TYPE", "ZOP01", ZONETYPE ],
[ "ZONE_ENABLE_OUT_OF_ZONE_DETECTION_MODE", "ZOP04", BOOLEAN ],
[ "ZONE_ENABLE_ACTIVATION_DATE", "ZOP05", BOOLEAN ],
[ "ZONE_ACTIVATION_DATE", "ZOP06", DATESTRING ],
[ "ZONE_ARGOS_DEPTH_PILE", "ZOP08", DEPTHPILE ],
[ "ZONE_ARGOS_POWER", "ZOP09", ARGOSPOWER ],
[ "ZONE_ARGOS_REPETITION_SECONDS", "ZOP10", UINT ],
[ "ZONE_ARGOS_MODE", "ZOP11", ARGOSMODE ],
[ "ZONE_ARGOS_DUTY_CYCLE", "ZOP12", ARGOSDUTYCYLE ],
[ "ZONE_ARGOS_NTRY_PER_MESSAGE", "ZOP13", UINT ],
[ "ZONE_GNSS_DELTATIME_ACQ", "ZOP14", AQPERIOD ],
[ "ZONE_GNSS_HDOPFILT_THR", "ZOP15", UINT ],
[ "ZONE_GNSS_HACCFILT_THR", "ZOP16", UINT ],
[ "ZONE_GNSS_ACQ_TIMEOUT", "ZOP17", UINT ],
[ "ZONE_CENTER_LONGITUDE", "ZOP18", FLOAT ],
[ "ZONE_CENTER_LATITUDE", "ZOP19", FLOAT ],
[ "ZONE_RADIUS", "ZOP20", UINT ],
[ "CERT_TX_ENABLE", "CTP01", BOOLEAN ],
[ "CERT_TX_PAYLOAD", "CTP02", UPPERCASETEXT ],
[ "CERT_TX_MODULATION", "CTP03", ARGOSMODULATION ],
[ "CERT_TX_REPETITION", "CTP04", UINT ],
[ "DEVICE_DECID", "IDT10", UINT ],
[ "GNSS_TRIGGER_ON_SURFACED", "GNP25", BOOLEAN ],
[ "GNSS_TRIGGER_ON_AXL_WAKEUP", "GNP26", BOOLEAN ],
[ "UNDERWATER_DETECT_SOURCE", "UNP10", UWDETECTSOURCE ],
[ "UNDERWATER_DETECT_THRESH", "UNP11", FLOAT ],
[ "PH_SENSOR_ENABLE", "PHP01", BOOLEAN ],
[ "PH_SENSOR_PERIODIC", "PHP02", UINT ],
[ "PH_SENSOR_VALUE", "PHP03", FLOAT ],
[ "PH_SENSOR_ENABLE_TX_MODE", "PHP04", SENSORTXENABLEMODE ],
[ "PH_SENSOR_ENABLE_TX_MAX_SAMPLES", "PHP05", UINT ],
[ "PH_SENSOR_ENABLE_TX_SAMPLE_PERIOD", "PHP06", UINT ],
[ "SEA_TEMP_SENSOR_ENABLE", "STP01", BOOLEAN ],
[ "SEA_TEMP_SENSOR_PERIODIC", "STP02", UINT ],
[ "SEA_TEMP_SENSOR_VALUE", "STP03", FLOAT ],
[ "SEA_TEMP_SENSOR_ENABLE_TX_MODE", "STP04", SENSORTXENABLEMODE ],
[ "SEA_TEMP_SENSOR_ENABLE_TX_MAX_SAMPLES", "STP05", UINT ],
[ "SEA_TEMP_SENSOR_ENABLE_TX_SAMPLE_PERIOD", "STP06", UINT ],
[ "ALS_SENSOR_ENABLE", "LTP01", BOOLEAN ],
[ "ALS_SENSOR_PERIODIC", "LTP02", UINT ],
[ "ALS_SENSOR_VALUE", "LTP03", FLOAT ],
[ "ALS_SENSOR_ENABLE_TX_MODE", "LTP04", SENSORTXENABLEMODE ],
[ "ALS_SENSOR_ENABLE_TX_MAX_SAMPLES", "LTP05", UINT ],
[ "ALS_SENSOR_ENABLE_TX_SAMPLE_PERIOD", "LTP06", UINT ],
[ "ALS_SENSOR_VALUE", "LTP03", FLOAT ],
[ "ALS_SENSOR_VALUE", "LTP03", FLOAT ],
[ "CDT_SENSOR_ENABLE", "CDP01", BOOLEAN ],
[ "CDT_SENSOR_PERIODIC", "CDP02", UINT ],
[ "CDT_SENSOR_CONDUCTIVITY_VALUE", "CDP03", FLOAT ],
[ "CDT_SENSOR_DEPTH_VALUE", "CDP04", FLOAT ],
[ "CDT_SENSOR_TEMPERATURE_VALUE", "CDP05", FLOAT ],
[ "EXT_LED_MODE", "LDP02", LEDMODE ],
[ "AXL_SENSOR_ENABLE", "AXP01", BOOLEAN ],
[ "AXL_SENSOR_PERIODIC", "AXP02", UINT ],
[ "AXL_SENSOR_WAKEUP_THRESH", "AXP03", FLOAT ],
[ "AXL_SENSOR_WAKEUP_SAMPLES", "AXP04", UINT ],
[ "PRESSURE_SENSOR_ENABLE", "PRP01", BOOLEAN ],
[ "PRESSURE_SENSOR_PERIODIC", "PRP02", UINT ],
[ "PRESSURE_SENSOR_LOGGING_MODE", "PRP03", PRESSURESENSORLOGGINGMODE ],
[ "PRESSURE_SENSOR_ENABLE_TX_MODE", "PRP04", SENSORTXENABLEMODE ],
[ "PRESSURE_SENSOR_ENABLE_TX_MAX_SAMPLES", "PRP05", UINT ],
[ "PRESSURE_SENSOR_ENABLE_TX_SAMPLE_PERIOD", "PRP06", UINT ],
[ "DEBUG_OUTPUT_MODE", "DBP01", DEBUGMODE ],
[ "GNSS_ASSISTNOW_OFFLINE_EN", "GNP27", BOOLEAN ],
[ "GNSS_TRIGGER_COLD_START_ON_SURFACED", "GNP28", BOOLEAN ],
[ "WCHG_STATUS", "WCT01", TEXT ],
[ "UW_MAX_SAMPLES", "UNP05", UINT ],
[ "UW_MIN_DRY_SAMPLES", "UNP06", UINT ],
[ "UW_SAMPLE_GAP", "UNP07", UINT ],
[ "UW_PIN_SAMPLE_DELAY", "UNP08", UINT ],
[ "UW_DIVE_MODE_ENABLE", "UNP12", BOOLEAN ],
[ "UW_DIVE_MODE_START_TIME", "UNP13", UINT ],
[ "UW_GNSS_DRY_SAMPLING", "UNP14", UINT ],
[ "UW_GNSS_WET_SAMPLING", "UNP15", UINT ],
[ "UW_GNSS_MAX_SAMPLES", "UNP16", UINT ],
[ "UW_GNSS_MIN_DRY_SAMPLES", "UNP17", UINT ],
[ "UW_GNSS_DETECT_THRESH", "UNP18", UINT ],
[ "LB_CRITICAL_THRESH", "LBP12", FLOAT ],
]
@staticmethod
def param_to_key(p):
for (param, key, cls) in DTEParamMap.param_map:
if p == param:
return key
raise Exception('Param {} not found'.format(p))
@staticmethod
def key_to_param(k):
for (param, key, cls) in DTEParamMap.param_map:
if k == key:
return param
raise Exception('Key {} not found'.format(k))
@staticmethod
def decode(k, v):
for (_, key, cls) in DTEParamMap.param_map:
if k == key:
return cls.decode(v)
raise Exception('Key {} not found'.format(k))
@staticmethod
def encode(p, v):
for (param, _, cls) in DTEParamMap.param_map:
if p == param:
return cls.encode(v)
raise Exception('Param {} not found'.format(p))