annotate code_part1/OSTC_code_asm_part1/menu_ppO2.asm @ 842:454ef5c2e6aa default tip

Bugfix: Auto-SP did not show >9m for some 2C hardware versions in German language firmware Make year settings until 2040 possible (This is likely the final release for this model)
author heinrichsweikamp
date Sat, 29 Nov 2025 14:11:07 +0100
parents 69bc5feca5da
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1
815
2a0e5d884fc3 BUGFIX: Fix licence in German
heinrichsweikamp
parents: 807
diff changeset
2 ; OSTC Mk.2, 2N and 2C - diving computer code
807
c50296c3059e BUGFIX: Divetime had unwanted "." behind the minutes
heinrichsweikamp
parents: 717
diff changeset
3 ; Copyright (C) 2015 HeinrichsWeikamp GbR
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
4
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
5 ; This program is free software: you can redistribute it and/or modify
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
6 ; it under the terms of the GNU General Public License as published by
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
7 ; the Free Software Foundation, either version 3 of the License, or
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
8 ; (at your option) any later version.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
9
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
10 ; This program is distributed in the hope that it will be useful,
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
13 ; GNU General Public License for more details.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
14
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
15 ; You should have received a copy of the GNU General Public License
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
16 ; along with this program. If not, see <http://www.gnu.org/licenses/>.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
17
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
18
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
19 ; Constant ppO2 Setup menu
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
20 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
21 ; written: 08/04/04
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
22 ; last updated: 120920
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
23 ; known bugs:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
24 ; ToDo:
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
25 ;
647
e6ac142e82b0 New Diluent Submenu in Divemode
heinrichsweikamp
parents: 643
diff changeset
26 ; New in 2.52 Diluents stored seperately in EEPROM Bank0
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
27 ;Byte96-97:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
28 ;Diluent 1 Default (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
29 ;Byte98-99:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
30 ;Diluent 1 Current (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
31 ;Byte100-101:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
32 ;Diluent 2 Default (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
33 ;Byte102-103:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
34 ;Diluent 2 Current (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
35 ;Byte104-105:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
36 ;Diluent 3 Default (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
37 ;Byte106-107:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
38 ;Diluent 3 Current (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
39 ;Byte108-109:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
40 ;Diluent 4 Default (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
41 ;Byte110-111:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
42 ;Diluent 4 Current (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
43 ;Byte112-113:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
44 ;Diluent 5 Default (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
45 ;Byte114-115:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
46 ;Diluent 5 Current (%O2,%He)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
47 ;Byte116:
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
48 ;First Diluent (1-5)
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
49
647
e6ac142e82b0 New Diluent Submenu in Divemode
heinrichsweikamp
parents: 643
diff changeset
50 ; EEPROM BANK0 Byte96-97:
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
51 ; Diluent 1 (%O2,%He)
647
e6ac142e82b0 New Diluent Submenu in Divemode
heinrichsweikamp
parents: 643
diff changeset
52 ; EEPROM BANK0 Byte98-99:
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
53 ; Diluent 2 (%O2,%He)
647
e6ac142e82b0 New Diluent Submenu in Divemode
heinrichsweikamp
parents: 643
diff changeset
54 ; EEPROM BANK0 Byte100-101:
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
55 ; Diluent 3 (%O2,%He)
647
e6ac142e82b0 New Diluent Submenu in Divemode
heinrichsweikamp
parents: 643
diff changeset
56 ; EEPROM BANK0 Byte102-103:
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
57 ; Diluent 4 (%O2,%He)
647
e6ac142e82b0 New Diluent Submenu in Divemode
heinrichsweikamp
parents: 643
diff changeset
58 ; EEPROM BANK0 Byte104-105:
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
59 ; Diluent 5 (%O2,%He)
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
60 ; EEPROM BANK0 Byte106:
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
61 ; First Diluent (1-5)
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
62
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
63
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
64 menu_const_ppO2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
65 movlw d'1'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
66 movwf menupos
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
67 menu_const_ppO2_return:
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
68 call DISP_ClearScreen
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
69 menu_const_ppO2_return2:
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
70 call DISP_ccr_setup_menu_mask
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
71 call refresh_cursor
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
72 call menu_pre_loop_common
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
73 call show_sp_mode
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
74
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
75 menu_const_ppO2_preloop:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
76 call check_switches_menu
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
77 movlw d'4'
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
78 cpfseq menupos
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
79 bra menu_const_ppO2_preloop2 ; Returns
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
80 movlw d'6'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
81 movwf menupos
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
82 call DISP_menu_cursor
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
83
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
84
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
85 menu_const_ppO2_preloop2:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
86 btfsc menubit2
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
87 bra do_ccr_pre_menu ; call submenu
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
88 btfss menubit
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
89 goto restart ; exit menu, restart
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
90 btfsc onesecupdate
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
91 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
92 bcf onesecupdate ; End of one second tasks
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
93 btfsc sleepmode
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
94 goto restart
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
95 bra menu_const_ppO2_preloop
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
96
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
97 do_ccr_pre_menu:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
98 dcfsnz menupos,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
99 goto menu_diluentsetup
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
100 dcfsnz menupos,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
101 goto menu_const_ppO2_setpoints
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
102 dcfsnz menupos,F
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
103 goto menu_const_ppO2_toggle_mode
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
104 dcfsnz menupos,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
105 goto exit_menu_const_ppO2 ; exit...
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
106 dcfsnz menupos,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
107 goto exit_menu_const_ppO2 ; exit...
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
108 exit_menu_const_ppO2: ; exit...
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
109 movlw d'2'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
110 movwf menupos
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
111 goto more_menu2
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
112
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
113 menu_const_ppO2_toggle_mode:
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
114 read_int_eeprom .116 ; SP Mode
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
115 movlw .1 ; Preload 1
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
116 tstfsz EEDATA ; =0?
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
117 movlw .0 ; No.
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
118 movwf EEDATA ; Set new value
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
119 write_int_eeprom .116 ; write back result
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
120 movlw d'3'
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
121 movwf menupos
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
122 goto menu_const_ppO2_return2 ; Done.
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
123
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
124 show_sp_mode:
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
125 read_int_eeprom .116 ; SP Mode
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
126 tstfsz EEDATA ; =0?
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
127 bra show_sp_mode2 ; No
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
128 DISPLAYTEXTH .363 ; =0: Manual
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
129 return
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
130 show_sp_mode2:
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
131 DISPLAYTEXTH .364 ; =1: Auto
816
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
132 return
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
133
df8cd5ffd993 BUGFIX: Load first diluent if <> 1 correctly
heinrichsweikamp
parents: 815
diff changeset
134
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
135 menu_diluentsetup:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
136 movlw d'1'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
137 movwf menupos
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
138
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
139 menu_diluentsetup_prelist:
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
140 call DISP_ClearScreen
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
141 call menu_pre_loop_common ; Clear some menu flags, timeout and switches
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
142 call DISP_divemask_color
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
143 DISPLAYTEXT .231 ; Dil. Setup - Gaslist
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
144 call DISP_standard_color
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
145 clrf decodata+0 ; Here: # of gas 0-4
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
146 clrf divemins+0 ; Here: # of Gas * 4
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
147 movlw d'5'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
148 movwf waitms_temp ; here: stores row for gas list
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
149 movlw d'93'
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
150 movwf wait_temp ; here: stores eeprom address for gas list
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
151
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
152 menu_diluentsetup_list:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
153 WIN_LEFT .20
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
154 movlw d'4'
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
155 addwf wait_temp,F ; Increase eeprom address for diluent list
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
156 movlw d'30'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
157 addwf waitms_temp,F ; Increase row
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
158 movf waitms_temp,W ; Load row into WREG
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
159 movff WREG,win_top
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
160 lfsr FSR2,letter
640
50ba6255f53e ccr menu
heinrichsweikamp
parents: 639
diff changeset
161 PUTC TXT_DIL_C
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
162 movff decodata+0,lo
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
163 incf lo,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
164 bsf leftbind
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
165 output_99
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
166 PUTC ':'
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
167 call word_processor
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
168
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
169 WIN_LEFT .40
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
170 movf waitms_temp,W ; Load row into WREG
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
171 movff WREG,win_top
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
172 lfsr FSR2,letter
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
173
829
69bc5feca5da BUGFIX: "First Diluent" and "SP Mode" used same EEPROM location
heinrichsweikamp
parents: 817
diff changeset
174 movlw d'115'
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
175 movwf EEADR
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
176 call read_eeprom ; Get current startgas 1-5 # into EEDATA
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
177 decf EEDATA,W ; 0-4
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
178 cpfseq decodata+0 ; =current displayed gas #?
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
179 bra menu_diluentsetup_Tx; no, do not display *
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
180 PUTC '*' ; display *
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
181 call word_processor
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
182
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
183 menu_diluentsetup_Tx:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
184 WIN_LEFT .48
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
185 movf waitms_temp,W ; Load row into WREG
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
186 movff WREG,win_top
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
187 lfsr FSR2,letter
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
188
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
189 movff wait_temp, EEADR ; Gas %He - Set address in internal EEPROM
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
190 incf EEADR,F ; Gas %He - Set address in internal EEPROM
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
191 call read_eeprom ; Read He value from EEPROM
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
192 movff EEDATA,lo ; Move EEDATA -> lo
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
193 movf lo,f ; Move lo -> f
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
194 movlw d'0' ; Move 0 -> WREG
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
195 cpfsgt lo ; He > 0?
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
196 bra menu_diluentsetup_Nx ; NO check o2
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
197
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
198 ; YES Write TX 15/55
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
199 STRCAT TXT_TX3
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
200 movff wait_temp, EEADR ; Gas %O2 - Set address in internal EEPROM
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
201 call read_eeprom ; O2 value
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
202 movff EEDATA,lo
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
203 output_8
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
204 PUTC '/'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
205 incf EEADR,F ; Gas #hi: %He - Set address in internal EEPROM
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
206 call read_eeprom ; He value
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
207 movff EEDATA,lo
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
208 output_8
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
209 bra menu_diluentsetup_list0
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
210
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
211 ; New v1.44se
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
212 menu_diluentsetup_Nx:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
213 movff wait_temp, EEADR ; Gas %O2 - Set address in internal EEPROM
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
214 call read_eeprom ; Read O2 value from EEPROM
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
215 movff EEDATA,lo ; Move EEDATA -> lo
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
216 movf lo,f ; Move lo -> f
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
217 movlw d'21' ; Move 21 -> WREG
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
218 cpfsgt lo ; o2 > 21%
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
219 bra menu_diluentsetup_Air ; NO AIR
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
220 movlw d'100' ; Move 100 -> WREG
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
221 cpfslt lo ; o2 < 100%
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
222 bra menu_diluentsetup_O2 ; NO write O2
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
223
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
224 ; YES Write NX 32
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
225 STRCAT TXT_NX3
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
226 output_8
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
227 bra menu_diluentsetup_list0
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
228
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
229 menu_diluentsetup_O2:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
230 STRCAT TXT_O2_3
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
231 output_8
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
232 bra menu_diluentsetup_list0
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
233
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
234 menu_diluentsetup_Air:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
235 cpfseq lo ; o2 = 21%
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
236 bra menu_diluentsetup_Err
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
237
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
238 STRCAT TXT_AIR4
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
239 output_8
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
240 bra menu_diluentsetup_list0
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
241
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
242 menu_diluentsetup_Err:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
243 STRCAT TXT_ERR4
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
244 output_8
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
245
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
246 menu_diluentsetup_list0:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
247 call word_processor
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
248
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
249 incf decodata+0,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
250 movlw d'5'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
251 cpfseq decodata+0
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
252 goto menu_diluentsetup_list
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
253
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
254 DISPLAYTEXT .11 ; Exit
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
255 call wait_switches ; Waits until switches are released, resets flag if button stays pressed!
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
256 call DISP_menu_cursor
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
257
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
258 menu_diluentsetup_loop:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
259 call check_switches_logbook
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
260
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
261 btfsc menubit3
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
262 bra menu_diluentsetup_list2 ; move cursor
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
263
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
264 btfsc menubit2
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
265 bra do_diluentsetup_list ; call gas-specific submenu
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
266
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
267 btfsc onesecupdate
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
268 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
269
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
270 bcf onesecupdate ; 1 sec. functions done
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
271
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
272 btfsc sleepmode
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
273 bra menu_const_ppO2
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
274
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
275 bra menu_diluentsetup_loop
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
276
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
277 menu_diluentsetup_list2:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
278 incf menupos,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
279 movlw d'7'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
280 cpfseq menupos ; =7?
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
281 bra menu_diluentsetup_list3 ; No
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
282 movlw d'1'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
283 movwf menupos
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
284
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
285 menu_diluentsetup_list3:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
286 clrf timeout_counter2
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
287 call DISP_menu_cursor
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
288
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
289 call wait_switches ; Waits until switches are released, resets flag if button stays pressed!
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
290
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
291 bcf menubit3 ; clear flag
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
292 bra menu_diluentsetup_loop
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
293
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
294
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
295 do_diluentsetup_list:
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
296 dcfsnz menupos,F
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
297 bra diluent_list_edit_gas1
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
298 dcfsnz menupos,F
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
299 bra diluent_list_edit_gas2
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
300 dcfsnz menupos,F
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
301 bra diluent_list_edit_gas3
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
302 dcfsnz menupos,F
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
303 bra diluent_list_edit_gas4
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
304 dcfsnz menupos,F
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
305 bra diluent_list_edit_gas5
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
306 bra menu_const_ppO2 ; Exit List
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
307
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
308 diluent_list_edit_gas1:
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
309 movlw d'0' ; Diluent Number 0-4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
310 movwf decodata+0
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
311 movlw d'91' ; EEPROM address of %O2
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
312 movwf divemins+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
313 bra menu_diluentgas
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
314 diluent_list_edit_gas2:
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
315 movlw d'1' ; Diluent Number 0-4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
316 movwf decodata+0
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
317 movlw d'95' ; EEPROM address of %O2
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
318 movwf divemins+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
319 bra menu_diluentgas
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
320 diluent_list_edit_gas3:
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
321 movlw d'2' ; Diluent Number 0-4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
322 movwf decodata+0
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
323 movlw d'99' ; EEPROM address of %O2
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
324 movwf divemins+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
325 bra menu_diluentgas
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
326 diluent_list_edit_gas4:
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
327 movlw d'3' ; Diluent Number 0-4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
328 movwf decodata+0
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
329 movlw d'103' ; EEPROM address of %O2
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
330 movwf divemins+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
331 bra menu_diluentgas
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
332 diluent_list_edit_gas5:
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
333 movlw d'4' ; Diluent Number 0-4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
334 movwf decodata+0
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
335 movlw d'107' ; EEPROM address of %O2
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
336 movwf divemins+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
337 ; bra menu_diluentgas
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
338 menu_diluentgas:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
339 movlw d'1'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
340 movwf menupos
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
341 bcf menubit4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
342 bcf first_FA ; Here: =1: -, =0: +
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
343
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
344 menu_diluentgas0:
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
345 call DISP_ClearScreen
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
346 WIN_LEFT .20
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
347 WIN_TOP .185
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
348 lfsr FSR2, letter
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
349 OUTPUTTEXT .11 ; Exit
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
350 STRCAT_PRINT ""
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
351
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
352 menu_diluentgas1:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
353 call menu_pre_loop_common ; Clear some menu flags, timeout and switches
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
354 call diluent_title_bar2 ; Displays the title bar with the current Gas info
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
355
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
356 WIN_TOP .35
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
357 WIN_LEFT .20
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
358 lfsr FSR2,letter
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
359 OUTPUTTEXT .88 ; First Gas?
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
360 PUTC ' '
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
361
829
69bc5feca5da BUGFIX: "First Diluent" and "SP Mode" used same EEPROM location
heinrichsweikamp
parents: 817
diff changeset
362 movlw d'115'
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
363 movwf EEADR
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
364 call read_eeprom ; Get current startgas 1-5 # into EEDATA
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
365 decf EEDATA,W ; 0-4
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
366 cpfseq decodata+0 ; =current displayed gas #?
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
367 bra menu_firstdil0 ; no, display three spaces
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
368
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
369 OUTPUTTEXT .96 ; Yes
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
370 bsf second_FA ; Is first gas
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
371
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
372 bra menu_firstdil1
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
373
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
374 menu_firstdil0:
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
375 bcf second_FA ; Is not first gas
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
376 STRCAT " " ; 3 spaces.
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
377
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
378 menu_firstdil1:
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
379 call word_processor
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
380
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
381 WIN_LEFT .20
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
382 WIN_TOP .65
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
383 STRCPY TXT_O2_4
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
384
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
385 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
386 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
387 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
388 call read_eeprom ; O2 value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
389 movff EEDATA,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
390 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
391 STRCAT_PRINT "% "
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
392
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
393 ; Show MOD in m
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
394 WIN_LEFT .90
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
395 lfsr FSR2, letter
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
396 OUTPUTTEXTH .297 ; MOD:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
397
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
398 GETCUSTOM8 .18 ; ppO2 warnvalue in WREG
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
399 mullw d'10'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
400 movff PRODL,xA+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
401 movff PRODH,xA+1 ; ppO2 in [0.01bar] * 10
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
402 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
403 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
404 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
405 call read_eeprom ; O2 value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
406 movff EEDATA,xB+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
407 clrf xB+1
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
408 call div16x16 ; xA/xB=xC with xA as remainder
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
409 movlw d'10'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
410 subwf xC+0,F ; Subtract 10m...
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
411 movff xC+0,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
412 movlw d'0'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
413 subwfb xC+1,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
414 movff xC+1,hi
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
415
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
416 output_16
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
417 STRCAT_PRINT TXT_METER3
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
418
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
419 WIN_LEFT .20
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
420 WIN_TOP .95
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
421 STRCPY TXT_HE4
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
422 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
423 addlw 0x07
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
424 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
425 call read_eeprom ; He value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
426 movff EEDATA,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
427 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
428 STRCAT_PRINT "% "
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
429
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
430 ; Show END in m
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
431 lfsr FSR2, letter
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
432 WIN_LEFT .90
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
433 OUTPUTTEXTH .298 ; END:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
434 GETCUSTOM8 .18 ; ppO2 warnvalue in WREG
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
435 mullw d'10'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
436 movff PRODL,xA+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
437 movff PRODH,xA+1 ; ppO2 in [0.01bar] * 10
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
438 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
439 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
440 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
441 call read_eeprom ; O2 value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
442 movff EEDATA,xB+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
443 clrf xB+1
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
444 call div16x16 ; xA/xB=xC with xA as remainder
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
445 movlw d'10'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
446 subwf xC+0,F ; Subtract 10m...
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
447 movff xC+0,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
448 movlw d'0'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
449 subwfb xC+1,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
450 movff xC+1,hi ; lo:hi holding MOD in meters
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
451 movlw d'10'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
452 addwf lo,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
453 movlw d'0'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
454 addwfc hi,F ; lo:hi holding MOD+10m
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
455
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
456 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
457 addlw 0x07
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
458 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
459 call read_eeprom ; He value in % -> EEDATA
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
460 movlw d'100'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
461 movwf xA+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
462 movf EEDATA,W ; He value in % -> EEDATA
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
463 subwf xA+0,F ; xA+0 = 100 - He Value in %
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
464 clrf xA+1
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
465 movff lo,xB+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
466 movff hi,xB+1 ; Copy MOD+10
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
467 call mult16x16 ; xA*xB=xC
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
468 movff xC+0,xA+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
469 movff xC+1,xA+1
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
470 movlw d'100'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
471 movwf xB+0
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
472 clrf xB+1
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
473 call div16x16 ; xA/xB=xC with xA as remainder
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
474 ; xC:2 = ((MOD+10) * 100 - HE Value in %) / 100
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
475 movlw d'10'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
476 subwf xC+0,F ; Subtract 10m...
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
477 movff xC+0,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
478 movlw d'0'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
479 subwfb xC+1,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
480 movff xC+1,hi
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
481 output_16
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
482 STRCAT_PRINT TXT_METER3
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
483
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
484 WIN_LEFT .20
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
485 WIN_TOP .125
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
486 STRCPY "+/-: "
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
487 movlw '+'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
488 btfsc first_FA
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
489 movlw '-'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
490 movwf POSTINC2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
491 call word_processor
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
492
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
493 WIN_TOP .155
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
494 lfsr FSR2,letter
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
495 OUTPUTTEXT .89 ; Default:
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
496 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
497 addlw 0x04
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
498 movwf EEADR
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
499 call read_eeprom ; Default O2 value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
500 movff EEDATA,lo
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
501 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
502 PUTC '/'
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
503 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
504 addlw 0x05
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
505 movwf EEADR
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
506 call read_eeprom ; Default He value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
507 movff EEDATA,lo
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
508 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
509 STRCAT_PRINT " "
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
510
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
511 call wait_switches ; Waits until switches are released, resets flag if button stays pressed!
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
512 call DISP_menu_cursor
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
513
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
514 diluentgassetup_loop:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
515 call check_switches_logbook
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
516
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
517 btfsc menubit3
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
518 bra diluentgassetup2 ; move cursor
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
519
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
520 btfsc menubit2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
521 bra do_diluentgassetup ; call submenu
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
522
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
523 btfsc onesecupdate
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
524 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
525
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
526 bcf onesecupdate ; 1 sec. functions done
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
527
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
528 btfsc sleepmode
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
529 bra exit_menu_const_ppO2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
530
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
531 bra diluentgassetup_loop
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
532
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
533 diluentgassetup2:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
534 incf menupos,F
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
535 movlw d'7'
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
536 cpfseq menupos ; =7?
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
537 bra diluentgassetup3 ; No
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
538 movlw d'1'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
539 movwf menupos
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
540
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
541 diluentgassetup3:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
542 clrf timeout_counter2
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
543 call DISP_menu_cursor
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
544
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
545 call wait_switches ; Waits until switches are released, resets flag if button stays pressed!
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
546
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
547 bcf menubit3 ; clear flag
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
548 bra diluentgassetup_loop
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
549
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
550 do_diluentgassetup:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
551 dcfsnz menupos,F
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
552 bra make_first_diluent
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
553 dcfsnz menupos,F
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
554 bra adjust_o2_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
555 dcfsnz menupos,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
556 bra adjust_he_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
557 dcfsnz menupos,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
558 bra toggle_plus_minus_diluentsetup
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
559 dcfsnz menupos,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
560 bra restore_gas_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
561 exit_diluentgassetup: ; exit...
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
562 movff decodata+0,menupos
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
563 incf menupos,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
564 bra menu_diluentsetup_prelist
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
565
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
566 make_first_diluent:
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
567 movff decodata+0,EEDATA ; current gas (0-4) into EEDATA
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
568 incf EEDATA,F ; current gas (1-5) into EEDATA
829
69bc5feca5da BUGFIX: "First Diluent" and "SP Mode" used same EEPROM location
heinrichsweikamp
parents: 817
diff changeset
569 movlw d'115'
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
570 movwf EEADR
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
571 call write_eeprom ; store in internal EEPROM
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
572 movlw d'1'
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
573 movwf menupos
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
574 bra menu_diluentgas1 ; return
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
575
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
576 toggle_plus_minus_diluentsetup:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
577 btg first_FA
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
578 movlw d'4'
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
579 movwf menupos
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
580 bra menu_diluentgas1 ; return
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
581
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
582 adjust_o2_diluent:
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
583 movf divemins+0,W ; read current value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
584 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
585 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
586 call read_eeprom ; Low-value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
587 movff EEDATA,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
588
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
589 btfsc first_FA ; Minus?
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
590 bra adjust_o2_1_diluent ; yes, minus!
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
591
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
592 incf lo,F ; increase O2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
593 movlw d'101'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
594 cpfseq lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
595 bra adjust_o2_2_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
596 movlw d'4' ; LOWER O2 Limit
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
597 movwf lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
598 bra adjust_o2_2_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
599
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
600 adjust_o2_1_diluent:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
601 decf lo,F ; decrease O2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
602 movlw d'3'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
603 cpfseq lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
604 bra adjust_o2_2_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
605
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
606 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
607 addlw 0x07
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
608 movwf EEADR
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
609 call read_eeprom ; read He value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
610
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
611 movlw d'100'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
612 movwf lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
613 movf EEDATA,W ; He value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
614 subwf lo,F ; lo=100% - He%
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
615
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
616 adjust_o2_2_diluent: ; test if O2+He>100...
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
617 addlw 0x07
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
618 movwf EEADR
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
619 call read_eeprom ; read He value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
620 movf EEDATA,W ; He value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
621 addwf lo,W ; add O2 value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
622 movwf hi ; store in temp
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
623 movlw d'101'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
624 cpfseq hi ; O2 and He > 100?
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
625 bra adjust_o2_3_diluent ; No!
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
626
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
627 movlw d'4' ; LOWER O2 Limit
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
628 movwf lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
629
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
630 adjust_o2_3_diluent:
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
631 movf divemins+0,W ; save current value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
632 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
633 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
634 movff lo,EEDATA
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
635 call write_eeprom ; Low-value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
636
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
637 movlw d'2'
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
638 movwf menupos
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
639 bra menu_diluentgas1 ; return
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
640
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
641 adjust_he_diluent:
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
642 movf divemins+0,W ; read current value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
643 addlw 0x07
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
644 movwf EEADR ; read current value (He)
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
645 call read_eeprom ; Low-value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
646 movff EEDATA,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
647
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
648 btfsc first_FA ; Minus?
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
649 bra adjust_he_1_diluent ; yes, minus!
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
650
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
651 incf lo,F
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
652 movlw d'99' ; He limited to (useless) 99%
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
653 cpfseq lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
654 bra adjust_he_2_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
655 clrf lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
656 bra adjust_he_2_diluent
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
657
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
658 adjust_he_1_diluent:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
659 decf lo,F ; decrease He
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
660 movlw d'255'
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
661 cpfseq lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
662 bra adjust_he_2_diluent
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
663 clrf lo ; limit to zero
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
664
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
665 adjust_he_2_diluent: ; test if O2+He>100...
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
666 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
667 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
668 movwf EEADR
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
669 call read_eeprom ; Low-value
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
670 movf EEDATA,W
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
671 addwf lo,W ; add He value
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
672 movwf hi ; store in temp
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
673 movlw d'101'
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
674 cpfseq hi ; O2 and He > 100?
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
675 bra adjust_he_3_diluent ; No!
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
676 ; clrf lo ; Yes, clear He to zero
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
677 decf lo,F ; reduce He again = unchanged after operation
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
678
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
679 adjust_he_3_diluent:
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
680 movf divemins+0,W ; save current value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
681 addlw 0x07
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
682 movwf EEADR
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
683 movff lo,EEDATA
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
684 call write_eeprom ; Low-value
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
685
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
686 movlw d'3'
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
687 movwf menupos
652
86b49e47b2f5 allow Diluents with >50% He
heinrichsweikamp
parents: 647
diff changeset
688 bra menu_diluentgas1;
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
689
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
690 restore_gas_diluent:
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
691 movf divemins+0,W ; read Default value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
692 addlw 0x04
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
693 movwf EEADR
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
694 call read_eeprom ; Low-value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
695 movff EEDATA,lo
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
696 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
697 addlw 0x05
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
698 movwf EEADR
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
699 call read_eeprom ; High-value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
700 movff EEDATA,hi
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
701
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
702 movf divemins+0,W ; save Default value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
703 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
704 movwf EEADR
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
705 movff lo,EEDATA
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
706 call write_eeprom ; Low-value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
707 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
708 addlw 0x07
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
709 movwf EEADR
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
710 movff hi,EEDATA
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
711 call write_eeprom ; High-value
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
712
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
713 movlw d'5'
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
714 movwf menupos
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
715 bra menu_diluentgas1
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
716
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
717
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
718 diluent_title_bar2:
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
719 ; call DISP_topline_box
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
720 call DISP_divemask_color
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
721 WIN_TOP .2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
722 WIN_LEFT .30
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
723 lfsr FSR2,letter
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
724 STRCAT TXT_DIL5 ; Dil.#
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
725 movff decodata+0,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
726 incf lo,F
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
727 bsf leftbind
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
728 output_99
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
729 STRCAT_PRINT ": "
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
730
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
731 WIN_TOP .2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
732 WIN_LEFT .80
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
733 lfsr FSR2,letter
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
734
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
735 ;He check
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
736 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
737 addlw 0x07
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
738 movwf EEADR
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
739 call read_eeprom ; He value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
740 movff EEDATA,lo ; Move EEData -> lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
741 movf lo,f ; Move lo -> f
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
742 movlw d'0' ; Move 0 -> WREG
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
743 cpfsgt lo ; He > 0?
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
744 bra diluent_title_bar3 ; NO check o2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
745
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
746 ; YES Write TX 15/55
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
747 STRCAT TXT_TX3
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
748 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
749 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
750 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
751 call read_eeprom ; O2 value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
752 movff EEDATA,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
753 output_8 ; Write O2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
754 PUTC '/'
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
755 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
756 addlw 0x07
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
757 movwf EEADR
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
758 call read_eeprom ; He value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
759 movff EEDATA,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
760 output_8 ; Write He
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
761 bra diluent_title_bar7
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
762
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
763 ; New v1.44se
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
764 diluent_title_bar3: ; O2 Check
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
765 movf divemins+0,W
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
766 addlw 0x06
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
767 movwf EEADR
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
768 call read_eeprom ; O2 value
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
769 movff EEDATA,lo
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
770 movf lo,f ; Move lo -> f
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
771 movlw d'21' ; Move 21 -> WREG
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
772 cpfseq lo ; o2 = 21
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
773 cpfsgt lo ; o2 > 21%
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
774 bra diluent_title_bar5 ; NO AIR
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
775 movlw d'100' ; Move 100 -> WREG
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
776 cpfslt lo ; o2 < 100%
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
777 bra diluent_title_bar4 ; NO write O2
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
778
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
779 ; YES Write NX 32
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
780 STRCAT TXT_NX3
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
781 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
782 bra diluent_title_bar7
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
783
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
784 ; New v1.44se
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
785 diluent_title_bar4:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
786 STRCAT TXT_O2_3
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
787 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
788 bra diluent_title_bar7
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
789
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
790 ; New v1.44se
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
791 diluent_title_bar5:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
792 cpfseq lo ; o2 = 21%
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
793 bra diluent_title_bar6
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
794
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
795 STRCAT TXT_AIR4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
796 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
797 bra diluent_title_bar7
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
798
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
799 ; New v1.44se
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
800 diluent_title_bar6: ; ERROR
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
801 STRCAT TXT_ERR4
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
802 output_8
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
803 ;bra diluent_title_bar7
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
804
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
805 diluent_title_bar7:
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
806 STRCAT_PRINT ""
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
807 call DISP_standard_color
642
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
808 return
2cecac640202 Diluent setup menu work
heinrichsweikamp
parents: 640
diff changeset
809
639
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
810
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
811 ; ***
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
812
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
813
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
814
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
815
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
816
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
817
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
818
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
819 menu_const_ppO2_setpoints: ; Setpoint menu
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
820 movlw d'1'
2ab9e9a8a189 New CCR Setup Menu (In work)
heinrichsweikamp
parents: 576
diff changeset
821 movwf menupos
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
822
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
823 bcf menubit4
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
824 clrf decodata+0 ; Here: # of SP
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
825 bcf first_FA ; Here: =1: -, =0: +
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
826 bcf second_FA ; Here: =1: 1, =0: 10 steps
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
827
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
828 menu_const_ppO20:
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
829 call DISP_ClearScreen
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
830 call DISP_divemask_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
831 DISPLAYTEXT .111 ; Constant ppO2 Setup
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
832 call DISP_standard_color
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 685
diff changeset
833
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
834
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
835 menu_const_ppO21:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
836 WIN_LEFT .20
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
837 WIN_TOP .35
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
838 lfsr FSR2,letter
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
839 OUTPUTTEXT .112 ; SP#
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
840 movff decodata+0,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
841 incf lo,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
842 bsf leftbind
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
843 output_99
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 0
diff changeset
844 STRCAT " ("
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
845
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
846 OUTPUTTEXT d'192' ; Dil.
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 0
diff changeset
847 PUTC ' '
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
848
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
849 rcall get_first_diluent ; Read first diluent into lo(O2) and hi(He)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
850 bsf leftbind
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
851 output_99 ; O2
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 0
diff changeset
852 PUTC '/'
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
853 movff hi,lo
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
854 output_99 ; He
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 0
diff changeset
855 STRCAT_PRINT ")"
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
856
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
857 WIN_LEFT .20
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
858 WIN_TOP .65
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
859
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
860 lfsr FSR2,letter
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
861 OUTPUTTEXT .97 ; "Current: "
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
862 movf decodata+0,W
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
863 addlw d'36' ; offset in eeprom
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
864 movwf EEADR
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
865 call read_eeprom ; ppO2 value
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
866 movff EEDATA,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
867 clrf hi
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
868 bsf leftbind
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
869 output_16dp d'3'
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
870 STRCAT TXT_BAR4
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
871 movf decodata+0,W
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
872 addlw d'117' ; offset in eeprom
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
873 movwf EEADR
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
874 call read_eeprom ; Change depth
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
875 movff EEDATA,lo
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
876 output_8
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
877 bcf leftbind
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
878 STRCAT_PRINT "m "
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
879
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
880 WIN_LEFT .20
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
881 WIN_TOP .95
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
882 lfsr FSR2,letter
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
883 OUTPUTTEXT d'190' ; ppO2 +
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
884 call word_processor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
885
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
886 WIN_LEFT .20
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
887 WIN_TOP .125
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
888 lfsr FSR2,letter
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
889 OUTPUTTEXT d'250' ; +1 m
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
890 call word_processor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
891
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
892 WIN_LEFT .20
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
893 WIN_TOP .155
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
894 lfsr FSR2,letter
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
895 OUTPUTTEXT .251 ; -1 m
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
896 call word_processor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
897
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
898 WIN_LEFT .20
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
899 WIN_TOP .185
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
900 lfsr FSR2,letter
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
901 OUTPUTTEXT .89 ; "Default: "
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
902 STRCAT_PRINT "1.00 / 0m"
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
903
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
904 WIN_LEFT .20
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
905 WIN_TOP .215
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
906 lfsr FSR2,letter
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
907 OUTPUTTEXT .11 ; Exit
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
908 call word_processor
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
909
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
910 call wait_switches ; Waits until switches are released, resets flag if button stays pressed!
576
ab2686087bce faster font display, code cleaning
heinrichsweikamp
parents: 575
diff changeset
911 call menu_pre_loop_common ; Clear some menu flags, timeout and switches
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
912 call DISP_menu_cursor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
913
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
914 menu_const_ppO2_loop:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
915 call check_switches_logbook
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
916
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
917 btfsc menubit3
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 445
diff changeset
918 bra menu_const_ppO22 ; move cursor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
919
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
920 btfsc menubit2
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 445
diff changeset
921 bra do_menu_const_ppO2 ; call submenu
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
922
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
923 btfsc onesecupdate
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 445
diff changeset
924 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
925
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
926 bcf onesecupdate ; 1 sec. functions done
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
927
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
928 btfsc sleepmode
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 445
diff changeset
929 bra exit_menu_const_ppO2
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
930
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 445
diff changeset
931 bra menu_const_ppO2_loop
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
932
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
933 menu_const_ppO22:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
934 incf menupos,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
935
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
936 movlw d'2'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
937 cpfseq menupos ; =2?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
938 bra menu_const_ppO22a ; No
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
939 incf menupos,F ; Skip pos. 2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
940
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
941 menu_const_ppO22a:
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
942 movlw d'8'
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
943 cpfseq menupos ; =8?
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
944 bra menu_const_ppO23 ; No
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
945 movlw d'1'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
946 movwf menupos
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
947
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
948 menu_const_ppO23:
576
ab2686087bce faster font display, code cleaning
heinrichsweikamp
parents: 575
diff changeset
949 call menu_pre_loop_common ; Clear some menu flags, timeout and switches
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 655
diff changeset
950 call DISP_menu_cursor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
951 bra menu_const_ppO2_loop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
952
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
953 do_menu_const_ppO2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
954 dcfsnz menupos,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
955 bra next_ppO2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
956 dcfsnz menupos,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
957 bra change_ppo2_plus
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
958 dcfsnz menupos,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
959 bra change_ppo2_plus
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
960 dcfsnz menupos,F
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
961 bra change_ppo2_depth_plus
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
962 dcfsnz menupos,F
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
963 bra change_ppo2_depth_minus
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
964 dcfsnz menupos,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
965 bra change_ppo2_reset
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
966 movlw d'2'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
967 movwf menupos
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
968 goto menu_const_ppO2_return
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
969
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
970 change_ppo2_depth_plus:
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
971 movf decodata+0,W
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
972 addlw d'117' ; offset in eeprom
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
973 movwf EEADR
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
974 call read_eeprom ; Change depth
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
975 movff EEDATA,lo
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
976 incf lo,F
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
977 movlw d'99'
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
978 cpfsgt lo
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
979 bra change_ppo2_depth_plus2
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
980 clrf lo
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
981 change_ppo2_depth_plus2:
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
982 movff lo,EEDATA ; write result
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
983 call write_eeprom ; save result in EEPROM
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
984 movlw d'4'
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
985 movwf menupos
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
986 bra menu_const_ppO21
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
987
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
988 change_ppo2_depth_minus:
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
989 movf decodata+0,W
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
990 addlw d'117' ; offset in eeprom
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
991 movwf EEADR
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
992 call read_eeprom ; Change depth
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
993 movff EEDATA,lo
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
994 decf lo,F
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
995 movlw d'100'
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
996 cpfsgt lo
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
997 bra change_ppo2_depth_minus2
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
998 clrf lo
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
999 change_ppo2_depth_minus2:
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1000 movff lo,EEDATA ; write result
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1001 call write_eeprom ; save result in EEPROM
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1002 movlw d'5'
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1003 movwf menupos
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1004 bra menu_const_ppO21
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1005
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1006 change_ppo2_plus:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1007 movf decodata+0,W ; read current value
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1008 addlw d'36' ; offset in memory
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1009 movwf EEADR
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1010 call read_eeprom ; Low-value
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1011 movff EEDATA,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1012
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1013 movlw .10
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1014 addwf lo,F ; increase ppO2
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1015 movlw d'200'
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1016 cpfsgt lo
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1017 bra change_ppo2_plus2
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1018 movlw d'30'
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1019 movwf lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1020 change_ppo2_plus2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1021 movff lo,EEDATA ; write result
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1022 call write_eeprom ; save result in EEPROM
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1023 movlw d'3'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1024 movwf menupos
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1025 bra menu_const_ppO21
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1026
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1027 change_ppo2_reset: ; reset to 1.00bar and 0m depth
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1028 movf decodata+0,W ; read current value
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1029 addlw d'36' ; offset in memory
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1030 movwf EEADR
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1031 movlw d'100'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1032 movwf EEDATA
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1033 call write_eeprom ; save result in EEPROM
817
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1034
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1035 movf decodata+0,W
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1036 addlw d'117' ; offset in eeprom
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1037 movwf EEADR
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1038 clrf EEDATA ; 0m default
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1039 call write_eeprom ; save result in EEPROM
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1040
e49a35ab7394 auto-SP work, auto-SP data stored in EEADR 116-119
heinrichsweikamp
parents: 816
diff changeset
1041 movlw d'6'
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1042 movwf menupos
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1043 bra menu_const_ppO21
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1044
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1045 next_ppO2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1046 incf decodata+0,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1047 movlw d'3'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1048 cpfseq decodata+0 ; =3?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1049 bra next_ppO22
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1050 clrf decodata+0 ; yes, so reset to zero
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1051 next_ppO22:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1052 movlw d'1'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1053 movwf menupos
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1054 bra menu_const_ppO21
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1055
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1056 get_first_diluent: ; Read first diluent into lo(O2) and hi(He)
829
69bc5feca5da BUGFIX: "First Diluent" and "SP Mode" used same EEPROM location
heinrichsweikamp
parents: 817
diff changeset
1057 read_int_eeprom d'115' ; Read First Diluent (1-5)
685
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
1058 movf EEDATA,W ; WREG: 0-4
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
1059 mullw .4 ; PRODL: 0-16
aebb6d039249 Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents: 681
diff changeset
1060 movlw .93 ; Base address for O2
655
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1061 addwf PRODL,W
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1062 movwf EEADR
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1063 call read_eeprom ; Read O2
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1064 movff EEDATA,lo
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1065 incf EEADR,F
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1066 call read_eeprom ; Read He
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1067 movff EEDATA,hi
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1068 return
8c01edcf57fc Allow any diluent to be "First gas" in CCR modes
heinrichsweikamp
parents: 652
diff changeset
1069