Mercurial > public > mk2
annotate code_part1/OSTC_code_asm_part1/customview.asm @ 258:abbf9a2c2c48
Small p2_deco optimizations:
Removed pres_tissue_limit[] and sim_pres_tissue_limit[] (Unused).
Separated read_buhlmann_times() and read_buhlmann_coefficients().
| author | JeanDo |
|---|---|
| date | Sun, 10 Apr 2011 14:17:53 +0200 |
| parents | fc699a7460e6 |
| children | a728b4a1b660 |
| rev | line source |
|---|---|
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
1 ; OSTC - diving computer code |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
2 ; Copyright (C) 2008 HeinrichsWeikamp GbR |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
3 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
4 ; This program is free software: you can redistribute it and/or modify |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
5 ; it under the terms of the GNU General Public License as published by |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
6 ; the Free Software Foundation, either version 3 of the License, or |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
7 ; (at your option) any later version. |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
8 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
9 ; This program is distributed in the hope that it will be useful, |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
10 ; but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
11 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
12 ; GNU General Public License for more details. |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
13 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
14 ; You should have received a copy of the GNU General Public License |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
15 ; along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
16 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
17 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
18 ; Customviews for divemode |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
19 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
20 ; written: 101212 |
| 128 | 21 ; history: |
| 22 ; 2010-12-12: [MH] last updated | |
| 23 ; 2011-01-04: [jDG] Saturation graphs in customview divemode | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
24 ; known bugs: |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
25 ; ToDo: |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
26 |
| 128 | 27 ;============================================================================= |
| 28 ; Show the customview-dependent entry for the divemode menu | |
| 29 ; | |
| 30 customview_menu_entry3: | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
31 bcf menu3_active ;=1: menu entry three in divemode menu is active |
| 128 | 32 |
| 33 movff menupos3,WREG ; copy | |
| 34 dcfsnz WREG,F | |
| 35 bra customview_menu3_stopwatch ; Show the stopwatch option in divemode menu | |
| 36 dcfsnz WREG,F | |
| 37 bra customview_menu3_marker ; Show the marker option in divemode menu | |
| 38 dcfsnz WREG,F | |
| 39 bra customview_menu3_clock ; Show the clock option in divemode menu | |
| 40 dcfsnz WREG,F | |
| 41 bra customview_menu3_lead_tiss ; Show the leading tissue option in divemode menu | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
42 ; Menupos3=0, do nothing |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
43 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
44 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
45 customview_menu3_stopwatch: |
| 128 | 46 bsf menu3_active ; Set Flag |
| 47 DISPLAYTEXT .33 ; ResetAvr | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
48 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
49 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
50 customview_menu3_marker: |
| 128 | 51 bsf menu3_active ; Set Flag |
| 52 DISPLAYTEXT .30 ; Set Marker | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
53 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
54 |
| 128 | 55 customview_menu3_clock: ; No menu entry |
| 56 customview_menu3_lead_tiss ; No menu entry | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
57 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
58 |
| 128 | 59 ;============================================================================= |
| 60 ; Do every-second tasks for the custom view area | |
| 61 | |
| 62 customview_second: | |
| 63 movff menupos3,WREG ; copy | |
| 64 dcfsnz WREG,F | |
| 65 bra customview_1sec_stopwatch ; Update the Stopwatch | |
| 66 dcfsnz WREG,F | |
| 67 bra customview_1sec_marker ; Update the Marker | |
| 68 dcfsnz WREG,F | |
| 69 bra customview_1sec_clock ; Update the Clock | |
| 70 dcfsnz WREG,F | |
| 71 bra customview_1sec_lead_tiss ; Update the leading tissue | |
| 133 | 72 dcfsnz WREG,F |
| 131 | 73 bra customview_1sec_average ; Update the Average depth |
| 128 | 74 dcfsnz WREG,F |
| 75 bra customview_1sec_graphs ; Update the leading tissue | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
76 ; Menupos3=0, do nothing |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
77 return |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
78 |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
79 customview_1sec_average: |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
80 call PLED_total_average_show2 ; Update the figures only |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
81 return |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
82 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
83 customview_1sec_stopwatch: |
| 128 | 84 call PLED_stopwatch_show2 ; Update figures only |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
85 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
86 |
| 128 | 87 customview_1sec_marker: ; Do nothing extra |
| 88 customview_1sec_clock: ; Do nothing extra | |
| 89 customview_1sec_lead_tiss: ; Do nothing extra | |
| 133 | 90 return |
| 91 | |
| 128 | 92 customview_1sec_graphs: ; Do nothing extra |
| 150 | 93 decfsz apnoe_mins ; 10 sec passed ? |
| 94 return ; No: skip. | |
| 95 movlw .10 ; Yes: reset counter. | |
| 96 movwf apnoe_mins | |
| 97 | |
| 98 call deco_calc_desaturation_time ; calculate desaturation time | |
| 99 movlb b'00000001' ; select ram bank 1 | |
| 100 call PLED_tissue_saturation_graph | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
101 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
102 |
| 128 | 103 ;============================================================================= |
| 104 ; Do every-minute tasks for the custom view area | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
105 |
| 128 | 106 customview_minute: |
| 107 movff menupos3,WREG ; copy | |
| 108 dcfsnz WREG,F | |
| 109 bra customview_minute_stopwatch ; Update the Stopwatch | |
| 110 dcfsnz WREG,F | |
| 111 bra customview_minute_marker ; Update the Marker | |
| 112 dcfsnz WREG,F | |
| 113 bra customview_minute_clock ; Update the Clock | |
| 114 dcfsnz WREG,F | |
| 115 bra customview_minute_lead_tiss ; Update the leading tissue | |
| 133 | 116 dcfsnz WREG,F |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
117 bra customview_minute_average ; Update the Average depth |
| 128 | 118 dcfsnz WREG,F |
| 119 bra customview_minute_graphs ; Update the graphs | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
120 ; Menupos3=0, do nothing |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
121 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
122 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
123 customview_minute_clock: |
| 128 | 124 call PLED_diveclock2 ; Update the clock |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
125 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
126 |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
127 customview_minute_lead_tiss: |
| 128 | 128 call PLED_show_leading_tissue_2 ; Update the leading tissue |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
129 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
130 |
| 128 | 131 customview_minute_marker: ; Do nothing extra |
| 132 customview_minute_stopwatch: ; Do nothing extra | |
| 137 | 133 customview_minute_average: ; Do nothing extra |
| 150 | 134 customview_minute_graphs: |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
135 return |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
136 |
| 128 | 137 ;============================================================================= |
| 138 ; Yes, show next customview (and delete this flag) | |
| 139 | |
| 140 customview_toggle: | |
| 119 | 141 ostc_debug 'X' ; Sends debug-information to screen if debugmode active |
| 137 | 142 |
| 143 btfsc FLAG_apnoe_mode ; In Apnoe mode? | |
| 144 bra customview_toggle_exit ; Yes, ignore custom view in divemode completely | |
| 145 | |
| 128 | 146 incf menupos3,F ; Number of customview to show |
| 137 | 147 movlw d'6' ; Max number |
| 128 | 148 cpfsgt menupos3 ; Max reached? |
| 149 bra customview_mask ; No, show | |
| 150 clrf menupos3 ; Reset to zero (Zero=no custom view) | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
151 customview_mask: |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
152 call PLED_clear_customview_divemode |
| 128 | 153 movff menupos3,WREG ; Menupos3 holds number of customview function |
| 154 dcfsnz WREG,F | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
155 bra customview_init_stopwatch ; Show the Stopwatch |
| 128 | 156 dcfsnz WREG,F |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
157 bra customview_init_marker ; Show the Marker-Menu |
| 128 | 158 dcfsnz WREG,F |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
159 bra customview_init_clock ; Show the clock |
| 128 | 160 dcfsnz WREG,F |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
161 bra customview_init_lead_tissue ; Show the leading tissue |
| 133 | 162 dcfsnz WREG,F |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
163 bra customview_init_average ; Show Total average depth |
| 128 | 164 dcfsnz WREG,F |
| 165 bra customview_init_graphs ; Show the graphs | |
| 166 | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
167 customview_init_nocustomview: |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
168 bra customview_toggle_exit |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
169 |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
170 customview_init_average: |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
171 call PLED_total_average_show ; Show Average with mask |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
172 bra customview_toggle_exit |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
173 |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
174 customview_init_stopwatch: |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
175 GETCUSTOM8 d'51' ; Show Stopwatch? (=1 in WREG) |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
176 decfsz WREG,F ; WREG=1? |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
177 bra customview_toggle ; No, use next Customview |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
178 |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
179 call PLED_stopwatch_show ; Init Stopwatch display |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
180 bra customview_toggle_exit |
|
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
181 |
| 128 | 182 customview_init_marker: ; Init Marker |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
183 GETCUSTOM8 d'50' ; Show Marker? (=1 in WREG) |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
184 decfsz WREG,F ; WREG=1? |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
185 bra customview_toggle ; No, use next Customview |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
186 |
| 150 | 187 call PLED_standard_color |
| 188 DISPLAYTEXT d'151' ; Set Marker? | |
| 189 bra customview_toggle_exit | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
190 |
| 107 | 191 customview_init_clock: ; Init Clock |
| 150 | 192 call PLED_diveclock |
| 193 bra customview_toggle_exit | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
194 |
| 107 | 195 customview_init_lead_tissue: ; Show leading tissue |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
196 GETCUSTOM8 d'53' ; Show Lead Tissue? (=1 in WREG) |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
197 decfsz WREG,F ; WREG=1? |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
198 bra customview_toggle ; No, use next Customview |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
199 |
| 137 | 200 btfsc no_deco_customviews ; no-deco-mode-flag = 1 |
| 201 bra customview_toggle ; Yes, use next Customview! | |
| 202 | |
| 150 | 203 call PLED_show_leading_tissue |
| 204 bra customview_toggle_exit | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
205 |
| 131 | 206 customview_init_graphs: ; Show tissue graph |
| 207 GETCUSTOM8 d'52' ; Show Tissue Graph? (=1 in WREG) | |
| 208 decfsz WREG,F ; WREG=1? | |
| 209 bra customview_toggle ; No, use next Customview | |
| 128 | 210 |
| 137 | 211 btfsc no_deco_customviews ; no-deco-mode-flag = 1 |
| 212 bra customview_toggle ; Yes, use next Customview! | |
| 213 | |
| 150 | 214 movlw .1 ; Draw next second. |
| 215 movwf apnoe_mins ; 10sec counter. | |
| 216 | |
| 217 call deco_calc_desaturation_time ; calculate desaturation time | |
| 218 movlb b'00000001' ; select ram bank 1 | |
| 219 call PLED_tissue_saturation_graph | |
| 220 | |
| 221 bra customview_toggle_exit | |
| 222 | |
|
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff
changeset
|
223 customview_toggle_exit: |
| 107 | 224 bcf toggle_customview ; Clear flag |
| 128 | 225 ostc_debug 'Y' ; Sends debug-information to screen in debugmode |
| 107 | 226 return |
| 227 | |
| 128 | 228 ;============================================================================= |
| 229 ; Yes, show next customview (and delete this flag) | |
| 107 | 230 |
| 128 | 231 surfcustomview_toggle: |
| 107 | 232 incf menupos3,F ; Number of customview to show |
| 111 | 233 movlw d'4' ; Max number |
| 234 cpfsgt menupos3 ; Max reached? | |
| 107 | 235 bra surfcustomview_mask ; No, show |
| 236 clrf menupos3 ; Reset to zero (Zero=no custom view) | |
| 237 surfcustomview_mask: | |
| 115 | 238 call PLED_clear_customview_surfmode |
| 128 | 239 movff menupos3,WREG ; Menupos3 holds number of customview function |
| 240 dcfsnz WREG,F | |
| 107 | 241 bra surfcustomview_init_graphs ; Show the tissue graphs |
| 128 | 242 dcfsnz WREG,F |
| 107 | 243 bra surfcustomview_init_gaslist ; Show pre-dive gaslist/setpoint list |
| 128 | 244 dcfsnz WREG,F |
| 133 | 245 bra surfcustomview_init_interval; Show the interval counter |
| 128 | 246 dcfsnz WREG,F |
| 111 | 247 bra surfcustomview_init_cfview ; Show the interval counter |
| 128 | 248 |
| 107 | 249 surfcustomview_init_nocustomview: |
| 250 bra surfcustomview_toggle_exit | |
| 251 | |
| 252 surfcustomview_init_graphs: | |
| 137 | 253 btfsc no_deco_customviews ; no-deco-mode-flag = 1 |
| 254 bra surfcustomview_toggle ; Yes, use next Customview! | |
| 255 | |
| 133 | 256 call PLED_tissue_saturation_graph; Draw the graphs |
| 107 | 257 bra surfcustomview_toggle_exit |
| 258 | |
| 259 surfcustomview_init_gaslist: | |
| 137 | 260 btfsc no_deco_customviews ; no-deco-mode-flag = 1 |
| 261 bra surfcustomview_toggle ; Yes, use next Customview! | |
| 262 | |
| 107 | 263 call PLED_pre_dive_screen ; Show the Gaslist/Setpoint list |
| 264 bra surfcustomview_toggle_exit | |
| 265 | |
| 111 | 266 surfcustomview_init_interval: |
| 123 | 267 call PLED_standard_color |
| 111 | 268 DISPLAYTEXT d'189' ; Surface |
| 269 DISPLAYTEXT d'240' ; Interval: | |
| 270 call PLED_interval ; Display the interval | |
| 271 bra surfcustomview_toggle_exit | |
| 272 | |
| 273 surfcustomview_init_cfview: | |
| 274 read_int_eeprom d'34' ; Get Decomode | |
| 275 incf EEDATA,W ; +1 -> WREG | |
| 276 movwf temp10 | |
| 277 dcfsnz temp10,F | |
| 278 call PLED_show_cf11_cf12_cf29 ; =0 (ZH-L16 OC) | |
| 279 dcfsnz temp10,F | |
| 280 bra surfcustomview_toggle_exit ; =1 (Gauge) | |
| 281 dcfsnz temp10,F | |
| 282 call PLED_show_cf11_cf12_cf29 ; =2 (ZH-L16 CC) | |
| 283 dcfsnz temp10,F | |
| 284 bra surfcustomview_toggle_exit ; =3 (Apnoe) | |
| 285 dcfsnz temp10,F | |
| 286 call PLED_show_cf32_cf33_cf29 ; =4 (L16-GF OC) | |
| 287 dcfsnz temp10,F | |
| 288 call PLED_show_cf32_cf33_cf29 ; =5 (L16-GF CC) | |
| 289 bra surfcustomview_toggle_exit | |
| 290 | |
| 107 | 291 surfcustomview_toggle_exit: |
| 292 bcf toggle_customview ; Clear flag | |
|
129
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
293 clrf timeout_counter2 ; Clear timeout |
|
06c4899ddb4b
Custom views in dive mode configrable (New CF50-CF53)
Heinrichsweikamp
parents:
123
diff
changeset
|
294 return |
| 107 | 295 |
| 128 | 296 ;============================================================================= |
| 297 ; Do every-second tasks for the custom view area | |
| 107 | 298 |
| 128 | 299 surfcustomview_second: |
| 300 ; movff menupos3,WREG ; copy | |
| 301 ; dcfsnz WREG,F | |
| 302 ; bra surfcustomview_1sec_graphs ; Update the Graphs | |
| 303 ; dcfsnz WREG,F | |
| 304 ; bra surfcustomview_1sec_gaslist ; Update the Gaslist/SetPoint List | |
| 305 ; dcfsnz WREG,F | |
| 306 ; bra surfcustomview_1sec_interval ; Update the Interval display | |
| 307 ; dcfsnz WREG,F | |
| 308 ; bra surfcustomview_1sec_cfview ; Update the critical cf view | |
| 309 ; ; Menupos3=0, do nothing | |
| 310 ; return | |
| 311 ;surfcustomview_1sec_cfview: ; Do nothing extra | |
| 312 ;surfcustomview_1sec_graphs: ; Do nothing extra | |
| 137 | 313 ;surfcustomview_1sec_gaslist: ; Do nothing extra |
| 314 ;surfcustomview_1sec_interval: ; Do nothing extra | |
| 107 | 315 return |
| 316 | |
| 128 | 317 ;============================================================================= |
| 107 | 318 |
| 319 surfcustomview_minute: ; Do every-minute tasks for the custom view area | |
| 128 | 320 movff menupos3,WREG ; copy |
| 321 dcfsnz WREG,F | |
| 107 | 322 bra surfcustomview_minute_graphs ; Update the Graphs |
| 128 | 323 dcfsnz WREG,F |
| 107 | 324 bra surfcustomview_minute_gaslist ; Update the Gaslist/SetPoint List |
| 128 | 325 dcfsnz WREG,F |
| 111 | 326 bra surfcustomview_minute_interval ; Update the Interval display |
| 128 | 327 dcfsnz WREG,F |
| 137 | 328 bra surfcustomview_minute_cfview ; Update the critical cf view |
| 107 | 329 ; Menupos3=0, do nothing |
| 330 return | |
| 331 | |
| 332 surfcustomview_minute_graphs: | |
| 150 | 333 call deco_calc_desaturation_time ; calculate desaturation time |
| 334 movlb b'00000001' ; select ram bank 1 | |
| 335 call PLED_tissue_saturation_graph ; Draw/Update the graphs | |
| 107 | 336 return |
| 337 | |
| 111 | 338 surfcustomview_minute_interval: |
| 112 | 339 DISPLAYTEXT d'189' ; Surface |
| 340 DISPLAYTEXT d'240' ; Interval: | |
| 111 | 341 call PLED_interval ; Display the interval |
| 342 return | |
| 343 | |
| 107 | 344 surfcustomview_minute_gaslist: ; Do nothing extra |
| 111 | 345 surfcustomview_minute_cfview: ; Do nothing extra |
| 346 return |
