annotate src/surfmode.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 ;
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
3 ; File surfmode.asm * next combined generation V3.09.5
0
heinrichsweikamp
parents:
diff changeset
4 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5 ; Surface Mode
0
heinrichsweikamp
parents:
diff changeset
6 ;
654
75e90cd0c2c3 hwOS sport 10.77 release
heinrichsweikamp
parents: 651
diff changeset
7 ; Copyright (c) 2011, JD Gascuel, heinrichs weikamp gmbh, all right reserved.
0
heinrichsweikamp
parents:
diff changeset
8 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
9 ; HISTORY
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
10 ; 2011-08-07 : [mH] moving from OSTC code
0
heinrichsweikamp
parents:
diff changeset
11
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
12 #include "hwos.inc" ; mandatory header
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
13 #include "shared_definitions.h" ; mailbox from/to p2_deco.c
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
14 #include "start.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
15 #include "tft.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
16 #include "tft_outputs.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
17 #include "adc_lightsensor.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
18 #include "strings.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
19 #include "sleepmode.inc"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
20 #include "wait.inc"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
21 #include "customview.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
22 #include "divemode.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
23 #include "i2c.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
24 #include "comm.inc"
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
25 #include "colorschemes.inc"
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
26
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
27 IFDEF _rx_functions
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
28 #include "rx_ops.inc"
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
29 ENDIF
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
30
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
31 IFDEF _external_sensor_eccr
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
32 #include "calibrate.inc"
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
33 ENDIF
0
heinrichsweikamp
parents:
diff changeset
34
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
35
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
36 extern main_menu
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
37 extern check_cns_violation_now
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
38 extern check_battery
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
39 extern check_saturation
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
40 extern check_mbubbles
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
41
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
42
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
43 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
44 extern TFT_surface_compass_heading
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
45 ENDIF
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
46
213
3b5df65d53fc layout changes
heinrichsweikamp
parents: 205
diff changeset
47
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
48 ;---- Private local variables ------------------------------------------------
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
49
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
50 CBLOCK local1 ; max size is 16 byte !!!
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
51 ; currently not used
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
52 ENDC ; used: 0 byte, remaining: 16 byte
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
53
0
heinrichsweikamp
parents:
diff changeset
54
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
55 #DEFINE menu_pos_row .215
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
56 #DEFINE menu_pos_column .1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
57 #DEFINE view_row .215
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
58 #DEFINE view_column .124
0
heinrichsweikamp
parents:
diff changeset
59
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
60 ;=============================================================================
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
61 sfmode1 CODE
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
62 ;=============================================================================
0
heinrichsweikamp
parents:
diff changeset
63
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
64 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
65 ; Entry Point for Surface Mode
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
66 ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
67 ; called after restart via the battery selection, after compass calibration,
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
68 ; and via ghostwriter at the end of a dive
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
69 ;
0
heinrichsweikamp
parents:
diff changeset
70 global surfloop
heinrichsweikamp
parents:
diff changeset
71 surfloop:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
72 clrf STKPTR ; clear return addresses stack
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
73 ; clrf CCP1CON ; stop PWM
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
74 ; bcf PORTC,2 ; pull PWM output to GND
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
75 ; clrf CCPR1L ; backlight off
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
76 call TFT_boot ; initialize TFT (includes clear screen)
245
416723c8ccd8 use single-byte hardware flag (again)
heinrichsweikamp
parents: 235
diff changeset
77
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
78 btfsc restart_fast ; shall make a fast restart?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
79 bra surfloop_1 ; YES
0
heinrichsweikamp
parents:
diff changeset
80
654
75e90cd0c2c3 hwOS sport 10.77 release
heinrichsweikamp
parents: 651
diff changeset
81 ; show heinrichs weikamp gmbh logo
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
82 movlw .40
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
83 btfsc dn_flag
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
84 movlw .100
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
85 movwf win_top
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
86 WIN_LEFT .10
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
87 TFT_WRITE_PROM_IMAGE_BY_ADDR hw_logo_block
0
heinrichsweikamp
parents:
diff changeset
88
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
89 btfsc dn_flag
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
90 bra surfloop_0
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
91 ; set font color
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
92 FONT_COLOR color_white
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
93
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
94 ; show textual OSTC logo
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
95 WIN_STD .30,.90 ; column, row
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
96 STRCPY_PRINT "Open Source" ; show OSTC banner text, line 1
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
97 WIN_STD .20,.130 ; column, row
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
98 STRCPY_PRINT "Tauch-Computer" ; show OSTC banner text, line 2
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
99
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
100 ; show firmware version
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
101 WIN_SMALL .35,.180
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
102 PUTC "v" ; print "v"
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
103 call TFT_print_firmware ; print full firmware version (may change the font color)
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
104 surfloop_0:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
105 call TFT_Display_FadeIn ; dim up the display
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
106
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
107 surfloop_1:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
108
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
109 ;---- do all useful initializations that take time -----------------------
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
110
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
111 ; set deco mode flags
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
112 call restart_set_modes_and_flags
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
113
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
114 bsf trigger_pres_cur_changed ; set flag to have pressure written to display on first round of surface loop
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
115 bsf trigger_temp_changed ; set flag to have temperature written to display on first round of surface loop
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
116
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
117 call I2C_sleep_compass ; shut down compass
0
heinrichsweikamp
parents:
diff changeset
118
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
119 IFDEF _ccr_pscr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
120 movlw surface_sp ; load default surface setpoint (in cbar)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
121 movff WREG,char_I_const_ppO2 ; store it as current setpoint
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
122 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
123
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
124 IFDEF _external_sensor_eccr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
125 call transmit_setpoint ; transmit current setpoint (in cbar) via S8 digital interface (currently disabled)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
126 ENDIF
221
90923a081ae7 minor: configure buttons during splash screen
heinrichsweikamp
parents: 213
diff changeset
127
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
128 bcf surfmode_menu ; not in surface menu (any more)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
129 bcf compass_menu ; not in "set bearing" selection (any more)
0
heinrichsweikamp
parents:
diff changeset
130
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
131 bcf switch_left ; clear intermediate button event since start/restart
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
132 bcf switch_right ; clear intermediate button event since start/restart
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
133
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
134 btfsc restart_fast ; shall make a fast restart?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
135 bra surfloop_2 ; YES
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
136
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
137 call deco_calc_desaturation_time ; calculate desaturation and no-fly/no-altitude time (C-code)
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
138 banksel common ; back to bank common
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
139
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
140 WAITS .1 ; wait 1 second
0
heinrichsweikamp
parents:
diff changeset
141
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
142 ;---- fade to standard surface view --------------------------------------
0
heinrichsweikamp
parents:
diff changeset
143
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
144 call TFT_Display_FadeOut ; dim down display to black screen
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
145 call TFT_ClearScreen ; clear screen
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
146
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
147 surfloop_2:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
148
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
149 call TFT_load_std_color_pallet ; load standard color pallet
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
150
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
151 ;---- button functionalities ---------------------------------------------
0
heinrichsweikamp
parents:
diff changeset
152
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
153 FONT_COLOR color_green ; set font color
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
154 WIN_SMALL menu_pos_column,menu_pos_row ; set font size and output position
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
155 STRCPY_TEXT_PRINT tMenu ; print "<Menu"
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
156 WIN_SMALL view_column,view_row ; set font size and output position
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
157 STRCPY_TEXT_PRINT tView ; print "View>"
0
heinrichsweikamp
parents:
diff changeset
158
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
159
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
160 ;---- logo in upper right corner -----------------------------------------
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
161 btfsc dn_flag
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
162 bra surfloop_3
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
163 ; show textual OSTC logo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
164 WIN_STD .100,.2 ; set output position
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
165 FONT_COLOR color_white ; set text color to white
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
166 STRCPY_PRINT "OSTC" ; show "OSTC"
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
167
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
168 FONT_COLOR color_cyan ; set text color to cyan
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
169 WIN_TINY .138,.2 ; set output position
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
170 STRCPY_PRINT "hwOS" ; show "hwOS"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
171 WIN_TINY .137,.14 ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
172 IFDEF _hwos_sport
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
173 STRCPY_PRINT "sport" ; show "sport"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
174 ELSE
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
175 STRCPY_PRINT "tech" ; show "tech"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
176 ENDIF
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
177 bra surfloop_4
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
178 surfloop_3:
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
179 WIN_TINY .105,.5 ; set output position
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
180 FONT_COLOR color_grey ; set text color to white
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
181 STRCPY_PRINT "DYNAMICNORD" ; show "OSTC"
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
182
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
183 surfloop_4:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
184 ; firmware version
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
185 WIN_TINY .100,.32 ; set output position
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
186 FONT_COLOR color_white ; set text color to white
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
187 call TFT_print_firmware ; show firmware version (long format)
0
heinrichsweikamp
parents:
diff changeset
188
heinrichsweikamp
parents:
diff changeset
189
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
190 ;---- fill screen --------------------------------------------------------
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
191
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
192 call get_battery_voltage ; get battery voltage
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
193 call TFT_surfmode_batt ; show battery voltage
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
194 call TFT_surfmode_time ; show time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
195 call TFT_surfmode_date ; show date
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
196 call TFT_surfmode_pres ; show surface pressure
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
197 call TFT_surfmode_temp ; show temperature
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
198 call TFT_surfmode_decotype ; show deco mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
199
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
200 TSTOSS opt_dive_mode ; in OC? (0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=pSCR)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
201 call TFT_surfmode_startgas ; YES - show first gas and "OSTC2-like" active gases
0
heinrichsweikamp
parents:
diff changeset
202
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
203 ; configure tissue graphics
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
204 bcf tissue_graphic_mode ; select surface mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
205 bsf tissue_graphic_cns ; show CNS value
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
206
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
207 bsf tissue_graphic_layout ; default to N2+He
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
208 TSTOSS opt_tissue_graphics ; shall show press+sat?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
209 bcf tissue_graphic_layout ; YES - show press+sat
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
210
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
211 bcf tissue_graphic_gf ; default to none-GF
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
212 TSTOSC char_I_model ; GF factors enabled?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
213 bsf tissue_graphic_gf ; YES - show GF lines
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
214
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
215 movff customview_surfmode,active_customview ; reload last custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
216 call surf_customview_mask ; redraw last custom view
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
217
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
218 call TFT_Display_FadeIn ; show resulting surface screen
0
heinrichsweikamp
parents:
diff changeset
219
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
220 IFDEF _screendump
636
2737ddc643bb 3.11 release
heinrichsweikamp
parents: 634
diff changeset
221 extern enable_rs232
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
222 btfsc screen_dump_avail ; screen dump function enabled?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
223 call enable_rs232 ; YES - activate RS232 (also sets CPU to normal speed)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
224 ENDIF
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
225
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
226 bcf restart_fast ; clear flag for fast restart
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
227 bsf imprint_surfmode_data ; start imprinting surface mode data
0
heinrichsweikamp
parents:
diff changeset
228
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
229 bcf switch_left ; clear pending left button event
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
230 bcf switch_right ; clear pending right button event
0
heinrichsweikamp
parents:
diff changeset
231
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
232 rcall reset_timeout_surfmode ; reset timeout
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
233
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
234 surfloop_loop:
640
8c1f1f334275 3.13 release
heinrichsweikamp
parents: 636
diff changeset
235 call TFT_debug_output ; optional debug output
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
236
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
237 call test_switches_surfmode ; check switches
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
238
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
239 btfsc request_next_custview ; shall show next custom view?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
240 call surf_customview_toggle ; YES - show next custom view (and clear this flag)
0
heinrichsweikamp
parents:
diff changeset
241
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
242 btfss surfmode_menu ; shall enter surface menu?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
243 bra surfloop_loop_1 ; NO
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
244 bcf imprint_surfmode_data ; YES - stop imprinting surface mode data
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
245 goto main_menu ; - goto surface menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
246
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
247 surfloop_loop_1:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
248 call housekeeping ; handle data imprinting, screen dump request, timeout and entering dive mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
249 bra surfloop_loop ; loop in surface mode
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
250
0
heinrichsweikamp
parents:
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 ; Surface Mode HMI Operations
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
254 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
255 test_switches_surfmode: ; check buttons in surface mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
256 btfsc switch_right ; right button pressed?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
257 bra test_switches_surfmode2 ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
258 btfsc switch_left ; left button pressed?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
259 bra test_switches_surfmode3 ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
260 return ; NO to both - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
261
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
262 test_switches_surfmode2: ; right button pressed
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
263 bcf switch_right ; clear button event
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
264 rcall reset_timeout_surfmode ; set up timeout
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
265 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
266 movlw .6 ; coding for surface custom compass view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
267 cpfseq active_customview ; in compass view?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
268 bra test_switches_surfmode2a ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
269 btfss compass_menu ; "set course" selection shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
270 bra test_switches_surfmode2a ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
271 bsf compass_bearing_set ; YES - set new course
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
272 MOVII compass_heading_shown,compass_bearing
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
273 bra test_switches_surfmode3b ; - clear "Course" label and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
274 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
275 test_switches_surfmode2a:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
276 bsf request_next_custview ; request next custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
277 bcf compass_menu ; "set course" selection not shown anymore
0
heinrichsweikamp
parents:
diff changeset
278 return
heinrichsweikamp
parents:
diff changeset
279
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
280 test_switches_surfmode3: ; left button pressed
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
281 bcf switch_left ; clear button event
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
282 rcall reset_timeout_surfmode ; set up timeout
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
283 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
284 movlw .6 ; coding for surface custom view compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
285 cpfseq active_customview ; in compass view?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
286 bra test_switches_surfmode3a ; NO
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
287 btfsc compass_menu ; YES - "set course" selection already shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
288 bra test_switches_surfmode3b ; YES - remove it
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
289 call TFT_surf_cv_compass_bearing ; NO - show it
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
290 return ; - done
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
291 ENDIF
382
6f3530eb48f9 allow compass bearing on surface
heinrichsweikamp
parents: 375
diff changeset
292 test_switches_surfmode3a:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
293 bcf compass_bearing_set ; clear course on entering menu
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
294 bsf surfmode_menu ; flag that the surface menu shall be entered
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
295 return
382
6f3530eb48f9 allow compass bearing on surface
heinrichsweikamp
parents: 375
diff changeset
296
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
297 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
298 test_switches_surfmode3b:
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
299 WIN_BOX_BLACK .158,.190, .15, .99 ; clear "Course" label (top, bottom, left, right)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
300 bcf compass_menu ; clear flag for "set course" selection
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 564
diff changeset
301 return
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
302 ENDIF
382
6f3530eb48f9 allow compass bearing on surface
heinrichsweikamp
parents: 375
diff changeset
303
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
304
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
305 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
306 ; Helper Function - Reset and Restart Timeout for Surface Mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
307 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
308 global reset_timeout_surfmode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
309 reset_timeout_surfmode:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
310 movlw surfmode_timeout_default ; load default timeout value
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
311 btfss battery_is_36v ; running on a 3.6 V battery?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
312 movlw surfmode_timeout_aa_15v ; NO - replace by timeout for 1.5V battery
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
313 btfsc simulatormode ; currently in simulator (deco calculator) mode?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
314 movlw surfmode_timeout_simulator ; YES - replace with simulator timeout
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
315 ;bra restart_timeout_time ; restart timeout
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
316
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
317 global restart_timeout_time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
318 restart_timeout_time: ; entry point with timeout value in WREG
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
319 movwf isr_timeout_reload ; copy WREG to isr_timeout_reload
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
320 bsf restart_timeout ; request ISR to restart the timeout
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
321 bcf trigger_timeout ; clear any pending timeout trigger
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
322 return ; done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
323
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
324
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
325 ;=============================================================================
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
326 sfmode2 CODE
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
327 ;=============================================================================
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
328
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
329 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
330 ; Helper Function - Check all possible Surface Mode Warning Conditions
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
331 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
332 surfmode_check_warnings:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
333 clrf message_counter ; clear message counter
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
334
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
335 ; warnings for all modes
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
336 call check_battery ; check if the battery level should be displayed/warned
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
337
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
338 IFDEF _debug_output
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
339 call check_i2c_error ; check for an I2C error (For debugging purposes only)
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
340 ENDIF
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
341
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
342 btfsc FLAG_apnoe_mode ; done for Apnoe or Gauge mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
343 bra surfmode_check_warnings2
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
344 btfsc FLAG_gauge_mode ; done for Apnoe or Gauge mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
345 bra surfmode_check_warnings2
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
346
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
347 ; warnings only in deco modes
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
348 call check_saturation ; check/show tissue saturation
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
349 call check_cns_violation_now ; check/show current CNS value
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
350 call check_mbubbles ; check/show micro bubbles
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
351 movff int_O_lead_supersat+1,WREG ; get upper byte of leading tissue's supersaturation
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
352 btfsc WREG,int_warning_flag ; check if the warning flag is set
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
353 bra surfmode_check_warnings2 ; YES - outside of the model
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
354 rcall surfmode_check_for_desat ; NO - check/show desaturation time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
355 rcall surfmode_check_for_nofly ; - check/show no-fly time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
356
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
357 surfmode_check_warnings2:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
358 ; setup message page number
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
359 incf message_page,F ; increment page number
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
360 bcf STATUS,C ; clear carry bit
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
361 rlcf message_page,W ; each page can take two messages
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
362 cpfsgt message_counter ; number of actual messages > message capacity ?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
363 clrf message_page ; NO - all messages could be shown, restart from first page next time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
364
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
365 ; clear both rows if there is nothing to show at all
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
366 tstfsz message_counter ; any message to show?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
367 bra surfmode_check_warnings3 ; YES - look if second row needs to be cleared
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
368 goto TFT_clear_message_window ; NO - clear complete message area and return
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
369
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
370 surfmode_check_warnings3:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
371 ; clear 2nd row of messages if there is nothing to show (on this page)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
372 btfss message_2nd_row_used ; does the 2nd row contain a message?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
373 goto TFT_clear_message_window_row2 ; NO - clear the 2nd row and return
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
374 return ; YES - done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
375
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
376
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
377 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
378 ; Helper Function - check if still in Desaturation, if yes show a Message
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
379 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
380 surfmode_check_for_desat:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
381 banksel int_O_desaturation_time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
382 movf int_O_desaturation_time+0,W
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
383 iorwf int_O_desaturation_time+1,W
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
384 banksel common ; back to bank common
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
385 bnz surfmode_check_for_desat_1 ; is the desat-time > 0 ?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
386 return ; NO - done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
387 surfmode_check_for_desat_1:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
388 incf message_counter,F ; YES - increase counter
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
389 call TFT_surf_mesg_desat ; - show desaturation time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
390 return ; - done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
391
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
392
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
393 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
394 ; Helper Function - check if still in no-fly, if yes show a Message
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
395 ;
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
396 surfmode_check_for_nofly:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
397 banksel int_O_nofly_time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
398 movf int_O_nofly_time+0,W
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
399 iorwf int_O_nofly_time+1,W
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
400 banksel common ; back to bank common
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
401 bnz surfmode_check_for_nofly_1 ; is the nofly-time > 0 ?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
402 return ; NO - done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
403 surfmode_check_for_nofly_1:
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
404 incf message_counter,F ; YES - increase counter
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
405 call TFT_surf_mesg_nofly ; - show nofly-time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
406 return ; - done
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
407
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
408
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
409 ;=============================================================================
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
410 sfmode3 CODE
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
411 ;=============================================================================
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
412
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
413 ;-----------------------------------------------------------------------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
414 ; Data Imprinting, Screen Dump request, Timeout and Entering Dive Mode
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
415 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
416 global housekeeping
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
417 housekeeping:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
418 btfss trigger_full_second ; new 1/1 second begun?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
419 bra housekeeping_1 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
420
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
421 ;---- tasks any new second ---------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
422
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
423 bcf trigger_full_second ; YES - clear flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
424 call get_battery_voltage ; - get battery voltage
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
425
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
426 btfsc imprint_time_date ; - shall imprint the current time & date?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
427 call TFT_imprint_time_date ; YES - imprint time and date on display (copies running time to latch registers)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
428
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
429 btfsc imprint_color_schemes ; - shall imprint color scheme demo?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
430 call TFT_imprint_color_schemes ; YES - update the color schemes
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
431
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
432 IFDEF _rx_functions
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
433 btfsc tr_functions_activated ; - TR functions activated?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
434 call I2C_get_tankdata ; YES - get new transmitter data
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
435
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
436 btfsc imprint_xmitter_pres ; - shall imprint transmitter ID and pressure?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
437 call TFT_imprint_tank_pres ; YES - imprint transmitter ID and pressure
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
438 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
439
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
440 btfss imprint_surfmode_data ; - shall imprint all surface mode data?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
441 bra housekeeping_0 ; NO
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
442 call TFT_surfmode_time ; YES - update displayed time
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
443 call TFT_surfmode_batt ; - update displayed battery voltage
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
444 btfss timebase_1sec,0 ; - on even second?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
445 call surfmode_check_warnings ; YES - check for warnings and display/update them
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
446
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
447 btfsc trigger_temp_changed ; - temperature changed?
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
448 call TFT_surfmode_temp ; YES - display temperature
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
449 bcf trigger_temp_changed ; - clear flag (anyhow)
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
450
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
451 btfsc trigger_pres_cur_changed ; YES - pressure changed?
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
452 call TFT_surfmode_pres_fast ; YES - display surface pressure, but only if change > threshold
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
453 bcf trigger_pres_cur_changed ; - clear flag (anyhow)
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
454
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
455
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
456 IFDEF _rx_functions
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
457 btfss tr_functions_activated ; - TR functions activated?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
458 bra housekeeping_0 ; NO - skip tank pressure part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
459
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
460 call get_pressure_readings ; YES - get pressure readings
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
461 call TFT_surfmode_tankpres ; - update first gas/diluent pressure
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
462
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
463 movf active_customview,W ; - get current custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
464 xorlw .10 ; - coding of tank data custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
465 btfsc STATUS,Z ; - equal?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
466 call TFT_surf_cv_tankdata ; YES - update tank data custom view
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
467 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
468
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
469 housekeeping_0:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
470 bsf restart_fast ; default to doing a fast restart (no logos)
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
471 btfsc divemode ; NO - need to enter dive mode?
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
472 bra housekeeping_0b ; YES - but check again, to filter potential glitches (New sensor)
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
473 housekeeping_0a:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
474 call check_dive_modes_surf ; check if dive mode needs to be entered, will set dive mode flag if yes
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
475 btfsc simulatormode ; in simulator mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
476 bra housekeeping_1 ; YES - can't restart or go to sleep without prior cleanup
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
477 btfss trigger_timeout ; NO - timeout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
478 bra housekeeping_1 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
479 btfsc surfmode_menu ; YES - in surface menus?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
480 goto restart ; YES - goto restart, will proceed to surface mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
481 bcf restart_fast ; NO - set next restart to be done slow, i.e. with logos
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
482 goto sleeploop ; - goto sleep mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
483
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
484 housekeeping_0b:
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
485 call check_dive_modes_surf ; check if dive mode needs to be entered, will set dive mode flag if yes
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
486 btfsc divemode ; NO - really need to enter dive mode?
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
487 goto restart ; YES
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
488 bra housekeeping_0a ; No, continue above
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
489
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
490 housekeeping_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
491 btfss trigger_quarter_second ; new 1/4 second begun?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
492 bra housekeeping_2 ; NO
0
heinrichsweikamp
parents:
diff changeset
493
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
494 ;---- tasks any new 1/4 second -----
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
495 bcf trigger_quarter_second ; YES - clear flag
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
496
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
497 btfss press_sensor_type ; New sensor found?
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
498 bra housekeeping_1aa ; No
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
499
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
500 btfsc ms5837_state ; =0: result of temperature is in the ADC
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
501 bra housekeeping_1ab
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
502 call I2C_get_temp_val_MS5837 ; (Will set ms5837_state)
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
503 bra housekeeping_1aa ; Done.
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
504 housekeeping_1ab:
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
505 call I2C_get_press_val_MS5837 ; (Will clear ms5837_state)
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
506 housekeeping_1aa:
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
507 IFDEF _external_sensor_eccr
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
508 btfsc imprint_sensor_mv ; - shall imprint sensor mV data?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
509 call TFT_imprint_menu_mV ; YES - imprint sensor mV data
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
510 ENDIF ; _external_sensor_eccr
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
511 btfss imprint_surfmode_data ; - shall imprint all surface mode data?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
512 bra housekeeping_2 ; NO
643
7d8a4c60ec1a 3.15 release
heinrichsweikamp
parents: 640
diff changeset
513
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
514 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
515 movf active_customview,W ; - get current custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
516 xorlw .6 ; - coding of compass custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
517 btfsc STATUS,Z ; - equal?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
518 call TFT_surface_compass_heading ; YES - update compass view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
519 ENDIF ; _compass
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
520 IFDEF _external_sensor_eccr
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
521 btfsc FLAG_ccr_mode ; - in CCR mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
522 bra housekeeping_1a ; - YES - handle sensors
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
523 btfsc FLAG_pscr_mode ; - in pSCR mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
524 bra housekeeping_1a ; YES - handle sensors
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
525 bra housekeeping_2 ; NO to both
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
526
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
527 housekeeping_1a: ; handle sensors
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
528 movff opt_ccr_mode,WREG ; =0: fixed SP, =1: sensor, =2: autoSP
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
529 decfsz WREG ; opt_ccr_mode = 1 (sensor)?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
530 bra housekeeping_2 ; NO - skip sensor readings
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
531 call calc_deko_divemode_sensor ; YES - read & calculate sensor data
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
532 call TFT_imprint_surf_ppO2 ; - update displayed sensor data
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
533 call TFT_imprint_surf_sensor_eol ; - show a down-arrow behind sensor readings when sensor is at end-of-life
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
534 movf active_customview,W ; - get current custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
535 xorlw .9 ; - coding of sensor mV readings custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
536 btfsc STATUS,Z ; - equal?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
537 call TFT_imprint_surf_mV ; YES - update mV readings
656
8af5aefbcdaf Update to 3.31 beta
heinrichsweikamp
parents: 654
diff changeset
538 ENDIF ; _external_sensor_eccr
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
539
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
540 housekeeping_2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
541 btfss trigger_full_minute ; new 1/1 minute begun?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
542 bra housekeeping_3 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
543
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
544 ;---- tasks any new minute ---------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
545
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
546 bcf trigger_full_minute ; YES - clear flag
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
547
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
548 btfss imprint_surfmode_data ; - shall imprint all surface mode data?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
549 bra housekeeping_2a ; NO
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
550 btfsc trigger_pres_cur_changed ; YES - pressure changed?
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
551 call TFT_surfmode_pres ; YES - display surface pressure
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
552 bcf trigger_pres_cur_changed ; - clear flag (anyhow)
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
553
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
554 housekeeping_2a:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
555 btfsc simulatormode ; - in simulator mode?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
556 bra housekeeping_2b ; YES - real tissues are in the vault, skip desaturation calculations
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
557 call deco_calc_dive_interval_1min; NO - calculate 1 minute at surface conditions (C-code)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
558 call deco_calc_desaturation_time ; - calculate desaturation and no-fly/no-altitude time (C-code)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
559 banksel common ; - back to bank common
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
560
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
561 housekeeping_2b:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
562 btfss imprint_surfmode_data ; - shall imprint all surface mode data?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
563 bra housekeeping_3 ; NO
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
564 call TFT_surfmode_date ; YES - update displayed date
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
565
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
566 movf active_customview,W ; - get current custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
567 xorlw .5 ; - coding of tissue custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
568 btfsc STATUS,Z ; - equal?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
569 call TFT_surf_cv_tissues ; YES - update tissue diagram
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
570
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
571 movf active_customview,W ; - get current custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
572 xorlw .8 ; - coding of last dive info custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
573 btfsc STATUS,Z ; - equal?
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
574 call TFT_surf_cv_lastdive ; YES - update last dive infos
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
575
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
576 housekeeping_3:
634
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
577
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
578 ;---- tasks any round --------------
4050675965ea 3.10 stable release
heinrichsweikamp
parents: 631
diff changeset
579
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
580 IFDEF _screendump
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
581 btfsc screen_dump_avail ; screen dump function enabled?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
582 call TFT_dump_screen_check ; YES - check if requested and do it
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
583 ELSE
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
584 btfsc comm_mode_disabled ; COMM mode disabled?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
585 return ; YES - done
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 587
diff changeset
586 ENDIF
629
237931377539 3.07 stable release
heinrichsweikamp
parents: 628
diff changeset
587 return
651
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
588 ; btfss surfmode_menu ; in surface menus?
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
589 ; return ; NO - done
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
590 ;
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
591 ; btfsc simulatormode ; currently in simulator (deco calculator) mode?
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
592 ; return ; YES - suppress COMM mode to not jeopardize backup/restore of tissue data
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
593 ;
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
594 ; btfss vusb_in ; USB plugged in?
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
595 ; return ; NO - done
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
596 ; IFDEF _screendump
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
597 ; btfsc screen_dump_avail ; YES - screen dump enabled?
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
598 ; return ; YES - no COMM mode to be able to make screen shots of the menu and simulator mode
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
599 ; ENDIF
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
600 ; btfss ble_available ; skip "USB" check in all Bluetooth models (required for very old OSTC sport)
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
601 ; goto comm_mode_usb ; YES / NO - proceed to COMM mode, will also set CPU to speed normal
682c514c53c0 3.21 release preparations
heinrichsweikamp
parents: 643
diff changeset
602 ; return
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
603
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
604 ;-----------------------------------------------------------------------------
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
605
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
606 END