annotate src/divemenu_tree.asm @ 656:8af5aefbcdaf default tip

Update to 3.31 beta
author heinrichsweikamp
date Thu, 27 Nov 2025 18:32:58 +0100
parents 75e90cd0c2c3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
heinrichsweikamp
parents:
diff changeset
1 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2 ;
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
3 ; File divemenu_tree.asm * combined next generation V3.12.3
0
heinrichsweikamp
parents:
diff changeset
4 ;
275
653a3ab08062 rename into hwOS
heinrichsweikamp
parents: 249
diff changeset
5 ; OSTC dive mode menu
0
heinrichsweikamp
parents:
diff changeset
6 ;
654
75e90cd0c2c3 hwOS sport 10.77 release
heinrichsweikamp
parents: 650
diff changeset
7 ; Copyright (c) 2011, JD Gascuel, heinrichs weikamp gmbh, all rights reserved.
0
heinrichsweikamp
parents:
diff changeset
8 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
9 ; HISTORY
heinrichsweikamp
parents:
diff changeset
10 ; 2013-02-02 : [mH] Made out of menu_tree.asm
heinrichsweikamp
parents:
diff changeset
11
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
12
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
13 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
14 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
15 ; ATTENTION
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
16 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
17 ; All Calls made via the Menu Macros need to go to Addresses within 0x0xxxx !
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
18 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
19 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
20
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
21
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
22 #include "hwos.inc"
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
23 #include "shared_definitions.h"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
24 #include "menu_processor.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
25 #include "tft_outputs.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
26 #include "customview.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
27 #include "strings.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
28 #include "calibrate.inc"
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
29 #include "gaslist.inc"
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
30 #include "colorschemes.inc"
0
heinrichsweikamp
parents:
diff changeset
31
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
32
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
33 extern diveloop_menu_exit
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
34
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
35 IFDEF _cave_mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
36 extern cavemode_turndive_check
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
37 extern cavemode_waypoint_set_check
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
38 extern cavemode_waypoint_out_check
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
39 extern cavemode_waypoint_in_check
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
40 ENDIF
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
41
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
42
0
heinrichsweikamp
parents:
diff changeset
43 ;=============================================================================
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
44 dive_menu CODE 0x02000 ; needs to be at 0x0xxxx
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
45 ;=============================================================================
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
46
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
47
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
48 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
49 ; Return to Main Dive Mode Menu
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
50 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
51 do_return_main_divemenu:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
52 call menu_processor_double_pop ; drop exit line and back to last line
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
53 incf selected_item,W ; item numbers start with 0, menu positions with 1
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
54 movwf menu_pos_cur ; position cursor where we came from
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
55 bra do_main_divemenu_common ; continue with common part
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
56
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
57
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
58 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
59 ; Entry Point for Main Dive Mode Menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
60 ;
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
61 global do_main_divemenu
0
heinrichsweikamp
parents:
diff changeset
62 do_main_divemenu:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
63 movff active_customview,backup_customview ; back up current custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
64 call menu_processor_reset ; restart from first icon
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
65 movlw .1 ; set cursor to first menu item
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
66 movwf menu_pos_cur ; ...
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
67 ;bra do_main_divemenu_common ; continue with common part
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
68
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
69
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
70 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
71 ; Common Part for Main Dive Mode Menu, 1st Layer
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
72 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
73 do_main_divemenu_common:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
74 IFDEF _ccr_pscr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
75 btfsc FLAG_ccr_mode ; in CCR mode?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
76 bra main_divemenu_loop ; YES - goto CCR / pSCR Menu menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
77 btfsc FLAG_pscr_mode ; in pSCR mode?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
78 bra main_divemenu_loop ; YES - goto CCR / pSCR Menu menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
79 ENDIF ; _ccr_pscr
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
80
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
81 main_divemenu_OC:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
82 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
83 bcf is_diluent_menu ; selecting OC gases ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
84 bcf is_bailout_menu ; ... not for bailout reason
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
85 ENDIF ; _ccr_pscr
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
86
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
87 IFDEF _cave_mode
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
88 TSTOSS opt_cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
89 bra main_divemenu_OC_nocave ; NO - use version without cave mode entry
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
90 ;bra main_divemenu_OC_cave ; YES - use version with cave mode entry
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
91
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
92 main_divemenu_OC_cave:
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
93 MENU_BEGIN_DIVE tMainMenu, .6
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
94 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
95 MENU_CALL tDivemenu_ResetAvg, do_reset_average
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
96 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
97 MENU_CALL tDivemenu_Marker, do_set_marker
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
98 MENU_CALL tCaveMode, do_main_cavemenu
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
99 MENU_CALL tExit, do_exit_divemode_menu
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
100 MENU_END
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
101 ENDIF ; _cave_mode
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
102
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
103 main_divemenu_OC_nocave:
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
104 MENU_BEGIN_DIVE tMainMenu, .5
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
105 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
106 MENU_CALL tDivemenu_ResetAvg, do_reset_average
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
107 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
108 MENU_CALL tDivemenu_Marker, do_set_marker
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
109 MENU_CALL tExit, do_exit_divemode_menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
110 MENU_END
0
heinrichsweikamp
parents:
diff changeset
111
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
112 IFDEF _ccr_pscr
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
113
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
114 main_divemenu_loop:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
115 bsf is_diluent_menu ; selecting diluents ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
116 bcf is_bailout_menu ; ... (definitely) not for bailout reason
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
117 btfsc FLAG_pscr_mode ; in pSCR mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
118 bra main_divemenu_pscr ; YES - show pSCR menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
119
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
120 MENU_BEGIN_DIVE tMainMenu, .6
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
121 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
122 MENU_CALL tDivemenu_Setpoint, do_divemode_splist
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
123 MENU_CALL tDivemenu_Diluent, do_divemode_gaslist
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
124 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
125 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
126 MENU_CALL tExit, do_exit_divemode_menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
127 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
128
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
129
485
18e047102e49 3.14 BETA release
heinrichsweikamp
parents: 437
diff changeset
130 main_divemenu_pscr:
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
131 IFDEF _external_sensor_eccr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
132 btfsc ext_input_s8_ana ; do we have an S8/analog input (OSTC cR)?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
133 bra main_divemenu_pscr_sensors ; YES - do menu with calibration
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
134 btfsc ext_input_optical ; do we have an optical input (OSTC 3)?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
135 bra main_divemenu_pscr_sensors ; YES - do menu with calibration
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
136 btfsc ext_s8_full_digital ; NO - are we in external S8 full digital mode?
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
137 bra main_divemenu_pscr_sensors ; YES - do menu with calibration
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
138 ENDIF ; _external_sensor_eccr
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
139
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
140 main_divemenu_pscr_no_sensors:
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
141 MENU_BEGIN_DIVE tMainMenu, .6
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
142 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
143 MENU_CALL tDivemenu_Premix, do_divemode_gaslist
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
144 MENU_CALL tBackToLoop, do_switch_sp_calc
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
145 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
146 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
147 MENU_CALL tExit, do_exit_divemode_menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
148 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
149
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
150 IFDEF _external_sensor_eccr
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
151 main_divemenu_pscr_sensors:
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
152 MENU_BEGIN_DIVE tMainMenu, .6
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
153 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
154 MENU_CALL tCCRModeSensor, do_divemode_setpoint_pscr
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
155 MENU_CALL tDivemenu_Premix, do_divemode_gaslist
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
156 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
157 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
158 MENU_CALL tExit, do_exit_divemode_menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
159 MENU_END
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
160 ENDIF ; _external_sensor_eccr
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
161
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
162
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
163 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
164 ; Call Function - start Bailout Condition
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
165 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
166 do_divemode_gaslist_bail:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
167 bcf is_diluent_menu ; select OC gases
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
168 bsf is_bailout_menu ; flag it is a bailout action
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
169 bra do_divemode_gaslist ; continue with the gas menu for B/O gas selection
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
170
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
171
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
172 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
173 ; Call Function - switch to calculated Setpoint (pSCR)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
174 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
175 do_switch_sp_calc:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
176 bcf warn_det_sensors_lost ; clear fallback condition (revoke all sensors lost warning)
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
177 clrf dive_ccr_mode ; switch to fixed SP
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
178 clrf WREG ; set setpoint to 0, this forces deco engine to take the computed ppO2
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
179 movff WREG,char_I_const_ppO2 ; ...
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
180 bra do_switch_sp_com ; continue with common part
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
181
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
182 ENDIF ; _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
183
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
184
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
185 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
186 ; dynamic Title - toggle GF
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
187 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
188 dyn_toggle_gf:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
189 movff char_I_model,WREG ; 0 = ZH-L16, 1 = ZH-L16-GF
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
190 decfsz WREG,W ; toggle GF only in GF modes - in GF mode?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
191 bra dyn_toggle_gf_1 ; NO - print in disabled color
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
192 TSTOSS opt_enable_aGF ; YES - aGF enabled?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
193 dyn_toggle_gf_1:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
194 FONT_COLOR_DISABLED ; NO - print in disabled color
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
195 STRCAT_TEXT tDivemenu_ToggleGF ; output label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
196 return ; done
0
heinrichsweikamp
parents:
diff changeset
197
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
198
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
199 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
200 ; Sub-Menu: Toggle GFs
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
201 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
202 do_return_toggle_gf:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
203 call menu_processor_pop ; drop selection from menu stack
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
204 bra do_toggle_gf_1 ; re-draw the custom view and enter the menu again
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
205
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
206 do_toggle_gf:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
207 TSTOSS char_I_model ; toggle GF only in GF modes - in GF mode? (0 = ZH-L16, 1 = ZH-L16-GF)
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
208 bra do_abort_toggle_gf ; NO - do nothing and return
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
209 TSTOSS opt_enable_aGF ; aGF enabled?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
210 bra do_abort_toggle_gf ; NO - do nothing and return
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
211 bsf custom_view_locked ; lock custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
212 do_toggle_gf_1:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
213 movlw index_gf_factors ; get number of GF factors custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
214 movwf active_customview ; set custom view number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
215 call dive_customview_callup ; draw custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
216 movlw .1 ; set to first option in dive mode menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
217 movwf menu_pos_cur ; ...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
218
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
219 MENU_BEGIN_DIVE tDivemenu_ToggleGF, .2
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
220 MENU_CALL tDivemenu_ToggleGF, do_toggle_gf_toggle
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
221 MENU_CALL tExit, do_exit_divemode_menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
222 MENU_END
0
heinrichsweikamp
parents:
diff changeset
223
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
224
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
225 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
226 ; Helper Function - abort toggle GF Sub-Menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
227 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
228 do_abort_toggle_gf:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
229 call menu_processor_pop ; drop selection from menu stack
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
230 bra do_main_divemenu_common ; back to main menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
231
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
232
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
233 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
234 ; Call Function - toggle GF <-> aGF
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
235 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
236 do_toggle_gf_toggle:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
237 bsf request_toggle_GF ; request restart of the deco engine
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
238 btg use_aGF ; toggle normal / alternative GF factor selection
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
239 btfsc use_aGF ; alternative GF factors activated?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
240 bra do_togglegf_agf ; YES - branch to using alternative GF
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
241 ;bra do_togglegf_ngf ; NO - branch to using normal GF
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
242 do_togglegf_ngf:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
243 movff opt_GF_low, char_I_GF_Low_percentage ; use normal GF factor low
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
244 movff opt_GF_high,char_I_GF_High_percentage ; use normal GF factor high
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
245 bra do_return_toggle_gf ; back to menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
246 do_togglegf_agf:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
247 movff opt_aGF_low, char_I_GF_Low_percentage ; use alternative GF factor low
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
248 movff opt_aGF_high,char_I_GF_High_percentage ; use alternative GF factor high
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
249 bra do_return_toggle_gf ; back to menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
250
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
251
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
252 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
253 ; Sub-Menu: Reset average Depth & set Marker
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
254 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
255 do_reset_avg_set_mkr:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
256 movlw .1 ; set to first option in dive mode menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
257 movwf menu_pos_cur ; ...
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
258
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
259 MENU_BEGIN_DIVE tDivemenu_Marker, .3
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
260 MENU_CALL tDivemenu_ResetAvg, do_reset_average
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
261 MENU_CALL tDivemenu_Marker, do_set_marker
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
262 MENU_CALL tBack, do_return_main_divemenu ; return to main menu
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
263 MENU_END
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
264
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
265
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
266 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
267 ; Call Function - reset average Depth
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
268 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
269 do_reset_average:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
270 bsf request_reset_avg ; request reset of resettable average depth and dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
271 IFDEF _min_depth_option
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
272 bsf reset_trip_pressure ; request ISR to reset the min and max trip-wise pressures
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
273 ENDIF
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
274 bra do_exit_divemode_menu ; continue exiting the menu
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
275
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
276
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
277 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
278 ; Call Function - set a Marker in the Dive Profile Recording
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
279 ;
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
280 do_set_marker:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
281 bsf request_set_marker ; set request flag
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
282 bra do_exit_divemode_menu ; continue exiting the menu
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
283
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
284
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
285 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
286 ; Sub-Menu: Switch OC / Diluent Selection
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
287 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
288 do_divemode_gaslist:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
289 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
290 btfsc bailout_mode ; in bailout mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
291 bcf is_diluent_menu ; YES - for safety reasons, redirect to selecting OC (bailout) gases
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
292 ENDIF ; _ccr_pscr
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
293 bsf short_gas_descriptions ; do not show "Gas x" etc.
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
294 bsf better_gas_hint ; mark the gas which is the best gas/diluent
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
295 bsf color_code_gases ; color-code the gases/diluents by their ppO2 and current depth
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
296 movf best_gas_number,W ; load number of best gas (1-5)into WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
297 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
298 btfsc is_diluent_menu ; in diluent selection?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
299 movf best_dil_number,W ; YES - overwrite with best diluent (1-5)
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
300 ENDIF; _ccr_pscr
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
301 bnz do_divemode_gaslist_1 ; best gas/dil number = 0 (none available) ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
302 movlw .1 ; YES - default to first gas/dil
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
303 btfsc WREG,7 ; best gas/dil number >= 128 (not computed yet) ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
304 movlw .1 ; YES - default to first gas/dil
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
305 do_divemode_gaslist_1:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
306 movwf menu_pos_cur ; position cursor to best gas/dil (or first option if none avail)
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
307
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
308 MENU_BEGIN_DIVE tDivemenu_Gaslist, .6
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
309 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
310 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
311 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
312 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
313 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
314 MENU_CALL tDivemenu_LostGas, do_lost_gas
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
315 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
316
0
heinrichsweikamp
parents:
diff changeset
317
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
318 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
319 ; dynamic Title - print full Gas Description
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
320 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
321 dyn_strcat_gas_prodl:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
322 goto gaslist_strcat_gas_PRODL ; code is hosted in gaslist.asm
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
323
403
6e60012bb3fc NEW: "Lost Gas" feature allows disabling gases during the dive
heinrichsweikamp
parents: 401
diff changeset
324
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
325 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
326 ; Call Function - initiate Gas Change (will also trigger restart of deco_engine)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
327 ;
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
328 do_switch_gas:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
329 bsf request_gas_change ; request dive mode to do a gas change
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
330 IFDEF _ccr_pscr
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
331 btfss is_bailout_menu ; doing a bailout?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
332 bra do_switch_gas_1 ; NO
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
333 bsf bailout_mode ; YES - begin bailout mode
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
334 ENDIF ; _ccr_pscr
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
335 IFDEF _cave_mode
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
336 btfsc cave_mode ; - cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
337 bsf request_turn_turn ; YES - request to turn the dive
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
338 ENDIF ; _cave_mode
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
339 IFDEF _ccr_pscr
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
340 do_switch_gas_1:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
341 bcf warn_det_sensors_lost ; terminate fallback mode and get rid of its warning if applicable
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
342 call dive_customview_callup ; redraw custom view mask to rewrite "ppO2(Dil)" to "ppO2" or SAC label if applicable
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
343 ENDIF ; _ccr_pscr
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
344 ; revoke staged and lost state on the selected gas
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
345 lfsr FSR1,opt_gas_type ; load base address of gas types
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
346 movff menu_pos_cur,lo ; copy selected gas to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
347 IFDEF _ccr_pscr
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
348 movlw .5 ; load WREG with diluent offset
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
349 btfsc is_diluent_menu ; operating on diluents?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
350 addwf lo,F ; YES - add diluent offset to shift 1-5 -> 6-10
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
351 ENDIF ; _ccr_pscr
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
352 decf lo,W ; 1-10 -> 0-4 for gases / 5-9 for diluents with result into WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
353 bcf PLUSW1,gas_lost ; revoke lost state
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
354 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
355 bcf PLUSW1,gas_staged ; revoke staged state
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
356 ENDIF ; _cave_mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
357 bra do_exit_divemode_menu ; continue exiting the menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
358
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
359
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
360 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
361 ; Sub-Menu: lost / staged Gas
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
362 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
363 do_lost_gas:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
364 movlw .1 ; set to first option in dive mode menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
365 movwf menu_pos_cur ; ...
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
366 bcf gas6_or_EXIT ; default to presenting gas6 option
650
bc214815deb2 3.19/10.75 release
heinrichsweikamp
parents: 643
diff changeset
367 btfsc alt_layout_active ; alternative layout (big font) active?
bc214815deb2 3.19/10.75 release
heinrichsweikamp
parents: 643
diff changeset
368 bsf gas6_or_EXIT ; YES - do not present gas6 option
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
369 do_lost_gas_common:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
370 bsf short_gas_descriptions ; do not show "Gas x" etc.
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
371 bcf better_gas_hint ; do not mark the best gas/diluent
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
372 bcf color_code_gases ; do not color-code the gases/diluents by their ppO2
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
373
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
374 MENU_BEGIN_DIVE tDivemenu_LostGas, .6
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
375 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
376 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
377 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
378 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
379 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
380 MENU_DYNAMIC dyn_gas6_or_exit, do_gas6_or_exit
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
381 MENU_END
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
382
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
383
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
384 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
385 ; dynamic Title - print full Gas Description
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
386 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
387 ;dyn_strcat_gas_prodl:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
388 ; goto gaslist_strcat_gas_PRODL ; code is hosted in gaslist.asm
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
389
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
390
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
391 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
392 ; Call Function - toggle a Gas between available, lost and staged
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
393 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
394 do_toggle_staged_lost:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
395 movff menu_pos_cur,lo ; copy selected gas/diluent to lo (1-5)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
396 movf active_gas,W ; copy currently used gas to WREG (1-5)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
397 IFDEF _ccr_pscr
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
398 btfsc FLAG_oc_mode ; in OC mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
399 bra do_toggle_staged_lost_check ; YES - can't be in diluent menu then, check selected gas against gas in use
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
400 btfsc bailout_mode ; NO - in bailout?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
401 bra do_toggle_staged_lost_check ; YES - can't be in diluent menu then, check selected gas against bailout gas in use
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
402 btfss is_diluent_menu ; NO - breathing a diluent then, in diluent menu?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
403 bra do_toggle_staged_lost_exec ; NO - can modify any gas, no need for a check
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
404 movf active_dil,W ; YES - check selected diluent against diluent in use
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
405 ENDIF ; _ccr_pscr
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
406 do_toggle_staged_lost_check:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
407 cpfseq lo ; selected gas/dil = currently used gas/dil?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
408 bra do_toggle_staged_lost_exec ; NO - can set selected gas/dil to lost or staged
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
409 bra do_lost_gas_common ; YES - gas/dil in use, can not set to lost or staged, back to menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
410 do_toggle_staged_lost_exec:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 583
diff changeset
411 lfsr FSR1,opt_gas_type ; load base address of gas types
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
412 bcf better_gas_blinking ; clear blinking flag for gases to avoid "leftovers"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
413 IFDEF _ccr_pscr
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
414 bcf better_dil_blinking ; clear blinking flag for diluents to avoid "leftovers"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
415 movlw .5 ; load WREG with diluent offset
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
416 btfsc is_diluent_menu ; operating on diluents?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
417 addwf lo,F ; YES - add diluent offset to shift 1-5 -> 6-10
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
418 ENDIF ; _ccr_pscr
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
419 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
420 TSTOSS opt_cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
421 bra do_toggle_staged_lost_3 ; NO - just toggle lost state
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
422 decf lo,W ; YES - 1-10 -> 0-4 for gases / 5-9 for diluents with result into WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
423 btfsc PLUSW1,gas_staged ; - gas currently set as staged?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
424 bra do_toggle_staged_lost_1 ; YES - set as lost now
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
425 btfsc PLUSW1,gas_lost ; NO - gas currently set as lost?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
426 bra do_toggle_staged_lost_2 ; YES - set as available now
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
427 ;bra do_toggle_staged_lost_0 ; NO - set as staged now
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
428 do_toggle_staged_lost_0:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
429 bsf PLUSW1,gas_staged ; set staged state
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
430 bra do_toggle_staged_lost_4 ; continue with restarting deco engine
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
431 do_toggle_staged_lost_1:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
432 bcf PLUSW1,gas_staged ; revoke staged state
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
433 bsf PLUSW1,gas_lost ; set lost state
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
434 bra do_toggle_staged_lost_4 ; continue with restarting deco engine
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
435 do_toggle_staged_lost_2:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
436 bcf PLUSW1,gas_lost ; revoke lost state
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
437 bra do_toggle_staged_lost_4 ; continue with restarting deco engine
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
438 ENDIF ; _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
439 do_toggle_staged_lost_3:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
440 decf lo,W ; 1-10 -> 0-4 for gases / 5-9 for diluents with result into WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
441 btg PLUSW1,gas_lost ; toggle lost state
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
442 do_toggle_staged_lost_4:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
443 bsf request_gas_update ; request to update the gases
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
444 bsf gas6_or_EXIT ; switch 6th menu item from gas6 to exit
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
445 bra do_lost_gas_common ; back to the menu
0
heinrichsweikamp
parents:
diff changeset
446
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
447
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
448 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
449 ; dynamic Title - print Gas 6 Item or Exit Item
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
450 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
451 dyn_gas6_or_exit:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
452 btfsc gas6_or_EXIT ; shall print exit?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
453 bra dyn_gas6_or_exit_1 ; YES - print exit label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
454 STRCAT_TEXT tGas6 ; NO - print gas 6 label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
455 return ; - done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
456 dyn_gas6_or_exit_1:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
457 STRCAT_TEXT tExit ; print exit label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
458 return ; done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
459
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
460
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
461 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
462 ; Sub-Menu: Gas 6 / Menu-Exit
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
463 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
464 do_gas6_or_exit:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
465 btfsc gas6_or_EXIT ; shall exit?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
466 bra do_exit_divemode_menu ; YES - exit the menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
467 movlw .1 ; NO - select first item
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
468 movwf menu_pos_cur ; - set cursor
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
469 movff char_I_O2_ratio,opt_gas6_O2_ratio ; - initialize gas6 with currently breathed gas - O2 ratio
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
470 IFDEF _helium
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
471 movff char_I_He_ratio,opt_gas6_He_ratio ; - initialize gas6 with currently breathed gas - He ratio
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
472 ELSE
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
473 clrf WREG ; - set gas6 helium to zero
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
474 movff WREG,opt_gas6_He_ratio ; - ...
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
475 ENDIF ; _helium
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
476 bsf block_option_value ; suspend displaying of option values
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
477
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
478
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
479 IFDEF _helium
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
480 MENU_BEGIN_DIVE tGas6, .6
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
481 MENU_OPT_INCS tO2Plus, oGas6O2
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
482 MENU_OPT_DECS tO2Minus, oGas6O2
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
483 MENU_OPT_INCS tHePlus, oGas6He
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
484 MENU_OPT_DECS tHeMinus, oGas6He
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
485 MENU_DYNAMIC dyn_show_gas6, do_gas6_switch
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
486 MENU_CALL tExit, do_exit_divemode_menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
487 MENU_END
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
488 ELSE
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
489 MENU_BEGIN_DIVE tGas6, .4
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
490 MENU_OPT_INCS tO2Plus, oGas6O2
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
491 MENU_OPT_DECS tO2Minus, oGas6O2
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
492 MENU_DYNAMIC dyn_show_gas6, do_gas6_switch
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
493 MENU_CALL tExit, do_exit_divemode_menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
494 MENU_END
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
495 ENDIF; _helium
0
heinrichsweikamp
parents:
diff changeset
496
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
497
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
498 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
499 ; dynamic Title: show Gas 6 Mix
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
500 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
501 dyn_show_gas6:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
502 STRCAT_TEXT tTakeGas ; print "take"
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
503 PUTC " " ; print one space
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
504 movff opt_gas6_O2_ratio,hi ; TFT_color_code_gaslist needs O2 ratio in hi
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
505 call TFT_color_code_gaslist ; color-code according to O2 ratio and depth
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
506 movff opt_gas6_O2_ratio,lo ; gaslist_strcat_mix needs O2 ratio in lo
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
507 IFDEF _helium
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
508 movff opt_gas6_He_ratio,hi ; ... and He ratio in hi
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
509 ELSE
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
510 clrf hi ; ... and He ration will be zero
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
511 ENDIF ; _helium
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
512 goto gaslist_strcat_mix ; print "Nxlo", "Txlo/hi", "Air" or "O2" and return
0
heinrichsweikamp
parents:
diff changeset
513
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
514
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
515 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
516 ; Call Function - switch to Gas 6
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
517 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
518 do_gas6_switch:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
519 movlw .6 ; gas 6
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
520 movwf menu_pos_cur ; transfer register for selected gas towards gas_switched_common
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
521 bsf event_gas_change_gas6 ; set flag for profile recording
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
522 bra do_switch_gas ; continue with common gas-switched code
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
523
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
524
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
525 IFDEF _ccr_pscr
0
heinrichsweikamp
parents:
diff changeset
526
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
527 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
528 ; Sub Menu - select Setpoint
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
529 ;
0
heinrichsweikamp
parents:
diff changeset
530 do_divemode_splist:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
531 bsf short_gas_descriptions ; do not show "SP" etc.
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
532 movlw .1 ; default to first menu item
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
533 movff dive_ccr_mode,lo ; get CCR mode (0: Fixed SP, 1: Sensor, 2: Auto SP)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
534 dcfsnz lo,F ; mode = sensor ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
535 movlw .6 ; YES - load menu item number for 'sensor'
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
536 btfsc warn_det_sensors_lost ; all sensors lost?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
537 movlw .1 ; YES - revert to first menu item
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
538 movwf menu_pos_cur ; set cursor position
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
539
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
540 IFDEF _external_sensor_eccr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
541 btfsc ext_input_s8_ana ; do we have an S8/analog input (OSTC cR)?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
542 bra do_divemode_splist_sensor ; YES
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
543 btfsc ext_input_optical ; do we have an optical input (OSTC 3)?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
544 bra do_divemode_splist_sensor ; YES
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
545 btfsc ext_s8_full_digital ; NO - are we in external S8 full digital mode?
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
546 bra main_divemenu_pscr_sensors ; YES - do menu with calibration
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
547 ENDIF ; _external_sensor_eccr
0
heinrichsweikamp
parents:
diff changeset
548
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
549 do_divemode_splist_no_sensor:
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
550 MENU_BEGIN_DIVE tFixedSetpoints, .6
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
551 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
552 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
553 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
554 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
555 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
556 MENU_CALL tCCRModeAutoSP, do_switch_auto
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
557 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
558
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
559
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
560 IFDEF _external_sensor_eccr
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
561
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
562 do_divemode_splist_sensor:
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
563 MENU_BEGIN_DIVE tFixedSetpoints, .6
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
564 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
565 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
566 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
567 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
568 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
569 MENU_CALL tCCRModeSensor, do_divemode_sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
570 MENU_END
249
94bf757690cf ignore sensor for non-sensor hardware
heinrichsweikamp
parents: 195
diff changeset
571
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
572 ENDIF ; _external_sensor_eccr
249
94bf757690cf ignore sensor for non-sensor hardware
heinrichsweikamp
parents: 195
diff changeset
573
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
574
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
575 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
576 ; dynamic Title - print Setpoint
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
577 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
578 dyn_strcat_setpoint_prodl:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
579 goto gaslist_strcat_setpoint_PRODL ; function is hosted in gaslist.asm
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
580
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
581
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
582 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
583 ; Call Function - switch to manually selected Setpoint (CCR)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
584 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
585 do_switch_sp:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
586 decf menu_pos_cur,W ; 1-5 -> 0-4
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
587 lfsr FSR1,opt_setpoint_cbar ; load base address
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
588 movff PLUSW1,char_I_const_ppO2 ; set selected setpoint
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
589 IFDEF _external_sensor_eccr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
590 call transmit_setpoint ; transmit current setpoint from WREG (in cbar) to external electronics
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
591 ENDIF
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
592 bcf warn_det_sensors_lost ; clear fallback condition (revoke all sensors lost warning)
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
593 clrf dive_ccr_mode ; switch to fixed SP
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
594 bra do_switch_sp_com ; continue with common part
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
595
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
596
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
597 ;-----------------------------------------------------------------------------
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
598 ; Call Function - switch to Auto-SP (CCR)
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
599 ;
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
600 do_switch_auto:
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
601 movff opt_setpoint_cbar+0,char_I_const_ppO2 ; selected 1st setpoint
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
602 bcf warn_det_sensors_lost ; clear fallback condition
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
603 movlw .2 ; switch to auto SP
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
604 movwf dive_ccr_mode ; =0: fixed SP (CCR) / calculated (pSCR), =1: Sensor, =2: auto SP
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
605 bsf restart_auto_sp ; restart auto SP selection
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
606 ;bra do_switch_sp_com ; continue with common part
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
607
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
608
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
609 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
610 ; Helper Function - common Part of Setpoint Switching
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
611 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
612 do_switch_sp_com: ; common part
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
613 bsf event_occured ; set global event byte
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
614 bsf event_SP_change ; set setpoint event flag
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
615
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
616 ; clear some flags in case we were in bailout before...
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
617 bcf bailout_mode ; end bailout mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
618 bcf better_gas_available ; =1: a better gas is available and a gas change is advised in dive mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
619 bcf better_dil_available ; =1: a better diluent is available and a gas change is advised in dive mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
620 bcf better_gas_blinking ; clear blinking flag
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
621 bcf better_dil_blinking ; clear blinking flag
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
622 call dive_customview_callup ; redraw custom view mask to (if applicable) rewrite "ppO2(Dil)" to "ppO2" or SAC label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
623
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
624 bsf request_back_to_loop ; indicate that it is a switchback from OC bailout to CCR/pSCR loop
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
625 bsf request_gas_change ; initiate reconfiguration to loop mode on last diluent
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
626
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
627 bra do_exit_divemode_menu ; continue exiting the menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
628
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
629
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
630 IFDEF _external_sensor_eccr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
631
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
632
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
633 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
634 ; Return to Sub Menu toggle Sensor Usage / select Sensors from Menu Action
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
635 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
636 do_return_divemode_sensor:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
637 call menu_processor_pop ; drop selection from menu stack
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
638 bra do_return_divemode_common ; back to menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
639
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
640 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
641 ; Sub Menu - toggle Sensor Usage / select Sensors
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
642 ;
0
heinrichsweikamp
parents:
diff changeset
643 do_divemode_sensor:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
644 movlw index_ppo2_sensors ; number of ppO2 sensors custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
645 movwf active_customview ; set the custom view number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
646 call dive_customview_callup ; call-up the custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
647 movlw .1 ; set to 1st option: use sensors
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
648 movwf menu_pos_cur ; ...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
649
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
650 do_return_divemode_common:
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
651 MENU_BEGIN_DIVE tDivemenu_UseSensor,.6
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
652 MENU_CALL tDivemenu_UseSensor, do_switch_sensor
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
653 MENU_CALL tBack, do_divemode_splist
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
654 MENU_CALL tExit, do_exit_divemode_menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
655 MENU_CALL tDiveHudMask1, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
656 MENU_CALL tDiveHudMask2, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
657 MENU_CALL tDiveHudMask3, do_toggle_sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
658 MENU_END
0
heinrichsweikamp
parents:
diff changeset
659
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
660 do_divemode_setpoint_pscr:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
661 movlw .1
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
662 movwf menu_pos_cur ; set to 1st option: use calculated ppO2
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
663
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
664 MENU_BEGIN_DIVE tDivemenu_UseSensor,.6
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
665 MENU_CALL tCalculated, do_switch_sp_calc
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
666 MENU_CALL tDivemenu_UseSensor, do_switch_sensor
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
667 MENU_CALL tExit, do_exit_divemode_menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
668 MENU_CALL tDiveHudMask1, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
669 MENU_CALL tDiveHudMask2, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
670 MENU_CALL tDiveHudMask3, do_toggle_sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
671 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
672
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
673
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
674 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
675 ; Call Function - switch to using Sensors
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
676 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
677 do_switch_sensor:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
678 movlw .1 ; switch to sensor (0: fixed/ calculated SP, 1: Sensor, 2: AutoSP)
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 634
diff changeset
679 movwf dive_ccr_mode ; ...
0
heinrichsweikamp
parents:
diff changeset
680
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
681 ; check for external HUD/ppO2 Monitor
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
682 btfss ext_input_optical ; do we have an optical input?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
683 bra do_switch_sp_com ; NO - continue with common part
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
684 btfss ext_s8_full_digital ; are we in external S8 full digital mode?
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
685 bra do_switch_sp_com ; NO - continue with common part
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
686 btfsc sensor1_active ; YES - process flags from HUD/ppO2 Monitor
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
687 bsf use_O2_sensor1 ; - ...
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
688 btfsc sensor2_active ; - ...
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
689 bsf use_O2_sensor2 ; - ...
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
690 btfsc sensor3_active ; - ...
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
691 bsf use_O2_sensor3 ; - ...
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
692 bra do_switch_sp_com ; - continue with common part
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
693
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
694
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
695 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
696 ; Call Function - toggle Sensor Usage
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
697 ;
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
698 do_toggle_sensor:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
699 movf menu_pos_cur,W ; copy position to WREG
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
700 addlw -.3 ; skip first 3 menu items
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
701 dcfsnz WREG ; cursor on item sensor 1 ?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
702 btg use_O2_sensor1 ; YES - toggle sensor 1 state
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
703 dcfsnz WREG ; cursor on item sensor 2 ?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
704 btg use_O2_sensor2 ; YES - toggle sensor 2 state
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
705 dcfsnz WREG ; cursor on item sensor 3 ?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
706 btg use_O2_sensor3 ; YES - toggle sensor 3 state
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
707 bra do_return_divemode_sensor ; back to same menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
708
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
709 ENDIF ; _external_sensor_eccr
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
710 ENDIF ; _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
711
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
712
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
713 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
714
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
715 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
716 ; Return to Cave Mode Main Menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
717 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
718 do_return_main_cavemenu:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
719 call menu_processor_pop ; drop selection from menu stack
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
720 incf selected_item,W ; item numbers start with 0, menu positions with 1
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
721 movwf menu_pos_cur ; position cursor where we came from
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
722 bra do_main_cavemenu_common ; continue with common part
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
723
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
724
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
725 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
726 ; Cave Mode Main Menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
727 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
728 global do_main_cavemenu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
729 do_main_cavemenu:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
730 bsf custom_view_locked ; lock custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
731 movff active_customview,backup_customview ; back up current custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
732 call menu_processor_reset ; restart from first icon
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
733 movlw .1 ; set cursor to first menu item by default
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
734 btfsc dive_turned ; dive turned ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
735 movlw .4 ; YES - set cursor on waypoint out item
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
736 btfss cave_mode ; cave mode switched off ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
737 movlw .3 ; YES - set cursor on cave mode off/on menu item
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
738 movwf menu_pos_cur ; actually set cursor position
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
739 ;bra do_main_cavemenu_common ; continue with common part
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
740
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
741 do_main_cavemenu_common:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
742 movlw index_cave_waypoints ; get number of cave waypoints custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
743 movwf active_customview ; set custom view number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
744 call dive_customview_callup ; draw custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
745
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
746 MENU_BEGIN_DIVE tCaveMode, .6
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
747 MENU_DYNAMIC dyn_waypoint_set, do_waypoint_set ; 1
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
748 MENU_DYNAMIC dyn_turndive_toggle, do_turndive_toggle ; 2
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
749 MENU_CALL tDivemenu_off_on, do_cavemode_toggle ; 3
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
750 MENU_DYNAMIC dyn_waypoint_out, do_waypoint_out ; 4
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
751 MENU_DYNAMIC dyn_waypoint_in, do_waypoint_in ; 5
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
752 MENU_CALL tExit, do_exit_divemode_menu ; 6
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
753 MENU_END
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
754
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
755
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
756 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
757 ; dynamic Title - set a Waypoint
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
758 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
759 dyn_waypoint_set:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
760 call cavemode_waypoint_set_check ; check if command is allowed to execute
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
761 tstfsz WREG ; command allowed?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
762 FONT_COLOR_DISABLED ; NO - switch to disabled color
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
763 STRCAT_TEXT tDivemenu_wp_set ; print label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
764 return ; done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
765
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
766
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
767 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
768 ; dynamic Title - turn the Dive
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
769 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
770 dyn_turndive_toggle:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
771 call cavemode_turndive_check ; check if command is allowed
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
772 tstfsz WREG ; command allowed?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
773 FONT_COLOR_DISABLED ; NO - switch to disabled color
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
774 btfss cave_mode ; cave mode switched on?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
775 bra dyn_turndive_toggle_1 ; NO - print turn dive label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
776 btfss dive_turned ; YES - dive turned?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
777 bra dyn_turndive_toggle_1 ; NO - print turn dive label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
778 STRCAT_TEXT tDivemenu_ContDive ; YES - print continue dive label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
779 return ; - done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
780 dyn_turndive_toggle_1:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
781 STRCAT_TEXT tDivemenu_TurnDive ; print turn dive label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
782 return ; done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
783
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
784
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
785 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
786 ; dynamic Title - navigate one Waypoint outwards
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
787 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
788 dyn_waypoint_out:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
789 call cavemode_waypoint_out_check ; check if command is allowed to execute
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
790 tstfsz WREG ; command allowed?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
791 FONT_COLOR_DISABLED ; NO - switch to disabled color
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
792 STRCAT_TEXT tDivemenu_wp_out ; print label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
793 return ; done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
794
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
795
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
796 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
797 ; dynamic Title - navigate one Waypoint inwards
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
798 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
799 dyn_waypoint_in:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
800 call cavemode_waypoint_in_check ; check if command is allowed to execute
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
801 tstfsz WREG ; command allowed?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
802 FONT_COLOR_DISABLED ; NO - switch to disabled color
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
803 STRCAT_TEXT tDivemenu_wp_in ; print label
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
804 return ; done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
805
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
806
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
807 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
808 ; Call Function - set a Waypoint
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
809 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
810 do_waypoint_set:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
811 bsf request_waypoint_set ; set request flag
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
812 bra do_return_main_cavemenu ; back to menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
813
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
814
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
815 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
816 ; Call Function - turn the dive
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
817 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
818 do_turndive_toggle:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
819 bsf request_turn_toggle ; set request flag
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
820 bra do_return_main_cavemenu ; back to menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
821
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
822
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
823 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
824 ; Call Function - turn Cave Mode on/off
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
825 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
826 do_cavemode_toggle:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
827 bsf request_cave_toggle ; set request flag
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
828 bra do_return_main_cavemenu ; back to menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
829
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
830
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
831 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
832 ; Call Function - navigate one Waypoint outwards
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
833 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
834 do_waypoint_out:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
835 bsf request_waypoint_out ; set request flag
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
836 bra do_return_main_cavemenu ; back to menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
837
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
838
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
839 ;-------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
840 ; Call Function - navigate one Waypoint inwards
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
841 ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
842 do_waypoint_in:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
843 bsf request_waypoint_in ; set request flag
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
844 bra do_return_main_cavemenu ; back to menu
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
845
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
846 ENDIF ; _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 623
diff changeset
847
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
848
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
849 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
850 ; Call Function - leave the Menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
851 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
852 do_exit_divemode_menu:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
853 bcf block_option_value ; resume displaying of option values
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
854 goto diveloop_menu_exit ; back to the dive loop
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
855
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
856 ;-----------------------------------------------------------------------------
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
857
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
858 END