Mercurial > public > hwos_code
annotate src/configuration.inc @ 638:a3b21497d17e
Merge
| author | heinrichsweikamp |
|---|---|
| date | Mon, 25 May 2020 17:36:50 +0200 |
| parents | 2737ddc643bb cdff88f5a4a0 |
| children | 0ff82370991d |
| 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 |
| 636 | 27 #define fw_version_minor 0x0B |
| 634 | 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 |
| 636 | 47 #define firmware_creation_day 0x19 |
| 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 ) |
