diff src/configuration.inc @ 634:4050675965ea

3.10 stable release
author heinrichsweikamp
date Tue, 28 Apr 2020 17:34:31 +0200
parents 690c48db7b5b
children 9a64914a8fca
line wrap: on
line diff
--- a/src/configuration.inc	Thu Mar 05 15:06:14 2020 +0100
+++ b/src/configuration.inc	Tue Apr 28 17:34:31 2020 +0200
@@ -1,7 +1,7 @@
 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 ; ============================================================================
 ; 
-;    File configuration.inc                   combined next generation V3.08.8
+;    File configuration.inc                 * combined next generation V3.09.5
 ; 
 ;    OSTC hwOS Configuration
 ; 
@@ -24,8 +24,8 @@
 #endif
 
 #define fw_version_major		0x03
-#define fw_version_minor		0x09
-#define fw_version_beta			0x02
+#define fw_version_minor		0x0A
+#define fw_version_beta			0x00
 
 
 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -43,12 +43,12 @@
 #endif
 
 #define firmware_creation_year	0x14
-#define firmware_creation_month	0x03
-#define firmware_creation_day	0x05
+#define firmware_creation_month	0x04
+#define firmware_creation_day	0x1C
 
 #define firmware_expire_year	0x15
-#define firmware_expire_month	0x01
-#define firmware_expire_day		0x01
+#define firmware_expire_month	0x02
+#define firmware_expire_day	0x01
 
 
 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -56,10 +56,12 @@
 ; global Version Selection
 ; ------------------------
 ;
-; _hwos_tech_2_TR   compile Tech  version for OSTC 2, Plus and TR (1 language  en   ) memory: 121.832 used, 1.048 free
-; _hwos_tech_3_cR   compile Tech  version for OSTC 3       and cR (2 languages en+de) memory: 122.074 used,   874 free
-; _hwos_sport       compile Sport version for all models          (2 languages en+de) memory: 119.192 used, 3.756 free
-;                                                                                             122.880 max. available
+; _hwos_tech_2_TR        compile Tech  version for OSTC 2, Plus and TR en    memory: 118.656 used, 4.224 free
+; _hwos_tech_2_TR_cave   compile Tech  version for OSTC 2, Plus and TR en    memory: 120.883 used, 1.997 free
+; _hwos_tech_3_cR        compile Tech  version for OSTC 3       and cR en+de memory: 119.496 used, 3.384 free
+; _hwos_tech_3_cR_cave   compile Tech  version for OSTC 3       and cR en+de memory: 122.079 used,   801 free *
+; _hwos_sport            compile Sport version for all models          en+de memory: 116.365 used, 6.515 free
+;                                                                                    122.880 max. available
 #endif
 
 #define _hwos_tech_3_cR
@@ -73,37 +75,60 @@
 ; _language_1			first or single language,
 ;						set to 'en', 'de', 'fr', or 'it', defaults to 'en'
 ;
-; _language_2			second language, coding as above or 'none'		mem: approx. 4.0 kbyte in Sport, 4.228 kbyte in Tech
+; _language_2			second language, coding as above or 'none'		mem: approx. 4.0 kB in Sport, 4.3 kB in Tech
 ; 
 #endif
 
 #define _language_1		en
-#define _language_2		none
+#define _language_2		de
 
 
 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 ;
-; Features Selection
+; Features Selection												 CODE SIZES ARE OUTDATED
 ; ------------------
-;																memory requirements not up-to-date!
-; _compass				compass function								mem: 10.488 byte
-; _helium				helium (trimix) gases and diluents				mem:  2.182 byte
-; _ccr_pscr				CCR & pSCR modes, basic functionality			mem:  4.110 byte
-; _external_sensor		CCR & pSCR modes, external sensor support		mem:  3.452 byte
-; _gauge_mode			gauge mode										mem:     30 byte  when _not_ included
-; _high_ppO2_max		raised ppO2 max limit (2.0 bar)					mem:      0 byte
-; _rx_functions			RX function        (OSTC TR)					mem:  4.886 byte
-; _rx_update			RX firmware update (OSTC TR)					mem:  2.472 byte
-; _cave_mode			cave mode return calculation					mem:    720 byte
-; _gas_contingency		auto-switch to alternative tanks on depleption	mem:    452 byte
-; _min_depth_option		resettable min. and max. depth					mem:    394 byte  ## special user group only ##
-; _screendump			screen dump function							mem:    338 byte  ## special user group only ##
+; base code without any features, 1 language (en)						mem:   93.964 byte
+; _compass				compass function								mem: + 10.404 byte
+; _helium				helium (trimix) gases and diluents				mem: +  2.113 byte || both together
+; _ccr_pscr				CCR & pSCR modes, basic functionality			mem: +  4.117 byte ||  + 6.250 byte
+; _external_sensor		CCR & pSCR modes, external sensor support		mem: +  3.343 byte
+; _gauge_mode			gauge mode										mem: -     28 byte (less)
+; _high_ppO2_max		raised ppO2 max limit (2.0 bar)					mem:        0 byte (neutral)
+; _rx_functions			RX function        (OSTC TR)					mem: +  4.497 byte
+; _rx_update			RX firmware update (OSTC TR)					mem: +  2.282 byte (dependent on RX firmware size)
+; _gas_contingency		auto-switch to alternative tanks on depleption	mem: +    804 byte
+; _cave_mode			cave mode return calculation					mem: +  3.035 byte
+; _firmware_recovery	means for backing up and restoring 2nd firmware mem: +    472 byte
+; _min_depth_option		resettable min. and max. depth					mem: +      4 byte  ## special user group only ##
+; _screendump			screen dump function							mem: +    348 byte  ## special user group only ##
 ;
 ;
-; NOTES: - Exclude options by prepending NOT_INCLUDED to the label.
-;        - Not all options will fit concurrently if two languages are slected.
-;        - Option sizes are based on single language (english), will increase
-;          with 2nd language and will differ slightly between languages.
+; NOTES: - exclude features by prepending NOT_INCLUDED to the label,
+;        - sizes may be incorrect by a couple of bytes,
+;        - not all features will fit concurrently at the same time or if two languages are slected,
+;        - feature sizes are based on single language (english)
+;        - feature sizes will increase with 2nd language and will differ slightly between languages,
+;        - combinations of features will yield code sizes that differ
+;          slightly from the simple sum of the individual sizes.
+#endif
+
+
+#ifdef _base_code
+
+#define NOT_INCLUDED_compass
+#define NOT_INCLUDED_helium
+#define NOT_INCLUDED_ccr_pscr
+#define NOT_INCLUDED_rx_functions
+#define NOT_INCLUDED_rx_update
+#define NOT_INCLUDED_gauge_mode
+#define NOT_INCLUDED_high_ppO2_max
+#define NOT_INCLUDED_gas_contingency
+#define NOT_INCLUDED_external_sensor
+#define NOT_INCLUDED_cave_mode
+#define NOT_INCLUDED_firmware_recovery
+#define NOT_INCLUDED_min_depth_option
+#define NOT_INCLUDED_screendump
+
 #endif
 
 
@@ -116,9 +141,29 @@
 #define _rx_update
 #define _gauge_mode
 #define _high_ppO2_max
+#define _gas_contingency
 #define NOT_INCLUDED_external_sensor
 #define NOT_INCLUDED_cave_mode
-#define NOT_INCLUDED_gas_contingency
+#define _firmware_recovery
+#define NOT_INCLUDED_min_depth_option
+#define NOT_INCLUDED_screendump
+
+#endif
+
+
+#ifdef _hwos_tech_2_TR_cave
+
+#define _compass
+#define _helium
+#define _ccr_pscr
+#define _rx_functions
+#define _rx_update
+#define _gauge_mode
+#define _high_ppO2_max
+#define _gas_contingency
+#define NOT_INCLUDED_external_sensor
+#define _cave_mode
+#define _firmware_recovery
 #define NOT_INCLUDED_min_depth_option
 #define NOT_INCLUDED_screendump
 
@@ -135,9 +180,28 @@
 #define NOT_INCLUDED_rx_functions
 #define NOT_INCLUDED_rx_update
 #define _external_sensor
-#define _cave_mode
 #define _gas_contingency
-#define NOT_INCLUDED_gas_contingency
+#define NOT_INCLUDED_cave_mode
+#define _firmware_recovery
+#define NOT_INCLUDED_min_depth_option
+#define NOT_INCLUDED_screendump
+
+#endif
+
+
+#ifdef _hwos_tech_3_cR_cave
+
+#define _compass
+#define _helium
+#define _ccr_pscr
+#define _gauge_mode
+#define _high_ppO2_max
+#define NOT_INCLUDED_rx_functions
+#define NOT_INCLUDED_rx_update
+#define _external_sensor
+#define _gas_contingency
+#define _cave_mode
+#define _firmware_recovery
 #define NOT_INCLUDED_min_depth_option
 #define NOT_INCLUDED_screendump
 
@@ -156,7 +220,7 @@
 #define _rx_update
 #define NOT_INCLUDED_external_sensor
 #define NOT_INCLUDED_cave_mode
-#define NOT_INCLUDED_gas_contingency
+#define _firmware_recovery
 #define NOT_INCLUDED_min_depth_option
 #define NOT_INCLUDED_screendump
 
@@ -168,9 +232,11 @@
 ; Debug Modes
 ; -----------
 ;
-; _DEBUG			put firmware in a global debug mode		default: not included
-; _profiling		deco engine performance measurements	default: not included
-; _debug_output		performance outputs (for _profiling)	default: not included
+; _DEBUG				put firmware in a global debug mode		default: not included
+; _profiling			deco engine performance measurements	default: not included
+; _debug_output			performance outputs (for _profiling)	default: not included
+; _comm_debug			add run-time adjustable RX timeout		default: not included
+; _rx_functions_debug	switch to transmitter debug custom view	default: not included
 ;
 ; NOTE: - Exclude options by prepending NOT_INCLUDED to the label
 ;
@@ -179,6 +245,8 @@
 #define NOT_INCLUDED_DEBUG
 #define NOT_INCLUDED_profiling
 #define NOT_INCLUDED_debug_output
+#define NOT_INCLUDED_comm_debug
+#define NOT_INCLUDED_rx_functions_debug
 
 
 #ifdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -213,51 +281,53 @@
 #endif
 
 #ifdef _screendump
-#define SW_CONF_1    0x01
+#define FW_CONF_1    0x01
 #else
-#define SW_CONF_1    0x00
+#define FW_CONF_1    0x00
 #endif
 
 #ifdef _compass
-#define SW_CONF_2    0x02
+#define FW_CONF_2    0x02
 #else
-#define SW_CONF_2    0x00
+#define FW_CONF_2    0x00
 #endif
 
 #ifdef _rx_functions
-#define SW_CONF_3    0x04
+#define FW_CONF_3    0x04
 #else
-#define SW_CONF_3    0x00
+#define FW_CONF_3    0x00
 #endif
 
 #ifdef _rx_update
-#define SW_CONF_4    0x08
+#define FW_CONF_4    0x08
 #else
-#define SW_CONF_4    0x00
+#define FW_CONF_4    0x00
 #endif
 
 #ifdef _helium
-#define SW_CONF_5    0x10
+#define FW_CONF_5    0x10
 #else
-#define SW_CONF_5    0x00
+#define FW_CONF_5    0x00
 #endif
 
 #ifdef _ccr_pscr
-#define SW_CONF_6    0x20
+#define FW_CONF_6    0x20
 #else
-#define SW_CONF_6    0x00
+#define FW_CONF_6    0x00
 #endif
 
 #ifdef _external_sensor
-#define SW_CONF_7    0x40
+#define FW_CONF_7    0x40
 #else
-#define SW_CONF_7    0x00
+#define FW_CONF_7    0x00
 #endif
 
 #ifdef _cave_mode
-#define SW_CONF_8    0x80
+#define FW_CONF_8    0x80
 #else
-#define SW_CONF_8    0x00
+#define FW_CONF_8    0x00
 #endif
 
-#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
+#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
+
+#define FW_ID    LOW( fw_version_major + fw_version_minor + fw_version_beta )