623
|
1 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
2 ; ============================================================================
|
|
3 ;
|
634
|
4 ; File configuration.inc * combined next generation V3.09.5
|
623
|
5 ;
|
|
6 ; OSTC hwOS Configuration
|
|
7 ;
|
|
8 ; Copyright (c) 2019, HeinrichsWeikamp, all rights reserved.
|
|
9 ; ============================================================================
|
|
10 #endif
|
|
11
|
|
12
|
|
13 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
14 ;
|
|
15 ; Firmware Version
|
|
16 ; ----------------
|
|
17 ;
|
631
|
18 ; fw_version_major firmware version, major (1 - 9)
|
|
19 ; fw_version_minor firmware version, minor (0 - 99)
|
|
20 ; fw_version_beta 0= Release, 1= Beta 1, 2= Beta 2, ... (0 - 99)
|
623
|
21 ;
|
|
22 ; NOTE: all values need to be defined in hex!
|
|
23 ;
|
|
24 #endif
|
|
25
|
631
|
26 #define fw_version_major 0x03
|
634
|
27 #define fw_version_minor 0x0A
|
|
28 #define fw_version_beta 0x00
|
623
|
29
|
|
30
|
|
31 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
32 ;
|
|
33 ; Firmware Creation and Expiration Date
|
|
34 ; -------------------------------------
|
|
35 ;
|
|
36 ; firmware_creation_year/month/day will be used to initialize the RTC on reboot
|
|
37 ;
|
|
38 ; firmware_expire_year/month/day will be used to show firmware version in
|
|
39 ; "update Firmware" style after expiry date
|
|
40 ;
|
|
41 ; NOTE: all values need to be defined in hex!
|
|
42 ;
|
|
43 #endif
|
|
44
|
631
|
45 #define firmware_creation_year 0x14
|
634
|
46 #define firmware_creation_month 0x04
|
|
47 #define firmware_creation_day 0x1C
|
623
|
48
|
631
|
49 #define firmware_expire_year 0x15
|
634
|
50 #define firmware_expire_month 0x02
|
|
51 #define firmware_expire_day 0x01
|
623
|
52
|
|
53
|
|
54 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
55 ;
|
|
56 ; global Version Selection
|
|
57 ; ------------------------
|
|
58 ;
|
634
|
59 ; _hwos_tech_2_TR compile Tech version for OSTC 2, Plus and TR en memory: 118.656 used, 4.224 free
|
|
60 ; _hwos_tech_2_TR_cave compile Tech version for OSTC 2, Plus and TR en memory: 120.883 used, 1.997 free
|
|
61 ; _hwos_tech_3_cR compile Tech version for OSTC 3 and cR en+de memory: 119.496 used, 3.384 free
|
|
62 ; _hwos_tech_3_cR_cave compile Tech version for OSTC 3 and cR en+de memory: 122.079 used, 801 free *
|
|
63 ; _hwos_sport compile Sport version for all models en+de memory: 116.365 used, 6.515 free
|
|
64 ; 122.880 max. available
|
623
|
65 #endif
|
|
66
|
628
|
67 #define _hwos_tech_3_cR
|
623
|
68
|
|
69
|
|
70 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
71 ;
|
|
72 ; Language Selection
|
|
73 ; ------------------
|
|
74 ;
|
|
75 ; _language_1 first or single language,
|
|
76 ; set to 'en', 'de', 'fr', or 'it', defaults to 'en'
|
|
77 ;
|
634
|
78 ; _language_2 second language, coding as above or 'none' mem: approx. 4.0 kB in Sport, 4.3 kB in Tech
|
623
|
79 ;
|
|
80 #endif
|
|
81
|
633
|
82 #define _language_1 en
|
634
|
83 #define _language_2 de
|
623
|
84
|
|
85
|
|
86 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
87 ;
|
634
|
88 ; Features Selection CODE SIZES ARE OUTDATED
|
623
|
89 ; ------------------
|
634
|
90 ; base code without any features, 1 language (en) mem: 93.964 byte
|
|
91 ; _compass compass function mem: + 10.404 byte
|
|
92 ; _helium helium (trimix) gases and diluents mem: + 2.113 byte || both together
|
|
93 ; _ccr_pscr CCR & pSCR modes, basic functionality mem: + 4.117 byte || + 6.250 byte
|
|
94 ; _external_sensor CCR & pSCR modes, external sensor support mem: + 3.343 byte
|
|
95 ; _gauge_mode gauge mode mem: - 28 byte (less)
|
|
96 ; _high_ppO2_max raised ppO2 max limit (2.0 bar) mem: 0 byte (neutral)
|
|
97 ; _rx_functions RX function (OSTC TR) mem: + 4.497 byte
|
|
98 ; _rx_update RX firmware update (OSTC TR) mem: + 2.282 byte (dependent on RX firmware size)
|
|
99 ; _gas_contingency auto-switch to alternative tanks on depleption mem: + 804 byte
|
|
100 ; _cave_mode cave mode return calculation mem: + 3.035 byte
|
|
101 ; _firmware_recovery means for backing up and restoring 2nd firmware mem: + 472 byte
|
|
102 ; _min_depth_option resettable min. and max. depth mem: + 4 byte ## special user group only ##
|
|
103 ; _screendump screen dump function mem: + 348 byte ## special user group only ##
|
623
|
104 ;
|
|
105 ;
|
634
|
106 ; NOTES: - exclude features by prepending NOT_INCLUDED to the label,
|
|
107 ; - sizes may be incorrect by a couple of bytes,
|
|
108 ; - not all features will fit concurrently at the same time or if two languages are slected,
|
|
109 ; - feature sizes are based on single language (english)
|
|
110 ; - feature sizes will increase with 2nd language and will differ slightly between languages,
|
|
111 ; - combinations of features will yield code sizes that differ
|
|
112 ; slightly from the simple sum of the individual sizes.
|
|
113 #endif
|
|
114
|
|
115
|
|
116 #ifdef _base_code
|
|
117
|
|
118 #define NOT_INCLUDED_compass
|
|
119 #define NOT_INCLUDED_helium
|
|
120 #define NOT_INCLUDED_ccr_pscr
|
|
121 #define NOT_INCLUDED_rx_functions
|
|
122 #define NOT_INCLUDED_rx_update
|
|
123 #define NOT_INCLUDED_gauge_mode
|
|
124 #define NOT_INCLUDED_high_ppO2_max
|
|
125 #define NOT_INCLUDED_gas_contingency
|
|
126 #define NOT_INCLUDED_external_sensor
|
|
127 #define NOT_INCLUDED_cave_mode
|
|
128 #define NOT_INCLUDED_firmware_recovery
|
|
129 #define NOT_INCLUDED_min_depth_option
|
|
130 #define NOT_INCLUDED_screendump
|
|
131
|
623
|
132 #endif
|
|
133
|
|
134
|
|
135 #ifdef _hwos_tech_2_TR
|
|
136
|
|
137 #define _compass
|
|
138 #define _helium
|
|
139 #define _ccr_pscr
|
631
|
140 #define _rx_functions
|
|
141 #define _rx_update
|
628
|
142 #define _gauge_mode
|
|
143 #define _high_ppO2_max
|
634
|
144 #define _gas_contingency
|
623
|
145 #define NOT_INCLUDED_external_sensor
|
|
146 #define NOT_INCLUDED_cave_mode
|
634
|
147 #define _firmware_recovery
|
|
148 #define NOT_INCLUDED_min_depth_option
|
|
149 #define NOT_INCLUDED_screendump
|
|
150
|
|
151 #endif
|
|
152
|
|
153
|
|
154 #ifdef _hwos_tech_2_TR_cave
|
|
155
|
|
156 #define _compass
|
|
157 #define _helium
|
|
158 #define _ccr_pscr
|
|
159 #define _rx_functions
|
|
160 #define _rx_update
|
|
161 #define _gauge_mode
|
|
162 #define _high_ppO2_max
|
|
163 #define _gas_contingency
|
|
164 #define NOT_INCLUDED_external_sensor
|
|
165 #define _cave_mode
|
|
166 #define _firmware_recovery
|
623
|
167 #define NOT_INCLUDED_min_depth_option
|
631
|
168 #define NOT_INCLUDED_screendump
|
623
|
169
|
|
170 #endif
|
|
171
|
|
172
|
|
173 #ifdef _hwos_tech_3_cR
|
|
174
|
|
175 #define _compass
|
|
176 #define _helium
|
|
177 #define _ccr_pscr
|
628
|
178 #define _gauge_mode
|
|
179 #define _high_ppO2_max
|
623
|
180 #define NOT_INCLUDED_rx_functions
|
628
|
181 #define NOT_INCLUDED_rx_update
|
631
|
182 #define _external_sensor
|
|
183 #define _gas_contingency
|
634
|
184 #define NOT_INCLUDED_cave_mode
|
|
185 #define _firmware_recovery
|
|
186 #define NOT_INCLUDED_min_depth_option
|
|
187 #define NOT_INCLUDED_screendump
|
|
188
|
|
189 #endif
|
|
190
|
|
191
|
|
192 #ifdef _hwos_tech_3_cR_cave
|
|
193
|
|
194 #define _compass
|
|
195 #define _helium
|
|
196 #define _ccr_pscr
|
|
197 #define _gauge_mode
|
|
198 #define _high_ppO2_max
|
|
199 #define NOT_INCLUDED_rx_functions
|
|
200 #define NOT_INCLUDED_rx_update
|
|
201 #define _external_sensor
|
|
202 #define _gas_contingency
|
|
203 #define _cave_mode
|
|
204 #define _firmware_recovery
|
623
|
205 #define NOT_INCLUDED_min_depth_option
|
631
|
206 #define NOT_INCLUDED_screendump
|
623
|
207
|
|
208 #endif
|
|
209
|
|
210
|
|
211 #ifdef _hwos_sport
|
|
212
|
|
213 #define _compass
|
631
|
214 #define _gas_contingency
|
623
|
215 #define NOT_INCLUDED_helium
|
|
216 #define NOT_INCLUDED_ccr_pscr
|
628
|
217 #define NOT_INCLUDED_gauge_mode
|
|
218 #define NOT_INCLUDED_high_ppO2_max
|
631
|
219 #define _rx_functions
|
|
220 #define _rx_update
|
|
221 #define NOT_INCLUDED_external_sensor
|
623
|
222 #define NOT_INCLUDED_cave_mode
|
634
|
223 #define _firmware_recovery
|
623
|
224 #define NOT_INCLUDED_min_depth_option
|
631
|
225 #define NOT_INCLUDED_screendump
|
623
|
226
|
|
227 #endif
|
|
228
|
|
229
|
|
230 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
231 ;
|
|
232 ; Debug Modes
|
|
233 ; -----------
|
|
234 ;
|
634
|
235 ; _DEBUG put firmware in a global debug mode default: not included
|
|
236 ; _profiling deco engine performance measurements default: not included
|
|
237 ; _debug_output performance outputs (for _profiling) default: not included
|
|
238 ; _comm_debug add run-time adjustable RX timeout default: not included
|
|
239 ; _rx_functions_debug switch to transmitter debug custom view default: not included
|
623
|
240 ;
|
631
|
241 ; NOTE: - Exclude options by prepending NOT_INCLUDED to the label
|
623
|
242 ;
|
|
243 #endif
|
|
244
|
|
245 #define NOT_INCLUDED_DEBUG
|
631
|
246 #define NOT_INCLUDED_profiling
|
623
|
247 #define NOT_INCLUDED_debug_output
|
634
|
248 #define NOT_INCLUDED_comm_debug
|
|
249 #define NOT_INCLUDED_rx_functions_debug
|
628
|
250
|
|
251
|
631
|
252 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
253 ;
|
|
254 ; Auto-Includes (serve functional dependencies)
|
|
255 ;
|
|
256 #endif
|
628
|
257
|
631
|
258 #ifdef _cave_mode
|
|
259 #ifndef _gas_contingency
|
|
260 #define _gas_contingency
|
|
261 #endif
|
|
262 #endif
|
|
263
|
|
264 #ifdef _rx_update
|
|
265 #ifndef _rx_functions
|
|
266 #define _rx_functions
|
|
267 #endif
|
|
268 #endif
|
|
269
|
|
270 #ifdef _external_sensor
|
|
271 #ifndef _ccr_pscr
|
|
272 #define _ccr_pscr
|
|
273 #endif
|
|
274 #endif
|
628
|
275
|
|
276
|
|
277 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
278 ;
|
|
279 ; Software Configuration
|
|
280 ;
|
|
281 #endif
|
|
282
|
|
283 #ifdef _screendump
|
634
|
284 #define FW_CONF_1 0x01
|
628
|
285 #else
|
634
|
286 #define FW_CONF_1 0x00
|
628
|
287 #endif
|
|
288
|
|
289 #ifdef _compass
|
634
|
290 #define FW_CONF_2 0x02
|
628
|
291 #else
|
634
|
292 #define FW_CONF_2 0x00
|
628
|
293 #endif
|
|
294
|
|
295 #ifdef _rx_functions
|
634
|
296 #define FW_CONF_3 0x04
|
628
|
297 #else
|
634
|
298 #define FW_CONF_3 0x00
|
628
|
299 #endif
|
|
300
|
|
301 #ifdef _rx_update
|
634
|
302 #define FW_CONF_4 0x08
|
628
|
303 #else
|
634
|
304 #define FW_CONF_4 0x00
|
628
|
305 #endif
|
|
306
|
|
307 #ifdef _helium
|
634
|
308 #define FW_CONF_5 0x10
|
628
|
309 #else
|
634
|
310 #define FW_CONF_5 0x00
|
628
|
311 #endif
|
|
312
|
|
313 #ifdef _ccr_pscr
|
634
|
314 #define FW_CONF_6 0x20
|
628
|
315 #else
|
634
|
316 #define FW_CONF_6 0x00
|
628
|
317 #endif
|
|
318
|
|
319 #ifdef _external_sensor
|
634
|
320 #define FW_CONF_7 0x40
|
628
|
321 #else
|
634
|
322 #define FW_CONF_7 0x00
|
628
|
323 #endif
|
|
324
|
|
325 #ifdef _cave_mode
|
634
|
326 #define FW_CONF_8 0x80
|
628
|
327 #else
|
634
|
328 #define FW_CONF_8 0x00
|
628
|
329 #endif
|
|
330
|
634
|
331 #define FW_CONF FW_CONF_1 + FW_CONF_2 + FW_CONF_3 + FW_CONF_4 + FW_CONF_5 + FW_CONF_6 + FW_CONF_7 + FW_CONF_8
|
|
332
|
|
333 #define FW_ID LOW( fw_version_major + fw_version_minor + fw_version_beta )
|