Mercurial > public > hwos_code
comparison src/configuration.inc @ 634:4050675965ea
3.10 stable release
author | heinrichsweikamp |
---|---|
date | Tue, 28 Apr 2020 17:34:31 +0200 |
parents | 690c48db7b5b |
children | 9a64914a8fca |
comparison
equal
deleted
inserted
replaced
633:690c48db7b5b | 634:4050675965ea |
---|---|
1 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | 1 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
2 ; ============================================================================ | 2 ; ============================================================================ |
3 ; | 3 ; |
4 ; File configuration.inc combined next generation V3.08.8 | 4 ; File configuration.inc * combined next generation V3.09.5 |
5 ; | 5 ; |
6 ; OSTC hwOS Configuration | 6 ; OSTC hwOS Configuration |
7 ; | 7 ; |
8 ; Copyright (c) 2019, HeinrichsWeikamp, all rights reserved. | 8 ; Copyright (c) 2019, HeinrichsWeikamp, all rights reserved. |
9 ; ============================================================================ | 9 ; ============================================================================ |
22 ; NOTE: all values need to be defined in hex! | 22 ; NOTE: all values need to be defined in hex! |
23 ; | 23 ; |
24 #endif | 24 #endif |
25 | 25 |
26 #define fw_version_major 0x03 | 26 #define fw_version_major 0x03 |
27 #define fw_version_minor 0x09 | 27 #define fw_version_minor 0x0A |
28 #define fw_version_beta 0x02 | 28 #define fw_version_beta 0x00 |
29 | 29 |
30 | 30 |
31 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | 31 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
32 ; | 32 ; |
33 ; Firmware Creation and Expiration Date | 33 ; Firmware Creation and Expiration Date |
41 ; NOTE: all values need to be defined in hex! | 41 ; NOTE: all values need to be defined in hex! |
42 ; | 42 ; |
43 #endif | 43 #endif |
44 | 44 |
45 #define firmware_creation_year 0x14 | 45 #define firmware_creation_year 0x14 |
46 #define firmware_creation_month 0x03 | 46 #define firmware_creation_month 0x04 |
47 #define firmware_creation_day 0x05 | 47 #define firmware_creation_day 0x1C |
48 | 48 |
49 #define firmware_expire_year 0x15 | 49 #define firmware_expire_year 0x15 |
50 #define firmware_expire_month 0x01 | 50 #define firmware_expire_month 0x02 |
51 #define firmware_expire_day 0x01 | 51 #define firmware_expire_day 0x01 |
52 | 52 |
53 | 53 |
54 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | 54 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
55 ; | 55 ; |
56 ; global Version Selection | 56 ; global Version Selection |
57 ; ------------------------ | 57 ; ------------------------ |
58 ; | 58 ; |
59 ; _hwos_tech_2_TR compile Tech version for OSTC 2, Plus and TR (1 language en ) memory: 121.832 used, 1.048 free | 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_3_cR compile Tech version for OSTC 3 and cR (2 languages en+de) memory: 122.074 used, 874 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_sport compile Sport version for all models (2 languages en+de) memory: 119.192 used, 3.756 free | 61 ; _hwos_tech_3_cR compile Tech version for OSTC 3 and cR en+de memory: 119.496 used, 3.384 free |
62 ; 122.880 max. available | 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 | |
63 #endif | 65 #endif |
64 | 66 |
65 #define _hwos_tech_3_cR | 67 #define _hwos_tech_3_cR |
66 | 68 |
67 | 69 |
71 ; ------------------ | 73 ; ------------------ |
72 ; | 74 ; |
73 ; _language_1 first or single language, | 75 ; _language_1 first or single language, |
74 ; set to 'en', 'de', 'fr', or 'it', defaults to 'en' | 76 ; set to 'en', 'de', 'fr', or 'it', defaults to 'en' |
75 ; | 77 ; |
76 ; _language_2 second language, coding as above or 'none' mem: approx. 4.0 kbyte in Sport, 4.228 kbyte in Tech | 78 ; _language_2 second language, coding as above or 'none' mem: approx. 4.0 kB in Sport, 4.3 kB in Tech |
77 ; | 79 ; |
78 #endif | 80 #endif |
79 | 81 |
80 #define _language_1 en | 82 #define _language_1 en |
81 #define _language_2 none | 83 #define _language_2 de |
82 | 84 |
83 | 85 |
84 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | 86 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
85 ; | 87 ; |
86 ; Features Selection | 88 ; Features Selection CODE SIZES ARE OUTDATED |
87 ; ------------------ | 89 ; ------------------ |
88 ; memory requirements not up-to-date! | 90 ; base code without any features, 1 language (en) mem: 93.964 byte |
89 ; _compass compass function mem: 10.488 byte | 91 ; _compass compass function mem: + 10.404 byte |
90 ; _helium helium (trimix) gases and diluents mem: 2.182 byte | 92 ; _helium helium (trimix) gases and diluents mem: + 2.113 byte || both together |
91 ; _ccr_pscr CCR & pSCR modes, basic functionality mem: 4.110 byte | 93 ; _ccr_pscr CCR & pSCR modes, basic functionality mem: + 4.117 byte || + 6.250 byte |
92 ; _external_sensor CCR & pSCR modes, external sensor support mem: 3.452 byte | 94 ; _external_sensor CCR & pSCR modes, external sensor support mem: + 3.343 byte |
93 ; _gauge_mode gauge mode mem: 30 byte when _not_ included | 95 ; _gauge_mode gauge mode mem: - 28 byte (less) |
94 ; _high_ppO2_max raised ppO2 max limit (2.0 bar) mem: 0 byte | 96 ; _high_ppO2_max raised ppO2 max limit (2.0 bar) mem: 0 byte (neutral) |
95 ; _rx_functions RX function (OSTC TR) mem: 4.886 byte | 97 ; _rx_functions RX function (OSTC TR) mem: + 4.497 byte |
96 ; _rx_update RX firmware update (OSTC TR) mem: 2.472 byte | 98 ; _rx_update RX firmware update (OSTC TR) mem: + 2.282 byte (dependent on RX firmware size) |
97 ; _cave_mode cave mode return calculation mem: 720 byte | 99 ; _gas_contingency auto-switch to alternative tanks on depleption mem: + 804 byte |
98 ; _gas_contingency auto-switch to alternative tanks on depleption mem: 452 byte | 100 ; _cave_mode cave mode return calculation mem: + 3.035 byte |
99 ; _min_depth_option resettable min. and max. depth mem: 394 byte ## special user group only ## | 101 ; _firmware_recovery means for backing up and restoring 2nd firmware mem: + 472 byte |
100 ; _screendump screen dump function mem: 338 byte ## special user group only ## | 102 ; _min_depth_option resettable min. and max. depth mem: + 4 byte ## special user group only ## |
101 ; | 103 ; _screendump screen dump function mem: + 348 byte ## special user group only ## |
102 ; | 104 ; |
103 ; NOTES: - Exclude options by prepending NOT_INCLUDED to the label. | 105 ; |
104 ; - Not all options will fit concurrently if two languages are slected. | 106 ; NOTES: - exclude features by prepending NOT_INCLUDED to the label, |
105 ; - Option sizes are based on single language (english), will increase | 107 ; - sizes may be incorrect by a couple of bytes, |
106 ; with 2nd language and will differ slightly between languages. | 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 | |
107 #endif | 132 #endif |
108 | 133 |
109 | 134 |
110 #ifdef _hwos_tech_2_TR | 135 #ifdef _hwos_tech_2_TR |
111 | 136 |
114 #define _ccr_pscr | 139 #define _ccr_pscr |
115 #define _rx_functions | 140 #define _rx_functions |
116 #define _rx_update | 141 #define _rx_update |
117 #define _gauge_mode | 142 #define _gauge_mode |
118 #define _high_ppO2_max | 143 #define _high_ppO2_max |
144 #define _gas_contingency | |
119 #define NOT_INCLUDED_external_sensor | 145 #define NOT_INCLUDED_external_sensor |
120 #define NOT_INCLUDED_cave_mode | 146 #define NOT_INCLUDED_cave_mode |
121 #define NOT_INCLUDED_gas_contingency | 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 | |
122 #define NOT_INCLUDED_min_depth_option | 167 #define NOT_INCLUDED_min_depth_option |
123 #define NOT_INCLUDED_screendump | 168 #define NOT_INCLUDED_screendump |
124 | 169 |
125 #endif | 170 #endif |
126 | 171 |
133 #define _gauge_mode | 178 #define _gauge_mode |
134 #define _high_ppO2_max | 179 #define _high_ppO2_max |
135 #define NOT_INCLUDED_rx_functions | 180 #define NOT_INCLUDED_rx_functions |
136 #define NOT_INCLUDED_rx_update | 181 #define NOT_INCLUDED_rx_update |
137 #define _external_sensor | 182 #define _external_sensor |
183 #define _gas_contingency | |
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 | |
138 #define _cave_mode | 203 #define _cave_mode |
139 #define _gas_contingency | 204 #define _firmware_recovery |
140 #define NOT_INCLUDED_gas_contingency | |
141 #define NOT_INCLUDED_min_depth_option | 205 #define NOT_INCLUDED_min_depth_option |
142 #define NOT_INCLUDED_screendump | 206 #define NOT_INCLUDED_screendump |
143 | 207 |
144 #endif | 208 #endif |
145 | 209 |
154 #define NOT_INCLUDED_high_ppO2_max | 218 #define NOT_INCLUDED_high_ppO2_max |
155 #define _rx_functions | 219 #define _rx_functions |
156 #define _rx_update | 220 #define _rx_update |
157 #define NOT_INCLUDED_external_sensor | 221 #define NOT_INCLUDED_external_sensor |
158 #define NOT_INCLUDED_cave_mode | 222 #define NOT_INCLUDED_cave_mode |
159 #define NOT_INCLUDED_gas_contingency | 223 #define _firmware_recovery |
160 #define NOT_INCLUDED_min_depth_option | 224 #define NOT_INCLUDED_min_depth_option |
161 #define NOT_INCLUDED_screendump | 225 #define NOT_INCLUDED_screendump |
162 | 226 |
163 #endif | 227 #endif |
164 | 228 |
166 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | 230 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
167 ; | 231 ; |
168 ; Debug Modes | 232 ; Debug Modes |
169 ; ----------- | 233 ; ----------- |
170 ; | 234 ; |
171 ; _DEBUG put firmware in a global debug mode default: not included | 235 ; _DEBUG put firmware in a global debug mode default: not included |
172 ; _profiling deco engine performance measurements default: not included | 236 ; _profiling deco engine performance measurements default: not included |
173 ; _debug_output performance outputs (for _profiling) 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 | |
174 ; | 240 ; |
175 ; NOTE: - Exclude options by prepending NOT_INCLUDED to the label | 241 ; NOTE: - Exclude options by prepending NOT_INCLUDED to the label |
176 ; | 242 ; |
177 #endif | 243 #endif |
178 | 244 |
179 #define NOT_INCLUDED_DEBUG | 245 #define NOT_INCLUDED_DEBUG |
180 #define NOT_INCLUDED_profiling | 246 #define NOT_INCLUDED_profiling |
181 #define NOT_INCLUDED_debug_output | 247 #define NOT_INCLUDED_debug_output |
248 #define NOT_INCLUDED_comm_debug | |
249 #define NOT_INCLUDED_rx_functions_debug | |
182 | 250 |
183 | 251 |
184 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | 252 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
185 ; | 253 ; |
186 ; Auto-Includes (serve functional dependencies) | 254 ; Auto-Includes (serve functional dependencies) |
211 ; Software Configuration | 279 ; Software Configuration |
212 ; | 280 ; |
213 #endif | 281 #endif |
214 | 282 |
215 #ifdef _screendump | 283 #ifdef _screendump |
216 #define SW_CONF_1 0x01 | 284 #define FW_CONF_1 0x01 |
217 #else | 285 #else |
218 #define SW_CONF_1 0x00 | 286 #define FW_CONF_1 0x00 |
219 #endif | 287 #endif |
220 | 288 |
221 #ifdef _compass | 289 #ifdef _compass |
222 #define SW_CONF_2 0x02 | 290 #define FW_CONF_2 0x02 |
223 #else | 291 #else |
224 #define SW_CONF_2 0x00 | 292 #define FW_CONF_2 0x00 |
225 #endif | 293 #endif |
226 | 294 |
227 #ifdef _rx_functions | 295 #ifdef _rx_functions |
228 #define SW_CONF_3 0x04 | 296 #define FW_CONF_3 0x04 |
229 #else | 297 #else |
230 #define SW_CONF_3 0x00 | 298 #define FW_CONF_3 0x00 |
231 #endif | 299 #endif |
232 | 300 |
233 #ifdef _rx_update | 301 #ifdef _rx_update |
234 #define SW_CONF_4 0x08 | 302 #define FW_CONF_4 0x08 |
235 #else | 303 #else |
236 #define SW_CONF_4 0x00 | 304 #define FW_CONF_4 0x00 |
237 #endif | 305 #endif |
238 | 306 |
239 #ifdef _helium | 307 #ifdef _helium |
240 #define SW_CONF_5 0x10 | 308 #define FW_CONF_5 0x10 |
241 #else | 309 #else |
242 #define SW_CONF_5 0x00 | 310 #define FW_CONF_5 0x00 |
243 #endif | 311 #endif |
244 | 312 |
245 #ifdef _ccr_pscr | 313 #ifdef _ccr_pscr |
246 #define SW_CONF_6 0x20 | 314 #define FW_CONF_6 0x20 |
247 #else | 315 #else |
248 #define SW_CONF_6 0x00 | 316 #define FW_CONF_6 0x00 |
249 #endif | 317 #endif |
250 | 318 |
251 #ifdef _external_sensor | 319 #ifdef _external_sensor |
252 #define SW_CONF_7 0x40 | 320 #define FW_CONF_7 0x40 |
253 #else | 321 #else |
254 #define SW_CONF_7 0x00 | 322 #define FW_CONF_7 0x00 |
255 #endif | 323 #endif |
256 | 324 |
257 #ifdef _cave_mode | 325 #ifdef _cave_mode |
258 #define SW_CONF_8 0x80 | 326 #define FW_CONF_8 0x80 |
259 #else | 327 #else |
260 #define SW_CONF_8 0x00 | 328 #define FW_CONF_8 0x00 |
261 #endif | 329 #endif |
262 | 330 |
263 #define SW_CONF SW_CONF_1 + SW_CONF_2 + SW_CONF_3 + SW_CONF_4 + SW_CONF_5 + SW_CONF_6 + SW_CONF_7 + SW_CONF_8 | 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 ) |