Mercurial > public > hwos_code
comparison src/option_table.asm @ 143:be997abd1f73
seperate option table, place in address <0x10000
| author | heinrichsweikamp |
|---|---|
| date | Sun, 03 Aug 2014 10:28:21 +0200 |
| parents | |
| children | b839972db982 |
comparison
equal
deleted
inserted
replaced
| 142:8531f39eb70a | 143:be997abd1f73 |
|---|---|
| 1 ;============================================================================= | |
| 2 ; | |
| 3 ; File option_table.asm | |
| 4 ; | |
| 5 ; Thje option table | |
| 6 ; | |
| 7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. | |
| 8 ;============================================================================= | |
| 9 ; HISTORY | |
| 10 ; 2014-08-03 : mH creation | |
| 11 ; | |
| 12 | |
| 13 #include "ostc3.inc" ; Mandatory header | |
| 14 #include "eeprom_rs232.inc" | |
| 15 | |
| 16 ;============================================================================= | |
| 17 ; Options Tables | |
| 18 | |
| 19 option_table CODE 0x00700 | |
| 20 | |
| 21 OPTION_UINT8 MACRO lbl, min, max, default, unit, eeprom, register | |
| 22 global lbl | |
| 23 lbl: db 0, default ; Type0 = INT8 | |
| 24 db 1, min | |
| 25 db max, eeprom | |
| 26 dw unit | |
| 27 dw register | |
| 28 ENDM | |
| 29 | |
| 30 OPTION_UINT8p2 MACRO lbl, min, max, default, unit, eeprom, register | |
| 31 global lbl | |
| 32 lbl: db 0, default ; Type0 = INT8 | |
| 33 db 2, min | |
| 34 db max, eeprom | |
| 35 dw unit | |
| 36 dw register | |
| 37 ENDM | |
| 38 | |
| 39 OPTION_UINT8p3 MACRO lbl, min, max, default, unit, eeprom, register | |
| 40 global lbl | |
| 41 lbl: db 0, default ; Type0 = INT8 | |
| 42 db 3, min | |
| 43 db max, eeprom | |
| 44 dw unit | |
| 45 dw register | |
| 46 ENDM | |
| 47 | |
| 48 OPTION_UINT8p10 MACRO lbl, min, max, default, unit, eeprom, register | |
| 49 global lbl | |
| 50 lbl: db 0, default ; Type0 = INT8 | |
| 51 db .10, min | |
| 52 db max, eeprom | |
| 53 dw unit | |
| 54 dw register | |
| 55 ENDM | |
| 56 | |
| 57 OPTION_ENUM8 MACRO lbl, max, default, tValue, eeprom, register | |
| 58 global lbl | |
| 59 extern tValue | |
| 60 lbl: db 1, default ; Type1 = ENUM | |
| 61 db LOW(tValue), HIGH(tValue) | |
| 62 db max, eeprom | |
| 63 dw 0 ; No unit | |
| 64 dw register | |
| 65 ENDM | |
| 66 | |
| 67 OPTION_BOOL MACRO lbl, default, eeprom, register | |
| 68 OPTION_ENUM8 lbl, 2, default, tNo, eeprom, register | |
| 69 ENDM | |
| 70 | |
| 71 | |
| 72 OPTION_STRING MACRO lbl, length, defText, eeprom, register | |
| 73 global lbl | |
| 74 lbl: db 2, LOW(defText) ; Type2 = STRING | |
| 75 db HIGH(defText), 0 | |
| 76 db length, eeprom | |
| 77 dw 0 ; No unit | |
| 78 dw register | |
| 79 ENDM | |
| 80 | |
| 81 | |
| 82 ;============================================================================= | |
| 83 extern tPercent, tMeters, tMinutes, tGasDisabled, tbar, tcharx | |
| 84 extern char_I_deco_gas_change, char_I_setpoint_change, char_I_setpoint_cbar, char_I_dil_change | |
| 85 extern char_I_dive_interval, char_I_bottom_time, char_I_bottom_depth | |
| 86 extern char_I_deco_model, char_I_saturation_multiplier, char_I_desaturation_multiplier | |
| 87 extern char_I_extra_time | |
| 88 extern tDefName | |
| 89 ; Option table | |
| 90 ; OPTION_UINT8 Label, min, max, default, text-string, EEPROM location (-1 for RAM only), RAM location | |
| 91 global option_table_begin | |
| 92 option_table_begin: | |
| 93 ;============================================================================= | |
| 94 ; Manage Decoplaner & Dive parameters | |
| 95 OPTION_UINT8p10 odiveInterval, .0, .240, .0, tMinutes, -1, char_I_dive_interval | |
| 96 OPTION_UINT8p2 obottomTime, .1, .60, .5, tMinutes, -1, char_I_bottom_time | |
| 97 OPTION_UINT8p3 obottomDepth, .12,.120, .21, tMeters, -1, char_I_bottom_depth | |
| 98 OPTION_ENUM8 oDiveMode, 4, 0, tDvOC, .8, opt_dive_mode ; 0=OC, 1=CC, 2=Gauge, 3=Apnea | |
| 99 OPTION_ENUM8 oDecoMode, 2, 1, tZHL16, .9, char_I_deco_model ; 0 = ZH-L16, 1 = ZH-L16-GF | |
| 100 OPTION_UINT8p10 oPPO2Max, .120, ppo2_warning_high, .160, 0, .10, opt_ppO2_max | |
| 101 OPTION_UINT8 oLastDeco, .3, .6, .3, tMeters, .11, opt_last_stop | |
| 102 OPTION_UINT8 oGF_low, .10, .100, .30, tPercent, .12, opt_GF_low | |
| 103 OPTION_UINT8 oGF_high, .60, .110, .85, tPercent, .13, opt_GF_high | |
| 104 OPTION_UINT8p10 osatmult, .100, .140, .110,tPercent, .14, char_I_saturation_multiplier | |
| 105 OPTION_UINT8p10 odesatmult, .60, .100, .90,tPercent, .15, char_I_desaturation_multiplier | |
| 106 OPTION_UINT8p10 oPPO2Min, .16, ppo2_warning_low, .19, 0, .16, opt_ppO2_min | |
| 107 OPTION_UINT8 oaGF_low, .60, .100, .60, tPercent, .17, opt_aGF_low | |
| 108 OPTION_UINT8 oaGF_high, .70, .120, .85, tPercent, .18, opt_aGF_high | |
| 109 OPTION_BOOL oEnable_aGF, 0, .19, opt_enable_aGF ; =1: aGF can be selected underwater | |
| 110 OPTION_UINT8 oCompassGain, 0, 7, 6, tcharx, .20, opt_compass_gain ; 0-7 (230LSB/Gauss to 1370LSB/Gauss) | |
| 111 OPTION_ENUM8 oSamplingRate, 2, 0, tSampling2s, .21, opt_sampling_rate ; =1: 10s, =0: 2s | |
| 112 | |
| 113 ;============================================================================= | |
| 114 ; Managing Settings | |
| 115 OPTION_UINT8 oExtraTime, 0, .9, 0,tMinutes, .22, char_I_extra_time ; Future TTS | |
| 116 OPTION_ENUM8 oBrightness, 3, 0, tEco, .23, opt_brightness ; =0: Eco, =1:Medium, =2:Full | |
| 117 OPTION_UINT8 oDiveSalinity, 0, 4, 0, tPercent, .24, opt_salinity ; 0-5% | |
| 118 OPTION_ENUM8 oCCRMode, 2, 0, tCCRModeFixedSP, .25, opt_ccr_mode ; =0: Fixed SP, =1: Sensor | |
| 119 OPTION_ENUM8 oLanguage, 4, 0, tEnglish, .26, opt_language ; 0=EN, 1=DE, 2=FR, 3=SP | |
| 120 OPTION_ENUM8 oDateFormat, 3, 1, tDateformat,.27, opt_dateformat ; =0:MMDDYY, =1:DDMMYY, =2:YYMMDD | |
| 121 OPTION_ENUM8 oUnits, 2, 0, tMetric, .28, opt_units ; 0=Meters, 1=Feets | |
| 122 | |
| 123 ;============================================================================= | |
| 124 ; Compass calibration data | |
| 125 OPTION_UINT8 oCalx0, 0,.255,.0, 0, .29, compass_CX_f+0 | |
| 126 OPTION_UINT8 oCalx1, 0,.255,.0, 0, .30, compass_CX_f+1 | |
| 127 OPTION_UINT8 oCaly0, 0,.255,.0, 0, .31, compass_CY_f+0 | |
| 128 OPTION_UINT8 oCaly1, 0,.255,.0, 0, .32, compass_CY_f+1 | |
| 129 OPTION_UINT8 oCalz0, 0,.255,.0, 0, .33, compass_CZ_f+0 | |
| 130 OPTION_UINT8 oCalz1, 0,.255,.0, 0, .34, compass_CZ_f+1 | |
| 131 | |
| 132 ;============================================================================= | |
| 133 ; Gas list | |
| 134 OPTION_ENUM8 oGas1, 3, 1, tGasDisabled, .35, opt_gas_type+0; 0=Disabled, 1=First, 2=Travel, 3=Deco | |
| 135 OPTION_ENUM8 oGas2, 3, 0, tGasDisabled, .36, opt_gas_type+1 | |
| 136 OPTION_ENUM8 oGas3, 3, 0, tGasDisabled, .37, opt_gas_type+2 | |
| 137 OPTION_ENUM8 oGas4, 3, 0, tGasDisabled, .38, opt_gas_type+3 | |
| 138 OPTION_ENUM8 oGas5, 3, 0, tGasDisabled, .39, opt_gas_type+4 | |
| 139 OPTION_UINT8 oGas1O2, .21,.100, .21, tPercent, .40, opt_gas_O2_ratio+0 | |
| 140 OPTION_UINT8 oGas1He, .1, .100, .0, tPercent, .41, opt_gas_He_ratio+0 | |
| 141 OPTION_UINT8 oGas2O2, .21,.100, .21, tPercent, .42, opt_gas_O2_ratio+1 | |
| 142 OPTION_UINT8 oGas2He, .1, .100, .0, tPercent, .43, opt_gas_He_ratio+1 | |
| 143 OPTION_UINT8 oGas3O2, .21,.100, .21, tPercent, .44, opt_gas_O2_ratio+2 | |
| 144 OPTION_UINT8 oGas3He, .1, .100, .0, tPercent, .45, opt_gas_He_ratio+2 | |
| 145 OPTION_UINT8 oGas4O2, .21,.100, .21, tPercent, .46, opt_gas_O2_ratio+3 | |
| 146 OPTION_UINT8 oGas4He, .1, .100, .0, tPercent, .47, opt_gas_He_ratio+3 | |
| 147 OPTION_UINT8 oGas5O2, .21,.100, .21, tPercent, .48, opt_gas_O2_ratio+4 | |
| 148 OPTION_UINT8 oGas5He, .1, .100, .0, tPercent, .49, opt_gas_He_ratio+4 | |
| 149 OPTION_UINT8 oGas1Depth, .0, .100, .0, tMeters, .50, opt_OC_bail_gas_change+0 | |
| 150 OPTION_UINT8 oGas2Depth, .0, .100, .0, tMeters, .51, opt_OC_bail_gas_change+1 | |
| 151 OPTION_UINT8 oGas3Depth, .0, .100, .0, tMeters, .52, opt_OC_bail_gas_change+2 | |
| 152 OPTION_UINT8 oGas4Depth, .0, .100, .0, tMeters, .53, opt_OC_bail_gas_change+3 | |
| 153 OPTION_UINT8 oGas5Depth, .0, .100, .0, tMeters, .54, opt_OC_bail_gas_change+4 | |
| 154 OPTION_UINT8 oDil1O2, .21,.100, .21, tPercent, .55, opt_dil_O2_ratio+0 | |
| 155 OPTION_UINT8 oDil1He, .1, .100, .0, tPercent, .56, opt_dil_He_ratio+0 | |
| 156 OPTION_UINT8 oDil2O2, .21,.100, .21, tPercent, .57, opt_dil_O2_ratio+1 | |
| 157 OPTION_UINT8 oDil2He, .1, .100, .0, tPercent, .58, opt_dil_He_ratio+1 | |
| 158 OPTION_UINT8 oDil3O2, .21,.100, .21, tPercent, .59, opt_dil_O2_ratio+2 | |
| 159 OPTION_UINT8 oDil3He, .1, .100, .0, tPercent, .60, opt_dil_He_ratio+2 | |
| 160 OPTION_UINT8 oDil4O2, .21,.100, .21, tPercent, .61, opt_dil_O2_ratio+3 | |
| 161 OPTION_UINT8 oDil4He, .1, .100, .0, tPercent, .62, opt_dil_He_ratio+3 | |
| 162 OPTION_UINT8 oDil5O2, .21,.100, .21, tPercent, .63, opt_dil_O2_ratio+4 | |
| 163 OPTION_UINT8 oDil5He, .1, .100, .0, tPercent, .64, opt_dil_He_ratio+4 | |
| 164 OPTION_UINT8 oSetPoint1, .20, .160, .70, tbar, .65, char_I_setpoint_cbar+0 | |
| 165 OPTION_UINT8 oSetPoint2, .20, .160, .90, tbar, .66, char_I_setpoint_cbar+1 | |
| 166 OPTION_UINT8 oSetPoint3, .20, .160, .100, tbar, .67, char_I_setpoint_cbar+2 | |
| 167 OPTION_UINT8 oSetPoint4, .20, .160, .120, tbar, .68, char_I_setpoint_cbar+3 | |
| 168 OPTION_UINT8 oSetPoint5, .20, .160, .140, tbar, .69, char_I_setpoint_cbar+4 | |
| 169 OPTION_UINT8 oSP1Depth, .0, .100, .0, tMeters, .70, char_I_setpoint_change+0 | |
| 170 OPTION_UINT8 oSP2Depth, .0, .100, .0, tMeters, .71, char_I_setpoint_change+1 | |
| 171 OPTION_UINT8 oSP3Depth, .0, .100, .0, tMeters, .72, char_I_setpoint_change+2 | |
| 172 OPTION_UINT8 oSP4Depth, .0, .100, .0, tMeters, .73, char_I_setpoint_change+3 | |
| 173 OPTION_UINT8 oSP5Depth, .0, .100, .0, tMeters, .74, char_I_setpoint_change+4 | |
| 174 OPTION_ENUM8 oDil1, 2, 1, tDilDisabled, .75, opt_dil_type+0 ; 0=Disabled, 1=First, 2=Normal | |
| 175 OPTION_ENUM8 oDil2, 2, 0, tDilDisabled, .76, opt_dil_type+1 | |
| 176 OPTION_ENUM8 oDil3, 2, 0, tDilDisabled, .77, opt_dil_type+2 | |
| 177 OPTION_ENUM8 oDil4, 2, 0, tDilDisabled, .78, opt_dil_type+3 | |
| 178 OPTION_ENUM8 oDil5, 2, 0, tDilDisabled, .79, opt_dil_type+4 | |
| 179 OPTION_UINT8 oDil1Depth, .0, .100, .0, tMeters, .80, char_I_dil_change+0 | |
| 180 OPTION_UINT8 oDil2Depth, .0, .100, .0, tMeters, .81, char_I_dil_change+1 | |
| 181 OPTION_UINT8 oDil3Depth, .0, .100, .0, tMeters, .82, char_I_dil_change+2 | |
| 182 OPTION_UINT8 oDil4Depth, .0, .100, .0, tMeters, .83, char_I_dil_change+3 | |
| 183 OPTION_UINT8 oDil5Depth, .0, .100, .0, tMeters, .84, char_I_dil_change+4 | |
| 184 | |
| 185 ;============================================================================= | |
| 186 ; opt_name from 85 to 145 | |
| 187 OPTION_STRING oName, opt_name_length, tDefName, .85, opt_name | |
| 188 | |
| 189 ;============================================================================= | |
| 190 ; Misc | |
| 191 OPTION_ENUM8 oColorSetDive, 4, 0, tColorSetName0, .146, opt_dive_color_scheme ; Color scheme divemode | |
| 192 OPTION_UINT8 oPressureAdjust, .0,.255, .0, -1, .147, opt_pressure_adjust ; SIGNED int (-20/+20mbar max.) | |
| 193 OPTION_BOOL oSafetyStop, 0, .148, opt_enable_safetystop ; =1: A safety stop is shown | |
| 194 OPTION_UINT8 oCalGasO2, .21,.100, .21, tPercent, .149, opt_calibration_O2_ratio ; Calibration gas %O2 | |
| 195 | |
| 196 ;============================================================================= | |
| 197 ; Set Time/Set Date (RAM only) | |
| 198 OPTION_UINT8 oSetHours, .0, .23, .0, 0, -1, hours | |
| 199 OPTION_UINT8 oSetMinutes, .0, .59, .0, 0, -1, mins | |
| 200 OPTION_UINT8 oSetDay, .1, .31, .0, 0, -1, day | |
| 201 OPTION_UINT8 oSetMonth, .1, .12, .0, 0, -1, month | |
| 202 OPTION_UINT8 oSetYear, .13,.20, .0, 0, -1, year | |
| 203 | |
| 204 global option_table_end | |
| 205 option_table_end: | |
| 206 END |
