Mercurial > public > hwos_code
diff src/option_table.asm @ 623:c40025d8e750
3.03 beta released
author | heinrichsweikamp |
---|---|
date | Mon, 03 Jun 2019 14:01:48 +0200 |
parents | d866684249bd |
children | cd58f7fc86db |
line wrap: on
line diff
--- a/src/option_table.asm Wed Apr 10 10:51:07 2019 +0200 +++ b/src/option_table.asm Mon Jun 03 14:01:48 2019 +0200 @@ -1,6 +1,6 @@ ;============================================================================= ; -; File option_table.asm REFACTORED VERSION V2.99e +; File option_table.asm combined next generation V3.03.3 ; ; The Option Table ; @@ -20,8 +20,17 @@ OPTION_UINT8 MACRO lbl, min, max, default, unit, eeprom, register global lbl -lbl: db 0, default ; type0 = INT8 - db 1, min +lbl: db .0, default ; type0 = INT8 + db .1, min + db max, eeprom + dw unit + dw register + ENDM + +OPTION_UINT8d MACRO lbl, min, max, default, unit, eeprom, register + global lbl +lbl: db .3, default ; type3 = INT8 with automatic display in meters or feet + db .1, min db max, eeprom dw unit dw register @@ -29,8 +38,8 @@ OPTION_UINT8p2 MACRO lbl, min, max, default, unit, eeprom, register global lbl -lbl: db 0, default ; type0 = INT8 - db 2, min +lbl: db .0, default ; type0 = INT8 + db .2, min db max, eeprom dw unit dw register @@ -38,8 +47,17 @@ OPTION_UINT8p3 MACRO lbl, min, max, default, unit, eeprom, register global lbl -lbl: db 0, default ; type0 = INT8 - db 3, min +lbl: db .0, default ; type0 = INT8 + db .3, min + db max, eeprom + dw unit + dw register + ENDM + +OPTION_UINT8p3d MACRO lbl, min, max, default, unit, eeprom, register + global lbl +lbl: db .3, default ; type3 = INT8 with automatic display in meters or feet + db .3, min db max, eeprom dw unit dw register @@ -47,7 +65,7 @@ OPTION_UINT8p5 MACRO lbl, min, max, default, unit, eeprom, register global lbl -lbl: db 0, default ; type0 = INT8 +lbl: db .0, default ; type0 = INT8 db .5, min db max, eeprom dw unit @@ -56,7 +74,7 @@ OPTION_UINT8p10 MACRO lbl, min, max, default, unit, eeprom, register global lbl -lbl: db 0, default ; type0 = INT8 +lbl: db .0, default ; type0 = INT8 db .10, min db max, eeprom dw unit @@ -66,10 +84,10 @@ OPTION_ENUM8 MACRO lbl, max, default, tValue, eeprom, register global lbl extern tValue -lbl: db 1, default ; type1 = ENUM +lbl: db .1, default ; type1 = ENUM db LOW(tValue), HIGH(tValue) db max, eeprom - dw 0 ; no unit + dw .0 ; no unit dw register ENDM @@ -77,30 +95,28 @@ OPTION_ENUM8 lbl, 2, default, tNo, eeprom, register ENDM - OPTION_STRING MACRO lbl, length, defText, eeprom, register global lbl -lbl: db 2, LOW(defText) ; type2 = STRING +lbl: db .2, LOW(defText) ; type2 = STRING db HIGH(defText), 0 db length, eeprom - dw 0 ; no unit + dw .0 ; no unit dw register ENDM ;============================================================================= - extern tPercent, tMeters, tMinutes, tGasDisabled, tbar, tNo, tTrModeOff, tTrPresNone, tDefName, tblank, tLogTunitC - extern char_I_setpoint_change, char_I_setpoint_cbar + extern tPercent, tMeters, tMinutes, tGasDisabled, tbar, tNo, tTrModeOff, tTrPresNone, tDefName, tblank, tLogTunitC, tTissuePresSat extern char_I_dive_interval, char_I_bottom_time, char_I_bottom_depth extern char_I_deco_model extern char_I_extra_time - extern char_I_bottom_usage, char_I_deco_usage, tLitersMinute + extern char_I_SAC_work, char_I_SAC_deco, tLitersMinute extern char_I_PSCR_drop, char_I_PSCR_lungratio - extern char_I_tank_size, char_I_tank_pres_fill, tLiter, tbar10 - extern char_I_cc_max_frac_o2 + extern char_I_gas_avail_size, char_I_gas_avail_pres, tLiter, tbar10 + extern char_I_CC_max_frac_O2 extern char_I_altitude_wait - extern char_I_ppO2_max, char_I_ppO2_min, char_I_ppO2_max_deco, char_I_ppO2_min_loop - extern char_I_ascent_speed, tMeterMinute + extern char_I_ppO2_max_work, char_I_ppO2_min, char_I_ppO2_max_deco, char_I_ppO2_min_loop + extern char_I_ascent_speed, char_I_descent_speed, tMeterMinute extern char_I_gas_change_time extern char_I_max_pres_diff @@ -118,96 +134,96 @@ global option_table_begin option_table_begin: ;============================================================================= -; Manage Decoplaner & Dive parameters - OPTION_UINT8p10 odiveInterval, .0, .240, .0, tMinutes, volatile, char_I_dive_interval - OPTION_UINT8p2 obottomTime, .2, .60, .10, tMinutes, volatile, char_I_bottom_time - OPTION_UINT8p3 obottomDepth, .12, .120, .21, tMeters, volatile, char_I_bottom_depth +; Manage Deco Planer & Dive Parameters + OPTION_UINT8p10 odiveInterval, .0, .240, .0, tMinutes, volatile, opt_surface_interval ; transfer register used for deco calculator and simulator + OPTION_UINT8p2 obottomTime, .2, .60, .10, tMinutes, volatile, char_I_bottom_time ; transfer register used for deco calculator + OPTION_UINT8p3d obottomDepth, .12, .120, .21, tMeters, volatile, char_I_bottom_depth ; transfer register used for deco calculator and simulator OPTION_ENUM8 oDiveMode, .5, .0, tDvOC, .8, opt_dive_mode ; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR OPTION_ENUM8 oDecoMode, .2, .1, tZHL16, .9, char_I_deco_model ; 0 = ZH-L16, 1 = ZH-L16-GF ; .10 ; in use, see below - OPTION_UINT8 oLastDeco, .3, .6, .3, tMeters, .11, opt_last_stop - OPTION_UINT8 oGF_low, .10, .100, .30, tPercent, .12, opt_GF_low - OPTION_UINT8 oGF_high, .45, .110, .85, tPercent, .13, opt_GF_high - OPTION_UINT8p5 osatmultgf, .100, .140, .100, tPercent, .14, opt_sat_multiplier_gf ; for GF mode - OPTION_UINT8p5 odesatmultgf, .60, .100, .100, tPercent, .15, opt_desat_multiplier_gf ; for GF mode + OPTION_UINT8d oLastDeco, .3, .6, .3, tMeters, .11, opt_last_stop ; depth of the last deco stop + OPTION_UINT8 oGF_low, .10, .100, .30, tPercent, .12, opt_GF_low ; normal GF low + OPTION_UINT8 oGF_high, .45, .110, .85, tPercent, .13, opt_GF_high ; normal GF high + OPTION_UINT8p5 osatmultgf, .100, .140, .100, tPercent, .14, opt_sat_multiplier_gf ; saturation factor for GF mode + OPTION_UINT8p5 odesatmultgf, .60, .100, .100, tPercent, .15, opt_desat_multiplier_gf ; desaturation factor for GF mode ; .16 ; in use, see below - OPTION_UINT8 oaGF_low, .10, .100, .30, tPercent, .17, opt_aGF_low - OPTION_UINT8 oaGF_high, .45, .110, .85, tPercent, .18, opt_aGF_high + OPTION_UINT8 oaGF_low, .10, .100, .30, tPercent, .17, opt_aGF_low ; alternative GF low + OPTION_UINT8 oaGF_high, .45, .110, .85, tPercent, .18, opt_aGF_high ; alternative GF high OPTION_BOOL oEnable_aGF, .0, .19, opt_enable_aGF ; =1: aGF can be selected underwater OPTION_UINT8 oCompassGain, .0, .7, .6, tMinutes, .20, opt_compass_gain ; 0-7 (230LSB/Gauss to 1370LSB/Gauss) OPTION_ENUM8 oSamplingRate, .2, .0, tSetSeconds, .21, opt_sampling_rate ; =1: 10s, =0: 2s ;============================================================================= ; Managing Settings - OPTION_UINT8 oExtraTime, .0, .9, .0, tMinutes, .22, char_I_extra_time ; Future TTS + OPTION_UINT8 oExtraTime, .0, .9, .0, tMinutes, .22, char_I_extra_time ; extra bottom time for future TTS calculation OPTION_ENUM8 oBrightness, .3, .0, tEco, .23, opt_brightness ; =0: Eco, =1:Medium, =2:Full OPTION_UINT8 oDiveSalinity, .0, .4, .0, tPercent, .24, opt_salinity ; 0-4% OPTION_ENUM8 oCCRMode, .3, .0, tCCRModeFixedSP,.25, opt_ccr_mode ; =0: Fixed SP, =1: Sensor, =2: Auto SP OPTION_ENUM8 oLanguage, .2, .0, tLang1, .26, opt_language ; language selection OPTION_ENUM8 oDateFormat, .3, .1, tDateformat, .27, opt_dateformat ; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD - OPTION_ENUM8 oUnits, .2, .0, tMetric, .28, opt_units ; 0=Meter, 1=Feet + OPTION_ENUM8 oUnits, .2, .0, tMetric, .28, opt_units ; =0:Meter, =1:Feet ;============================================================================= ; Compass calibration data - OPTION_UINT8 oCalx0, .0, .255, .0, notext, .29, compass_CX_f+0 - OPTION_UINT8 oCalx1, .0, .255, .0, notext, .30, compass_CX_f+1 - OPTION_UINT8 oCaly0, .0, .255, .0, notext, .31, compass_CY_f+0 - OPTION_UINT8 oCaly1, .0, .255, .0, notext, .32, compass_CY_f+1 - OPTION_UINT8 oCalz0, .0, .255, .0, notext, .33, compass_CZ_f+0 - OPTION_UINT8 oCalz1, .0, .255, .0, notext, .34, compass_CZ_f+1 + OPTION_UINT8 oCalx0, .0, .255, .0, notext, .29, compass_CX_f+0 ; compass calibration data x, low byte + OPTION_UINT8 oCalx1, .0, .255, .0, notext, .30, compass_CX_f+1 ; x, high byte + OPTION_UINT8 oCaly0, .0, .255, .0, notext, .31, compass_CY_f+0 ; y, low byte + OPTION_UINT8 oCaly1, .0, .255, .0, notext, .32, compass_CY_f+1 ; y, high byte + OPTION_UINT8 oCalz0, .0, .255, .0, notext, .33, compass_CZ_f+0 ; z, low byte + OPTION_UINT8 oCalz1, .0, .255, .0, notext, .34, compass_CZ_f+1 ; z, high byte ;============================================================================= ; Gas list - OPTION_ENUM8 oGas1, .3, .1, tGasDisabled, .35, opt_gas_type+0 ; 0=Disabled, 1=First, 2=Travel, 3=Deco + OPTION_ENUM8 oGas1, .3, .1, tGasDisabled, .35, opt_gas_type+0 ; gas type: 0=Disabled, 1=First, 2=Travel, 3=Deco OPTION_ENUM8 oGas2, .3, .0, tGasDisabled, .36, opt_gas_type+1 OPTION_ENUM8 oGas3, .3, .0, tGasDisabled, .37, opt_gas_type+2 OPTION_ENUM8 oGas4, .3, .0, tGasDisabled, .38, opt_gas_type+3 OPTION_ENUM8 oGas5, .3, .0, tGasDisabled, .39, opt_gas_type+4 - OPTION_UINT8 oGas1O2, gaslist_min_o2, .100, .21, tPercent, .40, opt_gas_O2_ratio+0 - OPTION_UINT8 oGas1He, .0, gaslist_max_He, .0, tPercent, .41, opt_gas_He_ratio+0 + OPTION_UINT8 oGas1O2, gaslist_min_o2, .100, .21, tPercent, .40, opt_gas_O2_ratio+0 ; O2 % of gas 1 + OPTION_UINT8 oGas1He, .0, gaslist_max_He, .0, tPercent, .41, opt_gas_He_ratio+0 ; He % of gas 1 OPTION_UINT8 oGas2O2, gaslist_min_o2, .100, .21, tPercent, .42, opt_gas_O2_ratio+1 OPTION_UINT8 oGas2He, .0, gaslist_max_He, .0, tPercent, .43, opt_gas_He_ratio+1 OPTION_UINT8 oGas3O2, gaslist_min_o2, .100, .21, tPercent, .44, opt_gas_O2_ratio+2 OPTION_UINT8 oGas3He, .0, gaslist_max_He, .0, tPercent, .45, opt_gas_He_ratio+2 OPTION_UINT8 oGas4O2, gaslist_min_o2, .100, .21, tPercent, .46, opt_gas_O2_ratio+3 OPTION_UINT8 oGas4He, .0, gaslist_max_He, .0, tPercent, .47, opt_gas_He_ratio+3 - OPTION_UINT8 oGas5O2, gaslist_min_o2, .100, .21, tPercent, .48, opt_gas_O2_ratio+4 - OPTION_UINT8 oGas5He, .0, gaslist_max_He, .0, tPercent, .49, opt_gas_He_ratio+4 - OPTION_UINT8 oGas1Depth, .0, gaslist_max_change_depth, .56, tMeters, .50, opt_gas_change+0 - OPTION_UINT8 oGas2Depth, .0, gaslist_max_change_depth, .56, tMeters, .51, opt_gas_change+1 - OPTION_UINT8 oGas3Depth, .0, gaslist_max_change_depth, .56, tMeters, .52, opt_gas_change+2 - OPTION_UINT8 oGas4Depth, .0, gaslist_max_change_depth, .56, tMeters, .53, opt_gas_change+3 - OPTION_UINT8 oGas5Depth, .0, gaslist_max_change_depth, .56, tMeters, .54, opt_gas_change+4 - OPTION_UINT8 oDil1O2, gaslist_min_o2, .100, .21, tPercent, .55, opt_dil_O2_ratio+0 - OPTION_UINT8 oDil1He, .0, gaslist_max_He, .0, tPercent, .56, opt_dil_He_ratio+0 + OPTION_UINT8 oGas5O2, gaslist_min_o2, .100, .21, tPercent, .48, opt_gas_O2_ratio+4 ; O2 % of gas 5 + OPTION_UINT8 oGas5He, .0, gaslist_max_He, .0, tPercent, .49, opt_gas_He_ratio+4 ; He % of gas 5 + OPTION_UINT8d oGas1Depth, .0, gaslist_max_change_depth, .66, tMeters, .50, opt_gas_change+0 ; change depth of gas 1 + OPTION_UINT8d oGas2Depth, .0, gaslist_max_change_depth, .66, tMeters, .51, opt_gas_change+1 + OPTION_UINT8d oGas3Depth, .0, gaslist_max_change_depth, .66, tMeters, .52, opt_gas_change+2 + OPTION_UINT8d oGas4Depth, .0, gaslist_max_change_depth, .66, tMeters, .53, opt_gas_change+3 + OPTION_UINT8d oGas5Depth, .0, gaslist_max_change_depth, .66, tMeters, .54, opt_gas_change+4 ; change depth of gas 5 + OPTION_UINT8 oDil1O2, gaslist_min_o2, .100, .21, tPercent, .55, opt_dil_O2_ratio+0 ; O2 % of diluent 1 + OPTION_UINT8 oDil1He, .0, gaslist_max_He, .0, tPercent, .56, opt_dil_He_ratio+0 ; He % of diluent 1 OPTION_UINT8 oDil2O2, gaslist_min_o2, .100, .21, tPercent, .57, opt_dil_O2_ratio+1 OPTION_UINT8 oDil2He, .0, gaslist_max_He, .0, tPercent, .58, opt_dil_He_ratio+1 OPTION_UINT8 oDil3O2, gaslist_min_o2, .100, .21, tPercent, .59, opt_dil_O2_ratio+2 OPTION_UINT8 oDil3He, .0, gaslist_max_He, .0, tPercent, .60, opt_dil_He_ratio+2 OPTION_UINT8 oDil4O2, gaslist_min_o2, .100, .21, tPercent, .61, opt_dil_O2_ratio+3 OPTION_UINT8 oDil4He, .0, gaslist_max_He, .0, tPercent, .62, opt_dil_He_ratio+3 - OPTION_UINT8 oDil5O2, gaslist_min_o2, .100, .21, tPercent, .63, opt_dil_O2_ratio+4 - OPTION_UINT8 oDil5He, .0, gaslist_max_He, .0, tPercent, .64, opt_dil_He_ratio+4 - OPTION_UINT8 oSetPoint1, gaslist_sp_min, gaslist_sp_max, .70, tbar, .65, char_I_setpoint_cbar+0 - OPTION_UINT8 oSetPoint2, gaslist_sp_min, gaslist_sp_max, .90, tbar, .66, char_I_setpoint_cbar+1 - OPTION_UINT8 oSetPoint3, gaslist_sp_min, gaslist_sp_max, .100, tbar, .67, char_I_setpoint_cbar+2 - OPTION_UINT8 oSetPoint4, gaslist_sp_min, gaslist_sp_max, .120, tbar, .68, char_I_setpoint_cbar+3 - OPTION_UINT8 oSetPoint5, gaslist_sp_min, gaslist_sp_max, .140, tbar, .69, char_I_setpoint_cbar+4 - OPTION_UINT8 oSP1Depth, .0, .100, .0, tMeters, .70, char_I_setpoint_change+0 - OPTION_UINT8 oSP2Depth, .0, .100, .0, tMeters, .71, char_I_setpoint_change+1 - OPTION_UINT8 oSP3Depth, .0, .100, .0, tMeters, .72, char_I_setpoint_change+2 - OPTION_UINT8 oSP4Depth, .0, .100, .0, tMeters, .73, char_I_setpoint_change+3 - OPTION_UINT8 oSP5Depth, .0, .100, .0, tMeters, .74, char_I_setpoint_change+4 - OPTION_ENUM8 oDil1, .2, .1, tDilDisabled, .75, opt_dil_type+0 ; 0=Disabled, 1=First, 2=Normal + OPTION_UINT8 oDil5O2, gaslist_min_o2, .100, .21, tPercent, .63, opt_dil_O2_ratio+4 ; O2 % of diluent 5 + OPTION_UINT8 oDil5He, .0, gaslist_max_He, .0, tPercent, .64, opt_dil_He_ratio+4 ; He % of diluent 5 + OPTION_UINT8 oSetPoint1, gaslist_sp_min, gaslist_sp_max, .70, tbar, .65, opt_setpoint_cbar+0 ; ppO2 of setpoint 1 + OPTION_UINT8 oSetPoint2, gaslist_sp_min, gaslist_sp_max, .90, tbar, .66, opt_setpoint_cbar+1 ; ppO2 of setpoint 2 + OPTION_UINT8 oSetPoint3, gaslist_sp_min, gaslist_sp_max, .100, tbar, .67, opt_setpoint_cbar+2 ; ... + OPTION_UINT8 oSetPoint4, gaslist_sp_min, gaslist_sp_max, .120, tbar, .68, opt_setpoint_cbar+3 ; ... + OPTION_UINT8 oSetPoint5, gaslist_sp_min, gaslist_sp_max, .140, tbar, .69, opt_setpoint_cbar+4 ; ppO2 of setpoint 5 + OPTION_UINT8d oSP1Depth, .0, .100, .0, tMeters, .70, opt_setpoint_change+0 ; change depth of setpoint 1 (forced to 0 in code) + OPTION_UINT8d oSP2Depth, .0, .100, .0, tMeters, .71, opt_setpoint_change+1 ; change depth of setpoint 2 + OPTION_UINT8d oSP3Depth, .0, .100, .0, tMeters, .72, opt_setpoint_change+2 ; ... + OPTION_UINT8d oSP4Depth, .0, .100, .0, tMeters, .73, opt_setpoint_change+3 ; ... + OPTION_UINT8d oSP5Depth, .0, .100, .0, tMeters, .74, opt_setpoint_change+4 ; change depth of setpoint 5 + OPTION_ENUM8 oDil1, .2, .1, tDilDisabled, .75, opt_dil_type+0 ; diluent type: 0=Disabled, 1=First, 2=Normal OPTION_ENUM8 oDil2, .2, .0, tDilDisabled, .76, opt_dil_type+1 OPTION_ENUM8 oDil3, .2, .0, tDilDisabled, .77, opt_dil_type+2 OPTION_ENUM8 oDil4, .2, .0, tDilDisabled, .78, opt_dil_type+3 OPTION_ENUM8 oDil5, .2, .0, tDilDisabled, .79, opt_dil_type+4 - OPTION_UINT8 oDil1Depth, .0, gaslist_max_change_depth, .56, tMeters, .80, opt_dil_change+0 - OPTION_UINT8 oDil2Depth, .0, gaslist_max_change_depth, .56, tMeters, .81, opt_dil_change+1 - OPTION_UINT8 oDil3Depth, .0, gaslist_max_change_depth, .56, tMeters, .82, opt_dil_change+2 - OPTION_UINT8 oDil4Depth, .0, gaslist_max_change_depth, .56, tMeters, .83, opt_dil_change+3 - OPTION_UINT8 oDil5Depth, .0, gaslist_max_change_depth, .56, tMeters, .84, opt_dil_change+4 + OPTION_UINT8d oDil1Depth, .0, gaslist_max_change_depth, .56, tMeters, .80, opt_dil_change+0 ; change depth of diluent 1 + OPTION_UINT8d oDil2Depth, .0, gaslist_max_change_depth, .56, tMeters, .81, opt_dil_change+1 + OPTION_UINT8d oDil3Depth, .0, gaslist_max_change_depth, .56, tMeters, .82, opt_dil_change+2 + OPTION_UINT8d oDil4Depth, .0, gaslist_max_change_depth, .56, tMeters, .83, opt_dil_change+3 + OPTION_UINT8d oDil5Depth, .0, gaslist_max_change_depth, .56, tMeters, .84, opt_dil_change+4 ; change depth of diluent 5 ;============================================================================= ; opt_name from 85 to 145 @@ -215,53 +231,49 @@ ;============================================================================= ; Misc - OPTION_ENUM8 oColorSetDive, .4, .0, tColorSetName0, .146, opt_dive_color_scheme ; color scheme divemode - OPTION_UINT8 oPressureAdjust, .0, .255, .0, notext, .147, opt_pressure_adjust ; SIGNED int (-20/+20mbar max.) - OPTION_BOOL oSafetyStop, .0, .148, opt_enable_safetystop ; =1: A safety stop is shown - OPTION_UINT8 oCalGasO2, .21, .100, .21, tPercent, .149, opt_calibration_O2_ratio ; calibration gas %O2 (Do not move in EEPROM, must stay at .149!) - OPTION_BOOL oFlipScreen, .0, .151, opt_flip_screen ; =1: Flip the screen - OPTION_UINT8p10 ocR_button_left, .20, .80, .40, tPercent, .152, opt_cR_button_left ; left button sensitivity + OPTION_ENUM8 oColorSetDive, .4, .0, tColorSetName0, .146, opt_dive_color_scheme ; color scheme dive mode + OPTION_UINT8 oPressureAdjust, .0, .255, .0, notext, .147, opt_pressure_adjust ; pressure sensor correction, SIGNED int (clipped to -20/+20 mbar in code) + OPTION_BOOL oSafetyStop, .0, .148, opt_enable_safetystop ; =1: show safety stops + OPTION_UINT8 oCalGasO2, .21, .100, .21, tPercent, .149, opt_calibration_O2_ratio ; calibration gas %O2 (do not move in EEPROM, must stay at .149!) + OPTION_BOOL oFlipScreen, .0, .151, opt_flip_screen ; =1: flip the screen + OPTION_UINT8p10 ocR_button_left, .20, .80, .40, tPercent, .152, opt_cR_button_left ; left button sensitivity OPTION_UINT8p10 ocR_button_right, .20, .80, .40, tPercent, .153, opt_cR_button_right ; right button sensitivity - OPTION_UINT8 obottom_usage, .5, .50, .20, tLitersMinute, .154, char_I_bottom_usage ; l/min - OPTION_UINT8 odeco_usage, .5, .50, .20, tLitersMinute, .155, char_I_deco_usage ; l/min - OPTION_BOOL oMODwarning, .1, .156, opt_modwarning ; =1: blink on depth related attentions and warnings - OPTION_BOOL oVSItextv2, .0, .157, opt_vsitextv2 ; =1: use the dynamic (depends on depth) ascend rate limits - OPTION_BOOL oVSIgraph, .1, .158, opt_vsigraph ; =1: draw the graphical VSI bar - OPTION_BOOL oShowppO2, .0, .159, opt_showppo2 ; =1:always show the ppO2 value in the warning position - OPTION_UINT8 oTemperatureAdjust, .0, .255, .0, notext, .160, opt_temperature_adjust ; SIGNED int (-2.0/+2.0 °C max.) - OPTION_UINT8 oSafetyStopLength, .60, .240, .180, notext, .161, opt_safety_stop_length ; [s] - OPTION_UINT8 oSafetyStopStart, .21, .61, .51, notext, .162, opt_safety_stop_start ; [cbar], default 510mbar, min 210mbar, max 610mbar - OPTION_UINT8 oSafetyStopEnd, .19, .39, .29, notext, .163, opt_safety_stop_end ; [cbar], default 290mbar, min 190mbar, max 390mbar - OPTION_UINT8 oSafetyStopReset, .81, .151, .101, notext, .164, opt_safety_stop_reset ; [cbar], default 1010mbar, min 810mbar, max 1510mbar - OPTION_UINT8 oDiveTimeout, .1, .20, .5, tMinutes, .168, opt_diveTimeout ; timeout for divemode in minutes - OPTION_UINT8 oPSCR_drop, .0, .15, .4, tPercent, .169, char_I_PSCR_drop ; pSCR Drop [%] - OPTION_UINT8 oPSCR_lungratio, .5, .20, .10, tPercent, .170, char_I_PSCR_lungratio ; pSCR Lung Ratio [1/x] + OPTION_UINT8 obottom_usage, .5, .50, .20, tLitersMinute, .154, char_I_SAC_work ; surface air consumption rate during working phase, l/min + OPTION_UINT8 odeco_usage, .5, .50, .20, tLitersMinute, .155, char_I_SAC_deco ; surface air consumption rate during deco stops phase, l/min + OPTION_BOOL oMODwarning, .1, .156, opt_modwarning ; =1: blink on depth related attentions and warnings + OPTION_BOOL oVSItextv2, .0, .157, opt_vsitextv2 ; =1: use the dynamic (depends on depth) ascend rate limits + OPTION_BOOL oVSIgraph, .1, .158, opt_vsigraph ; =1: draw the graphical VSI bar + OPTION_BOOL oShowppO2, .0, .159, opt_showppo2 ; =1:always show the ppO2 value in the warning position + OPTION_UINT8 oTemperatureAdjust, .0, .255, .0, notext, .160, opt_temperature_adjust ; temperature sensor correction, SIGNED int (clipped to -2.0/+2.0 °C in code) + OPTION_UINT8 oSafetyStopLength, .60, .240, .180, notext, .161, opt_safety_stop_length ; [s], duration of the safety stop + OPTION_UINT8 oSafetyStopStart, .21, .61, .51, notext, .162, opt_safety_stop_start ; [cbar], depth at which safety stop appears, default 510mbar, min 210mbar, max 610mbar + OPTION_UINT8 oSafetyStopEnd, .19, .39, .29, notext, .163, opt_safety_stop_end ; [cbar], depth at which safety stop disappears, default 290mbar, min 190mbar, max 390mbar + OPTION_UINT8 oSafetyStopReset, .81, .151, .101, notext, .164, opt_safety_stop_reset ; [cbar], depth at which safety stop timer is reloaded, default 1010mbar, min 810mbar, max 1510mbar + OPTION_UINT8 oDiveTimeout, .1, .20, .5, tMinutes, .168, opt_diveTimeout ; [minutes] timeout for switch from dive mode to surface mode + OPTION_UINT8 oPSCR_drop, .0, .15, .4, tPercent, .169, char_I_PSCR_drop ; pSCR drop [%] + OPTION_UINT8 oPSCR_lungratio, .5, .20, .10, tPercent, .170, char_I_PSCR_lungratio ; pSCR lung ratio [1/x] ; .171 ; in use, see below ; .172 ; in use, see below - OPTION_UINT8 oTankSize1, min_tank_size, max_tank_size, .11, tLiter, .173, char_I_tank_size+0 ; size of OC gas tank 1, in liters - OPTION_UINT8 oTankSize2, min_tank_size, max_tank_size, .11, tLiter, .174, char_I_tank_size+1 ; size of OC gas tank 2, in liters - OPTION_UINT8 oTankSize3, min_tank_size, max_tank_size, .11, tLiter, .175, char_I_tank_size+2 ; size of OC gas tank 3, in liters - OPTION_UINT8 oTankSize4, min_tank_size, max_tank_size, .11, tLiter, .176, char_I_tank_size+3 ; size of OC gas tank 4, in liters - OPTION_UINT8 oTankSize5, min_tank_size, max_tank_size, .11, tLiter, .177, char_I_tank_size+4 ; size of OC gas tank 5, in liters - OPTION_UINT8 oTankFillPres1, min_fill_press, max_fill_press, .20, tbar10, .178, char_I_tank_pres_fill+0 ; fill press of OC gas tank 1, in multiples of 10 bars - OPTION_UINT8 oTankFillPres2, min_fill_press, max_fill_press, .20, tbar10, .179, char_I_tank_pres_fill+1 ; fill press of OC gas tank 2, in multiples of 10 bars - OPTION_UINT8 oTankFillPres3, min_fill_press, max_fill_press, .20, tbar10, .180, char_I_tank_pres_fill+2 ; fill press of OC gas tank 3, in multiples of 10 bars - OPTION_UINT8 oTankFillPres4, min_fill_press, max_fill_press, .20, tbar10, .181, char_I_tank_pres_fill+3 ; fill press of OC gas tank 4, in multiples of 10 bars - OPTION_UINT8 oTankFillPres5, min_fill_press, max_fill_press, .20, tbar10, .182, char_I_tank_pres_fill+4 ; fill press of OC gas tank 5, in multiples of 10 bars - OPTION_UINT8 oCCmaxFracO2, .80, .100, .90, tPercent, .183, char_I_cc_max_frac_o2 ; max. O2 % in Loop + OPTION_UINT8 oTankSize1, min_tank_size, max_tank_size, .11, tLiter, .173, char_I_gas_avail_size+0 ; size of OC gas tank 1, in liters + OPTION_UINT8 oTankSize2, min_tank_size, max_tank_size, .11, tLiter, .174, char_I_gas_avail_size+1 ; size of OC gas tank 2, in liters + OPTION_UINT8 oTankSize3, min_tank_size, max_tank_size, .11, tLiter, .175, char_I_gas_avail_size+2 ; size of OC gas tank 3, in liters + OPTION_UINT8 oTankSize4, min_tank_size, max_tank_size, .11, tLiter, .176, char_I_gas_avail_size+3 ; size of OC gas tank 4, in liters + OPTION_UINT8 oTankSize5, min_tank_size, max_tank_size, .11, tLiter, .177, char_I_gas_avail_size+4 ; size of OC gas tank 5, in liters + OPTION_UINT8 oTankFillPres1, min_fill_press, max_fill_press, .20, tbar10, .178, char_I_gas_avail_pres+0 ; available press of OC gas tank 1, in multiples of 10 bars + OPTION_UINT8 oTankFillPres2, min_fill_press, max_fill_press, .20, tbar10, .179, char_I_gas_avail_pres+1 ; available press of OC gas tank 2, in multiples of 10 bars + OPTION_UINT8 oTankFillPres3, min_fill_press, max_fill_press, .20, tbar10, .180, char_I_gas_avail_pres+2 ; available press of OC gas tank 3, in multiples of 10 bars + OPTION_UINT8 oTankFillPres4, min_fill_press, max_fill_press, .20, tbar10, .181, char_I_gas_avail_pres+3 ; available press of OC gas tank 4, in multiples of 10 bars + OPTION_UINT8 oTankFillPres5, min_fill_press, max_fill_press, .20, tbar10, .182, char_I_gas_avail_pres+4 ; available press of OC gas tank 5, in multiples of 10 bars + OPTION_UINT8 oCCmaxFracO2, .80, .100, .90, tPercent, .183, char_I_CC_max_frac_O2 ; max. O2 % in Loop OPTION_UINT8 oSimSetpoint, .1, .5, .1, tblank, .184, opt_sim_setpoint_number ; setpoint to use for deco calculation - IFDEF _cave_mode - OPTION_ENUM8 oCalcAscGas, .3, .0, tNo, .185, opt_calc_asc_gasvolume ; calculate OC gas volume needs for ascent - ELSE - OPTION_ENUM8 oCalcAscGas, .2, .0, tNo, .185, opt_calc_asc_gasvolume ; calculate OC gas volume needs for ascent - ENDIF - OPTION_BOOL oSimAGF, .0, volatile, opt_sim_use_aGF ; use GF (no) or aGF (yes) for deco calculation - OPTION_ENUM8 oAltMode, .4, .0, tAltModeFly, .186, char_I_altitude_wait ; 0=no-fly, 1=1000m, 2=2000m, 3=3000m - OPTION_BOOL oEnable_IBCD, .0, .187, opt_enable_IBCD ; =1: IBCD warning activated - OPTION_UINT8 oAscentSpeed, .5, .10, .10, tMeterMinute, .188, char_I_ascent_speed ; ascent speed + OPTION_ENUM8 oCalcAscGas, calc_gas_options, .0, tNo, .185, opt_calc_asc_gasvolume ; calculate OC gas volume needs for ascent: no, yes, cave + OPTION_BOOL oSimAGF, .0, volatile, opt_sim_use_aGF ; use GF (no) or aGF (yes) for deco calculation + OPTION_ENUM8 oAltMode, .4, .0, tAltModeFly, .186, char_I_altitude_wait ; no-fly time calculation for: 0=no-fly, 1=1000m, 2=2000m, 3=3000m + OPTION_BOOL oEnable_IBCD, .1, .187, opt_enable_IBCD ; =1: IBCD warning activated + OPTION_UINT8 oAscentSpeed, .5, .10, .10, tMeterMinute, .188, char_I_ascent_speed ; [meter/minute] ascent speed OPTION_UINT8 oGasChangeTime, .0, .3, .1, tMinutes, .189, char_I_gas_change_time ; (extra) time at a stop to change the gas - OPTION_UINT8p5 osatmult, .100, .140, .110, tPercent, .190, opt_sat_multiplier_non_gf ; for NON-GF Mode - OPTION_UINT8p5 odesatmult, .60, .100, .90, tPercent, .191, opt_desat_multiplier_non_gf ; for NON-GF Mode + OPTION_UINT8p5 osatmult, .100, .140, .110, tPercent, .190, opt_sat_multiplier_non_gf ; saturation factor for NON-GF Mode + OPTION_UINT8p5 odesatmult, .60, .100, .90, tPercent, .191, opt_desat_multiplier_non_gf ; desaturation factor for NON-GF Mode OPTION_UINT8 oTransID1_0, .0, .255, .0, notext, .192, opt_transmitter_id_1+0 ; ID of transmitter for gas 1 (LOW) OPTION_UINT8 oTransID1_1, .0, .255, .0, notext, .193, opt_transmitter_id_1+1 ; ID of transmitter for gas 1 (HIGH) OPTION_UINT8 oTransID2_0, .0, .255, .0, notext, .194, opt_transmitter_id_2+0 ; ID of transmitter for gas 2 (LOW) @@ -282,42 +294,52 @@ OPTION_UINT8 oTransID9_1, .0, .255, .0, notext, .209, opt_transmitter_id_9+1 ; ID of transmitter for dil 4 (HIGH) OPTION_UINT8 oTransID10_0, .0, .255, .0, notext, .210, opt_transmitter_id_10+0 ; ID of transmitter for dil 5 (LOW) OPTION_UINT8 oTransID10_1, .0, .255, .0, notext, .211, opt_transmitter_id_10+1 ; ID of transmitter for dil 5 (HIGH) - OPTION_UINT8 oTankSize6, min_tank_size, max_tank_size, .11, tLiter, .212, char_I_tank_size+5 ; size of DIL gas tank 1, in liters - OPTION_UINT8 oTankSize7, min_tank_size, max_tank_size, .11, tLiter, .213, char_I_tank_size+6 ; size of DIL gas tank 2, in liters - OPTION_UINT8 oTankSize8, min_tank_size, max_tank_size, .11, tLiter, .214, char_I_tank_size+7 ; size of DIL gas tank 3, in liters - OPTION_UINT8 oTankSize9, min_tank_size, max_tank_size, .11, tLiter, .215, char_I_tank_size+8 ; size of DIL gas tank 4, in liters - OPTION_UINT8 oTankSize10, min_tank_size, max_tank_size, .11, tLiter, .216, char_I_tank_size+9 ; size of DIL gas tank 5, in liters - OPTION_UINT8 oTankFillPres6, min_fill_press, max_fill_press, .20, tbar10, .217, char_I_tank_pres_fill+5 ; fill press of DIL gas tank 1, in multiples of 10 bars - OPTION_UINT8 oTankFillPres7, min_fill_press, max_fill_press, .20, tbar10, .218, char_I_tank_pres_fill+6 ; fill press of DIL gas tank 2, in multiples of 10 bars - OPTION_UINT8 oTankFillPres8, min_fill_press, max_fill_press, .20, tbar10, .219, char_I_tank_pres_fill+7 ; fill press of DIL gas tank 3, in multiples of 10 bars - OPTION_UINT8 oTankFillPres9, min_fill_press, max_fill_press, .20, tbar10, .220, char_I_tank_pres_fill+8 ; fill press of DIL gas tank 4, in multiples of 10 bars - OPTION_UINT8 oTankFillPres10, min_fill_press, max_fill_press, .20, tbar10, .221, char_I_tank_pres_fill+9 ; fill press of DIL gas tank 5, in multiples of 10 bars + OPTION_UINT8 oTankSize6, min_tank_size, max_tank_size, .11, tLiter, .212, char_I_gas_avail_size+5 ; size of DIL gas tank 1, in liters + OPTION_UINT8 oTankSize7, min_tank_size, max_tank_size, .11, tLiter, .213, char_I_gas_avail_size+6 ; size of DIL gas tank 2, in liters + OPTION_UINT8 oTankSize8, min_tank_size, max_tank_size, .11, tLiter, .214, char_I_gas_avail_size+7 ; size of DIL gas tank 3, in liters + OPTION_UINT8 oTankSize9, min_tank_size, max_tank_size, .11, tLiter, .215, char_I_gas_avail_size+8 ; size of DIL gas tank 4, in liters + OPTION_UINT8 oTankSize10, min_tank_size, max_tank_size, .11, tLiter, .216, char_I_gas_avail_size+9 ; size of DIL gas tank 5, in liters + OPTION_UINT8 oTankFillPres6, min_fill_press, max_fill_press, .20, tbar10, .217, char_I_gas_avail_pres+5 ; available press of DIL gas tank 1, in multiples of 10 bars + OPTION_UINT8 oTankFillPres7, min_fill_press, max_fill_press, .20, tbar10, .218, char_I_gas_avail_pres+6 ; available press of DIL gas tank 2, in multiples of 10 bars + OPTION_UINT8 oTankFillPres8, min_fill_press, max_fill_press, .20, tbar10, .219, char_I_gas_avail_pres+7 ; available press of DIL gas tank 3, in multiples of 10 bars + OPTION_UINT8 oTankFillPres9, min_fill_press, max_fill_press, .20, tbar10, .220, char_I_gas_avail_pres+8 ; available press of DIL gas tank 4, in multiples of 10 bars + OPTION_UINT8 oTankFillPres10, min_fill_press, max_fill_press, .20, tbar10, .221, char_I_gas_avail_pres+9 ; available press of DIL gas tank 5, in multiples of 10 bars OPTION_ENUM8 oTrMode, .4, .1, tTrModeOff, .222, opt_TR_mode ; TR functions - mode - OPTION_ENUM8 oTr1stPres, .15, .1, tTrPresNone, .223, opt_TR_1st_pres ; TR functions - 1st pressure assignment - OPTION_ENUM8 oTr2ndPres, .15, .0, tTrPresNone, .224, opt_TR_2nd_pres ; TR functions - 2nd pressure assignment - OPTION_ENUM8 oTrBailPres, .15, .1, tTrPresNone, .225, opt_TR_Bail_pres ; TR functions - bailout pressure assignment + OPTION_ENUM8 oTr1stPres, tr_pres_options, .1, tTrPresNone, .223, opt_TR_1st_pres ; TR functions - 1st pressure assignment + OPTION_ENUM8 oTr2ndPres, tr_pres_options, .0, tTrPresNone, .224, opt_TR_2nd_pres ; TR functions - 2nd pressure assignment + OPTION_ENUM8 oTrBailPres, tr_pres_options, .1, tTrPresNone, .225, opt_TR_Bail_pres ; TR functions - bailout pressure assignment OPTION_UINT8p5 oTrMaxDeltaPres, max_pres_diff_min,max_pres_diff_max,.5, tbar, .226, char_I_max_pres_diff ; TR functions - maximum delta pressure in independent double mode - OPTION_BOOL oRealGasFactorUse, .0, .227, opt_ZfactorUse ; =1: figure in compression factor Z when converting gas volume <-> gas pressure [future option, not used yet] - OPTION_UINT8p5 oRealGasFactorTemp, .0, .30, .15, tLogTunitC, .228, opt_ZfactorTemp ; temperature setpoint for compression factor Z + OPTION_BOOL oRealGasFactorUse, .0, .227, opt_ZfactorUse ; =1: figure in compression factor Z when converting gas volume <-> gas pressure [future option, not used yet] + OPTION_UINT8p5 oRealGasFactorTemp, .0, .30, .15, tLogTunitC, .228, opt_ZfactorTemp ; temperature setpoint for compression factor Z [future option, not used yet] OPTION_ENUM8 o2ndDepthDisp, .2, .0, tMaxDepth, .229, opt_2ndDepthDisp ; =1: show average depth instead of max depth - ; +-----------------------+ - ; | add new options here! | - ; +-----------------------+ + OPTION_UINT8d oMaxDepth, .5, ostc_depth_max, ostc_depth_max, tMeters, .230, opt_max_depth ; depth at which a warning will be given + OPTION_UINT8 oDescentSpeed, .5, .30, .10, tMeterMinute, .231, char_I_descent_speed ; descent speed for deco calculator [future option, not used yet] + OPTION_BOOL oStoreApnoeDive, .0, .232, opt_store_apnoe_dive ; =1: store dives in apnoe mode into logbook [future option, not used yet] + OPTION_ENUM8 oTissueGraphics, tissue_graphics_options, .0, tTissuePresSat, .233, opt_tissue_graphics ; =0: show N2 and He pressures, =1: show pressures and saturations + OPTION_ENUM8 oLogOffsetStep, .4, .0, tLogOffStep1, volatile, opt_logoffset_step ; step size when adjusting the log offset + OPTION_ENUM8 oLayout, .2, .0, tLayoutNormal, .234, opt_layout ; initial layout of dive mode screen =0: normal, =1: big + OPTION_BOOL oExtendedStops, .1, .235, opt_extended_stops ; =1: allow placement of gas switches below the depth of the 1st stop + + ; +---------------------------+ + ; | /|\ | + ; | | add new options here! | + ; +---------------------------+ ; ppO2 warnings, sorted by ppO2 levels OPTION_UINT8p10 oPPO2Min, ppo2_warning_low_lowest, ppo2_warning_low_highest, ppo2_warning_low_default, notext, .16, char_I_ppO2_min ; ppO2 min on OC and for pure diluent in CCR OPTION_UINT8p10 oPPO2MinCC, ppo2_warning_loop_lowest, ppo2_warning_loop_highest, ppo2_warning_loop_default, notext, .172, char_I_ppO2_min_loop ; ppO2 min on Loop and for pure diluent in pSCR - OPTION_UINT8p10 oPPO2Max, ppo2_warning_high_lowest, ppo2_warning_high_highest, ppo2_warning_high_default, notext, .10, char_I_ppO2_max ; ppO2 max when not in deco - OPTION_UINT8p10 oPPO2MaxDeco, ppo2_warning_deco_lowest, ppo2_warning_deco_highest, ppo2_warning_deco_default, notext, .171, char_I_ppO2_max_deco ; ppO2 max when in deco + OPTION_UINT8p10 oPPO2Max, ppo2_warning_high_lowest, ppo2_warning_high_highest, ppo2_warning_high_default, notext, .10, char_I_ppO2_max_work ; ppO2 max while in working phase + OPTION_UINT8p10 oPPO2MaxDeco, ppo2_warning_deco_lowest, ppo2_warning_deco_highest, ppo2_warning_deco_default, notext, .171, char_I_ppO2_max_deco ; ppO2 max while in deco stops phase ;============================================================================= ; Set Time/Set Date (RAM only) - OPTION_UINT8 oSetHours, .0, .23, .0, .0, volatile, hours - OPTION_UINT8 oSetMinutes, .0, .59, .0, .0, volatile, mins - OPTION_UINT8 oSetDay, .1, .31, .0, .0, volatile, day - OPTION_UINT8 oSetMonth, .1, .12, .0, .0, volatile, month - OPTION_UINT8 oSetYear, .18, .24, .0, .0, volatile, year + OPTION_UINT8 oClearSeconds, .0, .0, .0, notext, volatile, rtc_latched_secs + OPTION_UINT8 oSetMinutes, .0, .59, .0, notext, volatile, rtc_latched_mins + OPTION_UINT8 oSetHours, .0, .23, .0, notext, volatile, rtc_latched_hour + OPTION_UINT8 oSetDay, .1, .31, .0, notext, volatile, rtc_latched_day + OPTION_UINT8 oSetMonth, .1, .12, .0, notext, volatile, rtc_latched_month + OPTION_UINT8 oSetYear, .18, .24, .0, notext, volatile, rtc_latched_year global option_table_end option_table_end: