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 )