annotate src/tft_outputs.asm @ 633:690c48db7b5b

3.09 beta 2 release
author heinrichsweikamp
date Thu, 05 Mar 2020 15:06:14 +0100
parents 185ba2f91f59
children 4050675965ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
heinrichsweikamp
parents:
diff changeset
1 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2 ;
633
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
3 ; File tft_outputs.asm next combined generation V3.09.1 fix
0
heinrichsweikamp
parents:
diff changeset
4 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5 ; high-level Display Outputs
0
heinrichsweikamp
parents:
diff changeset
6 ;
heinrichsweikamp
parents:
diff changeset
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved.
heinrichsweikamp
parents:
diff changeset
8 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
9 ; HISTORY
heinrichsweikamp
parents:
diff changeset
10 ; 2011-08-07 : [mH] moving from OSTC code
heinrichsweikamp
parents:
diff changeset
11
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
12 #include "hwos.inc" ; mandatory header
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
13 #include "shared_definitions.h" ; mailbox from/to p2_deco.c
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
14 #include "tft.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
15 #include "start.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
16 #include "strings.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
17 #include "convert.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
18 #include "varargs.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
19 #include "math.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
20 #include "eeprom_rs232.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
21 #include "adc_lightsensor.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
22 #include "surfmode.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
23 #include "divemode.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
24 #include "external_flash.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
25 #include "ghostwriter.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
26 #include "customview.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
27 #include "i2c.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
28 #include "colorschemes.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
29 #include "calibrate.inc"
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
30 #include "gaslist.inc"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
31 #include "rx_ops.inc"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
32 #include "logbook.inc"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
33
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
34
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
35 ;---- external Functions -----------------------------------------------------
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
36
0
heinrichsweikamp
parents:
diff changeset
37 extern aa_wordprocessor
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
38 extern get_first_gas_to_WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
39
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
40
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
41 ;---- external Texts ---------------------------------------------------------
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
42
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
43 extern tFirmware
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
44 extern tFirmwareDate
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
45 extern tHardware
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
46 extern tSerial
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
47 extern tTotalDives
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
48 extern tBatteryV
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
49 extern tSensorC
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
50 extern tSensorD
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
51 extern tUptime
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
52 extern tPPO2MIN
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
53 extern tPPO2Max
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
54 extern tPPO2DECO
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
55 extern tbar
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
56
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
57 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
58 extern tPPO2MINCC
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
59 ENDIF
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
60
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
61 IFDEF _rx_functions
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
62 extern tFirmware_rx
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
63 ENDIF
0
heinrichsweikamp
parents:
diff changeset
64
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
65 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
66 extern tCalX,tCalY,tCalZ
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
67 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
68
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
69
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
70 tft_out CODE
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
71
0
heinrichsweikamp
parents:
diff changeset
72 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
73
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
74 global TFT_debug_output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
75 TFT_debug_output:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
76 ifndef _debug_output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
77 return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
78 else
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
79 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
80 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
81
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
82 ; WIN_TINY .100,.30 ; surface mode: fits under the textual logo in the upper right corner
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
83 ; WIN_TINY .35, .0 ; dive mode: fits to the right side of the depth label
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
84 WIN_TINY .0, .0 ; dive mode: overwrites depth label
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
85 call TFT_standard_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
86 lfsr FSR2,buffer
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
87
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
88 ; print an 16 bit integer as x.yy
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
89 ;MOVII int_O_profiling_overrun,mpr
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
90 ;output_16dp .3
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
91 ;STRCAT_PRINT ""
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
92 ;return
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
93
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
94 ; deco engine scheduling performance
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
95 MOVII int_O_profiling_overrun,mpr ; runtime +/- versus target
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
96 btfss mpr+1,7
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
97 bra TFT_debug_output_1
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
98 bcf mpr+1,7
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
99 PUTC "-"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
100 bra TFT_debug_output_2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
101 TFT_debug_output_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
102 PUTC " "
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
103 TFT_debug_output_2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
104 output_16_3
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
105 PUTC "."
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
106 MOVII int_O_profiling_overrun_max,mpr ; max runtime
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
107 output_16_3
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
108 PUTC "."
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
109 movff char_O_profiling_overrun_phase,WREG ; calculation phase causing the max runtime
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
110 output_hex
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
111 PUTC "."
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
112 movff char_O_profiling_runs_norm,mpr ; runs/cycle normal plan
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
113 output_99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
114 PUTC "."
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
115 movff char_O_profiling_runs_alt,mpr ; runs/cycle alternative plan
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
116 output_99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
117 STRCAT_PRINT ""
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
118 return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
119 endif
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
120
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
121
0
heinrichsweikamp
parents:
diff changeset
122 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
123
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
124 global TFT_divemask_color
0
heinrichsweikamp
parents:
diff changeset
125 TFT_divemask_color:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
126 movlw color_green
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
127 btfsc divemode ; in dive mode?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
128 rcall TFT_divemask_color_dive
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
129 bra TFT_standard_color0
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
130
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
131 TFT_divemask_color_dive:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
132 movff opt_dive_color_scheme,WREG ; 0-3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
133 incf WREG
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
134 dcfsnz WREG
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
135 retlw color_scheme_divemode_mask1 ;0
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
136 dcfsnz WREG
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
137 retlw color_scheme_divemode_mask2 ;1
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
138 dcfsnz WREG
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
139 retlw color_scheme_divemode_mask3 ;2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
140 retlw color_scheme_divemode_mask4 ;3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
141
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
142
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
143 global TFT_memo_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
144 TFT_memo_color: ; information, values within normal range, things without a need to react upon
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
145 movlw color_white
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
146 bra TFT_standard_color0
605
5ce603c29750 gas color coding fixed
heinrichsweikamp
parents: 604
diff changeset
147 TFT_memo_color_dive:
5ce603c29750 gas color coding fixed
heinrichsweikamp
parents: 604
diff changeset
148 retlw color_white
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
149
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
150 global TFT_advice_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
151 TFT_advice_color: ; advices to do something, but without essential need to actually do it
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
152 movlw color_green
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
153 bra TFT_standard_color0
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
154 TFT_advice_color_dive:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
155 retlw color_green
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
156
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
157 global TFT_attention_color ; important things to be aware of and things that are developing towards a warning
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
158 TFT_attention_color:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
159 movlw color_yellow
0
heinrichsweikamp
parents:
diff changeset
160 bra TFT_standard_color0
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
161 TFT_attention_color_dive:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
162 retlw color_yellow
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
163
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
164 global TFT_warning_color ; important things with immediate need to react upon
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
165 TFT_warning_color:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
166 movlw color_red
0
heinrichsweikamp
parents:
diff changeset
167 bra TFT_standard_color0
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
168 TFT_warnings_color_dive:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
169 retlw color_red
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
170
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
171
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
172 global TFT_disabled_color
0
heinrichsweikamp
parents:
diff changeset
173 TFT_disabled_color:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
174 movlw color_lightblue
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
175 btfsc divemode ; in dive mode?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
176 rcall TFT_disabled_color_dive ; YES
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
177 bra TFT_standard_color0
87
82750b8dfcee CHANGE: Color schemes improved
heinrichsweikamp
parents: 85
diff changeset
178 TFT_disabled_color_dive:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
179 movff opt_dive_color_scheme,WREG ; 0-3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
180 incf WREG
87
82750b8dfcee CHANGE: Color schemes improved
heinrichsweikamp
parents: 85
diff changeset
181 dcfsnz WREG
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
182 retlw color_scheme_divemode_dis1 ; 0
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
183 dcfsnz WREG
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
184 retlw color_scheme_divemode_dis2 ; 1
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
185 dcfsnz WREG
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
186 retlw color_scheme_divemode_dis3 ; 2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
187 retlw color_scheme_divemode_dis4 ; 3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
188
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
189
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
190 global TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
191 TFT_standard_color:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
192 setf WREG ; default white
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
193 btfsc divemode ; in dive mode?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
194 rcall TFT_standard_color_dive
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
195 ;bra TFT_standard_color0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
196 TFT_standard_color0:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
197 goto TFT_set_color ; and return...
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
198
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
199
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
200 TFT_standard_color_dive:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
201 movff opt_dive_color_scheme,WREG ; 0-3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
202 incf WREG
0
heinrichsweikamp
parents:
diff changeset
203 dcfsnz WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
204 retlw color_scheme_divemode_std1 ; 0
0
heinrichsweikamp
parents:
diff changeset
205 dcfsnz WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
206 retlw color_scheme_divemode_std2 ; 1
0
heinrichsweikamp
parents:
diff changeset
207 dcfsnz WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
208 retlw color_scheme_divemode_std3 ; 2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
209 retlw color_scheme_divemode_std4 ; 3
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
210
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
211
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
212 global TFT_color_code_tank_pres_sac
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
213 TFT_color_code_tank_pres_sac: ; color-code a tank pressure or SAC rate, data in hi:lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
214 btfss hi,int_not_avail_flag ; is the not-available flag set?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
215 bra TFT_color_code_tank_pres_1 ; NO
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
216 bcf hi,int_not_avail_flag ; YES - clear not-available flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
217 TFT_color_code_tank_pres_0: ; entry point for outdated flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
218 bcf hi,int_outdated_flag ; clear outdated flag (it may be set)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
219 bcf hi,int_warning_flag ; clear warning flag (it may be set)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
220 bcf hi,int_attention_flag ; clear attention flag (it may be set)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
221 bra TFT_disabled_color ; set to disabled color and return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
222 TFT_color_code_tank_pres_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
223 btfsc hi,int_outdated_flag ; is the outdated flag set?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
224 bra TFT_color_code_tank_pres_0 ; YES - handle alike with not-available flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
225 TFT_color_code_tank_pres_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
226 btfss hi,int_warning_flag ; is the warning flag set?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
227 bra TFT_color_code_tank_pres_3 ; NO
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
228 bcf hi,int_warning_flag ; YES - clear warning flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
229 bcf hi,int_attention_flag ; - clear attention flag (it may be set)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
230 bra TFT_warning_color ; - set to warning color and return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
231 TFT_color_code_tank_pres_3:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
232 btfss hi,int_attention_flag ; is the attention flag set?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
233 bra TFT_memo_color ; NO - set to memo color and return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
234 bcf hi,int_attention_flag ; YES - clear attention flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
235 bra TFT_attention_color ; - set to attention color and return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
236
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
237
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
238 global TFT_color_code_gaslist
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
239 TFT_color_code_gaslist: ; color-code a gas (%O2 in hi) according to current absolute pressure
0
heinrichsweikamp
parents:
diff changeset
240 ; Check very high ppO2 manually
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
241 MOVII pressure_abs_10,xA
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
242 movff hi,xB+0
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
243 clrf xB+1
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
244 call mult16x16 ; hi * absolute pressure / 10
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
245 ; Check if ppO2 > 6.55 bar
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
246 tstfsz xC+2 ; char_I_O2_ratio * absolute pressure / 10 > 65536, i.e. ppO2 > 6.55 bar ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
247 bra TFT_warning_color ; YES - warn in warning color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
248 ; Check if ppO2 > 3.30 bar
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
249 btfsc xC+1,7
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
250 bra TFT_warning_color ; YES - warn in warning color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
251 ; Check for low ppO2
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
252 MOVII xC,sub_a
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
253 movff char_I_ppO2_min,WREG
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
254 mullw d'100' ; char_I_ppO2_min*100
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
255 MOVII PRODL,sub_b
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
256 call cmpU16 ; compare (sub_a - sub_b)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
257 btfsc neg_flag ; lower than ppO2 min?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
258 bra TFT_warning_color ; YES - set warning color and return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
259 ; Check for high ppO2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
260 movff char_O_deco_info,WREG ; bank-safe copy of deco info vector
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
261 btfsc WREG,deco_mode ; are we in deco?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
262 bra TFT_color_code_gaslist_deco ; YES - check against ppO2 max deco only
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
263 ; NO - check against ppO2 max travel/normal and deco
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
264 ; Check for ppO2 max travel/normal
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
265 movff char_I_ppO2_max_work,WREG ; ppo2 max during working phase
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
266 mullw d'100' ; char_I_ppO2_max_work*100
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
267 ADDLI ppO2_margin_on_max,PROD ; add ppO2 margin on max value to compensate for surface pressures > 1000 hPa
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
268 MOVII PRODL,sub_b ; copy result to sub_b
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
269 call cmpU16 ; compare (sub_a - sub_b)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
270 btfss neg_flag ; higher than ppO2 max travel/deco?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
271 rcall TFT_attention_color ; YES - set attention color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
272 ; Check for ppO2 max deco
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
273 TFT_color_code_gaslist_deco:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
274 movff char_I_ppO2_max_deco,WREG ; ppo2 max for deco
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
275 mullw d'100' ; char_I_ppO2_max_deco * 100
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
276 ADDLI ppO2_margin_on_max,PROD ; add ppO2 margin on max value to compensate for surface pressures > 1000 hPa
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
277 MOVII PRODL,sub_b ; copy result to sub_b
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
278 call cmpU16 ; compare (sub_a - sub_b)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
279 btfss neg_flag ; higher than ppO2 max deco?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
280 bra TFT_warning_color ; YES - set warning color and return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
281 return ; NO - keep current color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
282
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
283
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
284 TFT_color_code_ceiling: ; color-code the ceiling depth
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
285 btfsc hi,char_invalid_flag ; is the invalid flag set? (bit 7 here)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
286 bra TFT_color_code_ceiling_1 ; YES - set disabled color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
287 MOVII pressure_rel_cur_cached,sub_a; NO - get current pressure to sub_a
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
288 MOVII mpr,sub_b ; - get ceiling to sub_b
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
289 call cmpU16 ; - sub_a - sub_b = relative pressure [mbar] - int_O_ceiling [mbar]
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
290 btfss neg_flag ; - is current depth < ceiling (too shallow) ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
291 bra TFT_memo_color ; NO - set to memo color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
292 movff char_O_deco_warnings,WREG ; YES - bank-safe copy of deco warnings
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
293 btfsc WREG,outside_warning ; - are we currently outside of the ZH-L16 model?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
294 bra TFT_warning_color ; YES - set to warnings color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
295 bra TFT_attention_color ; NO - set to attention color and return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
296 TFT_color_code_ceiling_1:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
297 bcf hi,char_invalid_flag ; clear the invalid flag (bit 7 here)
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
298 bra TFT_disabled_color ; set to disabled color and return
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
299
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
300
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
301 TFT_color_code_stop: ; color-code the stop depth: memo color if below stop depth,
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
302 ; attention color if above stop but below ceiling,
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
303 ; warning color if above stop and ceiling
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
304 ; (ceiling depth is calculated using current GF)
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
305 movff char_O_deco_gas+0,WREG ; get flag for invalid deco data
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
306 btfsc WREG,char_invalid_flag ; is the invalid flag set?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
307 bra TFT_disabled_color ; YES - set to disabled color and return
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
308 movff char_O_deco_depth+0,WREG ; NO - get depth of first stop in meters into WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
309 subwf depth_meter,W ; - compute current depth - stop depth
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
310 btfsc STATUS,C ; - result negative?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
311 bra TFT_color_code_stop_1 ; NO - not shallower than stop depth, check for ascent advice
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
312 MOVII int_O_ceiling,sub_b ; YES - get ceiling depth in mbar
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
313 btfsc sub_b+1,char_invalid_flag ; - is the invalid flag set? (bit 7 here)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
314 bra TFT_warning_color ; YES - set to warning color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
315 MOVII pressure_rel_cur_cached,sub_a; NO - get current pressure
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
316 call cmpU16 ; - sub_a - sub_b = relative pressure - int_O_ceiling
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
317 btfsc neg_flag ; - is ceiling > current depth?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
318 bra TFT_warning_color ; YES - set to warning color and return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
319 bra TFT_attention_color ; NO - set to attention color and return
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
320 TFT_color_code_stop_1:
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
321 movff char_O_deco_depth+0,WREG ; get depth of first stop in meters into WREG
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
322 incf WREG,W ; compute stop depth + 1 meter
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
323 subwf depth_meter,W ; compute current depth - (first stop depth + 1 meter)
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
324 btfss STATUS,C ; result negative?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
325 bra TFT_memo_color ; YES - within 1 meter of stop depth, use memo color
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
326 btfss deco_region ; NO - within deco stops region?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
327 bra TFT_memo_color ; NO - use memo color
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
328 bsf win_invert ; YES - give ascent advice, ...
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
329 bra TFT_advice_color ; - ... and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
330
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
331
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
332 TFT_color_code_depth:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
333 TSTOSS opt_depth_warn ; depth warning switched on?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
334 bra TFT_color_code_depth_no_mod ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
335 btfsc depth_limit_exceeded ; YES - deeper than depth limit?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
336 bra TFT_color_code_depth_warn ; YES - set to warning color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
337 bra TFT_color_code_depth_mod ; NO - check depth against MOD and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
338 TFT_color_code_depth_no_mod:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
339 btfsc depth_limit_exceeded ; NO - deeper than depth limit?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
340 bra TFT_warning_color ; YES - set to warning color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
341 bra TFT_memo_color ; NO - set to memo color and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
342 TFT_color_code_depth_mod:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
343 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
344 movff opt_dive_mode,WREG ; get deco mode: 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
345 decfsz WREG,F ; in CCR mode?
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
346 bra TFT_color_code_depth_no_ccr ; NO - continue checking for ppO2
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
347 btfss bailout_mode ; YES - check if in bailout
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
348 bra TFT_color_code_depth_outside; NO - continue checking for outside ZHL16 model
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
349 ENDIF
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
350 TFT_color_code_depth_no_ccr:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
351 movff int_O_breathed_ppO2+1,WREG ; get upper byte of currently breathed ppO2
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
352 btfsc WREG,int_warning_flag ; is the warning flag set?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
353 bra TFT_color_code_depth_warn ; YES - animate in warning design
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
354 TFT_color_code_depth_outside:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
355 movff char_O_deco_warnings,WREG ; bank-safe copy of deco warnings
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
356 btfsc WREG,outside_warning ; are we currently outside of the ZH-L16 model?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
357 bra TFT_color_code_depth_warn ; YES - activate depth warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
358 bcf depth_warning ; NO - terminate depth warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
359 btfsc WREG,outside_attention ; - are we near to outside of the ZH-L16 model?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
360 bra TFT_color_code_depth_att ; YES - activate depth attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
361 bcf depth_attention ; NO - terminate depth attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
362 bra TFT_memo_color ; - select memo color and return
300
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
363 TFT_color_code_depth_warn:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
364 bsf depth_warning ; activate depth warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
365 bra TFT_warning_color ; select warning color and return...
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
366 TFT_color_code_depth_att:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
367 bsf depth_attention ; activate depth attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
368 bra TFT_attention_color ; select attention color and return...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
369
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
370
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
371 global TFT_color_code_cns
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
372 TFT_color_code_cns: ; color-code CNS values (CNS in hi:lo [%])
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
373 btfss hi,int_invalid_flag ; is the invalid flag set?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
374 bra TFT_color_code_cns_1 ; NO
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
375 bcf hi,int_invalid_flag ; YES - clear invalid flag
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
376 bcf hi,int_warning_flag ; clear warning flag (it may be set)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
377 bcf hi,int_attention_flag ; clear attention flag (it may be set)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
378 bra TFT_disabled_color ; set to disabled color and return
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
379 TFT_color_code_cns_1:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
380 btfss hi,int_warning_flag ; is the warning flag set?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
381 bra TFT_color_code_cns_2 ; NO
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
382 bcf hi,int_warning_flag ; YES - clear warning flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
383 bcf hi,int_attention_flag ; - clear attention flag (it may be set)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
384 bra TFT_warning_color ; - set to warning color and return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
385 TFT_color_code_cns_2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
386 btfss hi,int_attention_flag ; is the attention flag set?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
387 bra TFT_memo_color ; NO - set to memo color and return
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
388 bcf hi,int_attention_flag ; YES - clear attention flag
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
389 bra TFT_attention_color ; - set to attention color and return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
390
0
heinrichsweikamp
parents:
diff changeset
391
heinrichsweikamp
parents:
diff changeset
392 TFT_color_code_gf:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
393 ; with int_O_lead_supersat, the upper byte is solely used for the flags
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
394 ; and not for the value, thus there is no need to clear the flags
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
395 btfsc hi,int_invalid_flag ; is the invalid flag set?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
396 bra TFT_disabled_color ; YES - set to disabled color and return
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
397 btfsc hi,int_warning_flag ; NO - is the warning flag set?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
398 bra TFT_warning_color ; YES - set to warning color and return
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
399 btfsc hi,int_attention_flag ; NO - is the attention flag set?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
400 bra TFT_attention_color ; YES - set to attention color and return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
401 bra TFT_memo_color ; NO - set to memo color and return
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
402
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
403
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
404 TFT_color_code_ppo2: ; color-code ppO2 values (ppO2 in hi:lo [cbar]) by its warning flags
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
405 btfss hi,int_warning_flag ; is the warning flag set?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
406 bra TFT_color_code_ppo2_1 ; NO
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
407 bcf hi,int_warning_flag ; YES - clear warning flag
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
408 bcf hi,int_attention_flag ; clear attention flag (it may be set)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
409 bcf hi,int_high_flag ; clear high warning flag (it may be set)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
410 bcf hi,int_low_flag ; clear low warning flag (it may be set)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
411 bra TFT_warning_color ; warn in warning color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
412 TFT_color_code_ppo2_1:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
413 btfss hi,int_attention_flag ; is the attention flag set?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
414 bra TFT_color_code_ppo2_2 ; NO
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
415 bcf hi,int_attention_flag ; YES - clear attention flag (it may be set)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
416 bcf hi,int_high_flag ; clear high warning flag (it may be set)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
417 bcf hi,int_low_flag ; clear low warning flag (it may be set)
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
418 bra TFT_attention_color ; set to attention color and return
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
419 TFT_color_code_ppo2_2:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
420 bcf hi,int_high_flag ; clear high warning flag (it may be set)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
421 bcf hi,int_low_flag ; clear low warning flag (it may be set)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
422 bra TFT_memo_color ; set to memo color and return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
423
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
424 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
425
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
426 IFDEF _ccr_pscr
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
427
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
428 TFT_color_code_ppo2_hud: ; color-code ppO2 values (ppO2 in --:lo [cbar]) by its value
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
429 movff char_O_deco_info,WREG ; get the deco info vector
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
430 btfss WREG,deco_mode ; are we in deco?
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
431 bra TFT_color_code_ppo2_hud_a ; NO - load normal max value as threshold
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
432 movff char_I_ppO2_max_deco,WREG ; YES - load deco value as threshold
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
433 bra TFT_color_code_ppo2_hud_b
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
434 TFT_color_code_ppo2_hud_a:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
435 movff char_I_ppO2_max_work,WREG ; ppO2 max while in working phase
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
436 TFT_color_code_ppo2_hud_b:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
437 cpfsgt lo ; lo > threshold?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
438 bra TFT_color_code_ppo2_hud1 ; NO - continue with checking for ppO2 low
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
439 bra TFT_warning_color ; YES - set warning color and return
0
heinrichsweikamp
parents:
diff changeset
440 TFT_color_code_ppo2_hud1:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
441 movff opt_dive_mode,WREG ; 0=OC, 1=CC, 2=Gauge, 3=Apnea, 4=PSCR
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
442 decfsz WREG,F ; now: 0=CC, 1=Gauge, 2=Apnea, 3=PSCR
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
443 bra TFT_color_code_ppo2_hud_nocc; not CCR...
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
444 btfsc bailout_mode
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
445 bra TFT_color_code_ppo2_hud_nocc; is bailout, hence not loop mode...
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
446 movff char_I_ppO2_min_loop,WREG ; ppO2 min loop mode color coding
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
447 bra TFT_color_code_ppo2_hud_cont
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
448 TFT_color_code_ppo2_hud_nocc:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
449 movff char_I_ppO2_min,WREG ; PPO2 min for all other modes
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
450 TFT_color_code_ppo2_hud_cont:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
451 cpfslt lo ; lo < char_I_ppO2_min?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
452 bra TFT_memo_color ; NO - set memo color and return...
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
453 bra TFT_warning_color ; Yes - set warning color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
454
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
455 ENDIF ; _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
456
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
457 ;=============================================================================
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
458
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
459 TFT_color_code_battery: ; color-code the battery display, with battery percent in lo
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
460 btfsc battery_low_condition ; battery low condition detected?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
461 bra TFT_warning_color ; YES - set to warning color and return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
462 bra TFT_memo_color ; NO - set to memo color and return
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
463
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
464
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
465 global TFT_color_code_gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
466 TFT_color_code_gas: ; color-code the output according to gas number (1-6) in WREG
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
467 movwf up ; copy gas number (1-6) to up
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
468 movlw color_white ; Default color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
469 dcfsnz up,F
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
470 movlw color_white ; color for gas 1
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
471 dcfsnz up,F
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
472 movlw color_green ; color for gas 2
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
473 dcfsnz up,F
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
474 movlw color_red ; color for gas 3
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
475 dcfsnz up,F
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
476 movlw color_yellow ; color for gas 4
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
477 dcfsnz up,F
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
478 movlw color_cyan ; color for gas 5
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
479 dcfsnz up,F
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
480 movlw color_pink ; color for gas 6
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
481 goto TFT_set_color ; set color...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
482
0
heinrichsweikamp
parents:
diff changeset
483
heinrichsweikamp
parents:
diff changeset
484 ; ****************************************************************************
heinrichsweikamp
parents:
diff changeset
485
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
486 global TFT_show_OC_startgas_surface
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
487 TFT_show_OC_startgas_surface: ; show first gas and "OSTC2-like" active gases
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
488 ; Show first gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
489 WIN_SMALL surf_decotype_column+.1,surf_decotype_row+.30
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
490 call get_first_gas_to_WREG ; get first gas (1-5) into WREG
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
491 decf WREG,W ; 1-5 -> 0-4
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
492 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
493 call gaslist_strcat_gas ; input: PRODL : gas number (0..4), Output: Text appended into buffer pointed by FSR2.
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
494 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
495 ; Show boxes
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
496 WIN_TOP surf_decotype_row+.30+.25
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
497 WIN_LEFT surf_decotype_boxes_left1+.1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
498 rcall TFT_disabled_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
499 movff opt_gas_type+0,hi ; 0=Disabled, 1=First, 2=Travel, 3=Deco
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
500 tstfsz hi
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
501 rcall TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
502 STRCPY_PRINT "1"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
503 decfsz hi,F ; Type = 1 (First)?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
504 bra DISP_active_gas_surfmode3 ; NO - skip box
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
505 WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left1, surf_decotype_boxes_left1+.8 ;top, bottom, left, right
234
57155164faad Show OSTC2-like active gas boxes in surface mode
heinrichsweikamp
parents: 231
diff changeset
506 DISP_active_gas_surfmode3:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
507 rcall TFT_disabled_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
508 movff opt_gas_type+1,hi ; 0=Disabled, 1=First, 2=Travel, 3=Deco
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
509 tstfsz hi
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
510 rcall TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
511 WIN_LEFT surf_decotype_boxes_left2+.1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
512 STRCPY_PRINT "2"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
513 decfsz hi,F ; Type = 1 (First)?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
514 bra DISP_active_gas_surfmode4 ; NO - skip box
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
515 WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left2, surf_decotype_boxes_left2+.8 ;top, bottom, left, right
234
57155164faad Show OSTC2-like active gas boxes in surface mode
heinrichsweikamp
parents: 231
diff changeset
516 DISP_active_gas_surfmode4:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
517 rcall TFT_disabled_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
518 movff opt_gas_type+2,hi ; 0=Disabled, 1=First, 2=Travel, 3=Deco
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
519 tstfsz hi
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
520 rcall TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
521 WIN_LEFT surf_decotype_boxes_left3+.1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
522 STRCPY_PRINT "3"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
523 decfsz hi,F ; Type = 1 (First)?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
524 bra DISP_active_gas_surfmode5 ; NO - skip box
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
525 WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left3, surf_decotype_boxes_left3+.8 ;top, bottom, left, right
234
57155164faad Show OSTC2-like active gas boxes in surface mode
heinrichsweikamp
parents: 231
diff changeset
526 DISP_active_gas_surfmode5:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
527 rcall TFT_disabled_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
528 movff opt_gas_type+3,hi ; 0=Disabled, 1=First, 2=Travel, 3=Deco
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
529 tstfsz hi
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
530 rcall TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
531 WIN_LEFT surf_decotype_boxes_left4+.1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
532 STRCPY_PRINT "4"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
533 decfsz hi,F ; Type = 1 (First)?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
534 bra DISP_active_gas_surfmode6 ; NO - skip box
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
535 WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left4, surf_decotype_boxes_left4+.8 ;top, bottom, left, right
234
57155164faad Show OSTC2-like active gas boxes in surface mode
heinrichsweikamp
parents: 231
diff changeset
536 DISP_active_gas_surfmode6:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
537 rcall TFT_disabled_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
538 movff opt_gas_type+4,hi ; 0=Disabled, 1=First, 2=Travel, 3=Deco
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
539 tstfsz hi
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
540 rcall TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
541 WIN_LEFT surf_decotype_boxes_left5+.1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
542 STRCPY_PRINT "5"
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
543 rcall TFT_standard_color ; reset color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
544 decfsz hi,F ; type = 1 (First)?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
545 bra DISP_active_gas_surfmode7 ; NO - done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
546 WIN_FRAME_STD surf_decotype_boxes_top, surf_decotype_boxes_bottom, surf_decotype_boxes_left5, surf_decotype_boxes_left5+.8 ;top, bottom, left, right
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
547 DISP_active_gas_surfmode7:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
548 return ; done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
549
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
550
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
551 global TFT_show_color_schemes
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
552 TFT_show_color_schemes: ; update the color schemes
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
553 bsf divemode ; switch to dive mode
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
554 call TFT_divemask_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
555 WIN_TINY .12,.40
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
556 STRCAT_TEXT_PRINT tDepth
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
557 WIN_TINY .62,.40
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
558 STRCAT_TEXT_PRINT tMaxDepth
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
559 WIN_TINY .122,.40
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
560 STRCAT_TEXT_PRINT tDivetime
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
561
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
562 ; Show some demo screen
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
563
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
564 ; Depth demo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
565 call TFT_memo_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
566 WIN_MEDIUM .3,.54
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
567 MOVLI .5172,mpr
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
568 bsf leftbind
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
569 bsf ignore_digit4
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
570 output_16 ; full meters in big font
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
571 bcf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
572 STRCAT_PRINT "" ; display full meters
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
573 WIN_SMALL .25,.66
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
574 MOVLI .5172,mpr
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
575 PUTC "."
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
576 movlw d'4'
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
577 movwf ignore_digits
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
578 bsf ignore_digit5 ; (flag will be cleared by output_16)
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
579 output_16dp d'0' ; .1m in SMALL font
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
580 STRCAT_PRINT "" ; display decimeters
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
581
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
582 ; Max. Depth demo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
583 WIN_MEDIUM .64,.54
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
584 bsf ignore_digit4 ; no 0.1 m
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
585 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
586 MOVLI .6349,mpr
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
587 output_16
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
588 STRCAT_PRINT "" ; display full meters
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
589 bcf leftbind
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
590 ; .1m in SMALL font
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
591 WIN_SMALL .87,.66
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
592 PUTC "."
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
593 movlw d'4'
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
594 movwf ignore_digits
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
595 bsf ignore_digit5 ; (flag will be cleared by output_16)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
596 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
597 MOVLI .6349,mpr
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
598 output_16dp d'0'
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
599 STRCAT_PRINT "" ; display decimeters
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
600 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
601
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
602 ; Divetime demo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
603 SMOVSS rtc_year,rtc_latched_year ; ISR-safe 6 byte copy of date and time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
604 movff rtc_latched_mins,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
605 clrf hi
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
606 WIN_MEDIUM .103, .54
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
607 output_16_3 ; limit to 999 and display only (0-999)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
608 STRCAT_PRINT "" ; show minutes in large font
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
609 WIN_SMALL .139, .66 ; left position for two sec figures
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
610 PUTC ':'
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
611 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
612 movff rtc_latched_secs,lo
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
613 output_99x
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
614 bcf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
615 STRCAT_PRINT "" ; show seconds in small font
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
616
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
617 bcf divemode ; terminate dive mode again
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
618 return
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 48
diff changeset
619
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
620
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
621 global TFT_show_divemode_mask
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
622 TFT_show_divemode_mask: ; display mask in dive mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
623 call TFT_divemask_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
624
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
625 ; depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
626 WIN_TINY dm_mask_depth_column,dm_mask_depth_row ; position for "Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
627 btfss alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
628 bra TFT_divemode_mask_depth_text ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
629 WIN_TINY dm_mask_depth_column_alt,dm_mask_depth_row ; YES - alternative position for "Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
630 TFT_divemode_mask_depth_text:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
631 STRCAT_TEXT_PRINT tDepth ; print "Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
632
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
633 ; avg or max depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
634 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
635 bra TFT_divemode_mask_avg_max_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
636
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
637 WIN_TINY dm_mask_maxdepth_col_nvsi,dm_mask_maxdepth_row ; default position for "max.Depth"/"avg.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
638 TSTOSS opt_vsigraph ; graphical VSI bar enabled?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
639 bra TFT_divemode_mask_max_avg_pos ; NO - keep position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
640 WIN_TINY dm_mask_maxdepth_col,dm_mask_maxdepth_row ; YES - adopt position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
641 TFT_divemode_mask_max_avg_pos:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
642 btfsc FLAG_apnoe_mode ; in apnea mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
643 bra TFT_divemode_mask_max_text ; YES - always draw max depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
644 TSTOSS opt_2ndDepthDisp ; NO - shall draw avg depth instead of max depth?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
645 bra TFT_divemode_mask_max_text ; NO - print "max.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
646 STRCAT_TEXT_PRINT tAvgDepth ; YES - print "avg.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
647 bra TFT_divemode_mask_time_pos ; - continue with dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
648 TFT_divemode_mask_max_text:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
649 STRCAT_TEXT_PRINT tMaxDepth ; print "max.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
650 bra TFT_divemode_mask_time_pos ; continue with dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
651 TFT_divemode_mask_avg_max_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
652 btfss FLAG_gauge_mode ; in gauge mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
653 bra TFT_divemode_mask_time_pos ; NO - continue with dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
654 WIN_TINY dm_gauge_max_depth_text_col,dm_gauge_max_depth_text_row ; YES - set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
655 STRCAT_TEXT_PRINT tMaxDepth ; - print "max.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
656 WIN_TINY dm_gauge_avg_depth_text_col,dm_gauge_avg_depth_text_row ; - set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
657 STRCAT_TEXT_PRINT tDiveTotalAvg ; - print "Total Avg"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
658 ;bra TFT_divemode_mask_time_pos ; - continue with dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
659
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
660 ; dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
661 TFT_divemode_mask_time_pos:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
662 WIN_TINY dm_mask_divetime_column,dm_mask_divetime_row ; position for "Divetime"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
663 TFT_divemode_mask_time_text:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
664 STRCAT_TEXT_PRINT tDivetime ; print "Divetime"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
665 btfss FLAG_apnoe_mode ; in apnea mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
666 bra TFT_standard_color ; NO - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
667 WIN_TINY dm_total_apnoe_text_col,dm_total_apnoe_text_row; YES - set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
668 STRCPY_TEXT_PRINT tApnoeTotal ; - print "Total"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
669 bra TFT_standard_color ; - done
315
4f83470dcece VSIbar #3: remaining changes for the split style bar
Janos Kovacs <kovjanos@gmail.com>
parents: 310
diff changeset
670
307
14719662fb95 Merged Screen layout work #4 into VSItextv2
Janos Kovacs <kovjanos@gmail.com>
parents: 303
diff changeset
671 ;=========================================================================
14719662fb95 Merged Screen layout work #4 into VSItextv2
Janos Kovacs <kovjanos@gmail.com>
parents: 303
diff changeset
672
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
673 global TFT_velocity_show
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
674 TFT_velocity_show:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
675 rcall TFT_memo_color ; set default color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
676 btfsc neg_flag_velocity ; descending?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
677 rcall TFT_velocity_set_color ; NO - set color for text dependent on speed and set threshold for VSI graph
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
678 rcall TFT_velocity_num ; show the numerical VSI
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
679 TSTOSS opt_vsigraph ; graphical VSI bar enabled?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
680 bra TFT_standard_color ; NO - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
681 btfsc neg_flag_velocity ; YES - in ascent?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
682 bra TFT_velocity_graph_show ; YES - show the graph
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
683 bra TFT_velocity_graph_clear_1 ; NO - clear the graph
398
1f2e35f5a5aa BUGFIX: Make sure SP1 is always selected on start in Auto-SP mode
heinrichsweikamp
parents: 394
diff changeset
684
1f2e35f5a5aa BUGFIX: Make sure SP1 is always selected on start in Auto-SP mode
heinrichsweikamp
parents: 394
diff changeset
685 TFT_speed_table:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
686 ; use a depth-dependent ascent rate warning
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
687 ; depth(ft): <20 >20 >40 >60 >75 >88 >101 >115 >128 >144 >164
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
688 ; speed(ft/min): 23 26 29 33 36 43 49 56 59 62 66
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
689 ; depth(m): <=6 >6 >12 >18 >23 >27 >31 >35 >39 >44 >50
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
690 ; speed(m/min): 7 8 9 10 11 13 15 17 18 19 20 (warning)
307
14719662fb95 Merged Screen layout work #4 into VSItextv2
Janos Kovacs <kovjanos@gmail.com>
parents: 303
diff changeset
691 ; speed(m/min): 5 6 7 8 8 10 12 13 14 15 15 (attention)
398
1f2e35f5a5aa BUGFIX: Make sure SP1 is always selected on start in Auto-SP mode
heinrichsweikamp
parents: 394
diff changeset
692
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
693 ; < depth (m), warning speed, attention speed, unused
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
694 DB .6,.7,.5,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
695 DB .12,.8,.6,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
696 DB .18,.9,.7,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
697 DB .23,.10,.8,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
698 DB .27,.11,.8,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
699 DB .31,.13,.10,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
700 DB .35,.15,.12,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
701 DB .39,.17,.13,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
702 DB .44,.18,.14,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
703 DB .50,.19,.15,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
704 DB .200,.20,.15,.0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
705
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
706 TFT_velocity_set_color: ; set color based on speed table or use static thresholds, with divA+0 = m/min
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
707 bsf aux_flag ; for alternative layout: default is to show numerical VSI
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
708 ; check if old/new ascend logic is used
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
709 TSTOSS opt_vsitext ; 0=standard, 1=dynamic
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
710 bra TFT_velocity_set_color_static ; static ascend rate limit
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
711
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
712 ; point to speed table
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
713 movlw LOW (TFT_speed_table-.3)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
714 movwf TBLPTRL
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
715 movlw HIGH (TFT_speed_table-.3)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
716 movwf TBLPTRH
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
717 movlw UPPER (TFT_speed_table-.3)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
718 movwf TBLPTRU
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
719
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
720 TFT_velocity_set_color_next:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
721 TBLRD*+ ; 3 dummy reads
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
722 TBLRD*+
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
723 TBLRD*+
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
724 TBLRD*+ ; get speed threshold
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
725 movf depth_meter,W ; current depth in m
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
726 cpfsgt TABLAT ; threshold > current depth ?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
727 bra TFT_velocity_set_color_next ; NO - try next
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
728
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
729 TBLRD*+ ; get warning speed threshold
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
730 movf TABLAT,W ; ...
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
731 movwf divA+1 ; copy for graph routine
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
732 cpfslt divA+0 ; actual vertical speed smaller than warning threshold?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
733 bra TFT_warning_color ; NO - set warning color (and return)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
734 TBLRD*+ ; get attention speed threshold
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
735 movf TABLAT,W ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
736 cpfslt divA+0 ; actual vertical speed smaller than attention threshold?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
737 bra TFT_attention_color ; NO - set attention color and return
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
738 bcf aux_flag ; YES - don't show in alternative layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
739 bra TFT_memo_color ; - set memo color and return
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
740
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
741 TFT_velocity_set_color_static:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
742 movlw color_code_velocity_warn_high ; threshold for warning in m/min
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
743 movwf divA+1 ; copy for graph routine
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
744 cpfslt divA+0 ; actual vertical speed smaller than warning threshold?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
745 bra TFT_warning_color ; NO - set warning color (and return)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
746 movlw color_code_velocity_attn_high ; threshold for attention in m/min
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
747 cpfslt divA+0 ; actual vertical speed smaller than attention threshold?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
748 bra TFT_attention_color ; NO - set attention color and return
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
749 bcf aux_flag ; YES - don't show in alternative layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
750 bra TFT_memo_color ; - set memo color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
751
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
752 TFT_velocity_num:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
753 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
754 bra TFT_velocity_num_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
755 ; NO - set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
756 WIN_SMALL dm_velocity_text_col_norm, dm_velocity_text_row_norm
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
757 TFT_velocity_num_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
758 bsf velocity_active_num ; set numerical velocity as shown
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
759 TSTOSS opt_units ; - 0=meter, 1=feet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
760 bra TFT_velocity_num_metric ; 0 - meter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
761 ;bra TFT_velocity_num_imperial ; 1 - feet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
762
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
763 TFT_velocity_num_imperial:
0
heinrichsweikamp
parents:
diff changeset
764 movff divA+0,WREG ; divA+0 = m/min
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
765 mullw .100 ; PROD = mbar/min
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
766 MOVII PRODL,mpr ; copy to hi:lo
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
767 call convert_cm_to_feet ; convert value in hi:lo from [cm] to [feet]
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
768 tstfsz hi ; > 255 ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
769 setf lo ; YES - set lo to 255
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
770 movlw '-' ; load coding for minus sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
771 btfsc neg_flag_velocity ; ascending?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
772 movlw '+' ; YES - replace with coding for plus sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
773 movwf POSTINC2 ; put sign into output buffer
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
774 output_99 ; print rate
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
775 STRCAT_TEXT tVelImperial ; print unit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
776 bra TFT_velocity_num_finish ; do finishing tasks
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
777
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
778 TFT_velocity_num_metric:
0
heinrichsweikamp
parents:
diff changeset
779 movff divA+0,lo ; divA+0 = m/min
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
780 movlw '-' ; load coding for minus sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
781 btfsc neg_flag_velocity ; ascending?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
782 movlw '+' ; YES - replace with coding for plus sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
783 movwf POSTINC2 ; put sign into output buffer
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
784 output_99 ; print rate
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
785 STRCAT_TEXT tVelMetric ; print unit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
786 ;bra TFT_velocity_num_finish ; do finishing tasks
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
787
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
788 TFT_velocity_num_finish:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
789 btfss alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
790 bra TFT_velocity_num_finish_1 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
791 movlw "'" ; load encoding of minute sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
792 movff WREG,buffer+4 ; put it after m (meter) / f (feet)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
793 clrf WREG ; load string terminator
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
794 movff WREG,buffer+5 ; terminate string after minute sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
795 TFT_velocity_num_finish_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
796 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
797 bcf win_invert ; end inverse printing
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
798 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
799
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
800 TFT_velocity_num_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
801 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
802 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
803 btfss neg_flag_velocity ; NO - in ascent?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
804 bcf aux_flag ; NO - clear aux flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
805 btfsc aux_flag ; - above attention or warning threshold?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
806 bsf win_invert ; YES - print inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
807 ; - set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
808 WIN_SMALL dm_velocity_text_col_alt, dm_velocity_text_row_alt
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
809 bra TFT_velocity_num_com ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
810
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
811
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
812 TFT_velocity_graph_show: ; with speed in divA+0 (m/min)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
813 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
814 bra TFT_standard_color ; YES - done (not implemented)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
815
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
816 btfsc velocity_active_vsi ; was the graphical VSI shown before?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
817 bra TFT_velocity_graph_1 ; YES - no need to redraw the framework box
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
818 bsf velocity_active_vsi ; NO - remember it is shown as of now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
819 ; - draw the framework box
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
820 rcall TFT_divemask_color_dive ; - color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
821 WIN_FRAME_COLOR dm_velocity_graph_top+.00, dm_velocity_graph_bot-.00, dm_velocity_graph_lft, dm_velocity_graph_rgt
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
822 rcall TFT_divemask_color_dive ; - color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
823 WIN_FRAME_COLOR dm_velocity_graph_top+.10, dm_velocity_graph_bot-.10, dm_velocity_graph_lft, dm_velocity_graph_rgt
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
824 rcall TFT_divemask_color_dive ; - color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
825 WIN_FRAME_COLOR dm_velocity_graph_top+.20, dm_velocity_graph_bot-.20, dm_velocity_graph_lft, dm_velocity_graph_rgt
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
826 rcall TFT_divemask_color_dive ; - color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
827 WIN_FRAME_COLOR dm_velocity_graph_top+.30, dm_velocity_graph_bot-.30, dm_velocity_graph_lft, dm_velocity_graph_rgt
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
828
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
829 TFT_velocity_graph_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
830 movff divA+0,hi ; copy ascend speed (in m/min) to hi
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
831 movff divA+1,xA+0 ; m/min for warning level (upper two blocks)
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
832 clrf xA+1
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
833 MOVLI .5,xB ; threshold for color warning (5 color normal + 2 color warning)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
834 call div16x16 ; xC = xA / xB with xA as remainder
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
835 ; xC+0 holds step size in m/min (e.g. =3 for 15m/min warning threshold)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
836 movff hi,xA+0 ; velocity in m/min
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
837 clrf xA+1
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
838 movff xC+0,xB+0 ; step size
399
db25f2028074 CHANGE: New segmented speed graph in divemode
heinrichsweikamp
parents: 398
diff changeset
839 clrf xB+1
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
840 call div16x16 ; xC = xA / xB with xA as remainder
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
841
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
842 movff xC+0,lo ; copy amount of segments to show to lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
843 incf lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
844 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
845 bra DISP_graph_vel_0_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
846 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
847 bra DISP_graph_vel_1_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
848 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
849 bra DISP_graph_vel_2_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
850 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
851 bra DISP_graph_vel_3_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
852 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
853 bra DISP_graph_vel_4_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
854 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
855 bra DISP_graph_vel_5_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
856 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
857 bra DISP_graph_vel_6_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
858 ;bra DISP_graph_vel_7_fill
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
859
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
860 DISP_graph_vel_7_fill:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
861 rcall TFT_warnings_color_dive ; color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
862 WIN_BOX_COLOR dm_velocity_graph_top+.2, dm_velocity_graph_top+.8, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
863 DISP_graph_vel_6_fill:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
864 rcall TFT_warnings_color_dive ; color -> WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
865 WIN_BOX_COLOR dm_velocity_graph_top+.12, dm_velocity_graph_top+.18, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
866 DISP_graph_vel_5_fill:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
867 rcall TFT_attention_color_dive ; color -> WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
868 WIN_BOX_COLOR dm_velocity_graph_top+.22, dm_velocity_graph_top+.28, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
869 DISP_graph_vel_4_fill:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
870 rcall TFT_standard_color_dive ; color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
871 WIN_BOX_COLOR dm_velocity_graph_top+.32, dm_velocity_graph_top+.38, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
872 DISP_graph_vel_3_fill:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
873 rcall TFT_standard_color_dive ; color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
874 WIN_BOX_COLOR dm_velocity_graph_top+.42, dm_velocity_graph_top+.48, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
875 DISP_graph_vel_2_fill:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
876 rcall TFT_standard_color_dive ; color -> WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
877 WIN_BOX_COLOR dm_velocity_graph_top+.52, dm_velocity_graph_top+.58, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
878 DISP_graph_vel_1_fill:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
879 rcall TFT_standard_color_dive ; color -> WREG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
880 WIN_BOX_COLOR dm_velocity_graph_top+.62, dm_velocity_graph_top+.68, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
881 DISP_graph_vel_0_fill:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
882
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
883 movff xC+0,lo ; copy amount of segments to show to lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
884 incf lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
885 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
886 bra DISP_graph_vel_0_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
887 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
888 bra DISP_graph_vel_1_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
889 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
890 bra DISP_graph_vel_2_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
891 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
892 bra DISP_graph_vel_3_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
893 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
894 bra DISP_graph_vel_4_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
895 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
896 bra DISP_graph_vel_5_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
897 dcfsnz lo,F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
898 bra DISP_graph_vel_6_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
899 bra DISP_graph_vel_7_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
900
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
901 DISP_graph_vel_0_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
902 WIN_BOX_BLACK dm_velocity_graph_top+.62, dm_velocity_graph_top+.68, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
903 DISP_graph_vel_1_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
904 WIN_BOX_BLACK dm_velocity_graph_top+.52, dm_velocity_graph_top+.58, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
905 DISP_graph_vel_2_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
906 WIN_BOX_BLACK dm_velocity_graph_top+.42, dm_velocity_graph_top+.48, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
907 DISP_graph_vel_3_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
908 WIN_BOX_BLACK dm_velocity_graph_top+.32, dm_velocity_graph_top+.38, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
909 DISP_graph_vel_4_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
910 WIN_BOX_BLACK dm_velocity_graph_top+.22, dm_velocity_graph_top+.28, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
911 DISP_graph_vel_5_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
912 WIN_BOX_BLACK dm_velocity_graph_top+.12, dm_velocity_graph_top+.18, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
913 DISP_graph_vel_6_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
914 WIN_BOX_BLACK dm_velocity_graph_top+.2, dm_velocity_graph_top+.8, dm_velocity_graph_lft+.2, dm_velocity_graph_rgt-.2 ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
915 DISP_graph_vel_7_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
916 bra TFT_standard_color ; done
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
917
326
d21b172d5a7a VSIbar #4: VSI settings submenu, graph option, logbook offset and compass calib. menu exit fix
Janos Kovacs <kovjanos@gmail.com>
parents: 321
diff changeset
918
315
4f83470dcece VSIbar #3: remaining changes for the split style bar
Janos Kovacs <kovjanos@gmail.com>
parents: 310
diff changeset
919 global TFT_velocity_clear
4f83470dcece VSIbar #3: remaining changes for the split style bar
Janos Kovacs <kovjanos@gmail.com>
parents: 310
diff changeset
920 TFT_velocity_clear:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
921 btfss velocity_active_num ; was the numerical VSI shown in last cycle?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
922 bra TFT_velocity_clear_graph ; NO - no need to clear it, continue with graphical VSI
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
923 TFT_velocity_clear_num_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
924 bcf velocity_active_num ; YES - clear flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
925 btfsc alt_layout_active ; - in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
926 bra TFT_velocity_clear_num_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
927 ;bra TFT_velocity_clear_num_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
928
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
929 TFT_velocity_clear_num_norm: ; clear normal numerical area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
930 WIN_BOX_BLACK dm_velocity_text_row_norm, dm_velocity_text_bot_norm, dm_velocity_text_col_norm, dm_velocity_text_rgt_norm ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
931 bra TFT_velocity_clear_graph ; continue with graphical VSI
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
932
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
933 TFT_velocity_clear_num_alt: ; clear alternative numerical area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
934 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
935 bra TFT_velocity_clear_graph ; YES - skip
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
936 ; NO - clear area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
937 WIN_BOX_BLACK dm_velocity_text_row_alt, dm_velocity_text_bot_alt, dm_velocity_text_col_alt, dm_velocity_text_rgt_alt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
938 ;bra TFT_velocity_clear_graph ; continue with graphical VSI
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
939
398
1f2e35f5a5aa BUGFIX: Make sure SP1 is always selected on start in Auto-SP mode
heinrichsweikamp
parents: 394
diff changeset
940 TFT_velocity_clear_graph:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
941 btfss velocity_active_vsi ; was the graphical VSI shown in last cycle?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
942 bra TFT_standard_color ; NO - no need to clear it, done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
943 TFT_velocity_graph_clear_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
944 bcf velocity_active_vsi ; YES - clear flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
945 btfsc alt_layout_active ; - in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
946 bra TFT_standard_color ; YES - not implemented
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
947 ;bra TFT_velocity_clear_graph_alt ; YES - code provision for future implementation
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
948 ;bra TFT_velocity_clear_graph_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
949
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
950 TFT_velocity_clear_graph_norm ; clear normal graph area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
951 WIN_BOX_BLACK dm_velocity_graph_top, dm_velocity_graph_bot, dm_velocity_graph_lft, dm_velocity_graph_rgt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
952 bra TFT_standard_color ; done
0
heinrichsweikamp
parents:
diff changeset
953
307
14719662fb95 Merged Screen layout work #4 into VSItextv2
Janos Kovacs <kovjanos@gmail.com>
parents: 303
diff changeset
954 ;=========================================================================
14719662fb95 Merged Screen layout work #4 into VSItextv2
Janos Kovacs <kovjanos@gmail.com>
parents: 303
diff changeset
955
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
956 global TFT_clear_divemode_menu
0
heinrichsweikamp
parents:
diff changeset
957 TFT_clear_divemode_menu:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
958 WIN_BOX_BLACK dm_menu_row-.2, dm_menu_lower, dm_menu_left, dm_menu_right ; top, bottom, left, right - starts 2 pixel higher to completely wipe away the temperature display
0
heinrichsweikamp
parents:
diff changeset
959 return
heinrichsweikamp
parents:
diff changeset
960
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
961
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
962 global TFT_clear_deco_data
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
963 TFT_clear_deco_data:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
964 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
965 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
966 ; NO - clear deco data area (alternative stop depth makes upper-left most corner)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
967 WIN_BOX_BLACK dm_decostop_row_alt_depth, dm_3rdrow_bot, dm_decostop_col_alt_depth, dm_3rdrow_rgt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
968 return ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
969
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
970
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
971 global TFT_show_ndl_mask
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
972 TFT_show_ndl_mask:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
973 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
974 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
975 call TFT_divemask_color ; NO - set text color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
976 ; - set position
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
977 WIN_STD dm_ndl_text_column, dm_ndl_text_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
978 STRCPY_TEXT_PRINT tNDL ; - print "NDL"
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
979 btfss deco_region ; - was the dive within deco stops region?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
980 bra TFT_standard_color ; NO - done
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
981 btfsc safety_stop_active ; YES - safety stop shown?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
982 bra TFT_standard_color ; YES - done
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
983 TFT_show_slow_reminder:
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
984 call TFT_attention_color ; NO - set color
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
985 ; - set position
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
986 WIN_STD dm_safetystop_text_column+.5,dm_safetystop_text_row+.5
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
987 STRCPY_TEXT tSlow ; - print "SLOW" reminder
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
988 STRCAT_PRINT 0x94 ; - append an up-arrow
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
989 bra TFT_standard_color ; - done
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
990
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
991
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
992 global TFT_show_tts
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
993 TFT_show_tts:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
994 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
995 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
996 call TFT_memo_color ; NO - default to memo color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
997 MOVII int_O_TTS_norm,mpr ; - get the TTS
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
998 btfsc hi,int_invalid_flag ; - is the invalid flag set?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
999 call TFT_disabled_color ; YES - use disabled color
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1000 bcf hi,int_invalid_flag ; - clear the invalid flag if applicable
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1001 btfss alt_layout_active ; - in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1002 bra TFT_display_tts_999x ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1003 MOVII mpr, sub_a ; YES - copy TTS to sub_a
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1004 MOVLI .100,sub_b ; - load 100 into sub_b
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1005 call cmpU16 ; - sub_a - sub_b = TTS - 100
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1006 btfss neg_flag ; - TTS >= 100 ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1007 bra TFT_display_tts_999 ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1008 ;bra TFT_display_tts_99 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1009
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1010 TFT_display_tts_99:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1011 btfsc tts_greater_99 ; was TTS > 99 mins last time?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1012 rcall TFT_display_tts_clear ; YES - clear remains from TTS > 99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1013 ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1014 WIN_MEDIUM dm_tts_value_col_99, dm_tts_value_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1015 output_99 ; display 0...99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1016 STRCAT_PRINT "'" ; print "'"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1017 bcf tts_greater_99 ; last TTS shown was <= 99 mins
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1018 bra TFT_standard_color ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1019
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1020 TFT_display_tts_999: ; set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1021 WIN_MEDIUM dm_tts_value_col_999, dm_tts_value_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1022 output_16_3 ; display 0...999
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1023 STRCAT_PRINT "" ; finalize output (no "'" here - not enough space available)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1024 bsf tts_greater_99 ; last TTS shown was > 99 mins
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1025 bra TFT_standard_color ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1026
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1027 TFT_display_tts_999x: ; set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1028 WIN_MEDIUM dm_tts_value_col_999x, dm_tts_value_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1029 output_16_3 ; display 0...999
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1030 STRCAT_PRINT "'" ; print "'"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1031 bra TFT_standard_color ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1032
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1033 TFT_display_tts_clear: ; clear remains from TTS > 99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1034 WIN_BOX_BLACK dm_tts_value_row, dm_tts_value_row+.31, dm_tts_value_col_999, dm_tts_value_col_99 ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1035 call TFT_memo_color ; restore default memo color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1036 movff int_O_TTS_norm+1,WREG ; get the high byte of the TTS
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1037 btfsc WREG,int_invalid_flag ; is the invalid flag set?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1038 call TFT_disabled_color ; YES - restore disabled color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1039 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1040
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1041
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1042 global TFT_show_ndl
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1043 TFT_show_ndl:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1044 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1045 return ; YES - abort
633
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1046 movff int_O_NDL_norm+0,lo ; NO - get low byte of NDL time in normal plan
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1047 btfsc deco_locked ; - was the dive in deco?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1048 bra TFT_show_ndl_norm ; YES - use normal layout
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1049 btfsc alt_layout_active ; NO - alternative layout active?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1050 bra TFT_show_ndl_alt ; YES - use alternative layout
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1051 ;bra TFT_show_ndl_norm ; NO - use normal layout
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1052
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1053 TFT_show_ndl_norm: ; set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1054 WIN_MEDIUM dm_ndl_value_col_norm,dm_ndl_value_row_norm
633
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1055 rcall TFT_show_ndl_set_color ; set color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1056 output_8 ; display 0...240
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1057 TFT_show_ndl_exit_1:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1058 STRCAT_PRINT "'" ; print minutes symbol
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1059 TFT_show_ndl_exit_2:
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1060 goto TFT_standard_color ; done
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1061
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1062 TFT_show_ndl_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1063 btfsc safety_stop_active ; is the safety stop active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1064 bra TFT_show_ndl_alt_safety ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1065 ; clear potential remains from NDL normal and set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1066 WIN_BOX_BLACK dm_ndl_value_row_norm, dm_3rdrow_bot, dm_ndl_value_col_norm, dm_ndl_value_col_alt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1067 WIN_LARGE dm_ndl_value_col_alt, dm_ndl_value_row_alt
633
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1068 rcall TFT_show_ndl_set_color ; set color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1069 output_99 ; display 0...99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1070 STRCAT_PRINT "" ; finalize output
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1071 bra TFT_show_ndl_exit_2 ; done
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1072
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1073 TFT_show_ndl_alt_safety:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1074 WIN_MEDIUM dm_ndl_value_col_norm,dm_ndl_value_row_norm
633
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1075 rcall TFT_show_ndl_set_color ; set color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1076 PUTC " " ; fill first digit position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1077 output_99 ; display 0...99
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1078 bra TFT_show_ndl_exit_1 ; print minutes symbol and done
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1079
633
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1080 TFT_show_ndl_set_color:
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1081 movff int_O_NDL_norm+1,lo ; get high byte of NDL time in normal plan
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1082 btfss lo,int_invalid_flag ; is the invalid flag set?
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1083 goto TFT_memo_color ; NO - select memo color and return
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1084 goto TFT_disabled_color ; YES - select disabled color and return
690c48db7b5b 3.09 beta 2 release
heinrichsweikamp
parents: 631
diff changeset
1085
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1086
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1087 global TFT_divemode_sign_show
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1088 TFT_divemode_sign_show:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1089 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1090 bra TFT_divemode_sign_show_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1091 ;bra TFT_divemode_sign_show_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1092
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1093 TFT_divemode_sign_show_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1094 WIN_TOP dm_sign_row_norm ; set row position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1095 WIN_LEFT dm_sign_col_norm ; set column position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1096 bra TFT_divemode_sign_show_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1097
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1098 TFT_divemode_sign_show_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1099 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1100 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1101 btfsc sign_shown ; NO - sign already shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1102 bra TFT_divemode_sign_show_alt_1; YES - no need to clear area again
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1103 btfsc bailout_mode ; NO - in bailout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1104 bra TFT_divemode_sign_show_alt_1; YES - no need to clear the area
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1105 ; NO - clear area from "bar" label and loop mode if applicable
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1106 WIN_BOX_BLACK dm_active_dil_row, dm_3rdrow_bot, dm_active_sp_label_col, dm_sign_rgt_alt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1107 TFT_divemode_sign_show_alt_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1108 WIN_TOP dm_sign_row_alt ; - set row position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1109 WIN_LEFT dm_sign_col_alt ; - set column position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1110 ;bra TFT_divemode_sign_show_com ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1111
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1112 TFT_divemode_sign_show_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1113 bsf sign_shown ; flag that the advice/attention/warning sign is shown
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1114 btfsc message_warning ; do we have a warning?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1115 bra TFT_divemode_sign_show_warn ; YES - show warning sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1116 btfsc message_attention ; NO - do we have an attention?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1117 bra TFT_divemode_sign_show_att ; YES - show attention sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1118 btfsc message_advice ; NO - do we have an advice message?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1119 bra TFT_divemode_sign_show_adv ; YES - show advice sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1120 return ; NO - false alarm
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1121
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1122
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1123 TFT_divemode_sign_color_warn: ; custom colors table for dive_warning2 icon - warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1124 db .4, 0 ; #colors, spare
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1125 dw 0x0000 ; color 0x00: outside black
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1126 dw 0xff80 ; color 0x01: triangle yellow
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1127 dw 0xff80 ; color 0x02: exclamation mark yellow
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1128 dw 0xf800 ; color 0x03: inside red
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1129
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1130 TFT_divemode_sign_color_adv: ; custom colors table for dive_warning2 icon - advice
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1131 db .4, 0 ; #colors, spare
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1132 dw 0x0000 ; color 0x00: outside black
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1133 dw 0xffff ; color 0x01: triangle white
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1134 dw 0xffff ; color 0x02: exclamation mark white
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1135 dw 0x0780 ; color 0x03: inside green
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1136
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1137 TFT_divemode_sign_show_warn:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1138 TFT_WRITE_PROM_IMAGE_CUST_COLOR TFT_divemode_sign_color_warn; set custom colors for warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1139 TFT_WRITE_PROM_IMAGE_BY_LABEL dive_warning2_block ; show sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1140 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1141
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1142 TFT_divemode_sign_show_att:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1143 TFT_WRITE_PROM_IMAGE_BY_LABEL dive_warning2_block ; show sign (with default colors)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1144 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1145
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1146 TFT_divemode_sign_show_adv:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1147 TFT_WRITE_PROM_IMAGE_CUST_COLOR TFT_divemode_sign_color_adv ; set custom colors for advice
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1148 TFT_WRITE_PROM_IMAGE_BY_LABEL dive_warning2_block ; show sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1149 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1150
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1151
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1152 global TFT_divemode_sign_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1153 TFT_divemode_sign_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1154 btfss sign_shown ; is the advice/attention/warning sign shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1155 return ; NO - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1156 bcf sign_shown ; YES - clear advice/attention/warning sign area and its flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1157 btfsc alt_layout_active ; - alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1158 bra TFT_divemode_sign_clear_alt ; - YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1159 ;bra TFT_divemode_sign_clear_norm; - NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1160
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1161 TFT_divemode_sign_clear_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1162 WIN_BOX_BLACK dm_sign_row_norm, dm_sign_bot_norm, dm_sign_col_norm, dm_sign_rgt_norm ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1163 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1164
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1165 TFT_divemode_sign_clear_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1166 WIN_BOX_BLACK dm_sign_row_alt, dm_sign_bot_alt, dm_sign_col_alt, dm_sign_rgt_alt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1167 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1168
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1169
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1170 global TFT_show_deco_mask
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1171 TFT_show_deco_mask:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1172 bcf safety_stop_active ; flag safety stop is not shown any more TODO: needed?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1173 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1174 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1175 btfsc alt_layout_active ; NO - in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1176 bra TFT_show_deco_mask_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1177 ;bra TFT_show_deco_mask_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1178
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1179 TFT_show_deco_mask_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1180 WIN_STD dm_tts_text_col_norm, dm_tts_text_row_norm ; set text position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1181 bra TFT_show_deco_mask_common ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1182
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1183 TFT_show_deco_mask_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1184 WIN_TINY dm_tts_text_col_alt, dm_tts_text_row_alt ; set text position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1185 STRCPY "Stop/" ; print "Stop/"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1186 ;bra TFT_show_deco_mask_common ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1187
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1188 TFT_show_deco_mask_common:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1189 call TFT_divemask_color ; set text color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1190 STRCAT_TEXT_PRINT tTTS ; print "TTS"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1191 bra TFT_display_exit_1 ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1192
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1193
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1194 TFT_display_deco_depth: ; output depth (stored in lo) to POSTINC2 with "m" or "ft"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1195 TSTOSS opt_units ; get unit (0=m, 1=ft)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1196 bra TFT_display_deco_depth_m ; 0 - meter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1197 ;bra TFT_display_deco_depth_ft ; 1 - feet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1198
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1199 TFT_display_deco_depth_ft:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1200 call convert_meter_to_feet ; convert value in lo from meters to feet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1201 output_16_3 ; output stop depth (000-999)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1202 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1203
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1204 TFT_display_deco_depth_m:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1205 output_99 ; output stop depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1206 STRCAT_TEXT tMeters ; print unit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1207 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1208
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1209
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1210 global TFT_show_deco
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1211 TFT_show_deco:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1212 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1213 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1214
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1215 call TFT_color_code_stop ; color-code output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1216 movff char_O_deco_depth,lo ; get depth of first stop in meters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1217
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1218 TSTOSC opt_units ; get unit (0=m, 1=ft)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1219 bra TFT_show_deco_norm ; 1 - ft can only be displayed in normal layout due to space required for 3 digit depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1220
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1221 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1222 bra TFT_show_deco_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1223 ;bra TFT_show_deco_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1224
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1225 TFT_show_deco_norm: ; set position for combined depth and time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1226 WIN_MEDIUM dm_decostop_col_norm, dm_decostop_row_norm
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1227 rcall TFT_display_deco_depth ; output depth (stored in lo) to POSTINC2 with "m" or "ft"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1228 PUTC ' ' ; put a space char between depth and time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1229 bra TFT_display_deco_common ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1230
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1231 TFT_show_deco_alt: ; set position for depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1232 WIN_LARGE dm_decostop_col_alt_depth, dm_decostop_row_alt_depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1233 output_99 ; output stop depth (2 digits, usable for meters only)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1234 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1235 ; set position for time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1236 WIN_MEDIUM dm_decostop_col_alt_time, dm_decostop_row_alt_time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1237 call TFT_memo_color ; back to memo color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1238 bcf win_invert ; back to non-inverted output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1239 ;bra TFT_display_deco_common ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1240
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1241 TFT_display_deco_common:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1242 movff char_O_deco_time,lo ; get stop time of the first stop in minutes
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1243 output_99DD ; print minutes or double dots if null
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1244 STRCAT_PRINT "'" ; add minutes sign
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1245 bcf win_invert ; back to non-inverted output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1246 TFT_display_exit_1:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1247 goto TFT_standard_color ; and return...
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1248
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1249
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1250 global TFT_decoplan_mask ; mask for deco plan
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1251 TFT_decoplan_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1252 call TFT_divemask_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1253 WIN_TINY dm_custom_decoplan_title_column, dm_custom_decoplan_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1254 STRCPY_TEXT_PRINT tDiveDecoplan
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1255 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1256
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1257
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1258 global TFT_decoplan ; data for deco plan - stops 2 - 7 (stop 1 is shown in the main screen)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1259 TFT_decoplan:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1260 lfsr FSR0,char_O_deco_depth ; load base address of stops table
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1261 clrf ex ; will be used for auxiliary flags
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1262 call TFT_memo_color ; set default output color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1263 movff char_O_deco_gas+0,lo ; get flag for invalid deco data
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1264 btfsc lo,char_invalid_flag ; is the invalid flag set?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1265 call TFT_disabled_color ; YES - set to disabled color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1266 ; 2nd stop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1267 WIN_SMALL dm_cust_dstop_2nd_stop_column, dm_cust_dstop_2nd_stop_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1268 rcall TFT_decoplan_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1269 ; 3rd stop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1270 WIN_SMALL dm_cust_dstop_3rd_stop_column, dm_cust_dstop_3rd_stop_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1271 rcall TFT_decoplan_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1272 ; 4th stop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1273 bsf ex,4 ; flag we are on 4th screen position
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1274 WIN_SMALL dm_cust_dstop_4th_stop_column, dm_cust_dstop_4th_stop_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1275 rcall TFT_decoplan_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1276 bcf ex,4 ; clear 4th position flag again
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1277 ; 5th stop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1278 WIN_SMALL dm_cust_dstop_5th_stop_column, dm_cust_dstop_5th_stop_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1279 rcall TFT_decoplan_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1280 ; 6th stop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1281 WIN_SMALL dm_cust_dstop_6th_stop_column, dm_cust_dstop_6th_stop_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1282 rcall TFT_decoplan_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1283 ; 7th stop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1284 WIN_SMALL dm_cust_dstop_7th_stop_column, dm_cust_dstop_7th_stop_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1285 rcall TFT_decoplan_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1286 bra TFT_display_exit_1 ; set standard color and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1287
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1288 TFT_decoplan_helper:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1289 btfsc ex,0 ; no more stops to show?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1290 bra TFT_decoplan_helper_1 ; YES - skip checking next entry - it will be empty, too
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1291 movff PREINC0,lo ; NO - advance pointer to get the depth of the 2nd, 3rd, 4th, ... stop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1292 tstfsz lo ; is the stop depth = 0, i.e. no stop entry?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1293 bra TFT_decoplan_helper_3 ; NO - show stop data
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1294 TFT_decoplan_helper_1: ; no more stop table entries
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1295 bsf ex,0 ; flag that there are no more stop table entries
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1296 btfss ex,4 ; are we on the 4th screen position?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1297 bra TFT_decoplan_helper_2 ; NO - normal handling on this position
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1298 btfsc ex,1 ; YES - special handling, has any stop been shown?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1299 bra TFT_decoplan_helper_2 ; YES - print normal blanking
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1300 STRCPY_PRINT " ---- " ; NO - print a "no stops" indication (blanking potential previous content, too)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1301 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1302 TFT_decoplan_helper_2: ; no more stop table entries, blank potential previous content
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1303 STRCPY_PRINT " " ; wipe screen position by printing 7 spaces
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1304 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1305 TFT_decoplan_helper_3:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1306 rcall TFT_display_deco_depth ; output depth (stored in lo) to POSTINC2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1307 PUTC " " ; put a space char between depth and time
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1308 movlw NUM_STOPS ; offset between arrays holding depths and durations
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1309 movff PLUSW0,lo ; get duration of the current stop
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1310 output_99dd ; print duration, prints double dots if duration is zero
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1311 STRCAT_PRINT "'" ; append symbol for minutes and print to screen
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1312 bsf ex,1 ; flag that a stop was shown
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1313 return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1314
0
heinrichsweikamp
parents:
diff changeset
1315
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1316 global TFT_safety_stop_clear
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1317 TFT_safety_stop_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1318 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1319 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1320 btfss safety_stop_active ; NO - is the safety stop shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1321 return ; NO - done, nothing to do
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1322 ; YES - clear safety stop area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1323 WIN_BOX_BLACK dm_safetystop_row, dm_safetystop_bot, dm_safetystop_text_column, dm_safetystop_rgt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1324 bcf safety_stop_active ; - safety stop not shown any more
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1325 btfsc deco_region ; - was the dive within deco stops region?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1326 bra TFT_show_slow_reminder ; YES - show "SLOW" reminder
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1327 return ; NO - done
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1328
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1329
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1330 global TFT_safety_stop_show
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1331 TFT_safety_stop_show:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1332 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1333 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1334 btfsc safety_stop_active ; NO - is the safety stop shown already?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1335 bra TFT_safety_stop_show_time ; YES - just update the time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1336 ; NO - clear area that may be polluted by alternative NDL
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1337 WIN_BOX_BLACK dm_safetystop_row, dm_tts_value_row, dm_ndl_value_col_alt, dm_safetystop_rgt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1338 call TFT_divemask_color ; - set color for text
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1339 bsf safety_stop_active ; - flag safety stop is shown now
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1340 ; - set position for text
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1341 WIN_STD dm_safetystop_text_column, dm_safetystop_text_row
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1342 STRCPY_PRINT "Stop " ; - print "Stop" with a trailing space to wipe away potential other remains
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1343 TFT_safety_stop_show_time:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1344 call TFT_attention_color ; set color for time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1345 ; set position for time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1346 WIN_MEDIUM dm_safetystop_column, dm_safetystop_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1347 movff safety_stop_countdown,lo ; get remaining time in seconds, low byte, from safety stop timer
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1348 clrf hi ; set remaining time in seconds, high byte, to zero
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1349 call convert_time ; convert hi:lo in seconds to minutes (up:hi) and seconds (lo)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1350 movff lo,up ; save seconds in up
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1351 movff hi,lo ; move minutes to lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1352 bsf leftbind ; activate left-alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1353 output_8 ; print minutes
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1354 bcf leftbind ; deactivate left-alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1355 PUTC ':' ; print ":"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1356 movff up,lo ; move seconds to lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1357 output_99x ; print seconds (2 digits with leading zero)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1358 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1359 bra TFT_display_exit_1 ; done
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1360
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1361
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1362 global TFT_avr_stopwatch_mask ; mask for average depth and stopwatch
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1363 TFT_avr_stopwatch_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1364 call TFT_divemask_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1365
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1366 IFNDEF _min_depth_option
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1367
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1368 WIN_TINY dm_custom_avr_stop_column1+.2,dm_custom_avr_stop_title_row
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1369 TSTOSS opt_2ndDepthDisp ; show avg depth instead of max depth in main screen?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1370 bra TFT_avr_stopwatch_mask_1 ; NO - draw avg depth in custom view then
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1371 btfss alt_layout_active ; YES - in alternative layout?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1372 bra TFT_avr_stopwatch_mask_max ; NO - show max depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1373 ;bra TFT_avr_stopwatch_mask_avg ; YES - show avg depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1374 TFT_avr_stopwatch_mask_avg:
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1375 STRCPY_TEXT_PRINT tDiveTotalAvg ; mask for average depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1376 bra TFT_avr_stopwatch_mask_2 ; continue
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1377 TFT_avr_stopwatch_mask_1:
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1378 btfss alt_layout_active ; YES - in alternative layout?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1379 bra TFT_avr_stopwatch_mask_avg ; NO - show avg depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1380 ;bra TFT_avr_stopwatch_mask_max ; YES - show max depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1381 TFT_avr_stopwatch_mask_max:
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1382 STRCPY_TEXT_PRINT tMaxDepth ; mask for maximum depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1383 ;bra TFT_avr_stopwatch_mask_2 ; continue
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1384 TFT_avr_stopwatch_mask_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1385 WIN_TINY dm_custom_avr_stop_column2+.3,dm_custom_avr_stop_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1386 STRCPY_TEXT_PRINT tDiveStopwatch
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1387 WIN_TINY dm_custom_avr_stop_column3-.8,dm_custom_avr_stop_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1388 STRCPY_TEXT_PRINT tDiveStopAvg
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1389 bra TFT_display_exit_1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1390
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1391 ELSE
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1392
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1393 WIN_TINY dm_custom_avr_stop_column1+.2,dm_custom_avr_stop_title_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1394 STRCPY_PRINT "Max.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1395 WIN_TINY dm_custom_avr_stop_column2+.3,dm_custom_avr_stop_title_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1396 STRCPY_PRINT "Avg.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1397 WIN_TINY dm_custom_avr_stop_column3-.8,dm_custom_avr_stop_title_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1398 STRCPY_PRINT "Min.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1399 bra TFT_display_exit_1
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1400
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1401 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1402
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1403
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1404 global TFT_avr_stopwatch ; dive mode custom view: average depth and stopwatch
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1405 TFT_avr_stopwatch:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1406 call TFT_memo_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1407
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1408 IFNDEF _min_depth_option
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1409
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1410 ; total average depth or max depth
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1411 WIN_MEDIUM dm_custom_avr_stop_column1,dm_custom_avr_stop_row
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1412 TSTOSS opt_2ndDepthDisp ; show average depth instead of maximum depth in main screen?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1413
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1414 bra TFT_avr_stopwatch_1 ; NO - draw avg depth in custom view then
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1415 btfss alt_layout_active ; YES - in alternative layout?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1416 bra TFT_avr_stopwatch_max ; NO - show max depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1417 ;bra TFT_avr_stopwatch_avg ; YES - show avg depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1418 TFT_avr_stopwatch_avg:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1419 MOVII pressure_rel_avg_total,mpr ; get total dive average pressure into hi:lo
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1420 bra TFT_avr_stopwatch_2 ; continue
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1421 TFT_avr_stopwatch_1:
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1422 btfss alt_layout_active ; YES - in alternative layout?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1423 bra TFT_avr_stopwatch_avg ; NO - show avg depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1424 ;bra TFT_avr_stopwatch_max ; YES - show max depth
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1425 TFT_avr_stopwatch_max:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1426 MOVII pressure_rel_max_cached,mpr ; get maximum pressure into hi:lo
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1427 ;bra TFT_avr_stopwatch_2 ; continue
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1428 TFT_avr_stopwatch_2:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1429 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1430 TSTOSS opt_units ; 0=m, 1=ft
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1431 bra TFT_update_avr_stopwatch1_metric ; 0 - metric
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1432 TFT_update_avr_stopwatch1_imp: ; 1 - imperial
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1433 call convert_cm_to_feet ; convert value in hi:lo from [cm] to [feet]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1434 output_16_3 ; yxz
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1435 bra TFT_update_avr_stopwatch2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1436 TFT_update_avr_stopwatch1_metric:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1437 bsf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1438 bsf ignore_digit5 ; no cm (flag will be cleared by output_16)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1439 output_16dp .3 ; yxz.a
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1440 PUTC " " ; wipe out remains from last output
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1441 clrf WREG
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1442 movff WREG,buffer+.4 ; limit string length to 4 = 3 digits + 1 half-size decimal dot
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1443 TFT_update_avr_stopwatch2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1444 STRCAT_PRINT ""
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1445
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1446 ; stopped average depth
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1447 WIN_MEDIUM dm_custom_avr_stop_column3,dm_custom_avr_stop_row
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1448 MOVII pressure_rel_avg_trip,mpr ; get the resettable average pressure
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1449 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1450 TSTOSS opt_units ; 0=m, 1=ft
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1451 bra TFT_update_avr_stopwatch2_metric ; 0 - metric
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1452 TFT_update_avr_stopwatch2_imp: ; 1 - imperial
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1453 call convert_cm_to_feet ; convert value in hi:lo from [cm] to [feet]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1454 output_16_3 ; yxz
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1455 bra TFT_update_avr_stopwatch3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1456 TFT_update_avr_stopwatch2_metric:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1457 bsf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1458 bsf ignore_digit5 ; no cm (flag will be cleared by output_16)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1459 output_16dp .3 ; yxz.a
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1460 PUTC " " ; wipe out remains from last output
589
8a7d2d8bcd33 limit string length to 4 digits/chars in average depth
heinrichsweikamp
parents: 587
diff changeset
1461 clrf WREG
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1462 movff WREG,buffer+.4 ; limit string length to 4 = 3 digits + 1 half-size decimal dot
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1463 TFT_update_avr_stopwatch3:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1464 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1465
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1466 ELSE
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1467
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1468 ; resettable maximum depth - needs ISR-safe copy!
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1469 WIN_MEDIUM dm_custom_avr_stop_column1,dm_custom_avr_stop_row ; column 0
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1470 call TFT_memo_color
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1471 SMOVII pressure_rel_max_trip,mpr ; get resettable maximum pressure
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1472 rcall TFT_avr_stopwatch_helper
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1473
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1474 ; resettable average depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1475 WIN_MEDIUM dm_custom_avr_stop_column2-.1,dm_custom_avr_stop_row ; column 54 - 1 = 53
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1476 call TFT_attention_color
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1477 MOVII pressure_rel_avg_trip,mpr ; get resettable average pressure
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1478 rcall TFT_avr_stopwatch_helper
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1479
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1480 ; resettable minimum depth - needs ISR safe copy!
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1481 WIN_MEDIUM dm_custom_avr_stop_column3-.12,dm_custom_avr_stop_row ; column 118 - 12 = 106
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1482 call TFT_memo_color
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1483 SMOVII pressure_rel_min_trip,mpr ; get resettable minimum pressure
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1484 rcall TFT_avr_stopwatch_helper
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1485
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1486 ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1487 bra TFT_display_exit_2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1488
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1489 TFT_avr_stopwatch_helper:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1490 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1491 output_16dp .3 ; yxz.ab
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1492 PUTC " " ; wipe out remains from last output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1493 clrf WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1494 movff WREG,buffer+.5 ; limit string length to 5 = 4 digits + 1 half-size decimal dot
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1495 STRCAT_PRINT ""
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1496 return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1497
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1498 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1499
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1500 ; stopped dive time (will also be used by compass custom view)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1501 WIN_MEDIUM dm_custom_avr_stop_column2,dm_custom_avr_stop_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1502 TFT_update_stopwatch: ; jump-in point for stopped dive time in compass custom view
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1503 MOVII divesecs_avg_trip,mpr ; get the resettable dive time (stopwatch)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1504 call convert_time ; convert hi:lo in seconds to minutes (up:hi) and seconds (lo)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1505 movlw .100 ; display layout will change if minutes become >= 100
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1506 cpfslt hi ; minutes < 100 ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1507 bra TFT_update_stopwatch_2 ; NO - display hours:minutes
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1508 bcf aux_flag ; will print minutes : seconds
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1509 TFT_update_stopwatch_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1510 movf hi,W ; exchange lo and hi
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1511 movff lo,hi ; ...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1512 movwf lo ; ...
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1513 bcf leftbind ; include leading spaces
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1514 output_99 ; output minutes or hours ( 0 - 99)
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1515 movlw ":" ; load standard separator
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1516 btfsc aux_flag ; will print hours : minutes ?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1517 movlw "'" ; YES - swap to alternative separator
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1518 movwf POSTINC2 ; print separator
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1519 movff hi,lo ; restore lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1520 output_99x ; output seconds or minutes
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1521 movlw .5
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1522 call TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1523 clrf WREG
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1524 movff WREG,buffer+.5 ; limit to 5 chars
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1525 STRCAT_PRINT ""
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1526 bra TFT_display_exit_2 ; clear leftbind and return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1527 TFT_update_stopwatch_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1528 movff hi,lo ; transfer minutes (low byte) to lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1529 movff up,hi ; transfer minutes (high byte) to hi
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1530 call convert_time ; convert hi:lo in minutes to hours (up:hi) and minutes (lo)
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
1531 bsf aux_flag ; will print hours : minutes
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1532 bra TFT_update_stopwatch_1
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1533
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1534
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1535 global TFT_CNS_mask
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1536 TFT_CNS_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1537 call TFT_divemask_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1538 WIN_TINY dm_custom_cns3_column1, dm_custom_cns3_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1539 STRCPY_TEXT_PRINT tCNSsurf
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1540 WIN_TINY dm_custom_cns3_column2, dm_custom_cns3_title_row
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1541
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1542 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1543 btfss cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1544 bra TFT_CNS_mask_1 ; NO
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1545 STRCPY_TEXT_PRINT tCNScave ; YES - print cave TTS label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1546 bra TFT_CNS_mask_3 ; - continue with 3rd column
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1547 ENDIF
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1548
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1549 TFT_CNS_mask_1:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1550 btfsc FLAG_oc_mode ; in OC mode?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1551 bra TFT_CNS_mask_2 ; YES - print fTTS label
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1552 btfsc bailout_mode ; in bailout?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1553 bra TFT_CNS_mask_2 ; YES - print fTTS label (label will be printed, but a fTTS will actually not be calculated)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1554 TSTOSS opt_calc_gasvolume ; bailout volume calculation requested?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1555 bra TFT_CNS_mask_2 ; NO - print fTTS label
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1556 STRCPY_TEXT_PRINT tCNSBO ; YES - print bailout label
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1557 bra TFT_CNS_mask_3 ; - continue with 3rd column
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1558 TFT_CNS_mask_2: ; OC or bailout
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1559 STRCPY_TEXT_PRINT tCNSfTTS ; print fTTS label
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1560 TFT_CNS_mask_3:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1561 WIN_TINY dm_custom_cns3_column3, dm_custom_cns3_title_row
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1562 STRCPY_TEXT_PRINT tCNSnow ; print CNS now label
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1563 bra TFT_display_exit_2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1564
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1565
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1566 global TFT_CNS
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1567 TFT_CNS:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1568 bsf leftbind
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1569 ; CNS at end of normal dive
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1570 WIN_STD dm_custom_cns3_column1+.3,dm_custom_cns3_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1571 MOVII int_O_CNS_norm,mpr ; get CNS at end of dive in normal plan
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1572 call TFT_color_code_cns
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1573 output_16_3 ; output as xxx
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1574 STRCAT_PRINT "% "
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1575 ; fTTS / Bailout CNS, if enabled
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1576 WIN_STD dm_custom_cns3_column2+.2,dm_custom_cns3_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1577 btfsc bailout_mode ; in bailout?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1578 bra TFT_CNS_3 ; YES - show "---"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1579 TSTOSS opt_calc_gasvolume ; NO - bailout volume calculation requested?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1580 bra TFT_CNS_1 ; NO - continue checking fTTS extra time
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1581 btfss FLAG_oc_mode ; YES - in OC mode?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1582 bra TFT_CNS_2 ; NO - show CNS%
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1583 TFT_CNS_1: ; not in bailout, no volume calculation, and/or in OC mode
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1584 TSTOSS char_I_extra_time ; fTTS extra time configured?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1585 bra TFT_CNS_3 ; NO - show "---"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1586 TFT_CNS_2: ; YES - show CNS%
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1587 MOVII int_O_CNS_alt,mpr ; get CNS at end of dive in alternative plan
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1588 call TFT_color_code_cns ; color-code the CNS value
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1589 output_16_3 ; output as xxx
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1590 STRCAT_PRINT "% "
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1591 bra TFT_CNS_4
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1592 TFT_CNS_3:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1593 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1594 btfss cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1595 bra TFT_CNS_3a ; NO - show dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1596 btfsc backtrack_entire_full ; YES - cave mode shut down due to storage fully used up?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1597 bra TFT_CNS_3a ; YES - show dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1598 btfss dive_turned ; NO - dive turned?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1599 bra TFT_CNS_2 ; NO - show cave CNS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1600 ;bra TFT_CNS_3a ; YES - show dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1601 ENDIF
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1602 TFT_CNS_3a:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1603 call TFT_memo_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1604 STRCPY_PRINT "--- "
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1605 TFT_CNS_4:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1606 ; current CNS
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1607 WIN_STD dm_custom_cns3_column3+.3,dm_custom_cns3_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1608 MOVII int_O_CNS_current,mpr ; get current CNS
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1609 call TFT_color_code_cns
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1610 output_16_3 ; output as xxx
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1611 STRCAT_PRINT "%"
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1612 TFT_display_exit_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1613 bcf leftbind
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1614 goto TFT_standard_color ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1615
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1616 ;=============================================================================
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1617
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1618 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1619
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1620 global TFT_cave_tts_mask ; mask for cave mode data
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1621 TFT_cave_tts_mask:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1622 call TFT_divemask_color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1623 WIN_TINY dm_custom_cave_title_column1,dm_custom_cave_title_row
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1624 STRCPY_TEXT_PRINT tCaveStops
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1625 WIN_TINY dm_custom_cave_title_column2,dm_custom_cave_title_row
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1626 STRCPY_TEXT_PRINT tCaveTTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1627 WIN_TINY dm_custom_cave_title_column3,dm_custom_cave_title_row
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1628 STRCPY_TEXT_PRINT tCaveRuntime
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1629 bra TFT_display_exit_2
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1630
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1632 global TFT_cave_tts ; dive mode custom view: cave TTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1633 TFT_cave_tts:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1634 ; total time of all stops
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1635 WIN_MEDIUM dm_custom_cave_data_column1,dm_custom_cave_data_row ; column 8
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1636 call TFT_memo_color ; set default color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1637 btfss cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1638 bra TFT_cave_1b ; NO - print dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1639 MOVII int_O_TST_norm,mpr ; YES - get normal plan total stops time
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1640 btfss mpr+1,int_not_yet_computed ; - not yet computed?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1641 bra TFT_cave_1a ; NO - continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1642 call TFT_disabled_color ; YES - switch to disabled color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1643 bra TFT_cave_1b ; - print dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1644 TFT_cave_1a:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1645 btfsc mpr+1,int_invalid_flag ; stops time invalid?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1646 call TFT_disabled_color ; YES - switch to disabled color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1647 bcf mpr+1,int_invalid_flag ; clear invalid flag if applicable
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1648 movf mpr+0,W ; copy low byte of stops time to WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1649 iorwf mpr+1,W ; ior with high byte of stops time
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1650 bz TFT_cave_1b ; print dashes if stops time is zero
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1651 output_16_3 ; output as xxx
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1652 STRCAT_PRINT "'" ; print minutes symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1653 bra TFT_cave_2 ; continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1654 TFT_cave_1b:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1655 STRCAT_PRINT ",-,-,-," ; print 3 dashes (',' produces a half-width space)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1656 TFT_cave_2:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1657 ; cave TTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1658 WIN_MEDIUM dm_custom_cave_data_column2,dm_custom_cave_data_row ; column 60
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1659 call TFT_memo_color ; set default color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1660 btfsS cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1661 bra TFT_cave_2b ; NO - print dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1662 MOVII int_O_TTS_norm,mpr ; YES - get normal plan total time to surface
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1663 btfss mpr+1,int_not_yet_computed ; - not yet computed?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1664 bra TFT_cave_2a ; NO - continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1665 call TFT_disabled_color ; YES - switch to disabled color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1666 bra TFT_cave_2b ; - print dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1667 TFT_cave_2a:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1668 btfsc mpr+1,int_invalid_flag ; TTS invalid?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1669 call TFT_disabled_color ; YES - switch to disabled color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1670 bcf mpr+1,int_invalid_flag ; clear invalid flag if applicable
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1671 output_16_3 ; output as xxx
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1672 STRCAT_PRINT "'" ; print minutes symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1673 bra TFT_cave_3 ; continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1674 TFT_cave_2b:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1675 STRCAT_PRINT ",-,-,-," ; print 3 dashes (',' produces a half-width space)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1676 TFT_cave_3:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1677 ; estimated total runtime
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1678 WIN_MEDIUM dm_custom_cave_data_column3,dm_custom_cave_data_row ; column 114
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1679 ; ; keep color from cave TTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1680 btfss cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1681 bra TFT_cave_3b ; NO - print dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1682 SMOVII counted_divetime_mins,mpr ; YES - ISR safe copy of counted dive time to MPR
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1683 movff int_O_TTS_norm+0,WREG ; - get TTS, low byte, into WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1684 addwf mpr+0,F ; - add TTS, low byte, to dive time in MPR
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1685 movff int_O_TTS_norm+1,WREG ; - get TTS, high byte, into WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1686 btfsc WREG,int_not_yet_computed ; - not yet computed?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1687 bra TFT_cave_3b ; YES - print dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1688 bcf WREG,int_invalid_flag ; NO - clear invalid flag if applicable
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1689 addwfc mpr+1,F ; - add TTS, high byte, to dive time in MPR
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1690 output_16_3 ; - output as xxx
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1691 STRCAT_PRINT "'" ; - print minutes symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1692 bra TFT_display_exit_2 ; - done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1693 TFT_cave_3b:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1694 STRCAT_PRINT ",-,-,-," ; print 3 dashes (',' produces a half-width space)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1695 bra TFT_display_exit_2 ; done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1696
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1697
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1698 global TFT_cave_waypoints
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1699 TFT_cave_waypoints:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1700 ; title row
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1701 WIN_TINY .70,dm_custom_cave_title_row;adjust column to display position of current waypoint
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1702 call TFT_divemask_color ; select color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1703 btfss cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1704 bra TFT_cave_waypoints_3 ; NO - do not show any marker (any more)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1705 btfss dive_turned ; YES - dive turned?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1706 bra TFT_cave_waypoints_1 ; NO - print marker on right side
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1707 bra TFT_cave_waypoints_2 ; YES - print marker in the middle
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1708 TFT_cave_waypoints_1:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1709 movlw .12 ; start with 12 space chars
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1710 call TFT_fillup_with_spaces ; fill buffer with space chars
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1711 TFT_cave_waypoints_2:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1712 STRCAT "<=====" ; print marker symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1713 TFT_cave_waypoints_3:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1714 movlw .18 ; set overall number of chars
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1715 call TFT_fillup_with_spaces ; fill buffer with space chars
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1716 STRCAT_PRINT "" ; finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1717 ; data row
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1718 btfsc cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1719 bra TFT_cave_waypoints_4 ; YES - show graphics
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1720 WIN_STD .0,dm_custom_cave_data_row ; NO - show "Cave Mode off" text
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1721 call TFT_attention_color ; - select attention color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1722 STRCPY " " ; - print 2 space chars
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1723 STRCAT_TEXT tCaveMode ; - print "Cave Mode"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1724 PUTC " " ; - print a space char
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1725 STRCAT_TEXT tOff ; - print "off"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1726 movlw .17 ; - set max number of chars
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1727 call TFT_fillup_with_spaces ; - fill up FSR2 with spaces (total string length in #WREG)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1728 STRCAT_PRINT "" ; - finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1729 return ; - done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1730 TFT_cave_waypoints_4:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1731 WIN_MEDIUM .0,dm_custom_cave_data_row; start in column 0
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1732 call TFT_memo_color ; select default color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1733 tstfsz DM_flags_cavereq ; any pending cave mode requests?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1734 call TFT_disabled_color ; YES - switch to disabled color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1735 ; 1st section: previous waypoint number or beginning line
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1736 movlw .1 ; load a one into WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1737 cpfsgt backtrack_waypoint_num ; current waypoint number > 1 ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1738 bra TFT_cave_waypoints_5 ; NO - print line segment only
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1739 STRCAT ",-," ; YES - print one dash
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1740 movff backtrack_waypoint_num,lo ; - copy current waypoint number to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1741 decf lo,F ; - create previous waypoint number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1742 output_99 ; - print previous waypoint number in two digit format
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1743 STRCAT "," ; - print a half-space
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1744 bra TFT_cave_waypoints_6 ; - continue with next section
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1745 TFT_cave_waypoints_5:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1746 STRCAT ",-,-----" ; print line segment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1747 TFT_cave_waypoints_6:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1748 ; 2nd section: solid line
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1749 STRCAT "---" ; print a solid line
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1750 ; 3rd section: current waypoint number, turn point symbol or line segment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1751 tstfsz backtrack_waypoint_num ; does a current waypoint exist?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1752 bra TFT_cave_waypoints_8 ; YES - print its number or the turn point symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1753 btfss dive_turned ; NO - dive turned?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1754 bra TFT_cave_waypoints_7 ; NO - print a separated line segment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1755 STRCAT "------" ; YES - print a continuous line
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1756 bra TFT_cave_waypoints_10 ; - continue with next section
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1757 TFT_cave_waypoints_7:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1758 STRCAT ",----," ; print a separated line segment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1759 bra TFT_cave_waypoints_10 ; continue with next section
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1760 TFT_cave_waypoints_8:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1761 STRCAT "," ; print a half-width space
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1762 movff backtrack_waypoint_num,lo ; copy current waypoint number to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1763 movf backtrack_waypoint_turn,W ; copy turn point number to WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1764 cpfseq lo ; current waypoint = turn point ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1765 bra TFT_cave_waypoints_9 ; NO - show waypoint number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1766 STRCAT_PRINT "--|, " ; YES - print end-of-line symbol, clear remaining output and finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1767 return ; - done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1768 TFT_cave_waypoints_9:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1769 movff backtrack_waypoint_num,lo ; copy current waypoint number to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1770 output_99 ; print current waypoint number in two digit format
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1771 STRCAT "," ; print a half-space
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1772 TFT_cave_waypoints_10:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1773 ; 4th section: solid line
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1774 STRCAT "---" ; print a solid line
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1775 ; 5th section: next waypoint number or end of line symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1776 incf backtrack_waypoint_num,W ; load WREG with next waypoint number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1777 cpfseq backtrack_waypoint_turn ; next waypoint number = turn point number ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1778 btfsc waypoint_reached_last ; NO - is the current waypoint the last waypoint?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1779 bra TFT_cave_waypoints_11 ; YES / YES - print end-of-line symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1780 STRCAT "," ; NO - print a half-space
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1781 incf backtrack_waypoint_num,W ; - (re)load WREG with next waypoint number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1782 movwf lo ; NO - copy next waypoint number to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1783 output_99 ; - print next waypoint number in two digit format
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1784 STRCAT_PRINT "" ; - finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1785 return ; - done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1786 TFT_cave_waypoints_11:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1787 STRCAT_PRINT "---|," ; print end-of-line symbol and finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1788 return ; done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1789
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
1790 ENDIF
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1791
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1792 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1793
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1794 IFDEF _external_sensor
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1795
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1796 global TFT_ppo2_sensors_mask ; mask for ppO2 sensors
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1797 TFT_ppo2_sensors_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1798 call TFT_divemask_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1799 WIN_TINY dm_custom_hud_sensor1_column+.4,dm_custom_hud_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1800 STRCPY_TEXT_PRINT tDiveHudMask1
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1801 WIN_TINY dm_custom_hud_sensor2_column+.3,dm_custom_hud_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1802 STRCPY_TEXT_PRINT tDiveHudMask2
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1803 WIN_TINY dm_custom_hud_sensor3_column+.2,dm_custom_hud_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1804 STRCPY_TEXT_PRINT tDiveHudMask3
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1805 bra TFT_display_exit_2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1806
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1807
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1808 global TFT_ppo2_sensors ; data for ppO2 sensors
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1809 TFT_ppo2_sensors:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1810 ;
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1811 ; Definition of the output:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1812 ;
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1813 ; sensorX use voting o2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1814 ; _calibrated _O2 _logic _ppo2 Output Color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1815 ; _ok _sensorX _sensorX _sensorX
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1816 ;-----------------------------------------------------------------------------------------------
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1817 ; 0 -/- -/- -/- "----" TFT_memo_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1818 ; 1 0 -/- = 0 o2_ppo2_sensorX TFT_attention_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1819 ; 1 0 -/- > 0 o2_ppo2_sensorX TFT_disabled_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1820 ; 1 1 0 -/- o2_ppo2_sensorX TFT_color_code_ppo2_hud + win_invert
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1821 ; 1 1 1 -/- o2_ppo2_sensorX TFT_color_code_ppo2_hud
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1822 ;
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1823 bsf leftbind
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1824 ; sensor 1
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1825 btfsc sensor1_calibrated_ok ; valid calibration?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1826 bra TFT_update_hud1b ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1827 btfsc sensor1_active ; valid HUD data for this sensor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1828 bra TFT_update_hud1b ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1829
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1830 ; no valid calibration
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1831 WIN_STD dm_custom_hud_sensor1_column+.7, dm_custom_hud_row+.5
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1832 call TFT_memo_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1833 STRCPY_PRINT "---"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1834 bra TFT_update_hud2a ; continue with sensor 2
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1835 TFT_update_hud1b:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1836 ; sensor has a valid calibration
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1837 WIN_MEDIUM dm_custom_hud_sensor1_column,dm_custom_hud_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1838 movff sensor1_ppO2,lo ; load ppO2 value into transfer storage for output
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1839 clrf hi ;
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1840 btfsc use_O2_sensor1 ; in use?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1841 bra TFT_update_hud1d ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1842 ; valid calibration, but not in use
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1843 tstfsz lo ; sensor value = 0?
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1844 bra TFT_update_hud1c ; no
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1845 ; valid calibration, not in use and value = 0
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1846 call TFT_attention_color ; output in yellow
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1847 bra TFT_update_hud1e
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1848 TFT_update_hud1c:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1849 ; sensor has valid calibration, is not in use and has a value > 0
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1850 call TFT_disabled_color ; output in light blue
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1851 bra TFT_update_hud1e
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1852 TFT_update_hud1d:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1853 ; sensor has valid calibration and is in use
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1854 call TFT_color_code_ppo2_hud ; With ppO2 [cbar] in lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1855 btfsc voting_logic_sensor1 ; sensor value agrees with values of other sensors?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1856 bra TFT_update_hud1e ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1857 ; valid calibration, in use, but value does not agree with other sensors
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1858 bsf win_invert ; invert output
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1859 TFT_update_hud1e:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1860 ; all coloring is set up now, let's write the value to the display!
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1861 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1862 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1863 bcf win_invert
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1864
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1865 TFT_update_hud2a: ; sensor 2
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1866 btfsc sensor2_calibrated_ok ; valid calibration?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1867 bra TFT_update_hud2b ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1868 btfsc sensor2_active ; valid HUD data for this sensor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1869 bra TFT_update_hud2b ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1870 ; no valid calibration
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1871 WIN_STD dm_custom_hud_sensor2_column+.7, dm_custom_hud_row+.5
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1872 call TFT_memo_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1873 STRCPY_PRINT "---"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1874 bra TFT_update_hud3a ; continue with sensor 3
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1875 TFT_update_hud2b:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1876 ; sensor has a valid calibration
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1877 WIN_MEDIUM dm_custom_hud_sensor2_column,dm_custom_hud_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1878 movff sensor2_ppO2,lo ; load ppO2 value into transfer storage for output
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1879 clrf hi ;
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1880 btfsc use_O2_sensor2 ; in use?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1881 bra TFT_update_hud2d ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1882 ; valid calibration, but not in use
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1883 tstfsz lo ; sensor value = 0?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1884 bra TFT_update_hud2c ; NO
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1885 ; valid calibration, not in use and value = 0
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1886 call TFT_attention_color ; output in yellow
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1887 bra TFT_update_hud2e
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1888 TFT_update_hud2c:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1889 ; sensor has valid calibration, is not in use and has a value > 0
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1890 call TFT_disabled_color ; output in light blue
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1891 bra TFT_update_hud2e
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1892 TFT_update_hud2d:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1893 ; sensor has valid calibration and is in use
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1894 call TFT_color_code_ppo2_hud ; With ppO2 [cbar] in lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1895 btfsc voting_logic_sensor2 ; sensor value agrees with values of other sensors?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1896 bra TFT_update_hud2e ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1897 ; valid calibration, in use, but value does not agree with other sensors
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1898 bsf win_invert ; invert output
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1899 TFT_update_hud2e:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1900 ; all coloring is set up now, let's write the value to the display!
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1901 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1902 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1903 bcf win_invert
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1904
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1905 TFT_update_hud3a: ; sensor 3
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1906 btfsc sensor3_calibrated_ok ; valid calibration?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1907 bra TFT_update_hud3b ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1908 btfsc sensor3_active ; valid HUD data for this sensor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1909 bra TFT_update_hud3b ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1910 ; no valid calibration
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1911 WIN_STD dm_custom_hud_sensor3_column+.7, dm_custom_hud_row+.5
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1912 call TFT_memo_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1913 STRCPY_PRINT "---"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1914 bra TFT_update_hud4 ; done
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1915 TFT_update_hud3b:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1916 ; sensor has a valid calibration
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1917 WIN_MEDIUM dm_custom_hud_sensor3_column,dm_custom_hud_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1918 movff sensor3_ppO2,lo ; load ppO2 value into transfer storage for output
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1919 clrf hi ;
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1920 btfsc use_O2_sensor3 ; in use?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1921 bra TFT_update_hud3d ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1922 ; valid calibration, but not in use
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1923 tstfsz lo ; sensor value = 0?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1924 bra TFT_update_hud3c ; NO
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1925 ; valid calibration, not in use and value = 0
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1926 call TFT_attention_color ; output in yellow
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1927 bra TFT_update_hud3e
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1928 TFT_update_hud3c:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1929 ; sensor has valid calibration, is not in use and has a value > 0
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1930 call TFT_disabled_color ; output in light blue
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1931 bra TFT_update_hud3e
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1932 TFT_update_hud3d:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1933 ; sensor has valid calibration and is in use
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1934 call TFT_color_code_ppo2_hud ; With ppO2 [cbar] in lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1935 btfsc voting_logic_sensor3 ; sensor value agrees with values other sensors?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1936 bra TFT_update_hud3e ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1937 ; valid calibration, in use, but value does not agree with other sensors
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1938 bsf win_invert ; invert output
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1939 TFT_update_hud3e:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1940 ; all coloring is set up now, let's write the value to the display!
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1941 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1942 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1943 bcf win_invert
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1944
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1945 TFT_update_hud4: ; closure
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1946 bra TFT_display_exit_3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1947
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1948
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1949 global TFT_surface_sensor ; update O2 sensor data in surface mode
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
1950 TFT_surface_sensor:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1951 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1952 WIN_SMALL surf_hud_sensor1_column,surf_hud_sensor1_row
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1953 btfsc sensor1_calibrated_ok
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1954 bra TFT_surface_sensor1 ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1955 btfsc sensor1_active ; valid HUD data for this sensor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1956 bra TFT_surface_sensor1 ; YES
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1957 call TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1958 STRCPY_PRINT "--- "
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1959 bra TFT_surface_sensor2 ; skip sensor 1
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
1960 TFT_surface_sensor1:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1961 movff sensor1_ppO2,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1962 call TFT_color_code_ppo2_hud ; with ppO2 [cbar] in lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1963 clrf hi
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1964 bsf leftbind
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1965 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1966 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1967 STRCAT_PRINT ""
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
1968 TFT_surface_sensor2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1969 WIN_SMALL surf_hud_sensor2_column,surf_hud_sensor2_row
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1970 btfsc sensor2_calibrated_ok
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1971 bra TFT_surface_sensor3 ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1972 btfsc sensor2_active ; valid HUD data for this sensor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1973 bra TFT_surface_sensor3 ; YES
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1974 call TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1975 STRCPY_PRINT "--- "
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1976 bra TFT_surface_sensor4 ; skip sensor 2
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
1977 TFT_surface_sensor3:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1978 movff sensor2_ppO2,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1979 call TFT_color_code_ppo2_hud ; with ppO2 [cbar] in lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1980 clrf hi
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1981 bsf leftbind
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1982 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1983 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1984 STRCAT_PRINT ""
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
1985 TFT_surface_sensor4:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1986 WIN_SMALL surf_hud_sensor3_column,surf_hud_sensor3_row
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1987 btfsc sensor3_calibrated_ok
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1988 bra TFT_surface_sensor5 ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1989 btfsc sensor3_active ; valid HUD data for this sensor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1990 bra TFT_surface_sensor5 ; YES
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1991 call TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1992 STRCPY_PRINT "--- "
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1993 bra TFT_surface_sensor6 ; skip sensor 3
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
1994 TFT_surface_sensor5:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
1995 movff sensor3_ppO2,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
1996 call TFT_color_code_ppo2_hud ; with ppO2 [cbar] in lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1997 clrf hi
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
1998 bsf leftbind
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
1999 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2000 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2001 STRCAT_PRINT ""
188
ebc28381f17d NEW: Show Bailout Gas List in Surface mode (CCR Modes)
heinrichsweikamp
parents: 187
diff changeset
2002 TFT_surface_sensor6:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2003 TFT_display_exit_3:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2004 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2005 goto TFT_standard_color ; and return...
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2006
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2007
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2008 global TFT_sensor_mV
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2009 TFT_sensor_mV:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2010 bsf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2011
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2012 WIN_SMALL surf_mV_sensor_column,surf_mV_sensor1_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2013 SMOVII sensor1_mv,mpr ; in 0.1mV steps
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2014 STRCAT "1: "
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2015 rcall TFT_sensor_mV_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2016
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2017 WIN_SMALL surf_mV_sensor_column,surf_mV_sensor2_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2018 SMOVII sensor2_mv,mpr ; in 0.1mV steps
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2019 STRCAT "2: "
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2020 rcall TFT_sensor_mV_helper
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2021
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2022 WIN_SMALL surf_mV_sensor_column,surf_mV_sensor3_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2023 SMOVII sensor3_mv,mpr ; in 0.1mV steps
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2024 STRCAT "3: "
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2025 rcall TFT_sensor_mV_helper
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2026 bcf leftbind
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2027
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2028 WIN_SMALL surf_mV_sensor_column,surf_mV_sensor3_row+.24 ; 4th row
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2029 btfss s8_digital_avail ; do we have a digital S8 interface?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2030 bra TFT_sensor_mV_optical_analog
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2031 STRCAT_PRINT "Digital"
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2032 bra TFT_display_exit_3
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2033 TFT_sensor_mV_optical_analog:
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2034 btfss ir_power ; do we have a optical digital interface?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2035 bra TFT_sensor_mV_analog
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2036 STRCAT_PRINT "Optical"
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2037 bra TFT_display_exit_3
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2038 TFT_sensor_mV_analog: ; -> optical
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2039 STRCAT_PRINT "Analog"
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2040 bra TFT_display_exit_3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2041
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2042 TFT_sensor_mV_helper:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2043 output_16dp .4 ; xxx.y mV
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2044 STRCAT_PRINT "mV "
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2045 return
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2046
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2047
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2048 global TFT_sensor_surface_warning
535
cf68fe0c3002 NEW: Show a warning for each sensor if the sensor is end-of-life after calibration (Less then 8mV in Air at sea level)
heinrichsweikamp
parents: 533
diff changeset
2049 TFT_sensor_surface_warning:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2050 call TFT_warning_color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2051 btfss sensor1_calibrated_ok ; do not show end of lifetime arrow if sensor failed calibration at all
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2052 bra TFT_sensor_mV2
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2053 movff opt_x_s1+1,lo ; into bank1
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2054 movf lo,W ; when opt_x_s1 > 255 the sensor will just give 8 mV at a ppO2 of 0.21 any more
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2055 bz TFT_sensor_mV2 ; the sensor is not too bad yet for a warning
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2056 WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor1_row-.5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2057 STRCPY_PRINT "\xb8" ; mark sensor as being at end of lifetime
535
cf68fe0c3002 NEW: Show a warning for each sensor if the sensor is end-of-life after calibration (Less then 8mV in Air at sea level)
heinrichsweikamp
parents: 533
diff changeset
2058 TFT_sensor_mV2:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2059 btfss sensor2_calibrated_ok ; do not show end of lifetime arrow if sensor failed calibration at all
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2060 bra TFT_sensor_mV3
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2061 movff opt_x_s2+1,lo ; into bank1
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2062 movf lo,W ; when opt_x_s2 > 255 the sensor will just give 8 mV at a ppO2 of 0.21 any more
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2063 bz TFT_sensor_mV3 ; the sensor is not too bad yet for a warning
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2064 WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor2_row-.5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2065 STRCPY_PRINT "\xb8" ; mark sensor as being at end of lifetime
535
cf68fe0c3002 NEW: Show a warning for each sensor if the sensor is end-of-life after calibration (Less then 8mV in Air at sea level)
heinrichsweikamp
parents: 533
diff changeset
2066 TFT_sensor_mV3:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2067 btfss sensor3_calibrated_ok ; do not show end of lifetime arrow if sensor failed calibration at all
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2068 bra TFT_sensor_mV4
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2069 movff opt_x_s3+1,lo ; into bank1
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2070 movf lo,W ; when opt_x_s3 > 255 the sensor will just give 8 mV at a ppO2 of 0.21 any more
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2071 bz TFT_sensor_mV4 ; the sensor is not too bad yet for a warning
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2072 WIN_SMALL surf_mV_sensor_status_column,surf_mV_sensor3_row-.5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2073 STRCPY_PRINT "\xb8" ; mark sensor as being at end of lifetime
535
cf68fe0c3002 NEW: Show a warning for each sensor if the sensor is end-of-life after calibration (Less then 8mV in Air at sea level)
heinrichsweikamp
parents: 533
diff changeset
2074 TFT_sensor_mV4:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2075 bra TFT_display_exit_3
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2076
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2077
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2078 global TFT_menu_calibrate
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2079 TFT_menu_calibrate: ; update mV data in calibration menu
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2080 btfss s8_digital_avail ; do we have a digital S8 interface?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2081 bra TFT_menu_calibrate_analog ; NO - use analog
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2082 btfss trigger_S8_data_update ; YES - new data frame received?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2083 bra TFT_menu_calibrate_common ; NO - use old values...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2084 bcf trigger_S8_data_update ; YES - clear update flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2085 call compute_mvolts_for_all_sensors ; - compute mV values from received data frame
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2086 bra TFT_menu_calibrate_common ; - continue with common part
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2087 TFT_menu_calibrate_analog:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2088 call get_analog_inputs ; read mV values from analog inputs
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2089 TFT_menu_calibrate_common:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2090 call TFT_attention_color ; show in yellow
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2091 bsf leftbind ; align to the left
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2092 WIN_SMALL surf_menu_sensor1_column,surf_menu2_sensor1_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2093 SMOVII sensor1_mv,mpr ; in 0.1mV steps
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2094 output_16dp .4 ; xxx.y mV
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2095 STRCAT_PRINT "mV "
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2096 WIN_SMALL surf_menu_sensor2_column,surf_menu2_sensor2_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2097 SMOVII sensor2_mv,mpr ; in 0.1mV steps
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2098 output_16dp .4 ; xxx.y mV
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2099 STRCAT_PRINT "mV "
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2100 WIN_SMALL surf_menu_sensor3_column,surf_menu2_sensor3_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2101 SMOVII sensor3_mv,mpr ; in 0.1mV steps
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2102 output_16dp .4 ; xxx.y mV
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2103 STRCAT_PRINT "mV "
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2104 TSTOSS opt_s8_mode ; =0: analog, =1: digital RS232
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2105 bra TFT_display_exit_3 ; analog - done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2106 ; also imprint HUD battery voltage
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2107 WIN_TINY .20,.209 ; digital
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2108 STRCPY "HUD Batt: " ; print label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2109 SMOVII hud_battery_mv,mpr ; get HUD battery voltage
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2110 output_16dp .2 ; print as -x.yyy
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2111 STRCAT_PRINT "V " ; finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2112 bra TFT_display_exit_3 ; done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2113
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2114 ENDIF ; _external_sensor
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2115
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2116 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2117
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2118 global TFT_time_surfmode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2119 TFT_time_surfmode:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2120 WIN_SMALL surf_clock_column+.7,surf_clock_row
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2121 TFT_clock2: ; called from dive mode clock
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2122 call TFT_standard_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2123 SMOVSS rtc_year,rtc_latched_year ; ISR-safe 6 byte copy of date and time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2124 movff rtc_latched_hour,lo
0
heinrichsweikamp
parents:
diff changeset
2125 output_99
heinrichsweikamp
parents:
diff changeset
2126 movlw ':'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2127 movff rtc_latched_secs,lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2128 btfss lo,0 ; blinking every second
0
heinrichsweikamp
parents:
diff changeset
2129 movlw ' '
heinrichsweikamp
parents:
diff changeset
2130 movwf POSTINC2
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2131 movff rtc_latched_mins,lo
0
heinrichsweikamp
parents:
diff changeset
2132 output_99x
heinrichsweikamp
parents:
diff changeset
2133 STRCAT_PRINT ""
heinrichsweikamp
parents:
diff changeset
2134 return
heinrichsweikamp
parents:
diff changeset
2135
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2136
0
heinrichsweikamp
parents:
diff changeset
2137 global TFT_show_time_date_menu
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2138 global TFT_show_time_date_menu_fast
0
heinrichsweikamp
parents:
diff changeset
2139 TFT_show_time_date_menu:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2140 SMOVSS rtc_year,rtc_latched_year ; ISR-safe 6 byte copy of current date & time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2141 TFT_show_time_date_menu_fast:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2142 WIN_SMALL .20,.40 ; column, row - keep clear of the cursor area on the left!
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2143 call TFT_standard_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2144 movff rtc_latched_hour,lo
0
heinrichsweikamp
parents:
diff changeset
2145 output_99
heinrichsweikamp
parents:
diff changeset
2146 PUTC ':'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2147 movff rtc_latched_mins,lo
0
heinrichsweikamp
parents:
diff changeset
2148 output_99x
heinrichsweikamp
parents:
diff changeset
2149 PUTC ':'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2150 movff rtc_latched_secs,lo
0
heinrichsweikamp
parents:
diff changeset
2151 output_99x
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2152 STRCAT " "
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2153 movff rtc_latched_year, lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2154 movff rtc_latched_month,hi
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2155 movff rtc_latched_day, up
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2156 call TFT_convert_date ; convert into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
0
heinrichsweikamp
parents:
diff changeset
2157 STRCAT_PRINT " "
heinrichsweikamp
parents:
diff changeset
2158 return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2159
0
heinrichsweikamp
parents:
diff changeset
2160 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2161
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2162 global TFT_surface_decosettings ; show all deco settings
41
5041477eee79 Surface customview with important deco settings
mh@mh-THINK
parents: 40
diff changeset
2163 TFT_surface_decosettings:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2164 ; Deco Mode
41
5041477eee79 Surface customview with important deco settings
mh@mh-THINK
parents: 40
diff changeset
2165 call TFT_standard_color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2166 WIN_SMALL surf_gaslist_column,surf_gaslist_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2167 STRCAT_PRINT "ZH-L16"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2168 movff char_I_model,WREG
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2169 iorwf WREG
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2170 bnz TFT_surface_decosettings1
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2171 ; Display ZH-L16 sat/desat model
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2172 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2173 lfsr FSR2,buffer
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2174 movff char_I_desaturation_multiplier,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2175 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2176 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2177 STRCAT "%/"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2178 movff char_I_saturation_multiplier,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2179 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2180 STRCAT_PRINT "%"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2181 bra TFT_surface_decosettings2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2182 ; Display ZH-L16-GF low/high model
41
5041477eee79 Surface customview with important deco settings
mh@mh-THINK
parents: 40
diff changeset
2183 TFT_surface_decosettings1:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2184 TEXT_SMALL surf_gaslist_column+.43,surf_gaslist_row,tZHL16GF
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2185 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2186 STRCPY_TEXT tGF ; GF:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2187 movff opt_GF_low,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2188 output_99x
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2189 STRCAT "/"
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2190 movff opt_GF_high,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2191 output_99x
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2192 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2193 TFT_surface_decosettings2: ; fTTS
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2194 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2195 STRCPY_TEXT tFTTSSurf
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2196 movff char_I_extra_time,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2197 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2198 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2199 STRCAT_TEXT_PRINT tMinutes
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2200 ; Last Stop
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2201 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2202 STRCPY_TEXT tLastDecostopSurf
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2203 movff opt_last_stop,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2204 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2205 STRCAT_TEXT_PRINT tMeters
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2206 ; Salinity
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2207 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2208 STRCPY_TEXT tDvSalinitySurf
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2209 movff opt_salinity,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2210 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2211 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2212 STRCAT_TEXT_PRINT tPercent
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2213 return
0
heinrichsweikamp
parents:
diff changeset
2214
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2215
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2216 global TFT_divetimeout
55
448ba265fdae Change "O2" warning to "ppO2"
heinrichsweikamp
parents: 54
diff changeset
2217 TFT_divetimeout:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2218 call TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2219 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2220 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2221 call TFT_memo_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2222 STRCPY 0x94 ; "End of dive" symbol
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2223 movff opt_diveTimeout,WREG ; in [min]
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2224 mullw .60
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2225 MOVII PRODL, sub_a ; in seconds
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2226 MOVII dive_timeout_timer,sub_b
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2227 call subU16 ; sub_c = sub_a - sub_b (with UNSIGNED values)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2228 MOVII sub_c,mpr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2229 call convert_time ; convert hi:lo in minutes to hours (up:hi) and minutes (lo)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2230 movf hi,W ; swap lo and hi
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2231 movff lo,hi ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2232 movwf lo ; ...
55
448ba265fdae Change "O2" warning to "ppO2"
heinrichsweikamp
parents: 54
diff changeset
2233 output_99x
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2234 PUTC ':'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2235 movff hi,lo ; copy hi to lo
55
448ba265fdae Change "O2" warning to "ppO2"
heinrichsweikamp
parents: 54
diff changeset
2236 output_99x
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2237 movlw dm_warning_length ; dive mode string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2238 call TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
55
448ba265fdae Change "O2" warning to "ppO2"
heinrichsweikamp
parents: 54
diff changeset
2239 STRCAT_PRINT ""
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2240 bcf win_invert
55
448ba265fdae Change "O2" warning to "ppO2"
heinrichsweikamp
parents: 54
diff changeset
2241 return
448ba265fdae Change "O2" warning to "ppO2"
heinrichsweikamp
parents: 54
diff changeset
2242
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2243
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2244 global TFT_show_ftts
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2245 TFT_show_ftts:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2246 call TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2247 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2248 return ; NO - skip message in this cycle
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2249 bsf leftbind ; print with alignment to the left
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2250 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2251 btfss cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2252 bra TFT_display_ftts_2 ; NO - classic open water TTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2253 btfss dive_turned ; YES - dive turned?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2254 bra TFT_display_ftts_1 ; NO - cTTS from current position
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2255 STRCPY "WP" ; YES - print waypoint mark
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2256 movf backtrack_waypoint_num,W ; - copy current waypoint number to WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2257 cpfseq backtrack_waypoint_turn ; - current waypoint = turn point ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2258 bra TFT_display_ftts_0 ; NO - print waypoint number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2259 STRCAT "-| " ; YES - print turn point symbol
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2260 bra TFT_display_ftts_5 ; - continue with TTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2261 TFT_display_ftts_0:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2262 movwf lo ; copy current waypoint number to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2263 output_99 ; print waypoint number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2264 PUTC " " ; append a space char
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2265 bra TFT_display_ftts_5 ; continue with TTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2266 TFT_display_ftts_1:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2267 STRCPY "cTTS " ; print cave TTS label followed by a space
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2268 bra TFT_display_ftts_5 ; continue with TTS
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2269 ENDIF ; _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2270 TFT_display_ftts_2:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2271 btfsc FLAG_oc_mode ; in OC mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2272 bra TFT_display_ftts_3 ; YES - print fTTS label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2273 TSTOSS opt_calc_gasvolume ; NO - bailout volume calculation requested?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2274 bra TFT_display_ftts_3 ; NO - print fTTS label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2275 STRCPY "B/O" ; YES - print bailout label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2276 bra TFT_display_ftts_4 ; - continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2277 TFT_display_ftts_3: ; OC or CCR/pSCR but no bailout volume calculation
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2278 STRCPY "@+" ; print fTTS label
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2279 TFT_display_ftts_4:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2280 movff char_I_extra_time,lo ; get fTTS delay time
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2281 output_8 ; print fTTS delay time
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2282 PUTC ":" ; ":"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2283 TFT_display_ftts_5:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2284 MOVII int_O_TTS_alt,mpr ; get alternative TTS
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2285 call TFT_memo_color ; set memo color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2286 btfss hi,int_invalid_flag ; is the invalid flag set?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2287 bra TFT_display_ftts_6 ; NO - keep memo color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2288 bcf hi,int_invalid_flag ; YES - clear flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2289 call TFT_disabled_color ; - switch to disabled color
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2290 TFT_display_ftts_6:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2291 btfsc hi,int_not_yet_computed ; is the not-yet-computed flag set?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2292 bra TFT_display_ftts_8 ; YES - show dashes
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2293 IFDEF _cave_mode
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2294 btfsc cave_mode ; cave mode switched on?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2295 bra TFT_display_ftts_7 ; YES - take shortcut
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2296 ENDIF
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2297 movff int_O_TST_alt+1,WREG ; get high byte of the alternative total stops time
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2298 btfsc WREG,int_is_zero ; total stops time = zero ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2299 bra TFT_display_ftts_9 ; YES - show "NDL"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2300 btfsc WREG,deco_zone ; NO - fTTS <= TTS ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2301 call TFT_advice_color ; YES - set to advice color (green)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2302 TFT_display_ftts_7:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2303 output_16 ; print ascent time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2304 PUTC "'" ; print minutes symbol
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2305 bra TFT_display_ftts_10 ; continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2306 TFT_display_ftts_8:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2307 STRCAT "---" ; print "---" for not computed
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2308 bra TFT_display_ftts_10 ; continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2309 TFT_display_ftts_9:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2310 STRCAT_TEXT tNDL ; print "NDL"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2311 TFT_display_ftts_10:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2312 movlw dm_warning_length ; dive mode string length
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2313 call TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2314 STRCAT_PRINT "" ; finalize output
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2315 bcf leftbind ; clear left alignment
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2316 goto TFT_standard_color ; ...and return
0
heinrichsweikamp
parents:
diff changeset
2317
heinrichsweikamp
parents:
diff changeset
2318
heinrichsweikamp
parents:
diff changeset
2319 ;=============================================================================
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2320
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2321 global TFT_temp_surfmode
0
heinrichsweikamp
parents:
diff changeset
2322 TFT_temp_surfmode:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2323 call TFT_divemask_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2324 WIN_SMALL surf_temp_column+3*8,surf_temp_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2325 TSTOSS opt_units ; 0=°C, 1=°F
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2326 bra TFT_temp_surfmode_metric
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2327 STRCAT_TEXT tLogTunitF ; °F
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2328 bra TFT_temp_surfmode_common
0
heinrichsweikamp
parents:
diff changeset
2329 TFT_temp_surfmode_metric:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2330 STRCAT_TEXT tLogTunitC ; °C
552
af84c45429fd BUGFIX: Display of negative (?C) water temperatures
heinrichsweikamp
parents: 551
diff changeset
2331 TFT_temp_surfmode_common:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2332 STRCAT_PRINT ""
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2333 WIN_SMALL surf_temp_column,surf_temp_row
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2334 call TFT_memo_color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2335 bra TFT_temp_common
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2336
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2337
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2338 global TFT_show_temp_divemode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2339 TFT_show_temp_divemode:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2340 btfsc dive_options_menu ; is the pre-menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2341 return ; YES - abort
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2342 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2343 return ; YES - abort, no update of temperature now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2344 btfsc better_gas_blinking ; blinking better gas?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2345 return ; YES - abort, no update of temperature now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2346 btfsc better_dil_blinking ; blinking better diluent?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2347 return ; YES - abort, no update of temperature now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2348
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2349 WIN_SMALL dm_temp_column,dm_temp_row ; set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2350 call TFT_memo_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2351 movlw index_compass_dm ; index of compass custom view
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2352 cpfseq active_customview ; compass shown in custom view?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2353 bra TFT_temp_common ; NO - proceed with temperature
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2354 goto TFT_update_stopwatch ; YES - show resettable dive time instead of temperature
552
af84c45429fd BUGFIX: Display of negative (?C) water temperatures
heinrichsweikamp
parents: 551
diff changeset
2355 TFT_temp_common:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2356 SMOVII temperature_cur,mpr ; ISR-safe 2 byte copy of current temperature to hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2357 TSTOSC opt_units ; 0=°C, 1=°F
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2358 call convert_celsius_to_fahrenheit ; 1 - convert value in lo:hi from Celsius to Fahrenheit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2359 rcall TFT_convert_signed_16bit ; convert lo:hi into signed-short and adds '-' to POSTINC2 if required
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2360 btfsc neg_flag ; is the temperature negative?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2361 bra TFT_temp_common_2 ; YES - the minus sign has already been written
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2362 ; temp is positive, is it less than 10°C ?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2363 tstfsz hi
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2364 bra TFT_temp_common_1 ; > 25.5°C, skip here
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2365 movlw .100
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2366 cpfslt lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2367 bra TFT_temp_common_1 ; > 10.0°C, skip here
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2368 bsf leftbind
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2369 output_16dp d'4' ; x.y°C
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2370 bcf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2371 bra TFT_temp_common_3 ; done
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2372 TFT_temp_common_1:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2373 PUTC " " ; NO - write a space instead of the minus sign
552
af84c45429fd BUGFIX: Display of negative (?C) water temperatures
heinrichsweikamp
parents: 551
diff changeset
2374 TFT_temp_common_2:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2375 bsf ignore_digit5 ; ignore decimal (flag will be cleared by output_16)
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2376 output_16_3 ; output 0-999 without decimal -> writes ' ' - 99
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2377 movff buffer+2,lo ; get output from unit position
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2378 movlw " " ; load code of the space character
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2379 cpfseq lo ; is there a space sign on the unit position? (happens between +1 and -1)
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2380 bra TFT_temp_common_3 ; NO
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2381 movff WREG,buffer+0 ; YES - replace potential minus sign with a space (temps from -0.9° to -0.1° else would appear as '- 0')
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2382 movlw "0" ; load code of the zero character
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2383 movff WREG,buffer+2 ; replace space with a zero
552
af84c45429fd BUGFIX: Display of negative (?C) water temperatures
heinrichsweikamp
parents: 551
diff changeset
2384 TFT_temp_common_3:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2385 btfss divemode ; are we in dive mode?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2386 bra TFT_temp_common_5 ; NO - no unit to append
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2387 TSTOSS opt_units ; YES - check unit type: 0=°C, 1=°F
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2388 bra TFT_temp_common_4 ; go metric
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2389 STRCAT_TEXT tLogTunitF ; append °F
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2390 bra TFT_temp_common_5
552
af84c45429fd BUGFIX: Display of negative (?C) water temperatures
heinrichsweikamp
parents: 551
diff changeset
2391 TFT_temp_common_4:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2392 STRCAT_TEXT tLogTunitC ; append °C
552
af84c45429fd BUGFIX: Display of negative (?C) water temperatures
heinrichsweikamp
parents: 551
diff changeset
2393 TFT_temp_common_5:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2394 STRCAT_PRINT "" ; output to screen
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2395 TFT_temp_common_6:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2396 goto TFT_standard_color ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2397
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2398
0
heinrichsweikamp
parents:
diff changeset
2399 ;=============================================================================
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2400
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2401 global TFT_show_menu_cursor_divemode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2402 TFT_show_menu_cursor_divemode:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2403 WIN_BOX_BLACK dm_menu_row+.1, dm_menu_lower-.1, dm_menu_item1_column-.8, dm_menu_item1_column-.1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2404 WIN_BOX_BLACK dm_menu_row+.1, dm_menu_lower-.1, dm_menu_item4_column-.8, dm_menu_item4_column-.1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2405 call TFT_standard_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2406
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2407 movlw dm_menu_item1_column-.8
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2408 btfsc menu_pos_cur,2 ; > 3 ?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2409 movlw dm_menu_item4_column-.8 ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2410 movwf win_leftx2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2411
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2412 movff menu_pos_cur,lo ; copy menu position
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2413 movlw dm_menu_item6_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2414 dcfsnz lo,F
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2415 movlw dm_menu_item1_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2416 dcfsnz lo,F
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2417 movlw dm_menu_item2_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2418 dcfsnz lo,F
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2419 movlw dm_menu_item3_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2420 dcfsnz lo,F
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2421 movlw dm_menu_item4_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2422 dcfsnz lo,F
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2423 movlw dm_menu_item5_row
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2424 movwf win_top
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2425 movlw FT_SMALL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2426 movwf win_font
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2427 STRCPY_PRINT "\xb7" ; print cursor
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2428 return
145
e3ac5b2021bc NEW: Setpoint-Fallback option for external O2 sensor failure
heinrichsweikamp
parents: 139
diff changeset
2429
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2430 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2431
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2432 global TFT_show_active_gas_divemode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2433 TFT_show_active_gas_divemode: ; display gas (OC) or setpoint/ppO2 & gas (CCR, pSCR)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2434 btfsc dive_main_menu ; is the dive mode menu shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2435 return ; YES - abort
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2436 btfsc FLAG_apnoe_mode ; in apnoe mode?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2437 return ; YES - done
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2438 btfsc FLAG_gauge_mode ; in gauge mode?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2439 return ; YES - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2440
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2441 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2442 btfsc FLAG_oc_mode ; in OC mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2443 bra TFT_active_gas ; YES - show OC gas
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2444 ;bra TFT_active_sp ; NO - show setpoint and diluent
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2445
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2446 TFT_active_sp:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2447 btfss bailout_mode ; in bailout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2448 bra TFT_active_sp_loop ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2449 ;bra TFT_active_sp_bailout ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2450
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2451 TFT_active_sp_bailout:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2452 WIN_SMALL dm_active_dil_column, dm_active_dil_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2453 call TFT_attention_color ; - set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2454 STRCPY_TEXT_PRINT tDiveBailout ; - print "Bailout"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2455 bra TFT_active_gas ; - continue showing OC bailout gas
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2456
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2457 TFT_active_sp_loop:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2458 MOVII int_O_breathed_ppO2,mpr ; copy ppO2 [cbar] to hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2459 call TFT_color_code_ppo2 ; color-code the output by the ppO2 of the loop gas mixture
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2460 btfss timebase_1sec ; on even second?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2461 bra TFT_active_sp_print ; YES - print ppO2 with normal rendering
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2462 btfsc sp_fallback ; NO - check if in fallback condition
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2463 bra TFT_active_sp_fallback ; YES - process fallback case
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2464 movff int_O_breathed_ppO2+1,WREG ; NO - get flags again (have been cleared in hi:lo by TFT_color_code_ppo2 meanwhile)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2465 btfss WREG,int_warning_flag ; warning flag set?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2466 bra TFT_active_sp_print ; NO - ppO2 is ok, print ppO2 with normal rendering
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2467 bra TFT_active_sp_invers ; YES - print with inverse rendering
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2468 TFT_active_sp_fallback: ; set up fallback case
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2469 call TFT_attention_color ; set color to yellow
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2470 TFT_active_sp_invers: ; blinking common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2471 bsf win_invert ; print in inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2472 TFT_active_sp_print: ; set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2473 WIN_MEDIUM dm_active_gas_sp_value_col, dm_active_gas_sp_value_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2474 bsf leftbind ; print left-aligned
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2475 output_16dp .3 ; print ppO2 as x.xx
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2476 bcf leftbind ; back to right alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2477 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2478 bcf win_invert ; end inverse printing
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2479
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2480 btfsc sign_shown ; advice/attention/warning sign shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2481 bra TFT_active_diluent ; YES - skip display of "bar" and loop mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2482
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2483 btfsc velocity_active_vsi ; graphical vertical speed indicator shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2484 bra TFT_active_diluent ; YES - skip display of "bar" and loop mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2485
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2486 TFT_active_sp_label:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2487 WIN_STD dm_active_sp_label_col, dm_active_sp_label_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2488 call TFT_memo_color ; select memo color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2489 STRCAT "bar" ; print "bar"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2490 IFDEF _external_sensor
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2491 movff opt_ccr_mode,WREG ; get setpoint mode =0: Fixed SP, =1: Sensor, =2: Auto SP
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2492 sublw .1 ; opt_ccr_mode = 1 (Sensor) ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2493 bnz TFT_active_sp_label_1 ; NO - skip
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2494 btfsc alt_layout_active ; YES - in alternative layout?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2495 bra TFT_active_sp_label_1 ; YES - no space available for the "*"
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
2496 PUTC "*" ; NO - add "*"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2497 TFT_active_sp_label_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2498 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2499 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2500
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2501 TFT_active_loop_mode:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2502 WIN_TINY dm_active_sp_label_col, dm_active_dil_row+.3
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2503 call TFT_memo_color ; set memo color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2504 btfsc FLAG_ccr_mode ; in CCR mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2505 bra TFT_active_loop_mode_ccr ; YES - print CCR label
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2506 btfsc FLAG_pscr_mode ; in pSCR mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2507 bra TFT_active_loop_mode_pscr ; YES - print pSCR label
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2508 bra TFT_active_diluent ; NO to both - should not happen
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2509 TFT_active_loop_mode_ccr:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2510 STRCPY_TEXT_PRINT tDvCCR ; print "CCR"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2511 bra TFT_active_diluent ; continue with diluent
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2512 TFT_active_loop_mode_pscr:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2513 STRCPY_TEXT_PRINT tDvPSCR ; print "pSCR"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2514 ;bra TFT_active_diluent ; continue with diluent
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2515
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2516 TFT_active_diluent:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2517 MOVII int_O_pure_ppO2,mpr ; get ppO2 [cbar] into hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2518 call TFT_color_code_ppo2 ; color-code the output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2519 btfss better_dil_available ; better diluent available?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2520 bra TFT_active_diluent_show ; NO - print in normal rendering
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2521 btg better_dil_blinking ; YES - toggle blink bit...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2522 btfss better_dil_blinking ; blink now?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2523 bra TFT_active_diluent_show ; NO - print in normal rendering
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2524 call TFT_attention_color ; YES - print in yellow color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2525 bsf win_invert ; - print in inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2526 TFT_active_diluent_show:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
2527 WIN_SMALL dm_active_dil_column, dm_active_dil_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2528 bra TFT_active_dil_gas_common ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2529 ENDIF ; _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2530
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2531 TFT_active_gas:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2532 MOVII int_O_breathed_ppO2,mpr ; copy ppO2 [cbar] into hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2533 call TFT_color_code_ppo2 ; color-code the output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2534 btfss better_gas_available ; better gas available?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2535 bra TFT_active_gas_print ; NO - print in normal rendering
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2536 btg better_gas_blinking ; YES - toggle blink bit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2537 btfss better_gas_blinking ; blink now?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2538 bra TFT_active_gas_print ; NO - print in normal rendering
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2539 call TFT_attention_color ; YES - blink in yellow
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2540 bsf win_invert ; print in inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2541 TFT_active_gas_print:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2542 WIN_STD dm_active_gas_sp_value_col, dm_active_sp_label_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2543 TFT_active_dil_gas_common:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2544 movff char_I_O2_ratio,lo ; lo now stores O2 in %
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2545 IFDEF _helium
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2546 movff char_I_He_ratio,hi ; hi now stores He in %
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2547 ELSE
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2548 clrf hi ; set hi to zero (no He)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2549 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2550 call gaslist_show_mix ; print "Nxlo", "Txlo/hi", "Air" or "O2"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2551 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2552 bcf win_invert ; end inverse printing
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2553 goto TFT_standard_color ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2554
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2555 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2556
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2557 global TFT_decotype_surface
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2558 TFT_decotype_surface:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2559 WIN_STD surf_decotype_column,surf_decotype_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2560 WIN_COLOR color_lightblue
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2561 movff opt_dive_mode,lo ; 0=OC, 1=CCR, 2=Gauge, 3=Apnoe, 4=pSCR
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2562 tstfsz lo ; in OC mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2563 bra TFT_decotype_surface_2 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2564 TFT_decotype_surface_1:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2565 STRCAT_TEXT_PRINT tDvOC ; OC
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2566 bra TFT_display_decotype_exit
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2567 TFT_decotype_surface_2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2568 decfsz lo,F ; in CCR mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2569 bra TFT_decotype_surface_3 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2570 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2571 STRCAT_TEXT_PRINT tDvCC ; YES
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2572 call TFT_standard_color
113
heinrichsweikamp
parents: 106
diff changeset
2573 WIN_TINY surf_decotype_column+.18,surf_decotype_row+.12
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2574 TSTOSS opt_ccr_mode ; > 0, i.e. not Fixed SP ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2575 bra TFT_display_decotype_cc_fixed ; NO - fixed then
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2576 IFDEF _external_sensor
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2577 ; Sensor or Auto SP mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2578 movff opt_ccr_mode,WREG ; =0: Fixed SP, =1: Sensor, =2: Auto SP
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2579 sublw .2 ; mode = Auto SP ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2580 bz TFT_display_decotype_cc_auto ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2581 STRCPY_TEXT tCCRModeSensor ; NO - Sensor
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2582 bra TFT_display_decotype_cc_common ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2583 ENDIF ; _external_sensor
337
508d7fb98b34 cleanup menu, add "Auto SP" option (Not working yet), minor layout change in compass menu
heinrichsweikamp
parents: 333
diff changeset
2584 TFT_display_decotype_cc_auto:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2585 STRCPY_TEXT tCCRModeAutoSP ; Auto SP
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2586 bra TFT_display_decotype_cc_common
113
heinrichsweikamp
parents: 106
diff changeset
2587 TFT_display_decotype_cc_fixed:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2588 STRCPY_TEXT tCCRModeFixedSP ; fixed SP
113
heinrichsweikamp
parents: 106
diff changeset
2589 TFT_display_decotype_cc_common:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2590 clrf WREG
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2591 movff WREG,buffer+.8 ; limit string length to 8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2592 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2593 bra TFT_display_decotype_exit
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2594 ENDIF ; _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2595 TFT_decotype_surface_3:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2596 decfsz lo,F ; in gauge mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2597 bra TFT_decotype_surface_4 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2598 TFT_decotype_surface_3_1: ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2599 STRCAT_TEXT_PRINT tDvGauge
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2600 bra TFT_display_decotype_exit
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2601 TFT_decotype_surface_4:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2602 decfsz lo,F ; in apnea mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2603 bra TFT_decotype_surface_5 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2604 TFT_decotype_surface_4_1: ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2605 STRCAT_TEXT_PRINT tDvApnea
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2606 bra TFT_display_decotype_exit
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2607 TFT_decotype_surface_5:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2608 STRCAT_TEXT_PRINT tDvPSCR ; last but not least: must be pSCR then
0
heinrichsweikamp
parents:
diff changeset
2609 TFT_display_decotype_exit:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2610 goto TFT_standard_color ; and return...
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2611
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2612
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2613 global TFT_decotype_logbook
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2614 TFT_decotype_logbook: ; used from logbook and from deco calculator (simulator.asm)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2615 bsf aux_flag ; default to dive with deco calculation
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2616 tstfsz lo ; lo holds 0=OC, 1=CCR, 2=Gauge, 3=Apnea, 4=pSCR, in OC mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2617 bra TFT_decotype_logbook_1_2 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2618 bra TFT_decotype_surface_1 ; YES - OC
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2619 TFT_decotype_logbook_1_2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2620 decfsz lo,F ; in CCR mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2621 bra TFT_decotype_logbook_1_3 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2622 STRCAT_TEXT_PRINT tDvCC ; YES - print "CCR"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2623 bra TFT_display_decotype_exit ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2624 TFT_decotype_logbook_1_3:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2625 decfsz lo,F ; in gauge mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2626 bra TFT_decotype_logbook_1_4 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2627 bcf aux_flag ; YES - dive without deco data
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2628 bra TFT_decotype_surface_3_1 ; - gauge
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2629 TFT_decotype_logbook_1_4:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2630 decfsz lo,F ; in apnea mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2631 bra TFT_decotype_logbook_1_5 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2632 bcf aux_flag ; YES - dive without deco data
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2633 bra TFT_decotype_surface_4_1 ; - apnea
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2634 TFT_decotype_logbook_1_5:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2635 bra TFT_decotype_surface_5 ; last but not least: must be pSCR then
116
737d6f488729 show decomode in logbook and simulator w/o sensor type
heinrichsweikamp
parents: 113
diff changeset
2636
0
heinrichsweikamp
parents:
diff changeset
2637 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2638
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2639 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2640
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2641 global TFT_splist_surfmode ; show setpoint list
0
heinrichsweikamp
parents:
diff changeset
2642 TFT_splist_surfmode:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2643 bsf short_gas_descriptions ; use short versions of gaslist_strcat_gas_cd and gaslist_strcat_setpoint
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2644 bcf better_gas_hint ; do not mark the best gas/diluent (to be used in dive mode only)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2645 ;SP 1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2646 WIN_SMALL surf_gaslist_column,surf_gaslist_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2647 clrf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2648 call gaslist_strcat_setpoint ; show SP#+1 of PRODL#
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2649 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2650 ;SP 2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2651 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2652 movlw .1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2653 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2654 call gaslist_strcat_setpoint ; show SP#+1 of PRODL#
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2655 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2656 ;SP 3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2657 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2658 movlw .2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2659 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2660 call gaslist_strcat_setpoint ; show SP#+1 of PRODL#
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2661 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2662 ;SP 4
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2663 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2664 movlw .3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2665 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2666 call gaslist_strcat_setpoint ; show SP#+1 of PRODL#
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2667 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2668 ;SP 5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2669 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2670 movlw .4
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2671 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2672 call gaslist_strcat_setpoint ; show SP#+1 of PRODL#
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2673 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2674 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2675 return
0
heinrichsweikamp
parents:
diff changeset
2676
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2677 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2678
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2679 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2680
0
heinrichsweikamp
parents:
diff changeset
2681 global TFT_gaslist_surfmode
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2682 TFT_gaslist_surfmode: ; displays gas list
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2683 bsf short_gas_descriptions ; use short versions of gaslist_strcat_gas_cd and gaslist_strcat_setpoint
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2684 bcf better_gas_hint ; do not mark the best gas/diluent (to be used in dive mode only)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2685 ;Gas 1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2686 WIN_SMALL surf_gaslist_column,surf_gaslist_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2687 clrf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2688 call gaslist_strcat_gas_cd ; append gas description of gas #PRODL (0-4) to current string
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2689 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2690 ;Gas 2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2691 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2692 movlw .1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2693 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2694 call gaslist_strcat_gas_cd ; append gas description of gas #PRODL (0-4) to current string
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2695 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2696 ;Gas 3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2697 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2698 movlw .2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2699 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2700 call gaslist_strcat_gas_cd ; append gas description of gas #PRODL (0-4) to current string
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2701 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2702 ;Gas 4
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2703 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2704 movlw .3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2705 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2706 call gaslist_strcat_gas_cd ; append gas description of gas #PRODL (0-4) to current string
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2707 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2708 ;Gas 5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2709 WIN_SMALL surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.4)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2710 movlw .4
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2711 movwf PRODL
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2712 call gaslist_strcat_gas_cd ; append gas description of gas #PRODL (0-4) to current string
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2713 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2714 bcf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2715 bcf win_invert ; clear flag for inverted output
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2716 return
0
heinrichsweikamp
parents:
diff changeset
2717
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2718 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2719
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2720 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2721
0
heinrichsweikamp
parents:
diff changeset
2722 global TFT_dillist_surfmode
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2723 TFT_dillist_surfmode: ; displays diluent list
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2724 bsf is_diluent_menu ; enable using diluents
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2725 rcall TFT_gaslist_surfmode ; use OC gas routine
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2726 bcf is_diluent_menu ; disable using diluents
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2727 return
0
heinrichsweikamp
parents:
diff changeset
2728
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2729 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2730
300
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2731 ;==================================================================
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2732
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2733 global TFT_show_depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2734 TFT_show_depth:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2735 MOVII pressure_rel_cur_cached,mpr ; copy relative pressure to MPR
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2736 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2737 call TFT_color_code_depth ; set warning / attention flags and color-code the output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2738 rcall TFT_depth_blink ; control animation (blinking)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2739 rcall TFT_depth_position_m_ft ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2740
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2741 TSTOSS opt_units ; 0=m, 1=ft ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2742 bra TFT_depth_metric ; 0 - metric
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2743 ;bra TFT_depth_imperial ; 1 - imperial
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2744
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2745 TFT_depth_imperial:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2746 MOVLI .30,sub_a ; display 0 ft if shallower than 30 cm
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2747 MOVII mpr,sub_b
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2748 call cmpU16 ; compare (sub_a - sub_b)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2749 btfss neg_flag ; depth shallower than 30 cm ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2750 bra depth_0_feet ; YES - print a zero directly
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2751 call convert_cm_to_feet ; NO - convert value in hi:lo from [cm] to [feet]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2752 output_16_3 ; - feet in large or huge font
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2753 STRCAT_PRINT "" ; - finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2754 TFT_depth_imperial_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2755 bcf win_invert ; - reset invert flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2756 bra TFT_depth_exit ; - show target depth if in simulator mode and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2757
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2758 depth_0_feet:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2759 STRCAT_PRINT " 0" ; print a zero directly
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2760 bra TFT_depth_imperial_1 ; continue with common part
0
heinrichsweikamp
parents:
diff changeset
2761
heinrichsweikamp
parents:
diff changeset
2762 TFT_depth_metric:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2763 ; full meters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2764 MOVLI .9999,sub_a ; 9999 mbar = 99.99 m
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2765 MOVII mpr, sub_b ; current depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2766 call cmpU16 ; compare (sub_a - sub_b)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2767 btfsc neg_flag ; current depth < 100 meter ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2768 bra TFT_depth_metric_100m ; NO - current depth >= 100 meter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2769
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2770 btfsc cur_depth_greater_100m ; was the current depth >= 100 meter during last call?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2771 rcall TFT_depth_box_black ; YES - clear depth area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2772 bcf cur_depth_greater_100m ; current depth is now < 100 meter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2773
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2774 MOVLI .999,sub_a ; 999 mbar = 9.99 meter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2775 MOVII mpr, sub_b ; current depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2776 call cmpU16 ; compare (sub_a - sub_b)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2777 movlw ' ' ; load coding of a space char
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2778 btfss neg_flag ; current depth < 10 meter ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2779 movwf POSTINC2 ; YES - print a leading space char
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2780
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2781 MOVLI .99,sub_a ; 99 mbar = 99 cm
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2782 MOVII mpr,sub_b ; current depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2783 call cmpU16 ; compare (sub_a - sub_b)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2784 btfss neg_flag ; current depth < 1 meter ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2785 bra TFT_depth_metric_0m ; YES - (1)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2786 bsf ignore_digit4 ; NO - show depth in full meters, i.e. ignore digits 4 and 5
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2787 bsf leftbind ; - print left-aligned
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2788 output_16 ; - print depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2789 bcf leftbind ; - reset alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2790 bra TFT_depth_metric_com ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2791 TFT_depth_metric_0m:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2792 STRCAT "0" ; (1) - print a zero directly
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2793 TFT_depth_metric_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2794 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2795
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2796 ; decimeters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2797 rcall TFT_depth_position_dm ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2798 PUTC "." ; print a decimal point
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2799 MOVLI .30,sub_a ; 30 mbar = 0.3 meter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2800 MOVII mpr,sub_b ; current depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2801 call cmpU16 ; compare (sub_a - sub_b)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2802 btfss neg_flag ; current depth < 0.3 meter ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2803 bra depth_0_decimeter ; YES - (2)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2804 movlw d'4' ; NO - omit leading digits holding the meters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2805 movwf ignore_digits ; - ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2806 bsf ignore_digit5 ; - omit last digit holding the centimeters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2807 output_16dp d'0' ; - print decimeters only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2808 STRCAT_PRINT "" ; - finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2809 bcf win_invert ; - reset invert flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2810 bra TFT_depth_exit ; - show target depth if in simulator mode and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2811 depth_0_decimeter:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2812 STRCAT_PRINT "0" ; (2) - print a zero directly and finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2813 bcf win_invert ; - reset invert flag
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2814 bra TFT_depth_exit ; - show target depth if in simulator mode and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2815
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2816 TFT_depth_metric_100m: ; show full meters only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2817 btfss cur_depth_greater_100m ; was the current depth >= 100 meter during last call?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2818 rcall TFT_depth_box_black ; NO - clear depth area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2819 bsf cur_depth_greater_100m ; depth is >= 100 meter now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2820 bsf ignore_digit4 ; show depth in full meters, i.e. ignore digits 4 and 5
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2821 bsf leftbind ; print left-aligned
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2822 output_16 ; print depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2823 bcf leftbind ; reset alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2824 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2825 bcf win_invert ; reset invert flag
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2826 bra TFT_depth_exit ; show target depth if in simulator mode and return
0
heinrichsweikamp
parents:
diff changeset
2827
300
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2828 TFT_depth_blink:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
2829 TSTOSS opt_depth_warn ; 0=standard, 1=blink
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2830 return ; standard, done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2831 btfsc depth_warn_att_last ; was there a warning or attention on the depth in the previous cycle?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2832 bra TFT_depth_blink_prev ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2833 btfsc depth_warning ; NO - do we have a depth warning now?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2834 bra TFT_depth_blink_new ; YES - so we have a warning now but not previously
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2835 btfsc depth_attention ; NO - do we have a depth attention now?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2836 bra TFT_depth_blink_new ; YES - so we have attention now but not previously
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2837 bra TFT_depth_blink_none ; NO - no warning in previous cycle, no warning now, reset all flags
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2838
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2839 TFT_depth_blink_prev:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2840 ; we had a warning or attention in previous cycle, check if we still have a warning or attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2841 btfsc depth_warning ; do we still have a warning?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2842 bra TFT_depth_blink_prev_1 ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2843 btfsc depth_attention ; NO - do we still have an attention?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2844 bra TFT_depth_blink_prev_1 ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2845 ; we had a warning or attention before, but not now any more - clear depth area from previous color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2846 rcall TFT_depth_box_black ; NO - clear depth area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2847 ;bra TFT_depth_blink_none ; - reset all flags
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2848
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2849 TFT_depth_blink_none:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2850 bcf win_invert ; print non-inverted
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2851 bcf depth_inverse_last ; memorize depth was printed in normal
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2852 bcf depth_warn_att_last ; memorize there was no warning or attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2853 goto TFT_memo_color ; select memo color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2854
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2855 TFT_depth_blink_prev_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2856 ; we had a warning or attention in previous cycle, and we still have a warning or attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2857 btfss depth_inverse_last ; was the depth printed in inverse last time?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2858 bra TFT_depth_blink_set ; NO - print in inverse now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2859 bra TFT_depth_blink_reset ; YES - print in normal now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2860
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2861 TFT_depth_blink_new:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2862 ; we had no warning or attention in previous cycle, but now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2863 bsf depth_warn_att_last ; memorize that the depth had a warning or attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2864 ;bra TFT_depth_blink_set ; start with inverse display
300
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2865
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2866 TFT_depth_blink_set:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2867 ; fill the area with respective color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2868 call TFT_attention_color_dive ; select attention color as default
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2869 btfsc depth_warning ; do we have a warning?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2870 call TFT_warnings_color_dive ; YES - replace with warning color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2871 rcall TFT_depth_box_color ; color depth area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2872 bsf win_invert ; print in inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2873 bsf depth_inverse_last ; memorize depth was printed in inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2874 return ; done
300
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2875
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2876 TFT_depth_blink_reset:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2877 ; fill the area with black color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2878 rcall TFT_depth_box_black ; clear depth area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2879 bcf win_invert ; print non-inverted
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2880 bcf depth_inverse_last ; memorize depth was printed in normal
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2881 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2882
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2883
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2884 TFT_depth_position_m_ft:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2885 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2886 bra TFT_depth_position_m_ft_alt ; YES - (1)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2887 WIN_LARGE dm_depth_col_large,dm_depth_row_large ; NO - normal layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2888 return ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2889 TFT_depth_position_m_ft_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2890 WIN_HUGE dm_depth_col_huge, dm_depth_row_huge ; (1) - alternative layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2891 return ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2892
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2893 TFT_depth_position_dm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2894 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2895 bra TFT_depth_position_dm_alt ; YES - (1)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2896 WIN_MEDIUM dm_depth_dm_col_medium, dm_depth_dm_row_medium ; NO - normal layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2897 return ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2898 TFT_depth_position_dm_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2899 WIN_LARGE dm_depth_dm_col_large, dm_depth_dm_row_large ; (1) - alternative layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2900 return ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2901
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2902 TFT_depth_box_black:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2903 clrf WREG ; select black color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2904 TFT_depth_box_color:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2905 movff win_color1,mpr+2 ; backup output color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2906 movff win_color2,mpr+3 ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2907 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2908 bra TFT_depth_box_alt ; YES - (1)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2909 WIN_BOX_COLOR dm_depth_row_large,dm_depth_bot_large,dm_depth_col_large,dm_depth_rgt_large ; NO - top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2910 bra TFT_depth_box_exit ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2911 TFT_depth_box_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2912 WIN_BOX_COLOR dm_mask_depth_row, dm_depth_bot_huge, dm_depth_col_huge, dm_depth_rgt_huge ; (1) - full meters area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2913 TFT_depth_box_exit:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2914 movff mpr+2,win_color1 ; restore output color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2915 movff mpr+3,win_color2 ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2916 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2917
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2918 TFT_depth_exit:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2919 btfss alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2920 bra TFT_depth_exit_1 ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2921 btfsc depth_inverse_last ; YES - was last output in inverse mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2922 bra TFT_depth_exit_1 ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2923 call TFT_divemask_color ; NO - set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2924 WIN_TINY dm_mask_depth_column_alt,dm_mask_depth_row ; - set position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2925 STRCAT_TEXT_PRINT tDepth ; - restore "Depth" title
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2926 TFT_depth_exit_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2927 btfss sensor_override_active ; pressure sensor override active (simulator mode)?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2928 goto TFT_standard_color ; NO - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2929 ;bra TFT_depth_target ; YES - show target depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2930
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2931 TFT_depth_target: ; show simulated target depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2932 call TFT_attention_color ; select attention color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2933 TSTOSS opt_units ; check unit selection (0=m or 1=ft)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2934 bra TFT_depth_target_metric ; 0 - metric
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2935 ;bra TFT_depth_target_imperial ; 1 - imperial
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2936
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2937 TFT_depth_target_imperial:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2938 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2939 bra TFT_depth_target_imperial_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2940 ;bra TFT_depth_target_imperial_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2941
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2942 TFT_depth_target_imperial_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2943 WIN_TINY dm_mask_depth_column+.40,dm_mask_depth_row ; position right of depth label
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2944 bra TFT_depth_target_imperial_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2945
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2946 TFT_depth_target_imperial_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2947 WIN_TINY dm_mask_depth_column+.62,dm_mask_depth_row+.20 ; position within last digit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2948 ;bra TFT_depth_target_imperial_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2949
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2950 TFT_depth_target_imperial_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2951 movff simulatormode_depth,lo ; copy target depth to lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2952 call convert_meter_to_feet ; convert value in lo from meters to feet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2953 output_16_3 ; display only last three digits from a 16 bit value (0-999)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2954 STRCAT_PRINT "ft" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2955 goto TFT_standard_color ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2956
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2957 TFT_depth_target_metric:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2958 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2959 bra TFT_depth_target_metric_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2960 ;bra TFT_depth_target_metric_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2961
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2962 TFT_depth_target_metric_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2963 WIN_TINY dm_mask_depth_column+.38,dm_mask_depth_row+.22 ; position right of full meters, above decimal
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2964 bra TFT_depth_target_metric_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2965
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2966 TFT_depth_target_metric_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2967 WIN_TINY dm_mask_depth_column+.65,dm_mask_depth_row+.20 ; position right of full meters, above decimal
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2968 ;bra TFT_depth_target_metric_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2969
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2970 TFT_depth_target_metric_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2971 movff simulatormode_depth,lo ; copy target depth to lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2972 output_8 ; display number
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2973 STRCAT_PRINT "m" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
2974 goto TFT_standard_color ; done
300
5ad479f2a868 Merged Screen layout mod #1 into Screen layout work #3
Janos Kovacs <kovjanos@gmail.com>
parents: 275
diff changeset
2975
0
heinrichsweikamp
parents:
diff changeset
2976 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2977
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
2978 global TFT_custom_text
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2979 TFT_custom_text: ; show the custom text
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2980 lfsr FSR0, opt_name ; source
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2981 WIN_SMALL surf_customtext_column,surf_customtext_row1 ; 1st row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2982 rcall TFT_custom_text_2 ; show up to 12 chars and print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2983 incfsz lo,F ; was lo=255?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2984 return ; NO - all done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2985 lfsr FSR0, opt_name+.12 ; source
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2986 WIN_SMALL surf_customtext_column,surf_customtext_row2 ; 2nd row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2987 rcall TFT_custom_text_2 ; show up to 12 chars and print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2988 incfsz lo,F ; was lo=255?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2989 return ; NO - all done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2990 lfsr FSR0, opt_name+.24 ; source
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2991 WIN_SMALL surf_customtext_column,surf_customtext_row3 ; 3rd row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2992 rcall TFT_custom_text_2 ; show up to 12 chars and print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2993 incfsz lo,F ; was lo=255?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2994 return ; NO - all done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2995 lfsr FSR0, opt_name+.36 ; source
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2996 WIN_SMALL surf_customtext_column,surf_customtext_row4 ; 4th row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2997 rcall TFT_custom_text_2 ; show up to 12 chars and print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2998 incfsz lo,F ; was lo=255?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
2999 return ; NO - all done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3000 lfsr FSR0, opt_name+.48 ; source
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3001 WIN_SMALL surf_customtext_column,surf_customtext_row5 ; 5th row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3002 ;bra TFT_custom_text_2 ; show up to 12 chars, print and return...
0
heinrichsweikamp
parents:
diff changeset
3003
heinrichsweikamp
parents:
diff changeset
3004 TFT_custom_text_2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3005 lfsr FSR2, buffer ; destination
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3006 movlw .12
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3007 movwf lo ; length/line
0
heinrichsweikamp
parents:
diff changeset
3008 TFT_custom_text_3:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3009 movf POSTINC0,W ; get byte
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3010 bz TFT_custom_text_4 ; end if NULL
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3011 movwf POSTINC2 ; NO - copy
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3012 decfsz lo,F ; max length reached ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3013 bra TFT_custom_text_3 ; NO - loop
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3014 setf lo ; lo=255 -> more to come
0
heinrichsweikamp
parents:
diff changeset
3015 TFT_custom_text_4:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3016 clrf POSTINC2 ; mark end of string
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3017 goto aa_wordprocessor ; print and return
0
heinrichsweikamp
parents:
diff changeset
3018
heinrichsweikamp
parents:
diff changeset
3019
heinrichsweikamp
parents:
diff changeset
3020 ;=============================================================================
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3021
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3022 global TFT_pres_surfmode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3023 TFT_pres_surfmode:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3024 WIN_SMALL surf_press_column+.8,surf_press_row
0
heinrichsweikamp
parents:
diff changeset
3025 call TFT_standard_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3026 SMOVII pressure_abs, sub_a ; make ISR-safe 2 byte copy of current absolute pressure to sub_a
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3027 MOVII pressure_abs_ref,sub_b ; copy absolute pressure from 30 minutes ago to sub_b
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3028 MOVII sub_a,mpr ; store current pressure also in hi:lo for output
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3029 call subU16 ; sub_c = sub_a - sub_b
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3030 btfsc neg_flag ; pressure lower?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3031 rcall update_surf_press2 ; YES - swap arguments
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3032 tstfsz sub_c+1 ; > 255 mbar difference?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3033 bra update_surf_press_common ; YES - display
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3034 movlw .11 ; 10 mbar noise suppression margin
0
heinrichsweikamp
parents:
diff changeset
3035 subwf sub_c+0,W
heinrichsweikamp
parents:
diff changeset
3036 btfsc STATUS,C
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3037 bra update_surf_press_common ; YES - display
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3038 MOVII pressure_abs_ref,mpr ; NO - overwrite with stable value
0
heinrichsweikamp
parents:
diff changeset
3039 update_surf_press_common:
heinrichsweikamp
parents:
diff changeset
3040 output_16
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3041 ; Show only 4 digits
0
heinrichsweikamp
parents:
diff changeset
3042 movff buffer+1,buffer+0
heinrichsweikamp
parents:
diff changeset
3043 movff buffer+2,buffer+1
heinrichsweikamp
parents:
diff changeset
3044 movff buffer+3,buffer+2
heinrichsweikamp
parents:
diff changeset
3045 movff buffer+4,buffer+3
heinrichsweikamp
parents:
diff changeset
3046 movlw 0x00
heinrichsweikamp
parents:
diff changeset
3047 movff WREG,buffer+4
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3048 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3049 call TFT_divemask_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3050 WIN_SMALL surf_press_column+(4+1)*8,surf_press_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3051 STRCPY_TEXT_PRINT tMBAR ; mbar (hPa)
0
heinrichsweikamp
parents:
diff changeset
3052 return
heinrichsweikamp
parents:
diff changeset
3053
heinrichsweikamp
parents:
diff changeset
3054 update_surf_press2:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3055 MOVII sub_a,sub_b
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3056 MOVII pressure_abs_ref,sub_a
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3057 goto subU16 ; sub_c = sub_a - sub_b and return...
0
heinrichsweikamp
parents:
diff changeset
3058
heinrichsweikamp
parents:
diff changeset
3059 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
3060
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3061 global TFT_batt_surfmode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3062 TFT_batt_surfmode:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3063 ; color-code according to battery percent
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3064 movff batt_percent,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3065 clrf hi
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3066 call TFT_color_code_battery
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3067
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3068 ; set up charging indicator and temperature warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3069 clrf WREG ; default to no indication/warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3070 btfsc cc_active ; charging in CC mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3071 movlw color_yellow ; YES - set output color to yellow
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3072 btfsc cv_active ; charging in CV mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3073 movlw color_green ; YES - set output color to green
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3074 btfsc battery_overtemp ; battery over-temperature detector tripped?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3075 movlw color_red ; YES - set output color to red
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3076 tstfsz WREG ; any indicator or warning active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3077 bsf win_invert ; YES - set output to inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3078 tstfsz WREG ; any indicator or warning active (asked again)?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3079 call TFT_set_color ; YES - set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3080
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3081 WIN_SMALL batt_percent_column+.2,batt_percent_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3082 output_16_3 ; display only last three digits from a 16 bit value (0-999)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3083 STRCAT_PRINT "% "
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3084 bcf win_invert
0
heinrichsweikamp
parents:
diff changeset
3085 call TFT_standard_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3086 WIN_TINY batt_voltage_column+.15,batt_voltage_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3087 movff battery_type,lo ; =0: 1.5V, =1: 3.6V Saft, =2: LiIon 3.7V/0.8Ah, =3: LiIon 3.7V/3.1Ah, =4: LiIon 3.7V/2.3Ah
477
44b8a826b314 NEW: Show battery type in surface mode next to battery voltage
heinrichsweikamp
parents: 475
diff changeset
3088 PUTC "T"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3089 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3090 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3091 PUTC ":"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3092 MOVII batt_voltage,mpr
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3093 output_16dp .2 ; print as -x.yyy
0
heinrichsweikamp
parents:
diff changeset
3094 bcf leftbind
heinrichsweikamp
parents:
diff changeset
3095 PUTC 'V'
477
44b8a826b314 NEW: Show battery type in surface mode next to battery voltage
heinrichsweikamp
parents: 475
diff changeset
3096 movff buffer+8,buffer+6
0
heinrichsweikamp
parents:
diff changeset
3097 movlw 0x00
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3098 movff WREG,buffer+7 ; only "x.yV"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3099 STRCAT_PRINT ""
0
heinrichsweikamp
parents:
diff changeset
3100 return
heinrichsweikamp
parents:
diff changeset
3101
heinrichsweikamp
parents:
diff changeset
3102 ;update_battery_debug:
heinrichsweikamp
parents:
diff changeset
3103 ; call TFT_standard_color
heinrichsweikamp
parents:
diff changeset
3104 ; WIN_TINY .70,.0
heinrichsweikamp
parents:
diff changeset
3105 ; movff battery_gauge+5,xC+3
heinrichsweikamp
parents:
diff changeset
3106 ; movff battery_gauge+4,xC+2
heinrichsweikamp
parents:
diff changeset
3107 ; movff battery_gauge+3,xC+1
heinrichsweikamp
parents:
diff changeset
3108 ; movff battery_gauge+2,xC+0
heinrichsweikamp
parents:
diff changeset
3109 ; ; battery_gauge:6 is nAs
heinrichsweikamp
parents:
diff changeset
3110 ; ; devide through 65536
heinrichsweikamp
parents:
diff changeset
3111 ; ; devide through 152
heinrichsweikamp
parents:
diff changeset
3112 ; ; Result is 0.01Ah in xC+1:xC+0
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3113 ; MOVLI .152,xB
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3114 ; call div32x16 ; xC:4 = xC:4 / xB:2 with xA as remainder
0
heinrichsweikamp
parents:
diff changeset
3115 ; bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3116 ; MOVII xC,mpr
0
heinrichsweikamp
parents:
diff changeset
3117 ; output_16
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3118 ; STRCAT_PRINT "x.01Ah"
0
heinrichsweikamp
parents:
diff changeset
3119 ; bcf leftbind
heinrichsweikamp
parents:
diff changeset
3120 ; return
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3121
0
heinrichsweikamp
parents:
diff changeset
3122 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
3123
heinrichsweikamp
parents:
diff changeset
3124 global TFT_convert_signed_16bit
heinrichsweikamp
parents:
diff changeset
3125 TFT_convert_signed_16bit:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3126 bcf neg_flag ; clear flag for negative number by default
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3127 btfss hi,7 ; negative number?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3128 return ; NO - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3129 ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3130 bsf neg_flag ; set flag for negative number
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3131 PUTC '-' ; display a minus sign ("-")
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3132 comf hi ; complement hi:lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3133 negf lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3134 btfsc STATUS,C
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3135 incf hi
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3136 return ; done
0
heinrichsweikamp
parents:
diff changeset
3137
heinrichsweikamp
parents:
diff changeset
3138 ;=============================================================================
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3139 ; input: lo year
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3140 ; hi month
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3141 ; up day
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3142 ;
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3143 ; output format by option opt_dateformat:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3144 ; 0: MMDDYY
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3145 ; 1: DDMMYY
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3146 ; 2: YYMMDD
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3147 ;
0
heinrichsweikamp
parents:
diff changeset
3148 global TFT_convert_date
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3149 TFT_convert_date: ; convert into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in output buffer
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3150 movff opt_dateformat,EEDATA ; get format (EEDATA used as temp here)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3151 tstfsz EEDATA ; shall use format 0 ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3152 bra TFT_convert_date_1 ; NO - check for format 1 or 2
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3153 ; YES - use format 0: MMDDYY
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3154 movff lo,hy ; - backup year to hy
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3155 movff hi,lo ; - copy month to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3156 movff up,hi ; - copy day to hi
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3157 movff hy,up ; - copy year to up
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3158 bra TFT_convert_date_common ; - start output
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3159 TFT_convert_date_1:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3160 decfsz EEDATA,F ; shall use format 1 ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3161 bra TFT_convert_date_common ; NO - use format 2: YYMMDD - can print directly
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3162 ; YES - use format 1: DDMMYY
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3163 movff lo,hy ; - backup year to hy
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3164 movff up,lo ; - copy day to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3165 movff hy,up ; - copy year to up
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3166
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3167 TFT_convert_date_common:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3168 bsf leftbind ; start left-alignment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3169 output_99x ; print lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3170 PUTC '.' ; print spacing dot
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3171 movff hi,lo ; print hi
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3172 output_99x ; ...
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3173 PUTC '.' ; print spacing dot
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3174 movff up,lo ; print up
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3175 output_99x ; ...
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3176 bcf leftbind ; end left-alignment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3177 return ; done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3178
0
heinrichsweikamp
parents:
diff changeset
3179
heinrichsweikamp
parents:
diff changeset
3180 ;=============================================================================
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3181 ; show date by month & day
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3182 ;
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3183 ; input: lo year (not used here)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3184 ; hi month
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3185 ; up day
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3186 ;
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3187 ; output format by option opt_dateformat:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3188 ; 0: MMDD(YY)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3189 ; 1: DDMM(YY)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3190 ; 2: (YY)MMDD
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3191 ;
0
heinrichsweikamp
parents:
diff changeset
3192 global TFT_convert_date_short
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3193 TFT_convert_date_short: ; convert into "DD/MM" or "MM/DD" or "MM/DD" into output buffer
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3194 movff opt_dateformat,EEDATA ; get format (EEDATA used as temp here)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3195 tstfsz EEDATA ; shall use format 0 ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3196 bra TFT_convert_date_short2 ; NO - check for format 1 or 2
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3197 TFT_convert_date_short1: ; YES - use format 0: MMDD
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3198 movff hi,lo ; - copy month to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3199 movff up,hi ; - copy day to hi
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3200 bra TFT_convert_date_short3 ; - start output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3201 TFT_convert_date_short2:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3202 decfsz EEDATA,F ; format 1 ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3203 bra TFT_convert_date_short1 ; NO - use format 2: MMDD (here its like format 0)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3204 ; YES - use format 1: DDMM
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3205 movff up,lo ; - copy day to lo,
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3206 ; - month is already in hi
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3207 TFT_convert_date_short3:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3208 bsf leftbind ; start left-alignment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3209 output_99x ; print lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3210 PUTC '.' ; print spacing dot
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3211 movff hi,lo ; print hi
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3212 output_99x ; ...
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3213 bcf leftbind ; end left-alignment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3214 return ; done
0
heinrichsweikamp
parents:
diff changeset
3215
heinrichsweikamp
parents:
diff changeset
3216 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
3217
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3218 global TFT_date_surfmode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3219 TFT_date_surfmode:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3220 WIN_SMALL surf_date_column,surf_date_row
0
heinrichsweikamp
parents:
diff changeset
3221 call TFT_standard_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3222 SMOVSS rtc_year,rtc_latched_year ; ISR-safe 6 byte copy of date and time
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3223 movff rtc_latched_year, lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3224 movff rtc_latched_month,hi
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3225 movff rtc_latched_day, up
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3226 call TFT_convert_date ; convert into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
0
heinrichsweikamp
parents:
diff changeset
3227 STRCAT_PRINT ""
heinrichsweikamp
parents:
diff changeset
3228 return
heinrichsweikamp
parents:
diff changeset
3229
heinrichsweikamp
parents:
diff changeset
3230 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
3231
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3232 global TFT_show_max_depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3233 TFT_show_max_depth:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3234 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3235 bra TFT_show_max_depth_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3236
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3237 WIN_MEDIUM dm_max_depth_column_nvsi, dm_max_depth_row
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3238 TSTOSS opt_vsigraph ; graphical VSI bar enabled?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3239 bra TFT_show_max_depth_1 ; NO - keep position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3240 ; YES - adopt output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3241 WIN_MEDIUM dm_max_depth_column, dm_max_depth_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3242
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3243 TFT_show_max_depth_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3244 btfsc FLAG_apnoe_mode ; in apnoe mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3245 bra TFT_max_depth_apnoe ; YES - different handling in apnoe mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3246
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3247 TSTOSS opt_2ndDepthDisp ; show average depth instead of max depth?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3248 bra TFT_max_depth_current ; NO - show max depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3249 ;bra TFT_avg_depth_current ; YES - show avg depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3250
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3251 TFT_avg_depth_current:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3252 MOVII pressure_rel_avg_total,mpr ; YES - get total dive average pressure
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3253 bra TFT_max_depth_common ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3254
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3255 TFT_max_depth_apnoe:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3256 btfss apnoe_at_surface ; apnoe mode, at the surface?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3257 bra TFT_max_depth_current ; NO - show max depth of current dive
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3258 MOVII apnoe_max_pressure,mpr ; YES - get max pressure of all dives so far
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3259 bra TFT_max_depth_common ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3260
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3261 TFT_max_depth_current:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3262 MOVII pressure_rel_max_cached,mpr ; get the "normal" max pressure
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3263 ;bra TFT_max_depth_common ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3264
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3265 TFT_max_depth_common:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3266 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3267 TSTOSS opt_units ; 0=m or 1=ft ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3268 bra TFT_max_depth_metric ; 0 - use metric version
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3269 ;bra TFT_max_depth_imperial ; 1 - use imperial version
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3270
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3271 TFT_max_depth_imperial:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3272 call convert_cm_to_feet ; convert value in hi:lo from [cm] to [feet]
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3273 call TFT_memo_color ; set output color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3274 output_16_3 ; print depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3275 bra TFT_max_depth_finish ; finish output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3276
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3277 TFT_max_depth_metric:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3278 MOVLI .9999,sub_a ; 9999 mbar = 99.99 m
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3279 MOVII mpr, sub_b ; depth, also used to back-up hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3280 call cmpU16 ; sub_a - sub_b = 99.99 - depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3281 btfsc neg_flag ; depth < 100 meter ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3282 bra TFT_max_depth_greater_100m ; NO - greater than 100 m
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3283 ;bra TFT_max_depth_shallower_100m; YES - shallower than 100 m
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3284
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3285 TFT_max_depth_shallower_100m:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3286 btfss max_depth_greater_100m ; was depth >= 100 m during last call?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3287 bra TFT_max_depth_metric_show ; NO - show depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3288 bcf max_depth_greater_100m ; YES - clear flag, last depth shown now not > 99.84 m anymore
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3289 bra TFT_max_depth_clear ; - clear depth area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3290
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3291 TFT_max_depth_greater_100m:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3292 btfsc max_depth_greater_100m ; was depth >= 100 m during last call?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3293 bra TFT_max_depth_metric_show ; YES - show depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3294 bsf max_depth_greater_100m ; NO - set flag, last depth shown now > 99.84 m
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3295 ;bra TFT_max_depth_clear ; - clear depth area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3296
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3297 TFT_max_depth_clear:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3298 WIN_BOX_BLACK dm_max_depth_row, dm_max_depth_bot, dm_max_depth_column, dm_max_depth_rgt ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3299 ;bra TFT_max_depth_metric_show
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3300
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3301 TFT_max_depth_metric_show:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3302 call TFT_memo_color ; set output color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3303 btfss max_depth_greater_100m ; depth to show >= 100 m ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3304 bra TFT_max_depth_metric_m_dm ; NO - show meters and decimeters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3305 bsf ignore_digit4 ; YES - crop decimeters and centimeters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3306 bsf leftbind ; - print left-aligned
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3307 output_16 ; - print depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3308 bra TFT_max_depth_finish ; - finish output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3309
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3310 TFT_max_depth_metric_m_dm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3311 MOVLI .999,sub_a ; load 9.99 meter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3312 call cmpU16 ; sub_a - sub_b = 9.99 - depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3313 movlw ' ' ; load a space character
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3314 btfss neg_flag ; depth shallower than 10 meter ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3315 movwf POSTINC2 ; YES - add the space character
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3316 MOVLI .99,sub_a ; load 0.99 m
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3317 call cmpU16 ; sub_a - sub_b = 0.99 m - depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3318 btfss neg_flag ; depth shallower than 1 meter ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3319 bra TFT_max_depth_metric_zero ; YES - manually display a zero
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3320 bsf ignore_digit4 ; NO - crop decimeters and centimeters
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3321 bsf leftbind ; - align left
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3322 output_16 ; - display full meters
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3323 STRCAT_PRINT "" ; - finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3324 bra TFT_max_depth_metric_dm ; - continue with decimeters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3325
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3326 TFT_max_depth_metric_zero:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3327 STRCAT_PRINT "0" ; print a zero
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3328 ;bra TFT_max_depth_metric_dm ; continue with decimeters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3329
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3330 TFT_max_depth_metric_dm:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3331 WIN_SMALL dm_max_depth_dm_column_nvsi, dm_max_depth_dm_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3332 TSTOSS opt_vsigraph ; graphical VSI bar enabled?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3333 bra TFT_max_depth_metric_dm_1 ; NO - keep position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3334 ; YES - adopt position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3335 WIN_SMALL dm_max_depth_dm_column, dm_max_depth_dm_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3336 TFT_max_depth_metric_dm_1:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3337 PUTC "." ; print decimal point
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3338 MOVII sub_b,mpr ; restore depth in hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3339 movlw d'4' ; crop leading 4 digits (don't show the full meters)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3340 movwf ignore_digits ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3341 bsf ignore_digit5 ; crop last digit (no centimeters, flag will be cleared by output_16)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3342 bsf leftbind ; print left-aligned
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3343 output_16dp d'0' ; print decimal
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3344 TFT_max_depth_finish:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3345 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3346 bcf leftbind ; back to default right alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3347 goto TFT_standard_color ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3348
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3349
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3350 TFT_show_max_depth_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3351 btfsc FLAG_apnoe_mode ; in apnoe mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3352 bra TFT_show_apnoe_max_depth ; YES - use apnoe surface output also in alternative dive mode screen
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3353 btfsc FLAG_gauge_mode ; NO - in gauge mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3354 bra TFT_show_gauge_max_avg_depth; YES - show both, max and avg depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3355 return ; NO - nothing to do
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3356
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3357 TFT_show_gauge_max_avg_depth:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3358 call TFT_memo_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3359 WIN_MEDIUM dm_gauge_max_depth_col, dm_gauge_max_depth_row ; set position for max depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3360 rcall TFT_show_gauge_max_depth ; show max depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3361 call TFT_memo_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3362 WIN_MEDIUM dm_gauge_avg_depth_col, dm_gauge_avg_depth_row ; set position for avg depth
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3363 MOVII pressure_rel_avg_total,mpr ; get average pressure into hi:lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3364 bra TFT_show_gauge_depth ; show avg depth and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3365
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3366
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3367 global TFT_show_apnoe_max_depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3368 TFT_show_apnoe_max_depth:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3369 ; title
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3370 WIN_TINY dm_apnoe_last_max_depth_text_col, dm_apnoe_last_max_depth_text_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3371 call TFT_divemask_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3372 btfsc alt_layout_active ; alternative layout active?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3373 bra TFT_show_apnoe_max_depth_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3374 STRCPY_TEXT_PRINT tApnoeMax ; NO - print "Last Descent"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3375 bra TFT_show_apnoe_max_depth_com ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3376 TFT_show_apnoe_max_depth_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3377 STRCPY_TEXT_PRINT tMaxDepth ; print "Max.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3378 TFT_show_apnoe_max_depth_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3379 ; value
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3380 WIN_MEDIUM dm_apnoe_last_max_depth_column, dm_apnoe_last_max_depth_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3381 call TFT_memo_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3382 TFT_show_gauge_max_depth:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3383 MOVII pressure_rel_max_cached,mpr ; get max pressure into hi:lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3384 ;bra TFT_show_gauge_depth ; show max depth and return
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3385
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3386 TFT_show_gauge_depth:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3387 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3388 TSTOSS opt_units ; 0=m, 1=ft
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3389 bra TFT_display_apnoe_last_m_metric ; 0 - metric
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3390 TFT_display_apnoe_last_max_imp: ; 1 - imperial
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3391 call convert_cm_to_feet ; convert value in hi:lo from [cm] to [feet]
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3392 output_16
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3393 bra TFT_max_depth_finish ; finish output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3394 TFT_display_apnoe_last_m_metric:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3395 bsf ignore_digit5 ; do not display centimeters (flag will be cleared by output_16)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3396 output_16dp d'3'
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3397 bra TFT_max_depth_finish ; finish output
0
heinrichsweikamp
parents:
diff changeset
3398
heinrichsweikamp
parents:
diff changeset
3399 ;=============================================================================
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3400
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3401 global TFT_show_divetime
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3402 TFT_show_divetime:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3403 call TFT_memo_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3404 SMOVTT counted_divetime_mins,mpr ; ISR-safe 3 byte copy of minutes:2 (mpr+1:mpr+0) and seconds (mpr+2)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3405 btfsc show_only_divemins ; shall suppress display of seconds?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3406 bra TFT_show_divetime_min_only ; YES - show minutes only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3407 movlw .99 ; NO - load 99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3408 cpfsgt mpr+0 ; - dive time > 99 minutes ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3409 bra TFT_show_divetime_min_sec ; NO - show min:sec
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3410 bsf show_only_divemins ; YES - set flag to suppress the display of seconds for the rest of the dive
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3411 btfsc alt_layout_active ; - in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3412 bra TFT_show_divetime_clear_alt ; YES - clear min:sec area of alternative layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3413 ;bra TFT_show_divetime_clear_norm ; NO - clear min:sec area of normal layout
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3414
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3415 TFT_show_divetime_clear_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3416 WIN_BOX_BLACK dm_divetime_row, dm_divetime_bot_medium, dm_divetime_col_medium, dm_divetime_rgt ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3417 bra TFT_show_divetime_min_only_norm ; show minutes only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3418
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3419 TFT_show_divetime_clear_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3420 WIN_BOX_BLACK dm_divetime_row, dm_divetime_bot_large, dm_divetime_col_large, dm_divetime_rgt ;top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3421 bra TFT_show_divetime_min_only_alt ; show minutes only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3422
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3423 TFT_show_divetime_min_sec:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3424 ; show the minutes
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3425 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3426 bra TFT_show_divetime_min_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3427 ;bra TFT_show_divetime_min_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3428
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3429 TFT_show_divetime_min_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3430 WIN_MEDIUM dm_divetime_col_medium, dm_divetime_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3431 bra TFT_show_divetime_min_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3432
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3433 TFT_show_divetime_min_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3434 WIN_LARGE dm_divetime_col_large, dm_divetime_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3435 ;bra TFT_show_divetime_min_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3436
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3437 TFT_show_divetime_min_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3438 output_99 ; displays only last two digits from a 8 bit value (0-99)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3439 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3440
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3441 ; show the seconds
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3442 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3443 bra TFT_show_divetime_sec_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3444 ;bra TFT_show_divetime_sec_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3445
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3446 TFT_show_divetime_sec_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3447 WIN_SMALL dm_divetime_sec_col_small, dm_divetime_sec_row_small
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3448 bra TFT_show_divetime_sec_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3449
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3450 TFT_show_divetime_sec_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3451 WIN_MEDIUM dm_divetime_sec_col_medium, dm_divetime_sec_row_medium
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3452 ;bra TFT_show_divetime_sec_com ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3453
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3454 TFT_show_divetime_sec_com:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3455 PUTC ':' ; print separator char
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3456 movff mpr+2,lo ; copy seconds to lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3457 bsf leftbind ; activate left-alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3458 output_99x ; displays only last two figures from a 8 bit value with leading zero (00-99)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3459 bcf leftbind ; deactivate left-alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3460 bra TFT_divemins_exit ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3461
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3462 TFT_show_divetime_min_only:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3463 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3464 bra TFT_show_divetime_min_only_alt ; YES
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3465 ;bra TFT_show_divetime_min_only_norm ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3466
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3467 TFT_show_divetime_min_only_norm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3468 WIN_MEDIUM dm_divetime_minonly_col_medium, dm_divetime_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3469 output_16_4 ; print minutes (4 digits)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3470 bra TFT_divemins_exit ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3471
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3472 TFT_show_divetime_min_only_alt:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3473 WIN_LARGE dm_divetime_minonly_col_large, dm_divetime_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3474 output_16_3 ; print minutes (3 digits)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3475 ;bra TFT_divemins_exit ; continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3476
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3477 TFT_divemins_exit:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3478 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3479 goto TFT_standard_color ; and return...
0
heinrichsweikamp
parents:
diff changeset
3480
heinrichsweikamp
parents:
diff changeset
3481 ;=============================================================================
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3482
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3483 global TFT_show_apnoe_surface
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3484 TFT_show_apnoe_surface:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3485 call TFT_divemask_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3486 WIN_TINY dm_apnoe_surface_time_text_col, dm_apnoe_surface_time_text_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3487 STRCPY_TEXT_PRINT tApnoeSurface
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3488 call TFT_memo_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3489 WIN_MEDIUM dm_apnoe_surface_time_column, dm_apnoe_surface_time_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3490 SMOVII apnoe_surface_mins,mpr ; ISR-safe copy of minutes to lo and seconds to hi
0
heinrichsweikamp
parents:
diff changeset
3491 output_8
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3492 PUTC ':'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3493 movff hi,lo ; copy seconds to lo
0
heinrichsweikamp
parents:
diff changeset
3494 output_99x
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3495 bra TFT_display_apnoe_exit ; and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3496
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3497
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3498 global TFT_show_apnoe_times
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3499 TFT_show_apnoe_times: ; descent dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3500 ; current dive time
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3501 call TFT_memo_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3502 WIN_MEDIUM dm_divetime_apnoe_col, dm_divetime_apnoe_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3503 SMOVII apnoe_dive_mins,mpr ; ISR-safe copy of minutes to lo and seconds to hi
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3504 output_99 ; display 0-99
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3505 STRCAT_PRINT "" ; show minutes
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3506 WIN_SMALL dm_divetime_apnoe_secs_col, dm_divetime_apnoe_secs_row ; left position for two sec figures
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3507 PUTC ':'
0
heinrichsweikamp
parents:
diff changeset
3508 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3509 movff hi,lo ; copy seconds to lo
0
heinrichsweikamp
parents:
diff changeset
3510 output_99x
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3511 STRCAT_PRINT "" ; show seconds
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3512 ; overall dive time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3513 WIN_MEDIUM dm_apnoe_total_divetime_col, dm_apnoe_total_divetime_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3514 SMOVTT counted_divetime_mins,mpr ; ISR-safe 3 byte copy of minutes:2 and seconds
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3515 clrf hi
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3516 bcf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3517 output_16_3 ; displays only last three figures from a 16 bit value (0-999)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3518 STRCAT_PRINT "" ; show minutes in large font
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3519 WIN_SMALL dm_apnoe_total_divetime_secs_col, dm_apnoe_total_divetime_secs_row ; left position for two sec figures
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3520 PUTC ':'
38
64976f1e0a1c Show total divetime in apnea mode
mh@mh-THINK.fritz.box
parents: 31
diff changeset
3521 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3522 movff up,lo ; copy minutes from up to lo
38
64976f1e0a1c Show total divetime in apnea mode
mh@mh-THINK.fritz.box
parents: 31
diff changeset
3523 output_99x
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3524 TFT_display_apnoe_exit:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3525 STRCAT_PRINT ""
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3526 bcf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3527 goto TFT_standard_color ; and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3528
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3529
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3530 global TFT_clear_apnoe_surface
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3531 TFT_clear_apnoe_surface:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3532 ; clear surface data
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3533 WIN_BOX_BLACK dm_apnoe_last_max_depth_text_row, .239, dm_apnoe_last_max_depth_column, .159 ; top, bottom, left, right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3534 goto TFT_standard_color ; and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3535
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3536
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3537 ;-----------------------------------------------------------------------------
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3538 ; check if firmware is within expiry period, will return aux_flag set if not
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3539
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3540 check_expiry: ; check if it is time for a firmware update
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3541 SMOVSS rtc_year,rtc_latched_year; ISR-safe 6 byte copy of date and time
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3542 movff rtc_latched_day,lo ; get current day
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3543 movff rtc_latched_month,hi ; get current month
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3544 movff rtc_latched_year,up ; get current year
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3545 bsf aux_flag ; set firmware as expired by default
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3546 movlw firmware_expire_year ; start with checking year
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3547 cpfsgt up ; current year > expiry year ?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3548 bra check_expiry_Y ; NO - continue checks
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3549 return ; YES - expired
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3550 check_expiry_Y:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3551 cpfseq up ; current year = expiry year ?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3552 bra check_expiry_ok ; NO - must be < then, OK whatever month & day
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3553 movlw firmware_expire_month ; YES - continue checking month
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3554 cpfsgt hi ; current month > expiry month ?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3555 bra check_expiry_M ; NO - continue checks
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3556 return ; YES - expired
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3557 check_expiry_M:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3558 cpfseq hi ; current month = expiry month ?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3559 bra check_expiry_ok ; NO - must be < then, OK whatever day
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3560 movlw firmware_expire_day ; YES - continue checking day
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3561 cpfsgt lo ; current day > expiry day ?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3562 bra check_expiry_ok ; NO - must be <= then, OK
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3563 return ; YES - expired
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3564 check_expiry_ok:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3565 bcf aux_flag
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3566 return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3567
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3568 ;-----------------------------------------------------------------------------
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3569 ; append firmware BETA status to current string, including color-coding
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3570
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3571 global TFT_cat_beta_release
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3572 TFT_cat_beta_release: ; entry point for printing "Release" / "Beta #"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3573 bsf aux_flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3574 bra TFT_cat_beta_common
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3575 TFT_cat_beta_rel: ; entry point for printing "Rel." / "B. #"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3576 bcf aux_flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3577 TFT_cat_beta_common:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3578 IFDEF _DEBUG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3579 btfss aux_flag ; shall show long version?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3580 bra TFT_cat_debug_short ; NO - show short version
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3581 STRCAT "DEBUG" ; YES - show long version
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3582 goto TFT_warning_color ; - set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3583 TFT_cat_debug_short:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3584 STRCAT "DBG." ; show short version
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3585 goto TFT_warning_color ; set color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3586 ELSE
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3587 movlw fw_version_beta ; =0: release, =1: beta 1, =2: beta 2, ...
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3588 movwf lo ; copy to lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3589 tstfsz lo ; release version?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3590 bra TFT_cat_beta_1 ; NO - must be beta version then
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3591 btfss aux_flag ; YES - shall show long version?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3592 bra TFT_cat_beta_2 ; NO - show short version
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3593 rcall check_expiry ; YES - check expiry date
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3594 btfsc aux_flag ; - within expiry date?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3595 bra TFT_cat_beta_4 ; NO - give update cue
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3596 STRCAT "Release" ; YES - print "Release"
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3597 return ; - done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3598 TFT_cat_beta_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3599 btfss aux_flag ; shall show long version?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3600 bra TFT_cat_beta_3 ; NO - show short version
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3601 STRCAT "Beta " ; YES - show long version
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3602 TFT_cat_beta_1a:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3603 bsf leftbind
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3604 output_8 ; print beta version number
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3605 bcf leftbind
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3606 goto TFT_attention_color ; and return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3607 TFT_cat_beta_2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3608 STRCAT "Rel." ; short version for "Release"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3609 return
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3610 TFT_cat_beta_3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3611 STRCAT "B." ; short version for "Beta"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3612 bra TFT_cat_beta_1a ; append beta version number
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3613 TFT_cat_beta_4
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3614 STRCAT "update!" ; print update cue
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3615 goto TFT_attention_color ; and return
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3616 ENDIF ; ELSE / _DEBUG
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3617
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3618 ;-----------------------------------------------------------------------------
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3619 ; show firmware update message
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3620 ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3621 ; all text outputs are hard-coded since language switching
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3622 ; has not yet been initialized when this code is executed
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3624 global show_fw_mesg_update
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3625 global show_fw_mesg_kept
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3626 show_fw_mesg_update:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3627 call TFT_standard_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3628 ; show update message
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3629 WIN_SMALL .20,.100
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3630 STRCPY_PRINT "Update successful!"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3631 ; show firmware version
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3632 WIN_SMALL .20,.140
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3633 STRCPY "New Firmware: "
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3634 bra show_fw_mesg_common
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3635 show_fw_mesg_kept:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3636 call TFT_standard_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3637 ; show reboot message
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3638 WIN_SMALL .60,.100
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3639 STRCPY_PRINT "Reboot"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3640 ; show firmware version
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3641 WIN_SMALL .30,.140
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3642 STRCPY "Firmware: "
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3643 show_fw_mesg_common:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3644 rcall TFT_cat_firmware ; show firmware version x.y and color-code + invert if outdated
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3645 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3646 bcf win_invert ; back to normal (non inverted) output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3647 ; show firmware beta status
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3648 call TFT_standard_color ; color to use if it is a release version
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3649 WIN_SMALL .60,.180
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3650 rcall TFT_cat_beta_release ; show "Release" or "BETA" + issue
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3651 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3652 goto TFT_standard_color ; reset color and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3653
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3654 ;-----------------------------------------------------------------------------
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3655 ; show serial and firmware version for comm mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3656
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3657 global TFT_show_serial_and_firmware
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3658 global TFT_show_firmware
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3659 TFT_show_serial_and_firmware:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3660 STRCPY "#"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3661 call TFT_cat_serial
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3662 STRCAT " "
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3663 STRCAT "v"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3664 TFT_show_firmware:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3665 call TFT_cat_firmware ; will set win_invert if outdated
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3666 STRCAT " "
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3667 call TFT_cat_beta_release
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3668 STRCAT_PRINT ""
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3669 bcf win_invert ; clear win_invert
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3670 goto TFT_standard_color ; ...and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3671
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3672 ;-----------------------------------------------------------------------------
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3673 ; For the Information menu: append total dives
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3674
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3675 global info_menu_total_dives
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3676 info_menu_total_dives:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3677 lfsr FSR1,tTotalDives ; locate text
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3678 call strcat_text ; print text
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3679 TFT_cat_total_dives:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3680 call eeprom_total_dives_read ; read total number of dives
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3681 bsf leftbind ; print left-aligned
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3682 output_16 ; print number of total dives
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3683 bcf leftbind ; quit left-aligned
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3684 return ; done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3685
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3686 ;-----------------------------------------------------------------------------
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3687 ; append firmware version to current string, including color-coding
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3688
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3689 global TFT_cat_firmware
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3690 TFT_cat_firmware:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3691 movlw fw_version_major
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3692 movwf lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3693 bsf leftbind
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3694 output_8 ; print major in 1 or 2 digit format
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3695 PUTC '.'
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3696 movlw fw_version_minor
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3697 movwf lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3698 output_99x ; print minor in two digit format
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3699 bcf leftbind
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3700 rcall check_expiry ; sets aux_flag if expired
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3701 btfss aux_flag ; expired?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3702 return ; NO
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3703 bsf win_invert ; YES - print in inverse
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3704 goto TFT_attention_color ; - print in attention color (and return)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3705
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3706 ;-----------------------------------------------------------------------------
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3707 ; For the Information menu: firmware version and creation date
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3708
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3709 global info_menu_firmware
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3710 info_menu_firmware:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3711 lfsr FSR1,tFirmware ; select label text
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3712 call strcat_text ; print label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3713 rcall TFT_cat_firmware ; print firmware version
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3714 PUTC " " ; print a dot
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3715 rcall TFT_cat_beta_rel ; print beta/release
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3716 STRCAT_PRINT "" ; finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3717 return ; done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3718
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3719 global info_menu_fw_cration_date
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3720 info_menu_fw_cration_date:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3721 lfsr FSR1,tFirmwareDate ; select label text
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3722 call strcat_text ; print label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3723 movlw firmware_creation_year ; get firmware creation year
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3724 movwf lo ; copy to lo
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3725 movlw firmware_creation_month ; get firmware creation month
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3726 movwf hi ; copy to hi
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3727 movlw firmware_creation_day ; get firmware creation day
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3728 movwf up ; copy to up
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3729 call TFT_convert_date ; converts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3730 return ; done
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3731
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3732 ;-----------------------------------------------------------------------------
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3733 ; For the Information menu: firmware version of the RX processor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3734
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3735 IFDEF _rx_functions
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3736
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3737 global info_menu_firmware_rx
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3738 global TFT_print_firmware_rx
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3739 info_menu_firmware_rx:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3740 lfsr FSR1,tFirmware_rx
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3741 call strcat_text
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3742 TFT_print_firmware_rx:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3743 movff rx_firmware_cur_major,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3744 bsf leftbind
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3745 output_8
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3746 PUTC '.'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3747 movff rx_firmware_cur_minor,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3748 output_8
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3749 bcf leftbind
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3750 return
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3751
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3752 ENDIF
0
heinrichsweikamp
parents:
diff changeset
3753
heinrichsweikamp
parents:
diff changeset
3754 ;-----------------------------------------------------------------------------
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3755 ; For the Information menu: serial number
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3756
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3757 global info_menu_serial
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3758 global TFT_cat_serial
0
heinrichsweikamp
parents:
diff changeset
3759 info_menu_serial:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3760 lfsr FSR1,tSerial ; locate text
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3761 call strcat_text ; print text
0
heinrichsweikamp
parents:
diff changeset
3762 TFT_cat_serial:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3763 call eeprom_serial_number_read ; read OSTC serial number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3764 bsf leftbind ; start left-alignment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3765 output_16 ; print serial number
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3766 bcf leftbind ; end left-alignment
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3767 return ; done
0
heinrichsweikamp
parents:
diff changeset
3768
heinrichsweikamp
parents:
diff changeset
3769 ;-----------------------------------------------------------------------------
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3770 ; For the Information menu: hardware / software configuration
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3771
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3772 global info_menu_config
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3773 info_menu_config:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3774 lfsr FSR1,tHardware ; locate text
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3775 call strcat_text ; print text
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3776 call I2C_init_compass ; start compass
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3777 movf HW_descriptor,W ; copy hardware descriptor to WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3778 output_hex ; print as hex
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3779 PUTC "-" ; print a separator
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3780 movf HW_variants,W ; copy hardware variants to WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3781 output_hex ; print as hex
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3782 PUTC "-" ; print a separator
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3783 movlw SW_CONF ; get software configuration
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3784 output_hex ; print as hex
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3785 return
0
heinrichsweikamp
parents:
diff changeset
3786
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3787
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3788 ;-----------------------------------------------------------------------------
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3789 ; For the Information menu: battery voltage
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3790
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3791 global info_menu_battery_volts
62
e7c7c7eeea58 show battery voltage in info menu
heinrichsweikamp
parents: 60
diff changeset
3792 info_menu_battery_volts:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3793 lfsr FSR1,tBatteryV
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3794 call strcat_text
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3795 MOVII batt_voltage,mpr
62
e7c7c7eeea58 show battery voltage in info menu
heinrichsweikamp
parents: 60
diff changeset
3796 bsf leftbind
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3797 output_16dp .2 ; print as -x.yyy
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3798 STRCAT "V(T"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3799 movff battery_type,lo ; =0:1.5V, =1:3.6V Saft, =2:LiIon 3.7V/0.8Ah, =3:LiIon 3.7V/3.1Ah, =4: LiIon 3.7V/2.3Ah
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3800 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3801 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3802 PUTC ")"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3803 return
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3804
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3805
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3806 ;-----------------------------------------------------------------------------
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3807 ; For the Information menu: sensor C1 and C5 values
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3808
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3809 global info_menu_sensor_calib
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3810 info_menu_sensor_calib:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3811 lfsr FSR1,tSensorC ; locate label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3812 call strcat_text ; print label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3813 movff C1+1,WREG ; get C1, high byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3814 output_hex ; print C1, high byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3815 movff C1+0,WREG ; get C1, low byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3816 output_hex ; print C1, low byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3817 PUTC "-" ; print a separator
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3818 movff C5+1,WREG ; get C5, high byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3819 output_hex ; print C5, high byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3820 movff C5+0,WREG ; get C5, low byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3821 output_hex ; print C5, low byte
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3822 return ; done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3823
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3824
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3825 ;-----------------------------------------------------------------------------
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3826 ; For the Information menu: sensor depth correction
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3827
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3828 global info_menu_sensor_offset
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3829 info_menu_sensor_offset:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3830 lfsr FSR1,tSensorD ; locate label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3831 call strcat_text ; print label
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3832 movff opt_pressure_adjust,WREG ; get pressure sensor offset
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3833 btfsc WREG,7 ; value negative?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3834 bra info_menu_sensor_offset_1 ; YES
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3835 PUTC "+" ; NO - print plus sign
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3836 bra info_menu_sensor_offset_2 ; - continue with common part
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3837 info_menu_sensor_offset_1:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3838 PUTC "-" ; print a minus sign
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3839 negf WREG ; negate WREG
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3840 info_menu_sensor_offset_2:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3841 PUTC " " ; print a space
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3842 bsf leftbind ; start left-bind printing
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3843 output_8 ; print value
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3844 bcf leftbind ; end left-bind printing
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3845 PUTC " " ; print a space
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3846 lfsr FSR1,tMBAR ; locate unit
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3847 call strcat_text ; print unit
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3848 return ; done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3849
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3850
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3851 ;-----------------------------------------------------------------------------
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3852 ; For the Information menu: uptime
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3853
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3854 global info_menu_uptime
453
b4f28ab23b87 NEW: Show Uptime (Time since last firmware boot) in information menu
heinrichsweikamp
parents: 444
diff changeset
3855 info_menu_uptime:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3856 lfsr FSR1,tUptime
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3857 call strcat_text
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3858 SMOVQQ uptime,xC ; ISR-safe copy of uptime:4 to xC:4
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3859
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3860 info_menu_uptime_com:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3861 MOVLI .3600,xB ; one hour = 3600s
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3862 call div32x16 ; xC:4 = xC:4 / xB:2 with xA as remainder -> xC+1:xC+0 holds full hours
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3863 MOVII xC,xA
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3864 MOVLI .24,xB ; one day = 24 hours
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3865 call div16x16 ; xC:2 = xA:2 / xB:2 with xA as remainder -> xC+1:xC+0 holds full days, xA holds full hours
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3866 MOVII xC,mpr ; copy full days into hi:lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3867 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3868 output_16
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3869 PUTC "d"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3870 movff xA+0,lo ; full hours
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3871 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3872 PUTC "h"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3873 bcf leftbind
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
3874 return ; done
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3875
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
3876 ;-----------------------------------------------------------------------------
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3877
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3878 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3879
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3880 global menu_cal_x
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3881 menu_cal_x:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3882 lfsr FSR0,compass_CX_f
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3883 lfsr FSR1,tCalX
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3884 bra menu_cal_common
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3885
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3886 global menu_cal_y
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3887 menu_cal_y:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3888 lfsr FSR0,compass_CY_f
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3889 lfsr FSR1,tCalY
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3890 bra menu_cal_common
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3891
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3892 global menu_cal_z
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3893 menu_cal_z:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3894 lfsr FSR0,compass_CZ_f
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3895 lfsr FSR1,tCalZ
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3896 ;bra menu_cal_common
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3897
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3898 menu_cal_common:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3899 call strcat_text
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3900 movff POSTINC0,lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3901 movff POSTINC0,hi
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3902 call TFT_convert_signed_16bit ; convert lo:hi into signed-short and adds '-' to POSTINC2 if required
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3903 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3904 output_16
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3905 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3906 return
544
64a45f203144 NEW: Show Compass calibration results in Compass menu
heinrichsweikamp
parents: 535
diff changeset
3907
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3908 ENDIF ; _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3909
453
b4f28ab23b87 NEW: Show Uptime (Time since last firmware boot) in information menu
heinrichsweikamp
parents: 444
diff changeset
3910
0
heinrichsweikamp
parents:
diff changeset
3911 ;-----------------------------------------------------------------------------
heinrichsweikamp
parents:
diff changeset
3912 ; ppO2 menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3913
0
heinrichsweikamp
parents:
diff changeset
3914 global divesets_ppo2_min
heinrichsweikamp
parents:
diff changeset
3915 divesets_ppo2_min:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3916 lfsr FSR1,tPPO2MIN
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3917 call strcat_text
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3918 movff char_I_ppO2_min,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3919 movlw ppo2_warning_low_default
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3920 bra divesets_ppo2_common
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3921
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3922
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3923 IFDEF _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3924
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3925 global divesets_ppo2_min_cc
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3926 divesets_ppo2_min_cc:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3927 lfsr FSR1,tPPO2MINCC
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3928 call strcat_text
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3929 movff char_I_ppO2_min_loop,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3930 movlw ppo2_warning_loop_default
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3931 bra divesets_ppo2_common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3932
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3933 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3934
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3935 global divesets_ppo2_max
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3936 divesets_ppo2_max:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3937 lfsr FSR1,tPPO2Max
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3938 call strcat_text
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3939 movff char_I_ppO2_max_work,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3940 movlw ppo2_warning_high_default
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3941 bra divesets_ppo2_common
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3942
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3943 global divesets_ppo2_max_deco
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3944 divesets_ppo2_max_deco:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3945 lfsr FSR1,tPPO2DECO
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3946 call strcat_text
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3947 movff char_I_ppO2_max_deco,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3948 movlw ppo2_warning_deco_default
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3949 ;bra divesets_ppo2_common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3950
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3951 divesets_ppo2_common:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3952 movwf up ; save default value
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3953 clrf hi
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3954 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3955 output_16dp d'3'
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3956 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3957 lfsr FSR1,tbar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3958 call strcat_text
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3959 movf up,W ; default value
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3960 cpfseq lo ; current value
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3961 bra divesets_ppo2_common2 ; not default, add *
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3962 return ; default, done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3963 divesets_ppo2_common2:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3964 PUTC "*"
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
3965 return ; done
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3966
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
3967 ;=============================================================================
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3968
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3969 global TFT_clear_message_window
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3970 TFT_clear_message_window:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3971 btfss divemode ; in dive mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3972 bra TFT_clear_message_window_surf ; NO - clear surface mode area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3973 ;bra TFT_clear_message_window_dive ; YES - clear dive mode area
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3974
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3975 TFT_clear_message_window_dive:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3976 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3977 bra TFT_clear_message_window_dive_2 ; YES - clear dive mode area, 2nd row only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3978 ; NO - clear dive mode area, both rows
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3979 WIN_BOX_BLACK dm_warning_row, dm_warning_bot, dm_warning_column, dm_warning_rgt ; top, bottom, left, right
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3980 return ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3981
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3982 TFT_clear_message_window_surf:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3983 WIN_BOX_BLACK surf_warning1_row, surf_warning2_row+.24, surf_warning1_column, surf_warning1_column+.76 ; top, bottom, left, right
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3984 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3985
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3986
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3987 global TFT_clear_message_window_row2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3988 TFT_clear_message_window_row2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3989 btfss divemode ; in dive mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3990 bra TFT_clear_message_window_surf_2 ; NO - clear surface mode area, 2nd row only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3991 ;bra TFT_clear_message_window_dive_2 ; YES - clear dive mode area, 2nd row only
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3992
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3993 TFT_clear_message_window_dive_2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3994 WIN_BOX_BLACK dm_warning2_row, dm_warning2_bot, dm_warning2_column, dm_warning2_rgt ; top, bottom, left, right
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3995 bcf message_2nd_row_used ; - 2nd row is clear now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3996 return ; - done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3997
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
3998 TFT_clear_message_window_surf_2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
3999 WIN_BOX_BLACK surf_warning2_row, surf_warning2_row+.24, surf_warning2_column, surf_warning2_column+.76 ; top, bottom, left, right
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4000 bcf message_2nd_row_used ; 2nd row is clear now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4001 return ; done
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4002
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4003
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4004 global TFT_fillup_with_spaces
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4005 TFT_fillup_with_spaces: ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4006 movwf lo ; save max. string length into lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4007 movf FSR2L,W ; get current string length
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4008 subwf lo,F ; lo-WREG
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4009 btfsc STATUS,N ; longer then #lo already?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4010 return ; YES - done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4011 tstfsz lo ; zero?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4012 bra TFT_fillup_with_spaces2 ; NO
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4013 return ; YES - done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4014 TFT_fillup_with_spaces2:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4015 PUTC " " ; add one space
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4016 decfsz lo,F ; all done?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4017 bra TFT_fillup_with_spaces2 ; NO - loop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4018 return ; YES - done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4019
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4020 ;=============================================================================
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4021
0
heinrichsweikamp
parents:
diff changeset
4022 global TFT_desaturation_time
heinrichsweikamp
parents:
diff changeset
4023 TFT_desaturation_time:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4024 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4025 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4026 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4027 call TFT_memo_color
0
heinrichsweikamp
parents:
diff changeset
4028 STRCPY "Desat:"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4029 MOVII int_O_desaturation_time,mpr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4030 call convert_time ; convert hi:lo in minutes to hours (up:hi) and minutes (lo)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4031 movf lo,W ; swap hi and lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4032 movff hi,lo ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4033 movwf hi ; ...
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4034 output_99x ; print hours
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4035 PUTC ':' ; print ":"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4036 movff hi,lo ; print minutes...
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4037 output_99x ; ... in two digits, leading zero
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4038 movlw surf_warning_length ; only use surface string length
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4039 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4040 STRCAT_PRINT ""
0
heinrichsweikamp
parents:
diff changeset
4041 return
heinrichsweikamp
parents:
diff changeset
4042
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4043
0
heinrichsweikamp
parents:
diff changeset
4044 global TFT_nofly_time
heinrichsweikamp
parents:
diff changeset
4045 TFT_nofly_time:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4046 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4047 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4048 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4049 call TFT_memo_color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4050 movff char_I_altitude_wait,WREG
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4051 tstfsz WREG
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4052 bra TFT_nofly_time_1
0
heinrichsweikamp
parents:
diff changeset
4053 STRCPY "NoFly:"
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4054 bra TFT_nofly_time_2
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4055 TFT_nofly_time_1:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4056 STRCPY "NoAlt:"
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4057 TFT_nofly_time_2:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4058 MOVII int_O_nofly_time,mpr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4059 call convert_time ; convert hi:lo in minutes to hours (up:hi) and minutes (lo)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4060 movf lo,W ; swap hi and lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4061 movff hi,lo ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4062 movwf hi ; ...
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4063 output_99x ; hours
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4064 PUTC ':'
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4065 movff hi,lo ; minutes
0
heinrichsweikamp
parents:
diff changeset
4066 output_99x
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4067 movlw surf_warning_length ; only use surface string length
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4068 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4069 STRCAT_PRINT ""
0
heinrichsweikamp
parents:
diff changeset
4070 return
heinrichsweikamp
parents:
diff changeset
4071
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4072 ;=============================================================================
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4073
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4074 global TFT_warning_agf
0
heinrichsweikamp
parents:
diff changeset
4075 TFT_warning_agf:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4076 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4077 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4078 return ; NO - skip message in this cycle
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4079 call TFT_attention_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4080 STRCPY_TEXT tDiveaGF_active ; "aGF!"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4081 movlw dm_warning_length ; dive mode string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4082 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4083 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4084 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4085
0
heinrichsweikamp
parents:
diff changeset
4086
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4087 global TFT_warning_fallback
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4088 TFT_warning_fallback: ; show fallback warning
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4089 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4090 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4091 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4092 call TFT_warning_color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4093 STRCPY_TEXT tDiveFallback ; "Fallback!"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4094 movlw dm_warning_length ; dive mode string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4095 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4096 STRCAT_PRINT ""
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4097 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4098
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4099 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4100
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4101 IFDEF _rx_functions
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4102
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4103 global TFT_advice_switch
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4104 TFT_advice_switch:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4105 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4106 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4107 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4108 call TFT_advice_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4109 STRCPY_TEXT tswap ; "Swap Tank"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4110 movlw dm_warning_length ; dive mode string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4111 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4112 STRCAT_PRINT ""
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4113 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4114
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4115 global TFT_attention_transmitter
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4116 TFT_attention_transmitter:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4117 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4118 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4119 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4120 call TFT_attention_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4121 STRCPY_TEXT tTransmitter ; "P.Transm."
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4122 movlw dm_warning_length ; dive mode string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4123 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4124 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4125 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4126
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4127 global TFT_attention_pres_reading
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4128 global TFT_warning_pres_reading
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4129 TFT_attention_pres_reading: ; entry point for attention
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4130 call TFT_attention_color ; use attention color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4131 bra TFT_common_pres_reading ; continue with common code
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4132 TFT_warning_pres_reading: ; entry point for warning
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4133 call TFT_warning_color ; use warnings color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4134 ;bra TFT_common_pres_reading ; continue with common code
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4135 TFT_common_pres_reading:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4136 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4137 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4138 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4139 STRCPY_TEXT tPressure ; "Tank Pres"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4140 movlw dm_warning_length ; dive mode string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4141 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4142 STRCAT_PRINT ""
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4143 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4144
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4145 global TFT_attention_sac
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4146 TFT_attention_sac:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4147 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4148 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4149 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4150 MOVII int_O_SAC_measured,mpr ; copy measured SAC rate to hi:lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4151 call TFT_color_code_tank_pres_sac; color-code the output
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4152 STRCPY_TEXT tSAC ; "SAC", needs to be exactly 3 chars long
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4153 STRCAT ": " ; ": "
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4154 output_16_3 ; print as xxx
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4155 PUTC " " ; print a dummy char to have string termination at the correct place
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4156 movff buffer+.7,buffer+.8 ; move decimal digit one position to the right
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4157 movlw "." ; load coding of a decimal point
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4158 movff WREG,buffer+.7 ; place it before decimal digit
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4159 STRCAT_PRINT "" ; dump buffer to screen
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4160 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4161
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4162 ENDIF ; _rx_functions
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4163
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4164 ;=============================================================================
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4165
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4166 global TFT_info_deco
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4167 TFT_info_deco ; show info when decompression obligation is steady or decreasing
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4168 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4169 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4170 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4171 call TFT_advice_color ; YES - actually it is a memo, but we break the rules here and display in advice color (green)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4172 STRCPY_TEXT tDecoInfo ; - write "Deco Zone"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4173 movlw dm_warning_length ; - select dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4174 rcall TFT_fillup_with_spaces ; - fill up FSR2 with spaces (total string length in #WREG)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4175 STRCAT_PRINT "" ; - print buffer
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4176 bra TFT_warn_att_info_exit ; - and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4177
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4178 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4179
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4180 IFDEF _cave_mode
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4181
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4182 global TFT_info_cave_mode
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4183 TFT_info_cave_mode:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4184 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4185 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4186 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4187 call TFT_memo_color ; YES - set memo color
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4188 bsf win_invert ; - print in inverse
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4189 STRCPY_TEXT tCaveMode ; - write "Cave Mode"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4190 movlw dm_warning_length ; - select dive mode string length
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4191 rcall TFT_fillup_with_spaces ; - fill up FSR2 with spaces (total string length in #WREG)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4192 STRCAT_PRINT "" ; - print buffer
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4193 bcf win_invert ; - end inverse printing
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4194 bra TFT_warn_att_info_exit ; - and return...
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4195
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4196
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4197 global TFT_cave_shutdown_attention
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4198 TFT_cave_shutdown_attention:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4199 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4200 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4201 return ; NO - skip message in this cycle
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4202 call TFT_attention_color ; YES - set warning color
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4203 bra TFT_cave_shutdown_common ; - continue with common part
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4204
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4205
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4206 global TFT_cave_shutdown_warning
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4207 TFT_cave_shutdown_warning:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4208 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4209 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4210 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4211 call TFT_warning_color ; YES - set warning color
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4212 ;bra TFT_cave_shutdown_common ; - continue with common part
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4213
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4214 TFT_cave_shutdown_common:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4215 STRCPY_TEXT tCaveModeShutdown ; write "X-Cave-X"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4216 movlw dm_warning_length ; select dive mode string length
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4217 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4218 STRCAT_PRINT "" ; print buffer
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4219 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4220
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4221 ENDIF ; _cave_mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4222
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4223 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4224
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4225 global TFT_warning_saturation
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4226 TFT_warning_saturation
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4227 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4228 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4229 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4230 MOVII int_O_lead_supersat,mpr ; bank-safe copy of leading tissue's supersaturation
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4231 call TFT_color_code_gf ; color-code output
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4232 ; STRCPY "GF: " ; the two spaces are on purpose to align the output with other warnings' outputs
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4233 STRCPY_TEXT tSAT ; print "Sat:"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4234 PUTC " " ; add a space to align the output with other warnings' outputs
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4235 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4236 output_8 ; print value of lo only, int_O_lead_supersat is limited to 255
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4237 PUTC "%"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4238 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4239 btfss divemode ; in dive mode?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4240 movlw surf_warning_length ; NO - use surface string length
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4241 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4242 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4243 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4244 bcf win_invert
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4245 TFT_warn_att_info_exit:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4246 goto TFT_standard_color ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4247
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4248
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4249 global TFT_warning_mbubbles
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4250 TFT_warning_mbubbles:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4251 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4252 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4253 return ; NO - skip message in this cycle
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4254 call TFT_attention_color ; set attention color as default
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4255 movff char_O_deco_warnings,WREG ; bank-safe copy for deco warnings
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4256 btfsc WREG,mbubble_warning ; are we in the micro bubbles zone right now?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4257 call TFT_warning_color ; YES - reconfigure to warning color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4258 STRCPY_TEXT tMicroBubbles
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4259 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4260 btfss divemode ; in dive mode?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4261 movlw surf_warning_length ; NO - use surface string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4262 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4263 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4264 bra TFT_warn_att_info_exit ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4265
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4266
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4267 global TFT_warning_outside
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4268 TFT_warning_outside:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4269 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4270 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4271 return ; NO - skip message in this cycle
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4272 call TFT_attention_color
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4273 movff char_O_deco_warnings,WREG ; bank-safe copy for deco warnings
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4274 btfsc WREG,outside_warning ; are we outside the ZH-L16 model right now?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4275 call TFT_warning_color ; YES - reconfigure to warning color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4276 STRCPY "X-ZHL16-X"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4277 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4278 btfss divemode ; in dive mode?
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4279 movlw surf_warning_length ; NO - use surface string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4280 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4281 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4282 bra TFT_warn_att_info_exit ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4283
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4284
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4285 global TFT_warning_depth
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4286 TFT_warning_depth:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4287 rcall TFT_set_message_window ; set row and column for the message
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4288 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4289 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4290 call TFT_warning_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4291 STRCPY_TEXT tMaxDepth ; "max.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4292 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4293 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4294 STRCAT_PRINT ""
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4295 bra TFT_warn_att_info_exit ; and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4296
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4297
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4298 global TFT_warning_gas_needs
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4299 TFT_warning_gas_needs:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4300 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4301 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4302 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4303 call TFT_warning_color ; YES - set warning color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4304 bra TFT_warning_gas_needs_com ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4305
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4306 global TFT_attention_gas_needs
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4307 TFT_attention_gas_needs:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4308 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4309 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4310 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4311 call TFT_attention_color ; YES - set attention color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4312 ;bra TFT_warning_gas_needs_com ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4313
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4314 TFT_warning_gas_needs_com:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4315 STRCPY_TEXT tGasNeedsWarn ; print "Gas Needs"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4316 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4317 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4318 STRCAT_PRINT "" ; finalize output
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4319 bra TFT_warn_att_info_exit ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4320
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4321 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4322
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4323 IFDEF _helium
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4324
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4325 global TFT_warning_IBCD
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4326 TFT_warning_IBCD:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4327 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4328 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4329 return ; NO - skip message in this cycle
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4330 call TFT_attention_color ; select attention color as default
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4331 STRCPY_TEXT tIBCD ; "IBCD N2He"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4332 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4333 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4334 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4335 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4336
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4337 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4338
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4339 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4340
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4341 global TFT_warning_no_BO_gas
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4342 TFT_warning_no_BO_gas:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4343 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4344 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4345 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4346 call TFT_warning_color ; select warning color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4347 STRCPY_TEXT tnoBOgas ; print "-B/O-Gas-"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4348 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4349 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4350 STRCAT_PRINT "" ; finalize output
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4351 bra TFT_warn_att_info_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4352
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4353
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4354 global TFT_advice_gas_change
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4355 TFT_advice_gas_change:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4356 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4357 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4358 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4359 call TFT_advice_color ; set advice color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4360 STRCPY_TEXT tgaschange ; "Change?"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4361 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4362 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4363 STRCAT_PRINT ""
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4364 bra TFT_warn_att_info_exit ; and return...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4365
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4366 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4367
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4368 IFDEF _external_sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4369
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4370 global TFT_warning_sensor_disagree
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4371 TFT_warning_sensor_disagree:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4372 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4373 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4374 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4375 call TFT_warning_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4376 STRCPY_TEXT tSensorDisagree ; "Sensors<>"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4377 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4378 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4379 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4380 bra TFT_warn_att_info_exit ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4381
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4382 ENDIF ; _external_sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4383
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4384 ;=============================================================================
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4385
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4386 TFT_set_message_window: ; sets the row and column for the current message
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4387 ; ignore warning (now)?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4388 decf message_counter,W ; load (message counter - 1) into WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4389 bcf STATUS,C ; clear carry bit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4390 btfss alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4391 rrcf WREG,W ; NO - divide (message_counter-1) by 2 to get the page of the message
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4392 cpfseq message_page ; page of the message = current page ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4393 retlw .255 ; NO - do not show in this cycle (message window is not defined)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4394 btfss divemode ; YES - in dive mode?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4395 bra TFT_set_message_window_sf ; NO - setup for surface mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4396 ;bra TFT_set_message_window_dm ; YES - setup for dive mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4397
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4398 ; Dive Mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4399 TFT_set_message_window_dm:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4400 btfsc alt_layout_active ; in alternative layout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4401 bra TFT_set_message_window_dm_row2 ; YES - alternative layout only uses 2nd row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4402 btfss message_counter,0 ; NO - is the message number uneven?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4403 bra TFT_set_message_window_dm_row2 ; NO - use 2nd row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4404 ;bra TFT_set_message_window_dm_row1 ; YES - use 1st row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4405
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4406 TFT_set_message_window_dm_row1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4407 WIN_SMALL dm_warning1_column, dm_warning1_row ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4408 bcf message_2nd_row_used ; flag that the 2nd does not contain a message yet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4409 retlw .0 ; show in this cycle (message window is defined)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4410
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4411 TFT_set_message_window_dm_row2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4412 WIN_SMALL dm_warning2_column, dm_warning2_row ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4413 bsf message_2nd_row_used ; flag that the 2nd row contains a message now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4414 retlw .0 ; show in this cycle (message window is defined)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4415
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4416 ; Surface Mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4417 TFT_set_message_window_sf:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4418 btfss message_counter,0 ; is the message counter uneven?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4419 bra TFT_set_message_window_sf_row2 ; NO - use 2nd row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4420 ;bra TFT_set_message_window_sf_row1 ; YES - use 1st row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4421
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4422 TFT_set_message_window_sf_row1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4423 WIN_SMALL surf_warning1_column,surf_warning1_row ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4424 bcf message_2nd_row_used ; flag that the 2nd row does not contain a message yet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4425 retlw .0 ; show in this cycle (message window is defined)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4426
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4427 TFT_set_message_window_sf_row2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4428 WIN_SMALL surf_warning2_column,surf_warning2_row ; set output position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4429 bsf message_2nd_row_used ; flag that the 2nd row contains a message now
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4430 retlw .0 ; show in this cycle (message window is defined)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4431
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4432
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4433 global TFT_msg_batt_percent_divemode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4434 TFT_msg_batt_percent_divemode:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4435 rcall TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4436 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4437 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4438 movff batt_percent,lo ; get battery percent
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4439 call TFT_color_code_battery ; color-code battery percent
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4440 STRCPY "Batt:"
0
heinrichsweikamp
parents:
diff changeset
4441 bsf leftbind
heinrichsweikamp
parents:
diff changeset
4442 output_8
heinrichsweikamp
parents:
diff changeset
4443 bcf leftbind
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4444 PUTC "%"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4445 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4446 btfss divemode ; in dive mode?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4447 movlw surf_warning_length ; NO - use surface string length
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4448 rcall TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4449 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4450 bcf win_invert
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4451 bra TFT_custview_exit1 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4452
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4453
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4454 global TFT_gf_factors_mask ; mask for GF factors
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4455 TFT_gf_factors_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4456 call TFT_divemask_color
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4457 WIN_TINY dm_custom_gf_column1,dm_custom_gf_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4458 STRCPY_TEXT_PRINT tGFactors
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4459 WIN_TINY dm_custom_gf_column3,dm_custom_gf_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4460 STRCPY_TEXT_PRINT taGFactors
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4461 ; Show GF (static)
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4462 call TFT_disabled_color ; default to disabled color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4463 btfss use_aGF ; shall use alternative GF factors?
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4464 call TFT_memo_color ; NO - switch to memo color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4465 WIN_STD dm_custom_gf_column1, dm_custom_gf_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4466 bsf leftbind
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4467 movff opt_GF_low,lo ; get normal GF low
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4468 output_8 ; print normal GF low
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4469 PUTC "/" ; print "/"
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4470 movff opt_GF_high,lo ; get normal GF high
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4471 output_8 ; print normal GF high
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4472 STRCAT_PRINT "" ; finish output
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4473 ; Show aGF (static)
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4474 call TFT_memo_color ; default to memo color
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4475 TSTOSS opt_enable_aGF ; are alternative GF factors enabled?
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4476 bra TFT_gf_factors_mask_3 ; NO - show "---" and return
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4477 ; YES - show aGF and which one is active
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4478 WIN_STD dm_custom_gf_column2, dm_custom_gf_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4479 btfss use_aGF ; shall use aGF?
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4480 bra TFT_gf_factors_mask_1 ; NO - print "<- "
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4481 STRCPY_PRINT " ->" ; YES - print " ->"
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4482 bra TFT_gf_factors_mask_2 ; - continue with common part
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4483 TFT_gf_factors_mask_1:
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4484 STRCPY_PRINT "<- " ; (NO) - print "<- "
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4485 TFT_gf_factors_mask_2: ; common part
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4486 btfss use_aGF ; shall use aGF?
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4487 call TFT_disabled_color ; NO - switch to disabled color
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4488 WIN_STD dm_custom_gf_column3, dm_custom_gf_row
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4489 movff opt_aGF_low,lo ; get aGF low
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4490 output_8 ; print
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4491 PUTC "/" ; print "/"
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4492 movff opt_aGF_high,lo ; get aGF high
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4493 output_8 ; print
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4494 STRCAT_PRINT "" ; finish output
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4495 bra TFT_custview_exit1 ; done
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4496 TFT_gf_factors_mask_3:
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4497 WIN_STD dm_custom_gf_column3+.10, dm_custom_gf_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4498 STRCPY_PRINT "---"
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4499 bra TFT_custview_exit1 ; done
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4500
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4501
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4502 global TFT_ceiling_GF_tissue_mask ; mask for ceiling, current GF and tissues
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4503 TFT_ceiling_GF_tissue_mask:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4504 call TFT_divemask_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4505 WIN_TINY dm_custom_ceiling_column+.2,dm_custom_ceiling_title_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4506 STRCPY_TEXT_PRINT tCeiling
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4507 WIN_TINY dm_custom_tissue_title_column, dm_custom_tissue_title_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4508 STRCPY_TEXT_PRINT tDiveTissues
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4509 WIN_TINY dm_custom_gf_column1+.5, dm_custom_gf_title_row
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4510 STRCPY_TEXT_PRINT tGFInfo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4511 bra TFT_custview_exit1 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4512
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4513
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4514 global TFT_ceiling_GF_tissue ; data for ceiling, current GF and tissues
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4515 TFT_ceiling_GF_tissue:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4516 WIN_MEDIUM dm_custom_ceiling_column,dm_custom_ceiling_row
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4517 MOVII int_O_ceiling,mpr ; get ceiling in [mbar] relative pressure
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4518 call TFT_color_code_ceiling ; color-code the output (also strips off flags)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4519 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4520 TSTOSS opt_units ; 0=m, 1=ft
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4521 bra TFT_ceiling_tissue_cGF_m
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4522 call convert_cm_to_feet ; convert value in hi:lo from [cm] to [feet]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4523 output_16_3 ; yxz
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4524 bra TFT_ceiling_tissue_cGF0
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4525 TFT_ceiling_tissue_cGF_m:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4526 bsf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4527 bsf ignore_digit5 ; no cm (flag will be cleared by output_16)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4528 output_16dp .3 ; yxz.a
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4529 bcf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4530 TFT_ceiling_tissue_cGF0:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4531 STRCAT_PRINT " "
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4532 ; Show tissue diagram
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4533 call TFT_dive_tissues ; show tissue pressure diagram
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4534 ; Show current supersaturation
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4535 WIN_MEDIUM dm_custom_clock_column+.3, dm_custom_gf_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4536 MOVII int_O_lead_supersat,mpr ; bank-safe copy of leading tissue's supersaturation
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4537 call TFT_color_code_gf ; color-code output
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4538 output_8 ; need to print lo only, int_O_lead_supersat value is limited to 255
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4539 STRCAT_PRINT ""
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4540 WIN_STD dm_custom_clock_column+.40, dm_custom_gf_row+.5
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4541 STRCAT_PRINT "%" ; % is printed in color set by TFT_color_code_gf, too
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4542 TFT_custview_exit1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4543 bcf leftbind
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4544 goto TFT_standard_color ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4545
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4546
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4547 global TFT_clock_batt_surfpress_mask ; mask for clock, battery and surface pressure
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4548 TFT_clock_batt_surfpress_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4549 call TFT_divemask_color
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4550 WIN_TINY dm_custom_clock_column, dm_custom_clock_title_row
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4551 STRCPY_TEXT_PRINT tTime ; "Time"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4552 WIN_TINY dm_custom_battery_column, dm_custom_battery_title_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4553 STRCPY_TEXT_PRINT tBattery ; "Battery"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4554 WIN_TINY dm_custom_surfpres_column+.8, dm_custom_surfpres_title_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4555 STRCPY_TEXT_PRINT tSurface ; "Surface"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4556 ; Show configured Surface Pressure (done in mask, because it's static during the dive)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4557 call TFT_standard_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4558 WIN_SMALL dm_custom_surfpres_column, dm_custom_surfpres_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4559 MOVII pressure_surf,mpr
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4560 output_16
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4561 PUTC ' '
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4562 STRCAT_TEXT_PRINT tMBAR ; mbar (hPa)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4563 bra TFT_custview_exit1 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4564
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4565
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4566 global TFT_clock_batt_surfpress ; data for clock, battery and surface pressure
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4567 TFT_clock_batt_surfpress:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4568 ; Update Clock
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4569 WIN_SMALL dm_custom_clock_column, dm_custom_clock_row
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4570 call TFT_standard_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4571 SMOVSS rtc_year,rtc_latched_year ; ISR-safe 6 byte copy of date and time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4572 movff rtc_latched_hour,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4573 output_99
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4574 PUTC ':'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4575 movff rtc_latched_mins,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4576 output_99x
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4577 PUTC ":"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4578 movff rtc_latched_secs,lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4579 output_99x
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4580 STRCAT_PRINT ""
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4581 ; Show Battery Volt
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4582 call TFT_memo_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4583 WIN_SMALL dm_custom_battery_column, dm_custom_battery_volt_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4584 MOVII batt_voltage,mpr
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4585 bsf leftbind
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4586 output_16dp .2 ; print as -x.yyy
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4587 PUTC 'V'
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4588 movff buffer+5,buffer+4
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4589 movlw 0x00
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4590 movff WREG,buffer+5 ; only "x.yzV"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4591 STRCAT_PRINT ""
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4592 ; Show Battery Percent
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4593 WIN_SMALL dm_custom_battery_column+.7, dm_custom_battery_percent_row
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4594 movff batt_percent,lo ; get battery percent
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4595 call TFT_color_code_battery ; color-code battery percent
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4596 output_8
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4597 STRCAT "% "
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4598 movlw 0x00
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4599 movff WREG,buffer+4 ; only "xxx%"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4600 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4601 ; Surface pressure is shown in mask because it is static
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4602 bra TFT_custview_exit1 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4603
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4604 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4605
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4606 IFDEF _ccr_pscr
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4607
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4608 global TFT_pscr_info_mask ; mask for pSCR info
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4609 TFT_pscr_info_mask:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4610 rcall TFT_show_ppo2_mask
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4611 call TFT_divemask_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4612 WIN_TINY dm_custom_pscr_drop_column, dm_custom_pscr_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4613 STRCPY_TEXT_PRINT tPSCR_O2_drop
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4614 WIN_TINY dm_custom_pscr_ratio_column, dm_custom_pscr_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4615 STRCPY_TEXT_PRINT tPSCR_lungratio
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4616 bra TFT_custview_exit1 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4617
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4618
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4619 global TFT_pscr_info ; data for pSCR info
482
c0ee33f1f399 New customview #12 for PSCR mode shows ppO2, O2 drop and lung ratio
heinrichsweikamp
parents: 480
diff changeset
4620 TFT_pscr_info:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4621 ;show ppO2
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4622 WIN_MEDIUM dm_custom_ppo2_column,dm_custom_ppo2_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4623 MOVII int_O_pSCR_ppO2,mpr ; copy pSCR ppO2 to hi:lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4624 call TFT_color_code_ppo2 ; color-code output
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4625 bsf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4626 output_16dp .3 ; x.xx bar
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4627 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4628 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4629 ; Show drop
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4630 WIN_STD dm_custom_pscr_drop_column+.11,dm_custom_pscr_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4631 call TFT_memo_color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4632 movff char_I_PSCR_drop,lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4633 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4634 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4635 STRCAT_PRINT "%"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4636 ; Show lung ratio
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4637 WIN_STD dm_custom_pscr_ratio_column+.5,dm_custom_pscr_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4638 movff char_I_PSCR_lungratio,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4639 bsf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4640 STRCPY "1/"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4641 output_8
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4642 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4643 bra TFT_custview_exit1 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4644
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4645 ENDIF ; _ccr_psrc
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4646
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4647 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4648
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4649 global TFT_gas_needs_mask ; mask for gas needs ascent
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4650 TFT_gas_needs_mask:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4651 WIN_TINY dm_custom_gas_column_title, dm_custom_gas_mask_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4652 call TFT_divemask_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4653 IFDEF _cave_mode
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4654 movff char_O_deco_info,WREG ; get the deco info vector
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4655 btfss WREG,gas_needs_cave ; are the gas needs calculated for cave mode?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4656 bra TFT_gas_needs_mask_ascent_1 ; NO - show as direct ascent needs
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4657 bsf gas_needs_mode_last ; YES - remember last results were for cave mode
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4658 STRCPY_TEXT tGasNeedsCaveMode ; - "Gas Needs Cave Mode"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4659 bra TFT_gas_needs_mask_ascent_2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4660 TFT_gas_needs_mask_ascent_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4661 bcf gas_needs_mode_last ; remember last results were for direct ascent
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4662 STRCPY_TEXT tGasNeedsAscent ; "Gas Needs Ascent"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4663 TFT_gas_needs_mask_ascent_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4664 ELSE
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4665 STRCPY_TEXT tGasNeedsAscent ; "Gas Needs Ascent"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4666 ENDIF
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4667 movff char_O_deco_info,WREG ; get the deco info vector
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4668 btfss WREG,gas_needs_fTTS ; are the gas needs calculated for fTTS?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4669 bra TFT_gas_needs_mask_ascent_3 ; NO - continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4670 STRCAT " fTTS" ; YES - append fTTS marking
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4671 TFT_gas_needs_mask_ascent_3:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4672 STRCAT_PRINT " (bar)" ; " (bar)"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4673 bra TFT_custview_exit1 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4674
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4675
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4676 global TFT_gas_needs ; data for gas needs ascent
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4677 TFT_gas_needs: ; LIMITATION: there is only space for 4 gases on the screen - if 5 gases have a pres_need > 0, then only the first 4 will be shown!
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4678 IFDEF _cave_mode
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4679 movff char_O_deco_info,WREG ; get deco info vector
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4680 btfss WREG,gas_needs_cave ; are the gas needs calculated for cave mode?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4681 bra TFT_gas_needs_ascent_1 ; NO - continue below...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4682 btfsc gas_needs_mode_last ; YES - were the last results calculated for cave mode?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4683 bra TFT_gas_needs_ascent_3 ; YES - mask still valid
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4684 bra TFT_gas_needs_ascent_2 ; NO - redraw mask
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4685 TFT_gas_needs_ascent_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4686 btfss gas_needs_mode_last ; NO - were the last results calculated for direct ascent?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4687 bra TFT_gas_needs_ascent_3 ; YES - mask still valid
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4688 ;bra TFT_gas_needs_ascent_2 ; NO - redraw mask
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4689 TFT_gas_needs_ascent_2:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4690 rcall TFT_gas_needs_mask ; redraw mask
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4691 TFT_gas_needs_ascent_3:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4692 ENDIF
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4693 clrf up ; initialize gas index (0-4)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4694 WIN_SMALL dm_custom_gas_column1+.5,dm_custom_gas_row1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4695 rcall TFT_gas_needs_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4696 WIN_SMALL dm_custom_gas_column1+.5,dm_custom_gas_row2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4697 rcall TFT_gas_needs_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4698 WIN_SMALL dm_custom_gas_column2+.5,dm_custom_gas_row1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4699 rcall TFT_gas_needs_helper
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4700 WIN_SMALL dm_custom_gas_column2+.5,dm_custom_gas_row2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4701 rcall TFT_gas_needs_helper
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4702 bra TFT_custview_exit2 ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4703
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4704 TFT_gas_needs_helper:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4705 call TFT_memo_color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4706 movlw .5 ; number of gases
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4707 cpfslt up ; check if all gases have been processed
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4708 bra TFT_gas_needs_helper_1 ; YES - clear display area
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4709 movf up,W ; NO - get gas number and check if need of that gas is > 0
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4710 rlncf WREG,W ; multiply by 2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4711 incf WREG,W ; add 1 to address high byte
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4712 lfsr FSR1,int_O_gas_need_pres ; load base of gas needs in pressure
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4713 movff PLUSW1,hi ; read HIGH(int_O_gas_need_pres[up])
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4714 btfss hi,int_is_zero ; check flag for pres_need == 0
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4715 bra TFT_gas_needs_helper_2 ; NO - print gas type and pressure needed
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4716 incf up,F ; YES - increment to next gas...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4717 bra TFT_gas_needs_helper ; ...and try the next gas
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4718 TFT_gas_needs_helper_1: ; no gases to show anymore, clear display area from potential remains of last invocation
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4719 STRCAT_PRINT " ---- " ; overwrite outdated stuff if screen position is not needed
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4720 return
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4721 TFT_gas_needs_helper_2: ; output gas type and pressure needed
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4722 movf up,W ; get gas number (0-4) to WREG
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4723 lfsr FSR1,opt_gas_O2_ratio ; read opt_gas_O2_ratio[WREG]
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4724 movff PLUSW1,lo ; copy result to lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4725 lfsr FSR1,opt_gas_He_ratio ; read opt_gas_He_ratio[WREG]
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4726 movff PLUSW1,hi ; copy result to hi
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4727 call gaslist_show_mix ; print "Air", "O2", "21/35", etc.
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4728 PUTC ':' ; ":"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4729 movf up,W ; get gas number (0-4) to WREG
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4730 rlncf WREG,W ; multiply by 2
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4731 lfsr FSR1,int_O_gas_need_pres ; load base of gas needs in pressure
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4732 movff PLUSW1,lo ; read LOW(int_O_gas_need_pres[up])
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4733 incf WREG,W ; add 1 to address high byte
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4734 movff PLUSW1,hi ; read HIGH(int_O_gas_need_pres[up])
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4735 btfsc hi,int_attention_flag ; check if attention flag is set (pres_need > pres_fill * threshold)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4736 call TFT_attention_color ; YES - print gas need in attention color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4737 btfsc hi,int_warning_flag ; check if warning flag is set (pres_need > pres_fill)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4738 call TFT_warning_color ; YES - print gas need in warning color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4739 movff int_O_gas_need_pres+1,WREG ; get HIGH(int_O_gas_need_pres[0]) which holds flag for invalid data
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4740 btfsc WREG,int_invalid_flag ; check if invalid data flag is set
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4741 call TFT_disabled_color ; YES - print gas need in disabled color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4742 bcf hi,int_attention_flag ; clear flag for attention
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4743 bcf hi,int_warning_flag ; clear flag for warning
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4744 bcf hi,int_high_flag ; clear flag for > 999 bar
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4745 bcf hi,int_invalid_flag ; clear flag for invalid data (will actually only be set with 1st gas)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4746 output_16_3 ; limit to 999 and display only (0-999)
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4747 STRCAT_PRINT " " ; adds a space to overwrite any potential remains of earlier outputs
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4748 incf up,F ; increment to next gas
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4749 return ; done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4750
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4751
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4752 global TFT_show_ppo2_mask ; helper function for several custom views
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4753 TFT_show_ppo2_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4754 call TFT_divemask_color
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4755 IFDEF _ccr_pscr
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4756 btfss FLAG_ccr_mode ; in CCR mode?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4757 bra TFT_mask_ppo2a ; NO - continue checking for pSCR and OC
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4758 btfsc bailout_mode ; YES - in bailout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4759 bra TFT_mask_ppo2b ; YES
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4760 WIN_TINY dm_custom_ppo2_column-.2,dm_custom_ppo2_title_row ; tuned position for longer text (-8 = on leftmost edge of display)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4761 STRCPY_TEXT_PRINT tppO2Dil ; NO - print "ppO2(Dil)"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4762 bra TFT_custview_exit2 ; - and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4763 TFT_mask_ppo2a:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4764 btfss FLAG_pscr_mode ; in pSCR mode?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4765 bra TFT_mask_ppo2b ; NO - continue with OC mode (or bailout)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4766 btfsc bailout_mode ; YES - in bailout?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4767 bra TFT_mask_ppo2b ; YES
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4768 WIN_TINY dm_custom_ppo2_column-.2,dm_custom_ppo2_title_row ; tuned position for longer text (-8 = on leftmost edge of display)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4769 STRCPY_TEXT_PRINT tppO2Mix ; NO - print "ppO2(Mix)"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4770 bra TFT_custview_exit2 ; - and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4771 ENDIF
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4772 TFT_mask_ppo2b: ; OC mode or bailout
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4773 WIN_TINY dm_custom_ppo2_column-.2, dm_custom_ppo2_title_row ; normal position
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4774 STRCPY_TEXT_PRINT tppO2 ; in all other modes
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4775 bra TFT_custview_exit2 ; and return...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4776
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4777
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4778 global TFT_ppo2_ead_end_cns_mask ; mask for ppO2, END/EAD and CNS / gas density
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4779 TFT_ppo2_ead_end_cns_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4780 call TFT_divemask_color
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4781 WIN_TINY dm_custom_ppo2_column-.2, dm_custom_ppo2_title_row
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4782 STRCPY_TEXT_PRINT tppO2
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4783 WIN_TINY dm_custom_ead_column, dm_custom_eadend_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4784 STRCPY_TEXT_PRINT tDiveEAD_END
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4785 IFDEF _helium
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4786 WIN_TINY dm_custom_cns_column-.5, dm_custom_eadend_title_row
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4787 STRCPY_TEXT_PRINT tGasDensity
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4788 ELSE
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4789 WIN_TINY dm_custom_cns_column, dm_custom_cns_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4790 STRCPY_TEXT_PRINT tCNS2
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4791 ENDIF
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4792 bra TFT_custview_exit2 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4793
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4794
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4795 global TFT_ppo2_ead_end_cns ; data for ppO2, END/EAD and CNS / gas density
471
9edb1359ce43 NEW: New Customview 11 in dive mode shows ppO2, EAD/END and CNS
heinrichsweikamp
parents: 466
diff changeset
4796 TFT_ppo2_ead_end_cns:
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4797 ; Show ppO2
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4798 WIN_MEDIUM dm_custom_ppo2_column, dm_custom_ppo2_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4799 MOVII int_O_breathed_ppO2,mpr ; copy ppO2 of the currently breathed gas to hi:lo
608
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4800 call TFT_color_code_ppo2 ; color-code output
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4801 bsf leftbind
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4802 output_16dp .3 ; x.xx bar
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4803 bcf leftbind
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4804 STRCAT_PRINT ""
d866684249bd work on 2.99 stable
heinrichsweikamp
parents: 605
diff changeset
4805 call TFT_standard_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4806 ; Show END/EAD
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4807 WIN_SMALL dm_custom_ead_column, dm_custom_ead_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4808 STRCPY_TEXT tEAD ; EAD:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4809 MOVII int_O_EAD_pres,mpr ; copy EAD in [mbar] to MPR
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4810 rcall TFT_end_ead_common ; convert to depth, print and limit to 8 chars
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4811 WIN_SMALL dm_custom_end_column, dm_custom_end_row
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4812 STRCPY_TEXT tEND ; END:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4813 MOVII int_O_END_pres,mpr ; copy END in [mbar] to MPR
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4814 rcall TFT_end_ead_common ; convert to depth, print and limit to 8 chars
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4815 IFDEF _helium
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4816 ; Show Gas Density
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4817 WIN_MEDIUM dm_custom_cns_column-.5, dm_custom_cns_row
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4818 MOVII int_O_gas_density,mpr ; get current gas density
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4819 call TFT_color_code_cns_1 ; color-code output
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4820 bsf leftbind ; print left-aligned
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4821 movlw .2 ; suppress first and second digit
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4822 movwf ignore_digits ; ...
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4823 output_16dp .2 ; print as -x.yyy
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4824 bcf leftbind ; back to normal alignment
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4825 STRCAT_PRINT "" ; finalize output
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4826 ELSE
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4827 ; Show CNS
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4828 WIN_STD dm_custom_cns_column+.3, dm_custom_cns_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4829 MOVII int_O_CNS_current,mpr ; get current CNS
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4830 call TFT_color_code_cns ; color-code CNS output
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4831 bsf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4832 output_16_3 ; displays only 0...999
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4833 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4834 STRCAT_PRINT "%"
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
4835 ENDIF
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4836 TFT_custview_exit2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4837 goto TFT_standard_color ; and return...
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4838
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4839 TFT_end_ead_common:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4840 call convert_pres_to_depth ; convert pressure in [mbar] to depth in [cm]
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4841 TSTOSS opt_units ; 0=Meter, 1=Feet
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4842 bra TFT_end_ead_common_metric ; 0: meter
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4843 ;bra TFT_end_ead_common_imperial ; 1: feet
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4844
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4845 TFT_end_ead_common_imperial:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4846 call convert_cm_to_feet ; convert depth in [cm] to depth in [feet]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4847 output_16_3 ; print as xyz
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4848 bra TFT_end_ead_common_exit
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4849
0
heinrichsweikamp
parents:
diff changeset
4850 TFT_end_ead_common_metric:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4851 bsf ignore_digit4 ; no decimals (flag will be cleared by output_16)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4852 output_16dp .3 ; print as yxz.--
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4853 movlw 'm' ; hard-coded unit
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4854 movff WREG,buffer+.7 ; place the unit onto the decimal point
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4855 ;bra TFT_end_ead_common_exit
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4856
0
heinrichsweikamp
parents:
diff changeset
4857 TFT_end_ead_common_exit:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4858 STRCAT_PRINT "" ; finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4859 return ; done
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4860
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4861 ;=============================================================================
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4862
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4863 IFDEF _ccr_pscr
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4864
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4865 global TFT_sensor_check_mask ; mask for sensor check
413
12e85930d95c NEW: New Customview shows ppO2(O2) and ppO2(Diluent) during CCR mode
heinrichsweikamp
parents: 412
diff changeset
4866 TFT_sensor_check_mask:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4867 call TFT_divemask_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4868 WIN_TINY dm_custom_s_check_title_column, dm_custom_s_check_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4869 STRCPY_TEXT_PRINT tSensorCheck
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4870 WIN_TINY dm_custom_ppO2_column, dm_custom_s_check_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4871 STRCPY_TEXT_PRINT tppO2O2
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4872 WIN_TINY dm_custom_ppDil_column, dm_custom_s_check_title_row
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4873 STRCPY_TEXT_PRINT tppO2Dil
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4874 bra TFT_sensor_check_exit ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4875
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4876
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4877 global TFT_sensor_check ; data for sensor check
413
12e85930d95c NEW: New Customview shows ppO2(O2) and ppO2(Diluent) during CCR mode
heinrichsweikamp
parents: 412
diff changeset
4878 TFT_sensor_check:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4879 ; Show ppO2 of O2 in this depth
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4880 WIN_MEDIUM dm_custom_ppO2_column, dm_custom_s_check_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4881 MOVII int_O_O2_ppO2,mpr ; copy ppO2 of pure O2 to hi:lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4882 call TFT_color_code_ppo2 ; color-code output
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4883 bsf leftbind
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4884 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4885 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4886 STRCAT_PRINT ""
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4887 ; Show ppO2 of the diluent in this depth
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4888 WIN_MEDIUM dm_custom_ppDil_column, dm_custom_s_check_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4889 MOVII int_O_pure_ppO2,mpr ; copy ppO2 of pure gas to hi:lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4890 call TFT_color_code_ppo2 ; color-code output
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4891 bsf leftbind
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4892 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4893 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4894 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4895 TFT_sensor_check_exit:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4896 bra TFT_custview_exit2 ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4897
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4898 ENDIF ; _ccr_pscr
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4899
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4900 ;=============================================================================
413
12e85930d95c NEW: New Customview shows ppO2(O2) and ppO2(Diluent) during CCR mode
heinrichsweikamp
parents: 412
diff changeset
4901
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4902 global TFT_surface_lastdive
503
4542d03f748a NEW: Last Dive customviews in surface mode with divetime, depth and interval
heinrichsweikamp
parents: 490
diff changeset
4903 TFT_surface_lastdive:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4904 WIN_TINY surf_gaslist_column,surf_gaslist_row+.5
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4905 STRCAT_TEXT_PRINT tLastDive ; "Last Dive:"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4906 WIN_TINY surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.1)+.5
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4907 STRCAT_TEXT_PRINT tDivetime ; "Divetime:"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4908 WIN_TINY surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.2)+.5
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4909 STRCAT_TEXT_PRINT tMaxDepth ; "Max.Depth"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4910 WIN_TINY surf_gaslist_column,surf_gaslist_row+(surf_gaslist_spacing*.3)+.5
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4911 STRCAT_TEXT_PRINT tAvgDepth ; "Average"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4912
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4913 WIN_SMALL surf_gaslist_column+.48,surf_gaslist_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4914 SMOVII int_O_desaturation_time,mpr ; ISR-safe copy of the desaturation time
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4915 movf mpr+0,W ; get low byte into WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4916 iorwf mpr+1,W ; inclusive-or with high byte, check if desaturation time is zero
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4917 bz TFT_surface_lastdive_1 ; YES - show last dive time
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4918 ; NO - show surface interval
629
237931377539 3.07 stable release
heinrichsweikamp
parents: 628
diff changeset
4919 SMOVII surface_interval_mins,mpr ; - ISR-safe copy of surface interval in minutes
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4920 call convert_time ; - convert hi:lo in minutes to hours (up:hi) and minutes (lo)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4921 movf hi,W ; - swap hi and lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4922 movff lo,hi ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4923 movwf lo ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4924 bsf leftbind ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4925 output_99x ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4926 PUTC 'h' ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4927 movff hi,lo ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4928 output_99x ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4929 STRCAT_PRINT "m " ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4930 bra TFT_surface_lastdive_2 ;
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4931 TFT_surface_lastdive_1:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4932 SMOVQQ surface_interval_secs,xC ; ISR-safe copy of surface_interval_secs:4 to xC:4
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4933 call info_menu_uptime_com ; use part of info_menu_uptime to convert and display in days and hours
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4934 STRCAT_PRINT "" ; finalize output
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4935 TFT_surface_lastdive_2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4936 WIN_SMALL surf_gaslist_column+.48,surf_gaslist_row+(surf_gaslist_spacing*.1)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4937 MOVII lastdive_duration,mpr ; get duration of last dive, minutes
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4938 bsf leftbind ; print without leading spaces
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4939 output_16 ; dive time minutes
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4940 PUTC ":" ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4941 movff lastdive_duration+2,lo ; get duration of last dive, seconds
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4942 output_99x ; print seconds
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4943 rcall TFT_surface_common ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4944 TFT_surface_lastdive_3:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4945 WIN_SMALL surf_gaslist_column+.48,surf_gaslist_row+(surf_gaslist_spacing*.2)
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4946 MOVII lastdive_maxdepth,mpr ; get max depth of last dive
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4947 bsf leftbind ; print without leading spaces
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4948 TSTOSS opt_units ; 0=Meter, 1=Feet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4949 bra TFT_surface_lastdive_metric ; 0 - metric
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4950 rcall TFT_surface_imperial ; 1 - imperial
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4951 bra TFT_surface_lastdive_4 ; - continue
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4952 TFT_surface_lastdive_metric:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4953 rcall TFT_surface_metric ; print depth in meters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4954 TFT_surface_lastdive_4:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4955 WIN_SMALL surf_gaslist_column+.48,surf_gaslist_row+(surf_gaslist_spacing*.3)
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4956 MOVII lastdive_avgdepth,mpr ; get avg depth of last dive
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4957 bsf leftbind ; print without leading spaces
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4958 TSTOSS opt_units ; 0=Meter, 1=Feet
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4959 bra TFT_surface_metric ; 0 - metric and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4960 ;bra TFT_surface_imperial ; 1 - imperial and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4961
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4962 TFT_surface_imperial:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4963 rcall convert_cm_to_feet ; convert value in hi:lo from [cm] to [feet]
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4964 output_16_3 ; limit to 999 and display only (0-999)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4965 STRCAT_TEXT tFeets1 ; "ft"
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4966 bra TFT_surface_common ; finalize output
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4967
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4968 TFT_surface_metric:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
4969 bsf ignore_digit5 ; no cm (flag will be cleared by output_16)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4970 movlw .1 ; no 1000 meters
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4971 movwf ignore_digits ; ...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4972 output_16dp .3 ; xxx.y
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4973 STRCAT_TEXT tMeters ; "m"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4974 ;bra TFT_surface_common ; finalize output
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4975
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4976 TFT_surface_common:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4977 STRCAT_PRINT "" ; finalize output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4978 bcf leftbind ; clear left-alignment
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4979 return ; done
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4980
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
4981 ;=============================================================================
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4982
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4983 global TFT_surface_tissues
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4984 TFT_surface_tissues: ; show tissue diagram in surface mode
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4985
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4986 ; draw outer frame
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4987 WIN_FRAME_STD surf_tissue_diagram_top, surf_tissue_diagram_bottom, surf_tissue_diagram_left, surf_tissue_diagram_right
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4988
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4989 ;---- draw labels --------------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4990
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4991 call TFT_standard_color
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4992 WIN_SMALL surf_tissue_N2_column,surf_tissue_N2_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
4993 IFDEF _helium
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4994 btfss tissue_graphic_layout ; shall N2 and He?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4995 bra TFT_surface_tissues_1 ; NO - print "Tissues"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4996 STRCPY_TEXT_PRINT tN2 ; YES - print "N2"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
4997 WIN_SMALL surf_tissue_He_column,surf_tissue_He_row
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4998 STRCPY_TEXT_PRINT tHe ; - print "He"
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
4999 bra TFT_surface_tissues_2 ; - continue with common part
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5000 ENDIF
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5001
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5002 TFT_surface_tissues_1:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5003 STRCPY_TEXT_PRINT tDiveTissues ; print "Tissues"
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5004
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5005 TFT_surface_tissues_2:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5006 ;---- draw scale ---------------------------------- ;
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5007 movlw color_deepblue
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5008 call TFT_set_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5009
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5010 SCALELINE macro x
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5011 WIN_FRAME_COLOR16 surf_tissue_diagram_top+.23,surf_tissue_diagram_bottom-.4,surf_tissue_diagram_left+.4+x,surf_tissue_diagram_left+.4+x
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5012 endm
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5013
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5014 SCALELINE .0
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5015 SCALELINE .8
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5016 SCALELINE .16
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5017 SCALELINE .24
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5018 SCALELINE .32
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5019 SCALELINE .40
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5020 SCALELINE .48
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5021 SCALELINE .56
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5022 SCALELINE .64
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5023 SCALELINE .72
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5024 SCALELINE .80
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5025
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5026 ;---- common initialization for Tissue Pressures and Saturation ----------
0
heinrichsweikamp
parents:
diff changeset
5027 movlw .1
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5028 movwf win_height ; hight of the bargraph (0-239)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5029 movlw surf_tissue_diagram_left+.4 ; left start position for N2 bars
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5030 movwf win_leftx2 ; column left (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5031 movlw surf_tissue_diagram_right-surf_tissue_diagram_left-.4 ; get max width for N2 bars (78 pixel)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5032 movwf win_width+0 ; set width of the bar box
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5033 clrf win_width+1 ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5034 movlw color_white ; color for tissues not exceeding surface max pressure
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5035 movwf ex ; store in ex
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5036 movlw color_red ; color for tissues exceeding surface max pressure
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5037 movwf ul ; store in ul
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5038 bcf aux_flag ; draw tissue pressures by default
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5039
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5040 ;---- Draw combined or N2 Tissue Pressures--------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5041 lfsr FSR2,char_O_tissue_pressure ; load base address of combined pressures by default
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5042 IFDEF _helium
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5043 btfsc tissue_graphic_layout ; shall show N2+He ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5044 lfsr FSR2,char_O_tissue_pres_N2 ; YES - replace with base address of N2 pressures
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5045 ENDIF
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5046 btfsc tissue_graphic_mode ; in logbook mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5047 lfsr FSR2,header_buffer+index_tissue_pres_total ; YES - replace with base address from logbook
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5048 movlw d'16'
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5049 movwf lo ; tissue counter, 16 tissues
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5050 clrf hi ; row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5051 TFT_surf_tissues_N2_loop:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5052 movlw surf_tissue_diagram_top+.23 ; surface mode top start position N2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5053 rcall TFT_surf_tissues_bargraph ; show one tissue
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5054 movlw .2 ; bargraph spacing
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5055 addwf hi,F ; increment row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5056 decfsz lo,F ; decrement tissue counter, done?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5057 bra TFT_surf_tissues_N2_loop ; NO - loop
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5058 IFDEF _helium
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5059 btfsc tissue_graphic_layout ; shall show N2+He ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5060 bra TFT_surface_tissues_3 ; YES - show He tissue pressures
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5061 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5062
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5063 ;---- Draw Tissue Saturations --------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5064 lfsr FSR2,char_O_tissue_saturation ; load base address of tissue supersaturation
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5065 btfsc tissue_graphic_mode ; in logbook mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5066 lfsr FSR2,header_buffer+index_tissue_supersat ; YES - replace with base address from logbook
0
heinrichsweikamp
parents:
diff changeset
5067 movlw d'16'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5068 movwf lo ; tissue counter, 16 tissues
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5069 clrf hi ; row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5070 movlw color_grey ; color for tissue saturation
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5071 movwf ex ; store in ex
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5072 ; movlw color_yellow ; 2nd color is not used by tissue saturation
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5073 ; movwf ul ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5074 bsf aux_flag ; draw tissue saturation
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5075 TFT_surf_tissues_sat_loop:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5076 movlw surf_tissue_diagram_top+.23+.57 ; surface mode top start position saturations
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5077 rcall TFT_surf_tissues_bargraph ; draw tissue bargraph
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5078 movlw .2 ; bargraph spacing
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5079 addwf hi,F ; increment row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5080 decfsz lo,F ; decrement tissue counter, done?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5081 bra TFT_surf_tissues_sat_loop ; NO - loop
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5082
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5083 ;---- common Part for vertical lines--------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5084 movlw surf_tissue_diagram_top+.23+.57 ; get top position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5085 movwf win_top ; set top position (0-239)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5086 movlw .30 ; get hight
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5087 movwf win_height ; set height
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5088 movlw .1 ; get width
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5089 movwf win_width+0 ; set width, low byte
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5090 clrf win_width+1 ; set width, high byte
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5091
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5092 ;---- Print 100% Line ----------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5093 movlw surf_tissue_diagram_left+.4+.64 ; get left position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5094 movwf win_leftx2 ; set left position (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5095 movlw color_red ; color for 100% line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5096 call TFT_set_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5097 call TFT_box ; draw line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5098
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5099 ; GF factors enabled?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5100 btfss tissue_graphic_gf ; GF factors enabled?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5101 bra TFT_surface_tissues_4 ; NO - continue with CNS
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5102
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5103 ;---- Print GF low Line -------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5104 movlw surf_tissue_diagram_left+.4 ; get left base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5105 movwf win_leftx2 ; set left base position (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5106 movff opt_GF_low,WREG ; get GF low in 0.01 %
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5107 btfsc tissue_graphic_mode ; in logbook mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5108 movff header_buffer+index_gf_lo_hi+0,WREG ; YES - replace by GF low from logbook
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5109 mullw .164 ; multiply with 164
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5110 movf PRODH,W ; divide by 256 -> resulting scale factor is 164/256 = 0.640625
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5111 addwf win_leftx2,F ; add to base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5112 movlw color_green ; color for 100% line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5113 call TFT_set_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5114 call TFT_box ; draw line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5115
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5116 ;---- Print GF high Line -------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5117 movlw surf_tissue_diagram_left+.4 ; get left base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5118 movwf win_leftx2 ; set left base position (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5119 movff opt_GF_high,WREG ; get GF high in 0.01 %
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5120 btfsc tissue_graphic_mode ; in logbook mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5121 movff header_buffer+index_gf_lo_hi+1,WREG ; YES - replace by GF high from logbook
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5122 mullw .164 ; multiply with 164
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5123 movf PRODH,W ; divide by 256 -> resulting scale factor is 164/256 = 0.640625
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5124 addwf win_leftx2,F ; add to base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5125 movlw color_yellow ; color for 100% line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5126 call TFT_set_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5127 call TFT_box ; draw line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5128 bra TFT_surface_tissues_4 ; continue with CNS
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5129
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5130 IFDEF _helium
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5131 TFT_surface_tissues_3:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5132 ;---- Draw He Tissue Pressures--------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5133 movlw surf_tissue_diagram_left+.4+.16 ; start position for He bars
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5134 movwf win_leftx2 ; column left (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5135 movlw surf_tissue_diagram_right-surf_tissue_diagram_left-.4-.16 ; max width for He bars
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5136 movwf win_width+0 ; set total width of the bar box
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5137 clrf win_width+1 ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5138 lfsr FSR2,char_O_tissue_pres_He ; load base address of He pressures
0
heinrichsweikamp
parents:
diff changeset
5139 movlw d'16'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5140 movwf lo ; tissue counter, 16 tissues
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5141 clrf hi ; row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5142 TFT_surf_tissues_He_loop:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5143 movlw surf_tissue_diagram_top+.23+.57 ; surface mode top start position He
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5144 rcall TFT_surf_tissues_bargraph ; show one tissue
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5145 movlw .2 ; bargraph spacing
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5146 addwf hi,F ; increment row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5147 decfsz lo,F ; decrement tissue counter, done?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5148 bra TFT_surf_tissues_He_loop ; NO - loop
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5149 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5150
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5151 TFT_surface_tissues_4:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5152 btfss tissue_graphic_cns ; shall show CNS value?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5153 goto TFT_standard_color ; NO - done
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5154
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5155 ; ---- Draw CNS% ---------------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5156 WIN_SMALL surf_tissue_He_column+.22,surf_tissue_He_row ; position in-between tissue bars
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5157 MOVII int_O_CNS_current,mpr ; get current CNS
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5158 call TFT_color_code_cns ; color-code CNS value
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5159 STRCPY_TEXT tCNS2 ; "CNS:"
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5160 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5161 output_16_3 ; display only 0...999
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5162 bcf leftbind
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5163 STRCAT_PRINT "%"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5164 goto TFT_standard_color ; and return...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5165
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5166 TFT_surf_tissues_bargraph:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5167 addwf hi,W ; add row number to start position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5168 movwf win_top ; set as row top (0-239)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5169 movff POSTINC2,up ; get tissue value
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5170 movf ex,W ; default color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5171 btfsc up,7 ; check if flag in bit 7 is set
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5172 movf ul,W ; YES - switch to 2nd color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5173 call TFT_set_color ; set bargraph bar color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5174 bcf up,7 ; clear flag bit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5175 btfss aux_flag ; drawing saturations?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5176 rlncf up,F ; NO - multiply with 2 (previously cleared bit 7 will be rotated to bit 0)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5177 incf up,W ; add 1 for a minimum visible bar (He-bars could be invisible else-wise)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5178 movwf win_bargraph ; set length of the bargraph
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5179 goto TFT_box ; draw bargraph and return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5180
0
heinrichsweikamp
parents:
diff changeset
5181
heinrichsweikamp
parents:
diff changeset
5182 ;=============================================================================
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5183 ; Draw saturation graph in dive mode custom view
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5184 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5185 TFT_dive_tissues:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5186
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5187 ;---- draw outer frame
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5188 call TFT_standard_color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5189 WIN_FRAME_COLOR16 dm_custom_tissue_diagram_top, dm_custom_tissue_diagram_bottom, dm_custom_tissue_diagram_left, .159 ; outer frame
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5190
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5191 ;---- clear area showing leading tissue number as it may not be printed over
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5192 WIN_BOX_BLACK dm_custom_tissue_diagram_top+.16, dm_custom_tissue_diagram_top+.16+.10, dm_custom_tissue_diagram_left+.32, dm_custom_tissue_diagram_left+.32+.8 ; top, bottom, left, right
0
heinrichsweikamp
parents:
diff changeset
5193
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5194 TFT_dive_tissues_1:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5195 ;---- common initialization for Tissue Pressures and Saturation ----------
0
heinrichsweikamp
parents:
diff changeset
5196 movlw .1
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5197 movwf win_height ; hight of the bargraph (0-239)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5198 movlw dm_custom_tissue_diagram_left+.3 ; get dive mode left start position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5199 movwf win_leftx2 ; set column left (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5200 movlw .159-dm_custom_tissue_diagram_left-.4 ; get max width
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5201 movwf win_width+0 ; set width (low byte)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5202 clrf win_width+1 ; high byte of with is always zero
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5203 movlw color_cyan ; color for tissues with decreasing pressure
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5204 movwf ex ; store in ex
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5205 movlw color_orange ; color for tissues with increasing pressure
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5206 movwf ul ; store in ul
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5207
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5208 ;---- Draw combined or N2 Tissue Pressures -------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5209 lfsr FSR2,char_O_tissue_pressure ; load base address of combined pressures by default
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5210 IFDEF _helium
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5211 btfsc tissue_graphic_layout ; shall show N2+He ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5212 lfsr FSR2,char_O_tissue_pres_N2 ; YES - load base address of N2 pressures
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5213 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5214 movlw d'16'
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5215 movwf lo ; tissue counter, 16 tissues
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5216 clrf hi ; row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5217 TFT_dive_tissues_N2_loop:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5218 movlw dm_custom_tissue_diagram_top+.3 ; dive mode top start position N2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5219 rcall TFT_dive_tissues_bargraph ; draw tissue bargraph
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5220 incf hi,F ; increment row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5221 decfsz lo,F ; decrement tissue counter, done?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5222 bra TFT_dive_tissues_N2_loop ; NO - loop
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5223 IFDEF _helium
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5224 btfsc tissue_graphic_layout ; shall show N2+He ?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5225 bra TFT_dive_tissues_3 ; YES - show He tissue pressures
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5226 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5227
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5228 ;---- Draw Tissue Saturations --------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5229 lfsr FSR2,char_O_tissue_saturation ; load base address of tissue supersaturation
0
heinrichsweikamp
parents:
diff changeset
5230 movlw d'16'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5231 movwf lo ; tissue counter, 16 tissues
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5232 clrf hi ; row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5233 movlw color_grey ; color for tissue saturation, alternative: color_lightblue
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5234 movwf ex ; store in ex
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5235 ; movlw color_yellow ; 2nd color is not used by tissue saturation
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5236 ; movwf ul ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5237 TFT_dive_tissues_sat_loop:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5238 movlw dm_custom_tissue_diagram_top+.3+.22 ; dive mode top start position saturations
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5239 rcall TFT_dive_tissues_bargraph ; draw tissue bargraph
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5240 incf hi,F ; increment row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5241 decfsz lo,F ; decrement tissue counter, done?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5242 bra TFT_dive_tissues_sat_loop ; NO - loop
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5243
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5244 ;---- common Part for vertical lines--------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5245 movlw dm_custom_tissue_diagram_top+.3+.22 ; get top position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5246 movwf win_top ; set top position (0-239)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5247 movlw .15 ; get hight
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5248 movwf win_height ; set height
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5249 movlw .1 ; get width
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5250 movwf win_width+0 ; set width, low byte
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5251 clrf win_width+1 ; set width, high byte
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5252
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5253 ;---- Print 100% Line ----------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5254 movlw dm_custom_tissue_diagram_left+.3+.33 ; get left position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5255 movwf win_leftx2 ; set left position (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5256 movlw color_red ; color for 100% line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5257 call TFT_set_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5258 call TFT_box ; draw line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5259
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5260 ; GF factors enabled?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5261 btfss tissue_graphic_gf ; shall show GF lines?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5262 bra TFT_dive_tissues_4 ; NO - continue with number of leading tissue
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5263
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5264 ;---- Print GF low Line -------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5265 movlw dm_custom_tissue_diagram_left+.3 ; get left base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5266 movwf win_leftx2 ; set left base position (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5267 movff char_I_GF_Low_percentage,WREG ; get GF low in 0.01 %
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5268 mullw .82 ; multiply with 82
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5269 movf PRODH,W ; divide by 256 -> resulting scale factor is 82/256 = 0.3203125
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5270 addwf win_leftx2,F ; add to base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5271 movlw color_green ; color for 100% line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5272 call TFT_set_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5273 call TFT_box ; draw line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5274
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5275 ;---- Print GF high Line -------------------------- ;
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5276 movlw dm_custom_tissue_diagram_left+.3 ; get left base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5277 movwf win_leftx2 ; set left base position (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5278 movff char_I_GF_High_percentage,WREG ; get GF high in 0.01 %
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5279 mullw .82 ; multiply with 82
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5280 movf PRODH,W ; divide by 256 -> resulting scale factor is 82/256 = 0.3203125
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5281 addwf win_leftx2,F ; add to base position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5282 movlw color_yellow ; color for 100% line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5283 call TFT_set_color ; set color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5284 call TFT_box ; draw line
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5285 bra TFT_dive_tissues_4 ; continue with number of leading tissue
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5286
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5287 IFDEF _helium
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5288 TFT_dive_tissues_3:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5289 ;---- Draw He Tissues Pressures ------------------- ;
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5290 lfsr FSR2,char_O_tissue_pres_He ; load base address of He pressures
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5291 movlw dm_custom_tissue_diagram_left+.3+.4 ; get dive mode left start position for He bars
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5292 movwf win_leftx2 ; set column left (0-159)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5293 movlw .159-dm_custom_tissue_diagram_left-.4-.4 ; get max width for He bars
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5294 movwf win_width+0 ; set width (low byte)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5295 clrf win_width+1 ; ...
0
heinrichsweikamp
parents:
diff changeset
5296 movlw d'16'
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5297 movwf lo ; tissue counter, 16 tissues
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5298 clrf hi ; row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5299 TFT_dive_tissues_He_loop:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5300 movlw dm_custom_tissue_diagram_top+.3+.22 ; dive mode top start position H2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5301 rcall TFT_dive_tissues_bargraph ; draw tissue bargraph
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5302 incf hi,F ; increment row counter
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5303 decfsz lo,F ; decrement tissue counter, done?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5304 bra TFT_dive_tissues_He_loop ; NO - loop
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5305 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5306
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5307 TFT_dive_tissues_4:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5308 ;---- Print Number of leading Tissue -------------- ; TODO: some flicker due to overwriting by tissue bars
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5309 movff int_O_lead_supersat+0,WREG ; get current leading tissue's supersaturation (only low byte used for value)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5310 tstfsz WREG ; current supersaturation = 0 ?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5311 bra TFT_dive_tissues_5 ; NO - print number of leading tissue
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5312 movff char_O_deco_info,WREG ; YES - get deco info vector
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5313 btfss WREG,deco_ceiling ; - do we have a ceiling obligation?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5314 goto TFT_standard_color ; NO - can ascent directly, don't print number, set standard color and return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5315 ; YES - print number of leading tissue
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5316 TFT_dive_tissues_5:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5317 movff char_O_lead_tissue,lo ; get number of leading tissue as 0-15
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5318 incf lo,F ; adjust to 1-16
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5319 movlw .10
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5320 cpfsgt lo ; is it > 10 ?
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5321 bra TFT_dive_tissues_6 ; NO - will output a single digit number
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5322 ; start position for a 2 digit number
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5323 WIN_TINY dm_custom_tissue_diagram_left+.32,dm_custom_tissue_diagram_top+.10
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5324 bra TFT_dive_tissues_7
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5325 TFT_dive_tissues_6:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5326 ; start position for a 1 digit number
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5327 WIN_TINY dm_custom_tissue_diagram_left+.32+.4,dm_custom_tissue_diagram_top+.10
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5328 TFT_dive_tissues_7:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5329 call TFT_standard_color ; set output color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5330 bsf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5331 output_8 ; print number in left aligned, i.e. without leading zeros or spaces
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5332 bcf leftbind
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5333 STRCAT_PRINT "" ; finalize output
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5334 return
0
heinrichsweikamp
parents:
diff changeset
5335
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5336 TFT_dive_tissues_bargraph:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5337 addwf hi,W ; add row number to start position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5338 movwf win_top ; set as row top (0-239)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5339 movff POSTINC2,up ; get tissue value
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5340 movf ex,W ; default color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5341 btfsc up,7 ; check if flag in bit 7 is set
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5342 movf ul,W ; YES - switch to 2nd color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5343 call TFT_set_color ; set bargraph bar color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5344 bcf up,7 ; clear flag bit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5345 bcf STATUS,C ; clear carry bit
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5346 rrcf up,F ; divide by 2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5347 incf up,W ; add a bit for a minimum visible bar
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5348 movwf win_bargraph ; set bargraph bar length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5349 goto TFT_box ; draw bargraph and return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5350
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5351 ;=============================================================================
55
448ba265fdae Change "O2" warning to "ppO2"
heinrichsweikamp
parents: 54
diff changeset
5352
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5353 global TFT_show_cns
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5354 TFT_show_cns:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5355 call TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5356 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5357 return ; NO - skip message in this cycle
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5358 STRCPY_TEXT tCNS ; CNS:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5359 MOVII int_O_CNS_current,mpr ; get current CNS
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5360 call TFT_color_code_cns ; color-code CNS output
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5361 bsf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5362 output_16_3 ; displays only 0...999
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5363 bcf leftbind
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5364 PUTC "%"
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5365 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5366 btfss divemode ; In dive mode?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5367 movlw surf_warning_length ; NO - use surface string length
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5368 call TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5369 STRCAT_PRINT ""
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5370 bcf win_invert
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5371 bra TFT_custview_exit3 ; and return...
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5372
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5373
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5374 global TFT_warning_eod_cns
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5375 TFT_warning_eod_cns:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5376 call TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5377 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5378 return ; NO - skip message in this cycle
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5379 call TFT_warning_color ; switch to warnings (red) text color
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5380 STRCPY_TEXT tCNSeod ; end-of-dive CNS warning text
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5381 movlw dm_warning_length ; dive mode string length
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5382 call TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in WREG)
0
heinrichsweikamp
parents:
diff changeset
5383 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5384 bra TFT_custview_exit3 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5385
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5386
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5387 global TFT_show_ppo2_warning
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5388 TFT_show_ppo2_warning:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5389 call TFT_set_message_window ; set row and column for the message
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5390 tstfsz WREG ; is there room for the message?
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5391 return ; NO - skip message in this cycle
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5392 call TFT_color_code_ppo2 ; color-code output
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5393 btfsc bailout_mode ; in bailout?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5394 bra TFT_display_diluent_2 ; YES
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5395 btfss FLAG_ccr_mode ; in CCR mode?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5396 bra TFT_display_diluent_1 ; NO - continue with pSCR or OC
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5397 STRCPY_TEXT tdil ; YES - print "Dil:"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5398 bra TFT_display_diluent_3
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5399 TFT_display_diluent_1:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5400 btfss FLAG_pscr_mode ; in pSCR mode?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5401 bra TFT_display_diluent_2 ; NO - continue with OC
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5402 STRCPY_TEXT tmix ; YES - print "Mix:"
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5403 bra TFT_display_diluent_3
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5404 TFT_display_diluent_2:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5405 STRCPY_TEXT tppO2 ; bailout or OC mode, print "ppO2:"
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5406 TFT_display_diluent_3:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5407 bsf leftbind
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5408 output_16dp .3 ; x.xx bar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5409 bcf leftbind
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5410 movlw dm_warning_length ; dive mode string length
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5411 call TFT_fillup_with_spaces ; fill up FSR2 with spaces (total string length in #WREG)
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5412 STRCAT_PRINT ""
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5413 TFT_custview_exit3:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5414 goto TFT_standard_color ; and return...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5415
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5416
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5417 IFDEF _compass
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5418
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5419 global TFT_surf_set_bearing
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5420 TFT_surf_set_bearing:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5421 btfsc compass_menu ; is the "set bearing" selection shown?
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5422 return ; YES - return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5423 bsf compass_menu ; NO - set "set bearing" selection as shown
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5424 WIN_BOX_BLACK surf_compass_bear_row,surf_warning1_row-1, surf_compass_bear_column, surf_decotype_column-.1 ; top, bottom, left, right
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5425 WIN_SMALL surf_compass_bear_column,surf_compass_bear_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5426 WIN_COLOR color_yellow
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5427 bsf win_invert
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5428 STRCPY_TEXT_PRINT tSetHeading ; 7 chars
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5429 bcf win_invert
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5430 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5431
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5432 ENDIF
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5433
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5434 ;=============================================================================
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5435
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5436 global TFT_LogOffset
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5437 TFT_LogOffset:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5438 STRCPY_TEXT tLogOffsetValue ; print "Offset" in selected language
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5439 call eeprom_log_offset_read ; read offset into lo:hi
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5440 ; bsf leftbind
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5441 output_16_4 ; print offset in 4 digits
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5442 ; bcf leftbind
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5443 return ; no "_PRINT" here...
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5444
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5445 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5446 ; RX Functions
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5447
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5448 IFDEF _rx_functions
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5449
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5450 global TFT_pressures_SAC_mask ; mask for pressures and SAC
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5451 TFT_pressures_SAC_mask:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5452 call TFT_divemask_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5453 ; pressure reading 1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5454 WIN_TINY dm_custom_tankdata_pres1_col, dm_custom_tankdata_mask_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5455 movff char_I_pressure_gas+0,WREG ; =0: disabled, =1..10: gases/dils
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5456 bcf aux_flag ; selector for disabled / need set to disabled
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5457 call TFT_pressures_SAC_mask_helper ; print gas composition or " ---" if disabled
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5458 ; pressure reading 2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5459 WIN_TINY dm_custom_tankdata_pres2_col, dm_custom_tankdata_mask_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5460 movff char_I_pressure_gas+1,WREG ; =0: need to reading 1, =1..10: gases/dils
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5461 bsf aux_flag ; selector for disabled / need set to need
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5462 call TFT_pressures_SAC_mask_helper ; print gas composition or "Need " if 0
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5463 ; SAC rate
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5464 WIN_TINY dm_custom_tankdata_SAC_col, dm_custom_tankdata_mask_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5465 STRCPY_TEXT tSAC ; "SAC
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5466 STRCAT " (" ; (
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5467 STRCAT_TEXT tLitersMinute ; l/min
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5468 STRCAT_PRINT ")" ; )"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5469 bra TFT_custview_exit3 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5470
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5471 TFT_pressures_SAC_mask_helper:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5472 tstfsz WREG ; pressure reading assigned?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5473 bra TFT_dive_tankdata_mask_helper_1 ; YES - print gas composition
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5474 btfsc aux_flag ; NO - check auxiliary flag
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5475 bra TFT_dive_tankdata_mask_helper_2 ; 1 - print "Need "
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5476 STRCAT_PRINT " ---" ; 0 - print " ---"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5477 return ; - done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5478 TFT_dive_tankdata_mask_helper_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5479 decf WREG,W ; (1..10) -> (0..9)
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5480 bsf short_gas_descriptions ; just "Air", "O2" or "xx/yy"
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5481 call gaslist_strcat_gas_WREG ; print composition of gas/dil in WREG (0..9)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5482 bra TFT_dive_tankdata_mask_helper_3 ; finish with adding "(bar)"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5483 TFT_dive_tankdata_mask_helper_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5484 STRCPY_TEXT tNeed ; "Need"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5485 TFT_dive_tankdata_mask_helper_3:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5486 STRCAT_PRINT "(bar)"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5487 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5488
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5489
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5490 global TFT_pressures_SAC ; data for pressures and SAC
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5491 TFT_pressures_SAC:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5492 ; check mode for second reading
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5493 bcf aux_flag ; clear auxiliary flag by default (reading 2 is pressure)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5494 movff char_I_pressure_gas+1,WREG ; =0: need to reading 1, =1..10: gases/dils
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5495 addlw .0 ; dummy operation to set status register flags
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5496 btfsc STATUS,Z ; gas selected = 0 (i.e. no 2nd pressure reading) ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5497 bsf aux_flag ; YES - set auxiliary flag (display position of reading 2 shall show need to reading 1)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5498 ; get data of reading 1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5499 movff int_IO_pressure_value+0,lo ; copy pressure 1 to hi:lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5500 movff int_IO_pressure_value+1,hi
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5501 movff char_I_pressure_stat+0,ex ; copy status data
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5502 ; pressure of reading 1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5503 WIN_STD dm_custom_tankdata_pres1_col+.4,dm_custom_tankdata_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5504 rcall TFT_pressures_SAC_helper_1 ; print pressure if available, else " ---"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5505 ; battery status of reading 1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5506 WIN_SMALL dm_custom_hud_sensor1_column+.4+.36,dm_custom_tankdata_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5507 rcall TFT_pressures_SAC_helper_2 ; print or clear down arrow as low bat indicator
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5508 ; get data for reading 2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5509 btfsc aux_flag ; shall reading 2 show need to reading 1 ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5510 bra TFT_pressures_SAC_1 ; YES
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5511 movff int_IO_pressure_value+2,lo ; NO - copy pressure 2 to hi:lo
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5512 movff int_IO_pressure_value+3,hi
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5513 movff char_I_pressure_stat+1,ex ; - copy status data
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5514 bra TFT_pressures_SAC_2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5515 TFT_pressures_SAC_1:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5516 MOVII int_O_pressure_need,mpr ; YES - copy need to pressure 1 to hi:lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5517 clrf ex ; - set status data to 0
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5518 TFT_pressures_SAC_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5519 ; pressure of reading 2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5520 WIN_STD dm_custom_tankdata_pres2_col+.2,dm_custom_tankdata_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5521 rcall TFT_pressures_SAC_helper_1 ; print pressure if available, else " ---"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5522 ; battery status of reading 2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5523 WIN_SMALL dm_custom_tankdata_pres2_col+.2+.36,dm_custom_tankdata_row
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5524 rcall TFT_pressures_SAC_helper_2 ; print or clear down arrow as low bat indicator
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5525 ; SAC
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5526 WIN_STD dm_custom_tankdata_SAC_col+.6,dm_custom_tankdata_row
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5527 MOVII int_O_SAC_measured,mpr ; copy measured SAC rate to hi:lo
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5528 btfsc hi,int_not_avail_flag ; SAC rate available?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5529 bra TFT_pressures_SAC_4 ; NO - print " --.-"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5530 call TFT_color_code_tank_pres_sac ; color-code the output
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5531 output_16_3 ; print as xxx
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5532 PUTC " " ; print a dummy char to have the string termination at the correct place
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5533 movff buffer+.2,buffer+.3 ; move the decimal digit one position to the right
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5534 movlw "." ; load coding of a decimal point
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5535 movff WREG,buffer+.2 ; place it before decimal digit
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5536 movlw " " ; load coding of a space character
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5537 movff buffer+.1,up ; get the character in front of the decimal point
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5538 cpfseq up ; is it a space?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5539 bra TFT_pressures_SAC_3 ; NO - continue
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5540 movlw "0" ; YES - load coding of a zero
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5541 movff WREG,buffer+.1 ; - place a zero in front of the decimal point
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5542 TFT_pressures_SAC_3:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5543 STRCAT_PRINT "" ; dump buffer to screen
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5544 bra TFT_custview_exit3 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5545 TFT_pressures_SAC_4:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5546 call TFT_disabled_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5547 STRCAT_PRINT "--.-" ; output for no SAC data available
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5548 bra TFT_custview_exit3 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5549
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5550 TFT_pressures_SAC_helper_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5551 btfss hi,int_not_avail_flag ; pressure available?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5552 bra TFT_pressures_SAC_helper_1a ; YES - print pressure
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5553 call TFT_disabled_color ; NO - use disabled color as default
628
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
5554 ; btfsc ex,char_transmitter_lost ; - transmitter lost?
cd58f7fc86db 3.05 stable work
heinrichsweikamp
parents: 623
diff changeset
5555 ; call TFT_attention_color ; YES - use attention color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5556 STRCAT_PRINT " ---" ; - print " ---"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5557 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5558 TFT_pressures_SAC_helper_1a:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5559 btfsc hi,int_warning_flag ; out of range (signaled by warning flag)?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5560 bra TFT_pressures_SAC_helper_1c ; YES - special treatment
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5561 call TFT_color_code_tank_pres_sac ; NO - color-code the output
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5562 bsf ignore_digit5 ; - no 0.1 bar (flag will be cleared by output_16)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5563 movf lo,W ;
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5564 iorwf hi,W ; - pressure value = 0 ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5565 bnz TFT_pressures_SAC_helper_1b ; NO - print value
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5566 STRCPY_PRINT " 0" ; YES - print a zero manually
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5567 return ; - done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5568 TFT_pressures_SAC_helper_1b:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5569 output_16 ; print hi:lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5570 STRCAT_PRINT "" ; dump buffer to screen
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5571 return ; done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5572 TFT_pressures_SAC_helper_1c:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5573 call TFT_color_code_tank_pres_sac ; color-code the output (clears all flags)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5574 STRCPY_PRINT ">400" ; print ">400"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5575 return ; done
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5576
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5577 TFT_pressures_SAC_helper_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5578 btfss ex,char_transmitter_low_bat ; low battery flag set?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5579 bra TFT_pressures_SAC_helper_2a ; NO - wipe out down arrow (low bat indicator)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5580 call TFT_attention_color ; YES - use attention color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5581 STRCPY_PRINT "\xb8" ; - print down arrow as bat low indication
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5582 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5583 TFT_pressures_SAC_helper_2a:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5584 STRCPY_PRINT " " ; wipe out down arrow (low bat indicator)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5585 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5586
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5587
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5588 global TFT_menu_tank_pres
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5589 TFT_menu_tank_pres: ; imprinting function for main menu / tank setup
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5590 call TFT_standard_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5591 ; get ID
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5592 lfsr FSR1,opt_transmitter_id_1 ; load base address of opt_transmitter_id
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5593 movf gaslist_gas,W ; get current gas
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5594 rlncf WREG,W ; multiply by 2 because IDs are 2 byte in size
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5595 movff PLUSW1,lo ; copy opt_transmitter_id+0[gaslist_gas] to lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5596 incf WREG,W ; increment index
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5597 movff PLUSW1,hi ; copy opt_transmitter_id+1[gaslist_gas] to hi
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5598 ; show pressure
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5599 WIN_SMALL .90, .61 ; column, row (+/- 27 per row)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5600 call get_pres_by_transmitter_id ; get pressure into hi:lo
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5601 tstfsz WREG ; do we have valid tank data (WREG=0) ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5602 bra TFT_menu_tank_pres_1 ; NO - transmitter not found
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5603 call TFT_color_code_tank_pres_sac ; set output color according to flags
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5604 bsf ignore_digit5 ; no 0.1 bar (flag will be cleared by output_16)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5605 output_16
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5606 bra TFT_menu_tank_pres_2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5607 TFT_menu_tank_pres_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5608 call TFT_disabled_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5609 STRCAT " ---" ; output for no pressure data available
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5610 TFT_menu_tank_pres_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5611 STRCAT_TEXT_PRINT tbar ; " bar"
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5612 bra TFT_custview_exit3 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5613
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5614
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5615 global TFT_surface_tank_pres
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5616 TFT_surface_tank_pres: ; show pressure reading above surface pressure
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5617 WIN_SMALL surf_decotype_column+.6,surf_decotype_row+.30+.47
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5618 movff int_IO_pressure_value+0,lo ; copy pressure from 1st reading to hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5619 movff int_IO_pressure_value+1,hi
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5620 btfss hi,int_not_avail_flag ; pressure reading 1 available?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5621 bra TFT_surface_tank_pres_0 ; YES
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5622 movff int_IO_pressure_value+2,lo ; NO - copy pressure from 2nd reading to hi:lo
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5623 movff int_IO_pressure_value+3,hi
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5624 btfsc hi,int_not_avail_flag ; - pressure reading 2 available?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5625 bra TFT_surface_tank_pres_1 ; NO - show not avail message
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5626 TFT_surface_tank_pres_0: ; YES - show pressure
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5627 call TFT_color_code_tank_pres_sac ; set output color according to flags
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5628 bsf ignore_digit5 ; no 0.1 bar (flag will be cleared by output_16)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5629 output_16
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5630 STRCAT_PRINT ""
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5631 bra TFT_surface_tank_pres_2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5632 TFT_surface_tank_pres_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5633 call TFT_disabled_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5634 STRCAT_PRINT " ---" ; output for no pressure data available
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5635 TFT_surface_tank_pres_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5636 WIN_SMALL surf_decotype_column+.38,surf_decotype_row+.30+.47
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5637 call TFT_divemask_color
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5638 STRCAT_PRINT "bar" ; can not use tbar because it has a leading space
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5639 bra TFT_custview_exit3 ; and return...
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5640
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5641
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5642 global TFT_surface_tankdata
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5643 TFT_surface_tankdata:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5644 lfsr FSR1,rx_buffer ; load base address of RX buffer
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5645 ; bra TFT_surface_tankdata_debug ; comment in for +++ debug version +++
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5646 WIN_SMALL surf_customtext_column,surf_customtext_row1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5647 rcall TFT_surface_tankdata_print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5648 WIN_SMALL surf_customtext_column,surf_customtext_row2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5649 rcall TFT_surface_tankdata_print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5650 WIN_SMALL surf_customtext_column,surf_customtext_row3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5651 rcall TFT_surface_tankdata_print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5652 WIN_SMALL surf_customtext_column,surf_customtext_row4
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5653 rcall TFT_surface_tankdata_print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5654 WIN_SMALL surf_customtext_column,surf_customtext_row5
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5655 rcall TFT_surface_tankdata_print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5656 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5657
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5658 TFT_surface_tankdata_print: ; max 12 char
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5659 call TFT_standard_color ; set color
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5660 movff POSTINC1,hi ; ID high (+0)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5661 movff POSTINC1,lo ; ID low (+1)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5662 tstfsz hi ; ID high = 0 ?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5663 bra TFT_surface_tankdata_print_1 ; NO - slot in use
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5664 tstfsz lo ; ID low = 0?
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5665 bra TFT_surface_tankdata_print_1 ; NO - slot in use
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5666 STRCAT_PRINT "---- " ; YES - mark as unused and clear rest of line from previous remains
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5667 movf POSTINC1,W ; - dummy read (+2) to advance index
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5668 movf POSTINC1,W ; - dummy read (+3) to advance index
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5669 movf POSTINC1,W ; - dummy read (+4) to advance index
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5670 bra TFT_surface_tankdata_print_3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5671 TFT_surface_tankdata_print_1:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5672 movf hi,W ; copy ID high to WREG
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5673 output_hex ; 2 chars
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5674 movf lo,W ; copy ID low to WREG
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5675 output_hex ; 2 chars (4 in total)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5676 movff POSTINC1,hi ; pressure high (+2)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5677 movff POSTINC1,lo ; pressure low (+3)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5678 call TFT_color_code_tank_pres_sac ; needed to clear the status flags before output
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5679 bsf ignore_digit5 ; no 0.1 bar (flag will be cleared by output_16)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5680 output_16 ; 4 chars (8 in total)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5681 PUTC " " ; 1 char (9 in total)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5682 movf POSTINC1,W ; status (+4)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5683 andlw .7 ; mask out battery voltage
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5684 bnz TFT_surface_tankdata_2 ; branch if battery is not completely drained
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5685 call TFT_warning_color ; output in red
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5686 STRCAT_PRINT "XXX" ; "XXX" for low
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5687 bra TFT_surface_tankdata_print_3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5688 TFT_surface_tankdata_2:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5689 addlw .28 ; add offset of 2.8 Volt
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5690 movff WREG,lo ;
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5691 output_99 ; 2 chars (11 in total)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5692 PUTC " " ; dummy char 1 char (12 in total)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5693 movff buffer+.10,buffer+.11 ; move decimal digit of battery voltage one position to the right
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5694 movlw "." ; decimal point
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5695 movff WREG,buffer+.10 ; place it before decimal digit
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5696 STRCAT_PRINT "" ; print buffer to screen
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5697 TFT_surface_tankdata_print_3:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5698 movf POSTINC1,W ; dummy read (+5) to advance index
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5699 return
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5700
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5701
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5702 ; TFT_surface_tankdata_debug: ; surface custom view debug output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5703 ; call TFT_standard_color
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5704 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*0
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5705 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5706 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*1
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5707 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5708 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*2
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5709 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5710 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*3
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5711 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5712 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*4
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5713 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5714 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*5
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5715 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5716 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*6
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5717 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5718 ; WIN_TINY surf_customtext_column,surf_customtext_row1+.14*7
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5719 ; rcall TFT_surface_tankdata_debug_print
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5720 ; return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5721
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5722 ; TFT_surface_tankdata_debug_print:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5723 ; movff POSTINC1,hi ; ID high (+0)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5724 ; movff POSTINC1,lo ; ID low (+1)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5725 ; output_16
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5726 ; PUTC ","
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5727 ; movff POSTINC1,hi ; pressure high (+2)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5728 ; movff POSTINC1,lo ; pressure low (+3)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5729 ; call TFT_color_code_tank_pres_sac; needed to clear the status flags before output
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5730 ; output_16
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5731 ; PUTC ","
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5732 ; movff POSTINC1,lo ; status (+4)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5733 ; output_8
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5734 ; PUTC ","
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5735 ; movff POSTINC1,lo ; date (+5)
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5736 ; output_8
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5737 ; STRCAT_PRINT ""
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5738 ; return
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5739
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5740 ENDIF ; _rx_functions
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5741
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5742 ;=============================================================================
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5743
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5744 global convert_pres_to_depth
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5745 convert_pres_to_depth: ; converts pressure in [mbar] to depth in [cm]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5746 btfsc sensor_override_active ; in pressure sensor override (simulator) mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5747 return ; YES - convert with factor 1.0, i.e. make [mbar] = [cm]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5748
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5749 movff opt_salinity,WREG ; get salinity setting (0 - 4 %, see option_table.asm)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5750 addlw d'100' ; add density of fresh water (1.00 kg/l)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5751 movwf up ; store salinity factor in up
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5752
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5753 movlw .101+salinity_max ; load (upper limit + 1)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5754 cpfslt up ; current setting > upper limit?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5755 bra convert_fix_salinity ; YES - fix salinity setting
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5756
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5757 movlw .99+salinity_min ; load (lower limit - 1)
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5758 cpfsgt up ; current setting > lower limit?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5759 bra convert_fix_salinity ; YES - fix salinity setting
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5760
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5761 convert_pres_to_depth_1:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5762 MOVII mpr, xA ; get pressure in [mbar]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5763 MOVLI .102,xB ; conversion factor x 100 for fresh water (1.02 cm per each 1 mbar)
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5764 call mult16x16 ; xC:4 = xA:2 * xB:2
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5765 movff up,xB+0 ; get salinity in [%]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5766 clrf xB+1 ; ...
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5767 call div32x16 ; xC:4 = xC:4 / xB:2 with xA as remainder
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5768 MOVII xC,mpr ; copy back result as depth in [cm]
0
heinrichsweikamp
parents:
diff changeset
5769 return
heinrichsweikamp
parents:
diff changeset
5770
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5771 convert_fix_salinity:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5772 movlw .100 ; reset to 100%, i.e. set salinity to 0%
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5773 movwf up ; fix value in up
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5774 bra convert_pres_to_depth_1 ; continue
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5775
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5776 ;=============================================================================
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5777
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5778 global convert_cm_to_feet
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5779 convert_cm_to_feet: ; converts depth in [cm] to depth in [feet]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5780 MOVII mpr, xA ; depth in [cm]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5781 btfsc sensor_override_active ; in pressure sensor override (simulator) mode?
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5782 bra convert_meter_to_feet_1 ; YES - convert with 334feet/100m
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5783 MOVLI .328,xB ; NO - convert with 328feet/100m
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5784 bra convert_common_to_feet ; - continue with common part
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5785
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5786
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5787 global convert_meter_to_feet
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5788 convert_meter_to_feet: ; converts depth in [m] to depth in [feet]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5789 movf lo,W ; depth in [m]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5790 mullw .100 ; factor to convert [m] to [cm]
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5791 MOVII PRODL,xA ; copy depth in [cm] to xA
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5792 convert_meter_to_feet_1:
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5793 MOVLI .334, xB ; convert with 334feet/100m to have 10ft, 20ft, 30ft, ... for stop depths
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5794 ;bra convert_common_to_feet ; continue with common part
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5795
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5796
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5797 convert_common_to_feet:
631
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5798 call mult16x16 ; xC = xA * xB = depth in [cm] * 334 feet/100 m = depth in 0.0001 feet
185ba2f91f59 3.09 beta 1 release
heinrichsweikamp
parents: 629
diff changeset
5799 MOVLI .10000,xB ; divide by 10000 to turn into full feet
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5800 call div32x16 ; xC = xC / xB with xA as remainder
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5801 MOVII xC,mpr ; store result
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5802
0
heinrichsweikamp
parents:
diff changeset
5803 return
heinrichsweikamp
parents:
diff changeset
5804
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5805 ;=============================================================================
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5806
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5807 global convert_celsius_to_fahrenheit ; convert value in hi:lo from Celsius to Fahrenheit
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 601
diff changeset
5808 convert_celsius_to_fahrenheit: ; convert value in lo:hi from Celsius to Fahrenheit
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5809 MOVII mpr,xA ; temperature in 1/10 of °C
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5810 ADDLI .1000,xA ; add offset of 1000 to get out of any negative numbers
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5811 ; adjust scaling: 1°C = 1.8°F:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5812 MOVLI .18,xB ; multiply with 18:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5813 call mult16x16 ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5814 MOVLI .10,xB ; divide by 10
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5815 call div32x16 ; ...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5816 SUBLI .1480,xC ; remove offset: subtract above offset of 1000 * 1.8 = 1800 now and add 320 => subtract 1480
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 621
diff changeset
5817 MOVII xC,mpr ; store result in hi:lo
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 581
diff changeset
5818 return
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5819
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
5820 ;=============================================================================
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 553
diff changeset
5821
0
heinrichsweikamp
parents:
diff changeset
5822 END