Mercurial > public > hwos_code
annotate src/configuration.inc @ 637:cdff88f5a4a0
Battery menu for OSTC plus
author | heinrichsweikamp |
---|---|
date | Sun, 17 May 2020 09:34:18 +0200 |
parents | 9a64914a8fca |
children | a3b21497d17e |
rev | line source |
---|---|
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 |
635
9a64914a8fca
3.10 re-release addressing some minor issues and language fixes
heinrichsweikamp
parents:
634
diff
changeset
|
46 #define firmware_creation_month 0x05 |
637 | 47 #define firmware_creation_day 0x0A |
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 | |
637 | 67 #define _hwos_tech_2_TR |
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 |
637 | 83 #define _language_2 none |
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 ) |