diff src/divemode.inc @ 623:c40025d8e750

3.03 beta released
author heinrichsweikamp
date Mon, 03 Jun 2019 14:01:48 +0200
parents 7b3903536213
children cd58f7fc86db
line wrap: on
line diff
--- a/src/divemode.inc	Wed Apr 10 10:51:07 2019 +0200
+++ b/src/divemode.inc	Mon Jun 03 14:01:48 2019 +0200
@@ -1,6 +1,6 @@
 ;=============================================================================
 ;
-;   File divemode.inc								REFACTORED VERSION V2.99f
+;   File divemode.inc                         combined next generation V3.03.2
 ;
 ;
 ;   Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved.
@@ -11,62 +11,87 @@
 	extern	set_dive_modes
 	extern	diveloop
 	extern	apnoe_calc_maxdepth
+
+ IFDEF _external_sensor
 	extern	calc_deko_divemode_sensor
+ ENDIF
 
 
 ; Divemode layout:
-; row    =0...239
-; column =0...159 (x2)
+; row    = 0...239
+; column = 0...159 (x2)
 
 ; Divemode has multiple layouts but basicly splits the screen into 3 rows:
 ;   - upper  content row: depth, max depth, dive time, etc.
-;   - custom content view with selectable views
-;   - bottom content: temp, gas, ndl, tts, etc.
+;   - custom content row: selectable views
+;   - bottom content row: temp, gas, ndl, tts, etc.
 
 ; I. The upper content row (0-99)
-;    The top row can be divided 2 areas: 
-;    - header : has the titles (mask)
-;    - content: has the values
-;******* Upper content / header row *******
+;    The top row is divided in 2 areas:
+;    - header : holds the titles (mask)
+;    - content: holds the values
+
+;******* upper content / header row *******
+
 #DEFINE dm_mask_depth_row						.0
-#DEFINE dm_mask_depth_column					.12
+#DEFINE dm_mask_depth_column					.2
+#DEFINE dm_mask_depth_column_alt				.64
+
 #DEFINE dm_mask_maxdepth_row					.0
-#DEFINE dm_mask_maxdepth_column					.73
-#DEFINE dm_mask_maxdepth_column_nvsi			.63
+#DEFINE dm_mask_maxdepth_col					.73
+#DEFINE dm_mask_maxdepth_col_nvsi				.63
+
 #DEFINE dm_mask_divetime_row					.0
-#DEFINE dm_mask_divetime_column					.115
+#DEFINE dm_mask_divetime_column					.122
+
 
 ;   The content row contains 3 columns:
 ;   - depth and ascend rate warning
 ;   - max depth and warning messages
 ;   - dive time, apnea dive times and warning icon
-;   DIVEMODE_OFFSET=position below the title row
-;******* Upper content / content row / 1st col *******
+
+;******* upper content / content row / 1st col *******
+
 ; GLOBAL
-#DEFINE dm_offset								.14								;  14
-; Depth
-#DEFINE dm_depth_row							dm_offset						; TOP  - 14 - start position of the depth numbers
-#DEFINE dm_depth_column							.0								; LEFT - 0
-#DEFINE dm_depth_bot							dm_depth_row+.61				;  75
-#DEFINE dm_depth_rgt							dm_depth_column+.59				;  59
-#DEFINE dm_depth_dm_row							dm_depth_row+.25				;  39 - if metric and d<100, decimeter shown as: ".5"
-#DEFINE dm_depth_dm_column						dm_depth_column+.40				;  40 - bottom aligned so it has its own position (2nd content line only)
-; Ascend rate
-#DEFINE dm_velocity_text_row					dm_depth_row+.62				;  76
-#DEFINE dm_velocity_text_column					dm_depth_column					;   0
-#DEFINE dm_velocity_text_bot					dm_velocity_text_row+.23		;  99
-#DEFINE dm_velocity_text_rgt					dm_depth_rgt					;  61
-; Ascend/Descend bar
-#DEFINE dm_velobar_top							dm_offset						;  14
-#DEFINE dm_velobar_lft							dm_depth_rgt+.1					;  62
-#DEFINE dm_velobar_bot							dm_offset+.70					;  84
-#DEFINE dm_velobar_rgt							.73								;  73
-#DEFINE dm_velobar_width						.12
+#DEFINE dm_offset								.14								;  14  start of content row
+
+; Depth - full meters or feet
+#DEFINE dm_depth_row_large						dm_offset						;  14
+#DEFINE dm_depth_col_large						.0								;   0
+#DEFINE dm_depth_bot_large						dm_depth_row_large+.61			;  75
+#DEFINE dm_depth_rgt_large						dm_depth_col_large+.59			;  59
+#DEFINE dm_depth_row_huge						.7								;   7
+#DEFINE dm_depth_col_huge						.0								;   0
+#DEFINE dm_depth_bot_huge						dm_depth_row_huge+.90			;  97
+#DEFINE dm_depth_rgt_huge						dm_depth_col_huge+.90			;  90
+
+; Depth - position of decimeters (shown if depth < 100 m)
+#DEFINE dm_depth_dm_row_medium					dm_depth_row_large+.25			;  39
+#DEFINE dm_depth_dm_col_medium					dm_depth_col_large+.40			;  40
+#DEFINE dm_depth_dm_row_large					.37								;  37
+#DEFINE dm_depth_dm_col_large					dm_depth_col_large+.58			;  58
 
-;******* Upper content / content row / 2nd col *******
-#DEFINE dm_upcnt_2ndcol							.74								;  74
-#DEFINE dm_upcnt_2ndcol_nvsi					.64								;  64
-; Max depth
+; ascend rate - textual display
+#DEFINE dm_velocity_text_row_norm				dm_depth_row_large+.62			;  76
+#DEFINE dm_velocity_text_col_norm				dm_depth_col_large				;   0
+#DEFINE dm_velocity_text_bot_norm				dm_velocity_text_row_norm+.23	;  99
+#DEFINE dm_velocity_text_rgt_norm				dm_depth_rgt_large				;  59
+
+; ascend/descend rate - graphical display
+#DEFINE dm_velocity_graph_top					dm_offset+.10					;  24
+#DEFINE dm_velocity_graph_lft					dm_depth_rgt_large+.3			;  61		+2 / 61
+#DEFINE dm_velocity_graph_bot					dm_velocity_graph_top+.70		;  94
+#DEFINE dm_velocity_graph_rgt					dm_upcnt_2ndcol-.3				;  72		-2 / 72
+#DEFINE dm_velocity_graph_width					.10								;  12		12
+
+
+;******* upper content / content row / 2nd col *******
+
+; Start column
+#DEFINE dm_upcnt_2ndcol							.74								;  74 - with vertical speed indicator enabled
+#DEFINE dm_upcnt_2ndcol_nvsi					.64								;  64 - with vertical speed indicator disabled
+
+; max depth
 #DEFINE dm_max_depth_row						dm_offset						;  14
 #DEFINE dm_max_depth_column						dm_upcnt_2ndcol					;  74
 #DEFINE dm_max_depth_column_nvsi				dm_upcnt_2ndcol_nvsi			;  64
@@ -78,150 +103,191 @@
 #DEFINE dm_max_alt_column						.0								;   0
 #DEFINE dm_max_alt_row							.170							; 170
 #DEFINE dm_max_dm_alt_column					dm_max_alt_column+.60			;  60
+
 ; Warning area (combined)
 #DEFINE dm_warning_row							dm_offset+.36					;  50
-#DEFINE dm_warning_column						dm_upcnt_2ndcol					;  74
+#DEFINE dm_warning_column						dm_upcnt_2ndcol+.23				;  97	ex +.0
 #DEFINE dm_warning_bot							dm_warning_row+.49				;  99
 #DEFINE dm_warning_rgt							dm_warning_column+.62			; 136
-#DEFINE dm_warning_length						.9								; total string length
+#DEFINE dm_warning_length						.9								;      total string length in number of characters
+
 ; Warning row #1
 #DEFINE dm_warning1_row							dm_warning_row					;  50
 #DEFINE dm_warning1_column						dm_warning_column				;  64
 #DEFINE dm_warning1_bot							dm_warning1_row+.23				;  73
 #DEFINE dm_warning1_rgt							dm_warning_rgt					; 136
+
 ; Warning row #2
 #DEFINE dm_warning2_row							dm_warning_row+.24				;  74
 #DEFINE dm_warning2_column						dm_warning_column				;  64
 #DEFINE dm_warning2_bot							dm_warning2_row+.23				;  97
 #DEFINE dm_warning2_rgt							dm_warning_rgt					; 136
 
-;******* Upper content / content row / 3rd col *******
+
+;******* upper content / content row / 3rd col *******
+
 ; Dive time
 #DEFINE dm_divetime_row							dm_offset						;  14
-#DEFINE dm_divetime_column						.115							; 115
-#DEFINE dm_divetime_minsonly_column				.111							; 111
-#DEFINE dm_divetime_bot							dm_divetime_row+.34				;  48
+#DEFINE dm_divetime_col_medium					.115							; 115
+#DEFINE dm_divetime_col_large					.91								;  91
+#DEFINE dm_divetime_bot_medium					dm_divetime_row+.34				;  48
+#DEFINE dm_divetime_bot_large					dm_divetime_row+.57				;  71
 #DEFINE dm_divetime_rgt							.159							; 159
-#DEFINE dm_divetime_secs_row					dm_divetime_row+.11				;  25
-#DEFINE dm_divetime_secs_column					dm_divetime_column+.24			; 139
-#DEFINE dm_divetime_alt_row						dm_offset						;  14
-#DEFINE dm_divetime_alt_column					.68								;  68
-; Warning icon
-#DEFINE dm_warning_icon_row						dm_offset+.41					;  55
-#DEFINE dm_warning_icon_column					.137							; 137
-#DEFINE dm_warning_icon_bot						dm_warning_icon_row+.38			;  93
-#DEFINE dm_warning_icon_rgt						dm_warning_icon_column+.21		; 156
+
+#DEFINE dm_divetime_sec_row_small				dm_divetime_row+.11				;  25
+#DEFINE dm_divetime_sec_col_small				dm_divetime_col_medium+.23		; 138
+#DEFINE dm_divetime_minonly_col_medium			.111							; 111
+
+#DEFINE dm_divetime_sec_row_medium				dm_divetime_sec_row_small+.13	;  38
+#DEFINE dm_divetime_sec_col_medium				dm_divetime_col_large+.39		; 130
+#DEFINE dm_divetime_minonly_col_large			dm_divetime_col_large+.8		;  99
+
+; Sign - normal layout
+#DEFINE dm_sign_row_norm						dm_offset+.41					;  55
+#DEFINE dm_sign_col_norm						.74								;  74
+#DEFINE dm_sign_bot_norm						dm_sign_row_norm+.38			;  93
+#DEFINE dm_sign_rgt_norm						dm_sign_col_norm+.22			;  96
+
 ; Apnea dive time
 #DEFINE dm_divetime_apnoe_row					dm_offset						;  14
-#DEFINE dm_divetime_apnoe_column				.103							; 103
+#DEFINE dm_divetime_apnoe_col					.115							; 115
 #DEFINE dm_divetime_apnoe_secs_row				dm_divetime_apnoe_row+.11		;  25
-#DEFINE dm_divetime_apnoe_secs_column			dm_divetime_apnoe_column+.36	; 139
+#DEFINE dm_divetime_apnoe_secs_col				dm_divetime_apnoe_col+.24		; 139
+
 ; Apnea total time
 #DEFINE dm_apnoe_total_divetime_row				dm_divetime_apnoe_row+.50		;  64
-#DEFINE dm_apnoe_total_divetime_column			dm_divetime_apnoe_column		; 103
+#DEFINE dm_apnoe_total_divetime_col				.103							; 103
 #DEFINE dm_apnoe_total_divetime_secs_row		dm_apnoe_total_divetime_row+.11	;  75
-#DEFINE dm_apnoe_total_divetime_secs_col		dm_divetime_apnoe_column+.36	; 139
+#DEFINE dm_apnoe_total_divetime_secs_col		dm_apnoe_total_divetime_col+.36	; 139
 #DEFINE dm_total_apnoe_text_row					dm_apnoe_total_divetime_row-.11	;  53
-#DEFINE dm_total_apnoe_text_column				.132							; 132
-; I. End of the upper content row. (0-99)
+#DEFINE dm_total_apnoe_text_col					.132							; 132
+
+; I. end of the upper content row. (0-99)
 
 ; 1px space between the 1st and 2nd content rows
 #DEFINE dm_sep_1_2_row							dm_offset+.86					; 100
 
-; II. Custom/selectable content row
+
+; II. custom/selectable content row
+
 ;   The custom view display area is: 101,163,0,159 (t,b,l,r), or 0,101->159,163
 
 ;******* Custom View: Global *******
+
 #DEFINE dm_customview_row						dm_offset+.87					; 101
 #DEFINE dm_customview_column					.0								;   0
 #DEFINE dm_customview_bot						dm_customview_row+.62			; 163
 #DEFINE dm_customview_rgt						.159							; 159
 
+
 ;******* Custom View: Avg depth, stopwatch and avg depth *******
+
 #DEFINE dm_custom_avr_stop_title_row			dm_customview_row+.1			; 102
 #DEFINE dm_custom_avr_stop_row					dm_customview_row+.16			; 117
 #DEFINE dm_custom_avr_stop_column1				.0								;   0
 #DEFINE dm_custom_avr_stop_column2				.54								;  54
 #DEFINE dm_custom_avr_stop_column3				.118							; 118
 
+
 ;******* Custom View: Decompressions stops *******
+
 ; Title
 #DEFINE dm_custom_decoplan_title_row			dm_customview_row				; 101
-#DEFINE dm_custom_decoplan_title_column			.65								;  65
+#DEFINE dm_custom_decoplan_title_column			.60								;  60
+
 ; 1st col
 #DEFINE dm_cust_dstop_2nd_stop_row				dm_customview_row+.14			; 115
 #DEFINE dm_cust_dstop_2nd_stop_column			.0								;   0
 #DEFINE dm_cust_dstop_3rd_stop_row				dm_customview_row+.37			; 138
 #DEFINE dm_cust_dstop_3rd_stop_column			dm_cust_dstop_2nd_stop_column	;   0
+
 ; 2nd col
 #DEFINE dm_cust_dstop_4th_stop_row				dm_cust_dstop_2nd_stop_row		; 115
 #DEFINE dm_cust_dstop_4th_stop_column			.56								;  56
 #DEFINE dm_cust_dstop_5th_stop_row				dm_cust_dstop_3rd_stop_row		; 138
 #DEFINE dm_cust_dstop_5th_stop_column			dm_cust_dstop_4th_stop_column	;  56
+
 ; 3rd col
 #DEFINE dm_cust_dstop_6th_stop_row				dm_cust_dstop_2nd_stop_row		; 115
 #DEFINE dm_cust_dstop_6th_stop_column			.111							; 111
 #DEFINE dm_cust_dstop_7th_stop_row				dm_cust_dstop_3rd_stop_row		; 138
 #DEFINE dm_cust_dstop_7th_stop_column			dm_cust_dstop_6th_stop_column	; 111
 
+
 ;******* Custom View: Time, Battery, Surface Pressure *******
+
 ; Clock
 #DEFINE dm_custom_clock_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_clock_row						dm_customview_row+.16			; 117
 #DEFINE dm_custom_clock_column					.0								;   0
+
 ; Battery
 #DEFINE dm_custom_battery_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_battery_volt_row				dm_customview_row+.16			; 117
 #DEFINE dm_custom_battery_percent_row			dm_custom_ead_row+.23			; 140
 #DEFINE dm_custom_battery_column				.62								;  62
+
 ; Surface Pressure
 #DEFINE dm_custom_surfpres_title_row			dm_customview_row+.1			; 102
 #DEFINE dm_custom_surfpres_row					dm_customview_row+.16			; 117
 #DEFINE dm_custom_surfpres_column				.95								;  95
 
+
 ;****** Custom View: ppO2, EAD/ENDS and CNS *******
+
 ; ppO2
 #DEFINE dm_custom_ppo2_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_ppo2_row						dm_customview_row+.18			; 119
 #DEFINE dm_custom_ppo2_column					.2								;   2
+
 ; EAD/END
 #DEFINE dm_custom_eadend_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_ead_row						dm_customview_row+.16			; 117
 #DEFINE dm_custom_ead_column					.50								;  50
 #DEFINE dm_custom_end_row						dm_custom_ead_row+.23			; 140
 #DEFINE dm_custom_end_column					dm_custom_ead_column			;  50
+
 ; CNS
 #DEFINE dm_custom_cns_title_row					dm_customview_row+.1			; 102
 #DEFINE dm_custom_cns_row						dm_customview_row+.18			; 119
 #DEFINE dm_custom_cns_column					.115							; 115
 
+
 ;****** Custom View: tripple CNS *******
+
 #DEFINE dm_custom_cns3_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_cns3_row						dm_customview_row+.16			; 117
 #DEFINE dm_custom_cns3_column1					.8								;   8
 #DEFINE dm_custom_cns3_column2					.62								;  62
 #DEFINE dm_custom_cns3_column3					.115							; 115
 
+
 ;****** Custom View: Ceiling, Tissues, (current GF)
+
 ; Ceiling
 #DEFINE dm_custom_ceiling_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_ceiling_row					dm_customview_row+.18			; 119
 #DEFINE dm_custom_ceiling_column				.62								;  62
+
 ; Tissue title
 #DEFINE dm_custom_tissue_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_tissue_title_column			.120							; 120
+
 ; N2 / He values
 #DEFINE dm_custom_tissue_N2_row					dm_custom_ead_row+.5			; 122
 #DEFINE dm_custom_tissue_N2_column				.105							; 105
 #DEFINE dm_custom_tissue_He_row					dm_custom_end_row+.5			; 145
 #DEFINE dm_custom_tissue_He_column				dm_custom_tissue_N2_column		; 105
+
 ; Tissue diagram
 #DEFINE dm_custom_tissue_diagram_top			dm_customview_row+.16			; 117
 #DEFINE dm_custom_tissue_diagram_bottom			dm_custom_tissue_diagram_top+.43; 160
 #DEFINE dm_custom_tissue_diagram_left			.116							; 116
 #DEFINE dm_custom_tissue_diagram_frame_spacing	.8								;   8
 
+
 ;******* Custom View: GF-lo/hi, aGF-lo/hi, current GF value *******
+
 ; Title
 #DEFINE dm_custom_gf_title_row					dm_customview_row+.1			; 102
 #DEFINE dm_custom_gf_row						dm_customview_row+.18			; 119
@@ -229,15 +295,19 @@
 #DEFINE dm_custom_gf_column2					.65								;  65
 #DEFINE dm_custom_gf_column3					.95								;  95
 
+
 ;******* Custom View: Compass *******
+
 ; Title
 #DEFINE dm_custom_compass_mask_row				dm_customview_row				; 101
 #DEFINE dm_custom_compass_mask_column			.65								;  65
+
 ; Head and arrows
 #DEFINE dm_custom_compass_head_row				dm_customview_row+.39			; 140
 #DEFINE dm_custom_compass_head_column			.62								;  62
 #DEFINE dm_custom_compass_ldir_column			.5								;   5
 #DEFINE dm_custom_compass_rdir_column			.140							; 140
+
 ; Ruler
 #DEFINE dm_custom_compass_graph_row				dm_customview_row				; 101
 #DEFINE dm_custom_compass_graph_height			.33								;  33
@@ -249,14 +319,18 @@
 #DEFINE dm_custom_compass_tick_bot_top			dm_custom_compass_graph_row+.30	; 131
 #DEFINE dm_custom_compass_tick_bot_bot			dm_custom_compass_graph_row+.33	; 134
 
+
 ;******* Custom View: O2 Sensor Values *******
+
 #DEFINE dm_custom_hud_title_row					dm_customview_row+.1			; 102
 #DEFINE dm_custom_hud_row						dm_customview_row+.16			; 117
 #DEFINE dm_custom_hud_sensor1_column			.6								;   6
 #DEFINE dm_custom_hud_sensor2_column			.62								;  62
 #DEFINE dm_custom_hud_sensor3_column			.118							; 118
 
+
 ;******* Custom View: Gas Needs *******
+
 #DEFINE dm_custom_gas_mask_row					dm_customview_row				; 101
 #DEFINE dm_custom_gas_row1						dm_customview_row+.14			; 115
 #DEFINE dm_custom_gas_row2						dm_customview_row+.37			; 138
@@ -264,27 +338,34 @@
 #DEFINE dm_custom_gas_column1					.5								;   5
 #DEFINE dm_custom_gas_column2					.85								;  85
 
+
 ; ******* Custom View: Tank Pressures *******
+
 #DEFINE dm_custom_tankdata_mask_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_tankdata_row					dm_customview_row+.16			; 117
 #DEFINE dm_custom_tankdata_pres1_col			.2								;   2
 #DEFINE dm_custom_tankdata_pres2_col			.115							; 115
 #DEFINE dm_custom_tankdata_SAC_col				.56								;  56
 
+
 ;******* Custom View: Sensor Check *******
+
 #DEFINE dm_custom_s_check_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_s_check_row					dm_customview_row+.18			; 119
 #DEFINE dm_custom_s_check_title_column			.50								;  50
 #DEFINE dm_custom_ppO2_column					.115							; 115
 #DEFINE dm_custom_ppDil_column					.2								;   2
 
+
 ;******* Custom View: PSCR Info *******
+
 #DEFINE dm_custom_pscr_title_row				dm_customview_row+.1			; 102
 #DEFINE dm_custom_pscr_row						dm_customview_row+.18			; 119
 #DEFINE dm_custom_pscr_drop_column				.55								;  55
 #DEFINE dm_custom_pscr_ratio_column				.105							; 105
 
-; II. End of the custom content row (101-163)
+
+; II. end of the custom content row (101-163)
 
 ; 1px space between the 2nd and 3rd content rows
 #DEFINE dm_sep_2_3_row							dm_offset+.150					; 164
@@ -295,70 +376,126 @@
 ;  The content row contains 2 columns:
 ;   - temperature, gas names
 ;   - NDL/TTS, DecoStop
+
 #DEFINE dm_3rdrow_top							dm_offset+.151					; 165
 #DEFINE dm_3rdrow_bot							.239							; 239
 #DEFINE dm_3rdrow_lft							.0								;   0
 #DEFINE dm_3rdrow_rgt							.159							; 159
 
+
 ;******* Bottom content / 1st col *******
+
 ; Temperature
-#DEFINE dm_temp_row								dm_3rdrow_top-.4				; 161
-#DEFINE dm_temp_column							.0								;   0
-; Simulation text
-#DEFINE dm_simtext_row							dm_3rdrow_top+.18				; 183
-#DEFINE dm_simtext_column						.36								;  35
+#DEFINE dm_temp_row								dm_3rdrow_top-.3				; 162
+#DEFINE dm_temp_column							dm_3rdrow_lft					;   0
+
+; Simulation text (pre-menu)
+#DEFINE dm_premenu_row							dm_3rdrow_top-.3				; 162
+#DEFINE dm_premenu_col							dm_3rdrow_lft					;   0
+#DEFINE dm_premenu_bot							dm_premenu_row+.23				; 185
+#DEFINE dm_premenu_rgt							dm_premenu_col+.43				;  43
+
+; ascend rate - alternative textual display
+#DEFINE dm_velocity_text_row_alt				dm_temp_row						; 162
+#DEFINE dm_velocity_text_col_alt				.45								;  45
+#DEFINE dm_velocity_text_bot_alt				dm_velocity_text_row_alt+.23	; 185
+#DEFINE dm_velocity_text_rgt_alt				dm_velocity_text_col_alt+.34	;  79
+
 ; Diluent gas
-#DEFINE dm_active_dil_row						dm_3rdrow_top+.19				; 185
-#DEFINE dm_active_dil_column					.0								;   0
-; active gas for OC, blinking better gas, setpoint or bailout for CCR
-#DEFINE dm_active_gas_row						.208							; 208
-#DEFINE dm_active_gas_column					.0								;   0
+#DEFINE dm_active_dil_row						dm_3rdrow_top+.21				; 186
+#DEFINE dm_active_dil_column					dm_3rdrow_lft					;   0
+
+; OC gas, blinking better gas, setpoint or bailout for CCR/pSCR
+#DEFINE dm_active_gas_sp_value_row				.208							; 208
+#DEFINE dm_active_gas_sp_value_col				dm_3rdrow_lft					;   0
+#DEFINE dm_active_sp_label_row					dm_active_gas_sp_value_row		; 208
+#DEFINE dm_active_sp_label_col					dm_active_gas_sp_value_col+.45	;  45
+
+; Sign - alternative layout
+#DEFINE dm_sign_row_alt							.193							; 193
+#DEFINE dm_sign_col_alt							.52								;  52
+#DEFINE dm_sign_bot_alt							dm_sign_row_alt+.38				; 231
+#DEFINE dm_sign_rgt_alt							dm_sign_col_alt+.22				;  74
 
 ;******* Bottom content / 2nd col *******
-; Next deco stop for TTS
-#DEFINE dm_decostop_1st_stop_row				dm_3rdrow_top					; 165
-#DEFINE dm_decostop_1st_stop_column				.82								;  82
+
+; 1st Deco Stop
+#DEFINE dm_decostop_row_norm					dm_3rdrow_top					; 165
+#DEFINE dm_decostop_col_norm					.82								;  82
+#DEFINE dm_decostop_row_alt_depth				dm_decostop_row_norm-.1			; 164
+#DEFINE dm_decostop_col_alt_depth				dm_decostop_col_norm-.1			;  81
+#DEFINE dm_decostop_row_alt_time				dm_decostop_row_norm			; 165
+#DEFINE dm_decostop_col_alt_time				dm_decostop_col_norm+.47		; 129
+
 ; Safety Stop
 #DEFINE dm_safetystop_row						dm_3rdrow_top					; 165
 #DEFINE dm_safetystop_column					.118							; 118
 #DEFINE dm_safetystop_bot						dm_safetystop_row+.31			; 196
+#DEFINE dm_safetystop_rgt						.159							; 159
 #DEFINE dm_safetystop_text_row					dm_safetystop_row+.1			; 166
-#DEFINE dm_safetystop_text_column				.80								;  80 for the 4 chars "Stop"
+#DEFINE dm_safetystop_text_column				.80								;  80  for the 4 chars "Stop"
+
 ; TTS
-#DEFINE dm_tts_value_row						dm_3rdrow_top+.32;				; 197
-#DEFINE dm_tts_value_column						.118							; 118
-#DEFINE dm_tts_text_row							dm_tts_value_row+.5				; 202
-#DEFINE dm_tts_text_column						.85								;  85
+#DEFINE dm_tts_value_row						dm_3rdrow_top+.43				; 208
+#DEFINE dm_tts_value_col_99						.129							; 129
+#DEFINE dm_tts_value_col_999					.124							; 122
+#DEFINE dm_tts_value_col_999x					.118							; 118
+#DEFINE dm_tts_text_row_norm					dm_tts_value_row				; 208
+#DEFINE dm_tts_text_col_norm					.85								;  85
+#DEFINE dm_tts_text_row_alt						dm_tts_value_row+.18			; 226
+#DEFINE dm_tts_text_col_alt						.86								;  86
+
 ; NDL - the same position as TTS
-#DEFINE dm_ndl_value_row						dm_tts_value_row				; 197
-#DEFINE dm_ndl_value_column						dm_tts_value_column				; 118
-#DEFINE dm_ndl_text_row							dm_tts_text_row					; 202
-#DEFINE dm_ndl_text_column						dm_tts_text_column				;  85
+#DEFINE dm_ndl_value_row_norm					dm_tts_value_row				; 208
+#DEFINE dm_ndl_value_col_norm					.118							; 118
+#DEFINE dm_ndl_value_row_alt					.182							; 182
+#DEFINE dm_ndl_value_col_alt					.120							; 120
+#DEFINE dm_ndl_text_row							dm_tts_text_row_norm			; 202
+#DEFINE dm_ndl_text_column						dm_tts_text_col_norm			;  85
+
 ; FTTS (only modded screen)
 #DEFINE dm_ftts_value_row						dm_3rdrow_top+.64				; 215
 #DEFINE dm_ftts_value_column					.97								;  97
+
 ; Grid line (only modded screen)
 #DEFINE dm_gassep_row							dm_sep_2_3_row					; 164
 #DEFINE dm_gassep_bot							.239							; 239
 #DEFINE dm_gassep_column						.78								;  78
 
-;******* Bottom content / Apnea mode *******;
+
+;******* Bottom content / Apnea mode *******
+
+#DEFINE dm_apnoe_last_max_depth_text_row		.192							; 192
+#DEFINE dm_apnoe_last_max_depth_text_col		.20								;  20
+#DEFINE dm_apnoe_last_max_depth_row				.207							; 207
+#DEFINE dm_apnoe_last_max_depth_column			.15								;  15
+
 #DEFINE dm_apnoe_surface_time_text_row			.192							; 192
-#DEFINE dm_apnoe_surface_time_text_col			.30								;  30
+#DEFINE dm_apnoe_surface_time_text_col			.100							; 100
 #DEFINE dm_apnoe_surface_time_row				.207							; 207
-#DEFINE dm_apnoe_surface_time_column			.15								;  15
-#DEFINE dm_apnoe_last_max_depth_text_row		.192							; 192
-#DEFINE dm_apnoe_last_max_depth_text_col		.100							; 100
-#DEFINE dm_apnoe_last_max_depth_row				.207							; 207
-#DEFINE dm_apnoe_last_max_depth_column			.100							; 100
+#DEFINE dm_apnoe_surface_time_column			.80								;  80
+
+
+;******* Bottom content / Gauge mode *******
+#DEFINE dm_gauge_max_depth_text_row				.192
+#DEFINE dm_gauge_max_depth_text_col				.25
+#DEFINE dm_gauge_max_depth_row					.207
+#DEFINE dm_gauge_max_depth_col					.15
+
+#DEFINE dm_gauge_avg_depth_text_row				.192
+#DEFINE dm_gauge_avg_depth_text_col				.100
+#DEFINE dm_gauge_avg_depth_row					.207
+#DEFINE dm_gauge_avg_depth_col					.85
+
 
 
 ; IV. The last set of parameters is for the menus displayed in dive mode
+
 ; Divemode menu
-#DEFINE dm_menu_row								.164							; 164 upper row, the frame's top line is the separator
-#DEFINE dm_menu_lower							.239							; 239 lower border
-#DEFINE dm_menu_left							.0								;   0 left
-#DEFINE dm_menu_right							.159							; 159 right
+#DEFINE dm_menu_row								.164							; 164  upper row, the frame's top line is the separator
+#DEFINE dm_menu_lower							.239							; 239  lower border
+#DEFINE dm_menu_left							.0								;   0  left
+#DEFINE dm_menu_right							.159							; 159  right
 
 #DEFINE dm_menu_item1_row						dm_menu_row+.1					; 165
 #DEFINE dm_menu_item1_column					.9								;   9
@@ -373,4 +510,3 @@
 #DEFINE dm_menu_item5_column					dm_menu_item4_column			;  89
 #DEFINE dm_menu_item6_row						dm_menu_item5_row+.24			; 213
 #DEFINE dm_menu_item6_column					dm_menu_item4_column			;  89
-