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

Bugfix: Auto-SP did not show >9m for some 2C hardware versions in German language firmware Make year settings until 2040 possible (This is likely the final release for this model)
author heinrichsweikamp
date Sat, 29 Nov 2025 14:11:07 +0100
parents 63cce2e2ae20
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1
815
2a0e5d884fc3 BUGFIX: Fix licence in German
heinrichsweikamp
parents: 811
diff changeset
2 ; OSTC Mk.2, 2N and 2C - diving computer code
807
c50296c3059e BUGFIX: Divetime had unwanted "." behind the minutes
heinrichsweikamp
parents: 803
diff changeset
3 ; Copyright (C) 2015 HeinrichsWeikamp GbR
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
4
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
5 ; This program is free software: you can redistribute it and/or modify
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
6 ; it under the terms of the GNU General Public License as published by
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
7 ; the Free Software Foundation, either version 3 of the License, or
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
8 ; (at your option) any later version.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
9
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
10 ; This program is distributed in the hope that it will be useful,
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
13 ; GNU General Public License for more details.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
14
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
15 ; You should have received a copy of the GNU General Public License
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
16 ; along with this program. If not, see <http://www.gnu.org/licenses/>.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
17
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
18
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
19 ; Menu "Logbook"
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
20 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
21 ; written: 060107
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
22 ; last updated: 081026
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
23 ; known bugs:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
24 ; ToDo:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
25
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
26 ;=============================================================================
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
27 ; Temp data, local to this module, moved to ACCES0 area.
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
28 ;
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
29 CBLOCK 0x010 ; Keep space for aa_wordprocessor's temp.
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
30 count_temperature ; Current sample count for temperature divisor
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
31 count_deco ; Current sample count for deco (ceiling) divisor
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
32 logbook0_ptr:2 ; Loogbook pointer inside EEPROM Bank0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
33 logbook1_ptr:2 ; Loogbook pointer inside EEPROM Bank1
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
34 logbook_cur_depth:2 ; Current depth, for drawing profile.
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
35 logbook_cur_tp:2 ; Current temperature, for drawing profile.
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
36 logbook_last_tp ; Y of the last item in Tp° curve.
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
37 logbook_min_tp:2 ; Min temperature, for drawing profile.
451
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
38 logbook_max_tp:2 ; Maximum temperature, for drawing profile.
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
39 logbook_ceiling ; Current ceiling, for drawing profile.
577
e3ffc6d62a63 minor clean
heinrichsweikamp
parents: 576
diff changeset
40 divenumber ; Dive number
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
41 ENDC
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
42
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
43 ;=============================================================================
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
44 ; searches external EEPROM for dive headers and displays them in a list
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
45 ; a detailed view with all informations and profile can be selected
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
46 ; does not require a FAT, will work with other profile intervals as ten seconds, too
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
47
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
48 menu_logbook:
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
49 bcf return_from_profileview ; clear some flags
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
50 menu_logbook1:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
51 bcf logbook_header_drawn
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
52 call DISP_ClearScreen ; Clear screen
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
53 bcf all_dives_shown ; clear some flags
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
54 bcf logbook_profile_view
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
55 bcf logbook_page_not_empty
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
56 clrf menupos3 ; Here: used rows on current logbook-page
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
57 clrf menupos2 ; Here: # of current displayed page
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
58 clrf divenumber ; # of dive in list during search
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
59
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
60
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
61 menu_logbook1a:
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
62 call DISP_divemask_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
63 DISPLAYTEXT .12 ;" Wait.."
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
64 call DISP_standard_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
65 call I2CReset ; Reset I2C Bus
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
66 call get_free_EEPROM_location ; search from "here" backwards through the external memory
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
67
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
68 movff eeprom_address+0,logbook1_ptr+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
69 movff eeprom_address+1,logbook1_ptr+1 ; Store Pointer to 0xFE (From 0xFD, 0xFD, 0xFE sequence) for faster display
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
70
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
71 menu_logbook1a_no_get_free: ; Without repeated search for dive
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
72 clrf divemins+0 ; Here: used as temp variables
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
73 clrf divemins+1
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
74 movlw d'5'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
75 movwf menupos ; Here: stores current position on display (5-x)
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
76
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
77 ;-----------------------------------------------------------------------------
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
78 ; search external EEPROM backwards from eeprom_address
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
79 ; for 0xFA, 0xFA (store 1st. 0xFA position for next search)
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
80 ; read header data and display it
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
81 ; wait for user to confirm/exit
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
82 ; recopy data to search from here
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
83
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
84 menu_logbook1b:
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
85 call DISP_divemask_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
86 DISPLAYTEXT .12 ;" Wait.."
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
87 call DISP_standard_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
88
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
89 ;---- fast loop: check every other byte ----------------------------------
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
90 menu_logbook2:
351
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
91 movlw d'2'
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
92 addwf divemins+0,F
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
93 movlw d'0'
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
94 addwfc divemins+1,F ; increase 16Bit value, twice
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
95
425
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
96 incf divemins+1,W ; = 0xFF.. ?
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
97 bnz menu_logbook2a ; No.
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
98 incf divemins+0,W ; = 0x..FF ?
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
99 bz menu_logbook_reset ; Yes: FFFF --> loop.
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
100
350
7250ca7c8d24 64kByte logbook (Still incompatible to existing PC software)
heinrichsweikamp
parents: 349
diff changeset
101 menu_logbook2a:
425
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
102 movf divemins+1,W ; = 0x00.. ?
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
103 bnz menu_logbook2b ; No.
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
104 movf divemins+0,W ; = 0x..00 ?
a76c5a3e9e96 Minor cleanups
JeanDo
parents: 416
diff changeset
105 bz menu_logbook_reset ; yes, restart (if not empty)
351
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
106
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
107 menu_logbook2b:
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
108 decf_eeprom_address d'2' ; -2 to eeprom address.
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
109
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
110 call I2CREAD ; reads one byte (Slow! Better use Blockread!)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
111
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
112 movlw 0xFA ; That was a FA ?
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
113 cpfseq SSPBUF
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
114 bra menu_logbook2 ; No: continue the fast loop...
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
115
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
116 ;---- Slow check : was it before or after that one ? ---------------------
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
117
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
118 incf_eeprom_address d'1' ; Been one step too far ?
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
119 call I2CREAD ; reads one byte (Slow! Better use Blockread!)
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
120 movlw 0xFA ; That was a FA ?
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
121 xorwf SSPBUF,W
151
c3ac603ba248 Fix logbook display when there odd-size dives.
JeanDo
parents: 148
diff changeset
122 bz menu_loop_tooFar ; Got both of them...
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
123
151
c3ac603ba248 Fix logbook display when there odd-size dives.
JeanDo
parents: 148
diff changeset
124 infsnz divemins+0,F ; Advance to the next byte.
c3ac603ba248 Fix logbook display when there odd-size dives.
JeanDo
parents: 148
diff changeset
125 incf divemins+1,F
c3ac603ba248 Fix logbook display when there odd-size dives.
JeanDo
parents: 148
diff changeset
126 decf_eeprom_address d'2' ; One step back, two steps forward.
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
127 call I2CREAD ; reads one byte (Slow! Better use Blockread!)
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
128 movlw 0xFA ; It was the second FA ?
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
129 xorwf SSPBUF,W
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
130 bz test_FA_DONE
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
131 bra menu_logbook2 ; No: continue the fast loop...
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
132
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
133 menu_loop_tooFar;
151
c3ac603ba248 Fix logbook display when there odd-size dives.
JeanDo
parents: 148
diff changeset
134 decf_eeprom_address d'1' ; So stays pointing at the second one.
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
135
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
136 test_FA_DONE: ; Found 0xFA 0xFA!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
137 movff eeprom_address+0,eeprom_header_address+0 ; store current address into temp register
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
138 movff eeprom_address+1,eeprom_header_address+1 ; we must continue search here later
148
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
139 incf divenumber,F ; new header found, increase divenumber
055977afc2f9 Make loogbook search twice faster.
JeanDo
parents: 146
diff changeset
140 bra menu_logbook4 ; Done with searching, display the header!
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
141
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
142 menu_logbook3b:
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
143 btfss logbook_page_not_empty ; Was there at least one dive?
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
144 goto menu ; Not a single header was found, leave logbook.
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
145 bra menu_logbook_display_loop2 ; rcall of get_free_eeprom_location not required here (faster)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
146
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
147 menu_logbook_reset:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
148 movf divenumber,W
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
149 btfsc STATUS,Z ; Was there at least one dive?
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
150 bra menu_logbook3b ; No, Nothing to do
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
151
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
152 bsf all_dives_shown ; Yes
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
153 bra menu_logbook_display_loop2 ; rcall of get_free_eeprom_location not required here (faster)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
154
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
155
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
156 menu_logbook4:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
157 ; Adjust eeprom_address to set pointer on first headerbyte
457
993e681e89cf no decodata in logbook for apnea dives
heinrichsweikamp
parents: 452
diff changeset
158 incf_eeprom_address d'2' ; Macro, that adds 8Bit to eeprom_address:2
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
159
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
160 btfss logbook_profile_view ; Display profile (search routine is used in profileview, too)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
161 bra menu_logbook_display_loop ; No, display overwiev list
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
162
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
163 movf divesecs,W ; divenumber that is searched
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
164 cpfseq divenumber ; current divenumber
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
165 goto next_logbook ; No match, continue search
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
166 bra display_profile2 ; Match: Show header and profile
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
167
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
168
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
169 menu_logbook_display_loop:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
170 btfsc all_dives_shown ; All dives displayed?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
171 bra menu_logbook_display_loop2 ; Yes, but display first page again.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
172
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
173 call display_listdive ; display short header for list on current list position
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
174
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
175 movlw d'5'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
176 cpfseq menupos ; first dive on list (top place)?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
177 bra menu_logbook_display_loop1 ; no, so skip saving of address
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
178
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
179
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
180 movff divenumber,mintemp+0 ; store all registered required to rebuilt the current logbookpage after the detail/profile view
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
181 movff eeprom_header_address+0,decodata+0 ; several registers are used as temp registers here
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
182 movff eeprom_header_address+1,decodata+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
183 movff divemins+0,max_pressure+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
184 movff divemins+1,max_pressure+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
185
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
186 movlw d'3'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
187 addwf decodata+0,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
188 movlw d'0'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
189 addwfc decodata+1,F ; Re-Adjust pointer again
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
190 movlw d'3' ; So first row will be the same again after detail/profile view
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
191 subwf max_pressure+0,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
192 movlw d'0'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
193 subwfb max_pressure+1,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
194
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
195 menu_logbook_display_loop1:
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
196 decfsz menupos,F ; List full?
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
197 goto next_logbook ; no, search another dive for our current logbook page
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
198
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
199 menu_logbook_display_loop2:
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
200 btfss logbook_page_not_empty ; Was there one dive at all?
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
201 bra menu_logbook ; Yes, so reload the first page
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
202
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
203 call DISP_topline_box_clear ; Clears Bar at the top
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
204 call DISP_divemask_color
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
205 DISPLAYTEXT .26 ; "Logbook"
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
206 call DISP_standard_color
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
207 DISPLAYTEXT .11 ; Displays "Exit" in the last row on the current page
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
208
576
ab2686087bce faster font display, code cleaning
heinrichsweikamp
parents: 575
diff changeset
209 call menu_pre_loop_common ; Clear some menu flags, timeout and switches
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
210
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
211 movlw d'1' ; Set cursor to position 1...
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
212 btfsc return_from_profileview ; .. unless we are returning from a detail/profile view
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
213 movf mintemp+1,W ; load last cursor position again
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
214 movwf menupos ; and set menupos byte
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
215 bcf return_from_profileview ; Do this only once while the page is loaded again!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
216
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
217 bcf logbook_page_not_empty ; Obviously the current page is NOT empty
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
218 call DISP_logbook_cursor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
219
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
220 menu_logbook_loop:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
221 call check_switches_logbook
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
222
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
223 btfsc menubit3 ; SET/MENU?
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
224 goto next_logbook3 ; adjust cursor or create new page
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
225
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
226 btfsc menubit2 ; ENTER?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
227 bra display_profile_or_exit ; view details/profile or exit logbook
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
228
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
229 btfsc onesecupdate
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 544
diff changeset
230 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
231
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
232 bcf onesecupdate ; one second update
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
233
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
234 btfsc sleepmode ; Timeout?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
235 goto menu ; Yes
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
236
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
237 goto menu_logbook_loop ; Wait for something to do
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
238
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
239 display_profile_or_exit:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
240 bcf menubit2 ; debounce
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
241 movlw d'6' ; exit?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
242 cpfseq menupos
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
243 bra display_profile ; No, show details/profile
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
244 goto menu
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
245
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
246 display_profile:
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
247 bcf is_bailout
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
248 movff menupos,mintemp+1 ; store current cursor position
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
249 bsf return_from_profileview ; tweak search routine to exit after found
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
250
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
251 movf menupos2,W ; Number of page
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
252 mullw d'5'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
253 movf PRODL,W
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
254 addwf menupos,W ; page*5+menupos=
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
255 movwf divesecs ; # of dive to search
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
256
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
257 call DISP_ClearScreen ; search for dive
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
258 bsf logbook_profile_view ; set flag for search routine
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
259
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
260 clrf divenumber ; search from scratch
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
261
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
262 movff logbook1_ptr+0,eeprom_address+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
263 movff logbook1_ptr+1,eeprom_address+1 ; Restore Pointer to 0xFE (From 0xFD, 0xFD, 0xFE sequence) for faster display
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
264
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
265 bra menu_logbook1a_no_get_free ; Start Search for Dive (Without get_free_EEPROM_location)
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
266
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
267 display_profile2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
268 bcf logbook_profile_view ; clear flag for search routine
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
269
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
270 clrf average_divesecs+0
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
271 clrf average_divesecs+1 ; holds amount of read samples
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
272
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
273 call DISP_display_wait_clear
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
274 call DISP_standard_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
275 WIN_TOP .0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
276 WIN_LEFT .0
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
277 STRCPY "#"
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
278
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
279 GETCUSTOM15 .28 ; Logbook Offset -> lo, hi
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
280 tstfsz lo ; lo=0?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
281 bra display_profile_offset1 ; No, adjust offset
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
282 tstfsz hi ; hi=0?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
283 bra display_profile_offset1 ; No, adjust offset
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
284 bra display_profile_offset2 ; lo=0 and hi=0 -> skip Offset routine
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
285
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
286 display_profile_offset1:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
287 movlw d'1'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
288 addwf lo,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
289 movlw d'0'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
290 addwfc hi,F ; hi:lo = hi:lo + 1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
291 movff lo,sub_a+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
292 movff hi,sub_a+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
293 movff divesecs,sub_b+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
294 clrf sub_b+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
295 call sub16 ; sub_c = sub_a - sub_b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
296 movff sub_c+0,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
297 movff sub_c+1,hi
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
298 bsf leftbind
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
299 output_16dp d'10' ; # of dive with offset
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
300 bra display_profile_offset3 ; Skip normal routine
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
301
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
302 display_profile_offset2:
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
303 movff divesecs,lo ;
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
304 output_99x ; # of dive
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
305
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
306 display_profile_offset3:
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
307 PUTC ' '
349
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
308 call I2CREAD2 ; Read Profile version
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
309 movff SSPBUF,lo ; store in lo
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
310
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
311 bsf logbook_format_0x21 ; Set flag for new 0x21 Format
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
312 movlw 0x21
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
313 cpfseq lo ; Skip if 0x21
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
314 bcf logbook_format_0x21 ; Clear flag for new 0x21 Format
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
315
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
316 call I2CREAD2 ; read month
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
317 movff SSPBUF,lo ; store in lo
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
318
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
319 ; Offset to SamplingRate
457
993e681e89cf no decodata in logbook for apnea dives
heinrichsweikamp
parents: 452
diff changeset
320 incf_eeprom_address d'32' ; Macro, that adds 8Bit to eeprom_address:2
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
321 call I2CREAD ; Read Sampling rate
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
322 movff SSPBUF,samplesecs_value ; Copy sampling rate
457
993e681e89cf no decodata in logbook for apnea dives
heinrichsweikamp
parents: 452
diff changeset
323 decf_eeprom_address d'32' ; Macro, that subtracts 8Bit from eeprom_address:2
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
324
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
325 movff lo,convert_value_temp+0 ; Month (in lo, see above)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
326 call I2CREAD2 ; Day
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
327 movff SSPBUF,convert_value_temp+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
328 call I2CREAD2 ; Year
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
329 movff SSPBUF,convert_value_temp+2
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
330 call DISP_convert_date ; converts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
331
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
332 PUTC ' '
544
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
333
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
334 btfss logbook_format_0x21 ; Dive made with new 0x21 format?
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
335 bra display_end_of_divetime
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
336
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
337 PUTC 0x93 ; "Start of dive" icon
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
338 call I2CREAD2 ; hour
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
339 movff SSPBUF,lo
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
340 call I2CREAD2 ; minute
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
341 movf lo,W
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
342 mullw .60
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
343 movff SSPBUF,WREG
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
344 addwf PRODL,F
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
345 movlw .0
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
346 addwfc PRODH,F ; PRODH:PRODL has end-of-dive time in minutes
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
347
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
348 incf_eeprom_address d'39' ; Skip Bytes in EEPROM
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
349 call I2CREAD2 ; Total sample time in seconds
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
350 movff SSPBUF,lo
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
351 call I2CREAD2 ; Total sample time in seconds
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
352 movff SSPBUF,hi
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
353 decf_eeprom_address d'41' ; Macro, that subtracts 8Bit from eeprom_address:2
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
354 call convert_time ; converts hi:lo in seconds to mins (hi) and seconds (lo)
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
355 clrf sub_b+1
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
356 movff hi,sub_b+0
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
357 movff PRODL,sub_a+0
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
358 movff PRODH,sub_a+1
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
359 call subU16 ; sub_c = sub_a - sub_b (with UNSIGNED values)
808
c966ea4f8f38 Minor: Avoid unwanted "-1" in internal logbook
heinrichsweikamp
parents: 807
diff changeset
360
c966ea4f8f38 Minor: Avoid unwanted "-1" in internal logbook
heinrichsweikamp
parents: 807
diff changeset
361 bcf premenu ; Clear temporary flag
803
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
362
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
363 btfss neg_flag
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
364 bra display_start_dive_normal ; Not during midnight...
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
365
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
366 ; subtract result from 1440 (amount minutes/day)
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
367 bsf premenu ; Set temporary flag
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
368 movlw LOW .1440
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
369 movwf sub_a+0
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
370 movlw HIGH .1440
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
371 movwf sub_a+1
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
372 movff sub_c+0,sub_b+0
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
373 movff sub_c+1,sub_b+1
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
374 call subU16 ; sub_c = sub_a - sub_b (with UNSIGNED values)
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
375
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
376 display_start_dive_normal:
544
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
377 ; sub_c:2 holds entry time in minutes
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
378 movff sub_c+0,lo
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
379 movff sub_c+1,hi
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
380 call convert_time ; converts hi:lo in minutes to hours (hi) and minutes (lo)
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
381 movff lo,PRODL ; temp
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
382 movff hi,lo
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
383 output_99x ; hour
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
384 PUTC ':'
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
385 movff PRODL,lo
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
386 output_99x ; minute
803
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
387
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
388 btfss premenu ; premenu is still 1 if dive was during midnight...
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
389 bra logbook_divetime_common
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
390
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
391 ; ...show a ",-1" behind the entry time to indicate that...
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
392 PUTC ","
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
393 PUTC "-"
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
394 PUTC "1"
fec91971e4b9 BUGFIX: Entry time in logbook when dive was around midnight
heinrichsweikamp
parents: 794
diff changeset
395 bcf premenu
544
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
396 bra logbook_divetime_common ; Skip end-of-divetime
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
397
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
398 display_end_of_divetime:
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
399 PUTC 0x94 ; "End of dive" icon
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
400 call I2CREAD2 ; hour
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
401 movff SSPBUF,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
402 output_99x
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
403 PUTC ':'
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
404 call I2CREAD2 ; Minute
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
405 movff SSPBUF,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
406 output_99x
544
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
407
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
408 logbook_divetime_common:
811
88e1a4e3e05b BUGFIX: 1st line in logbook was not displayed in rare cases (2C hardware)
heinrichsweikamp
parents: 808
diff changeset
409 clrf WREG
88e1a4e3e05b BUGFIX: 1st line in logbook was not displayed in rare cases (2C hardware)
heinrichsweikamp
parents: 808
diff changeset
410 movff WREG,letter+.23 ; limit this line to 23 chars max (2C hardware)
544
56da3e962e98 show start of dive in internal logbook
heinrichsweikamp
parents: 506
diff changeset
411 call word_processor ; Display 1st row of details
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
412
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
413 WIN_TOP .25
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
414 WIN_LEFT .05
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
415 lfsr FSR2,letter
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
416 call I2CREAD2 ; read max depth
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
417 movff SSPBUF,lo
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
418 call I2CREAD2 ; read max depth
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
419 movff SSPBUF,hi
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
420 movff lo,xA+0 ; calculate y-scale for profile display
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
421 movff hi,xA+1
297
ceedf078b2d8 Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents: 268
diff changeset
422 movlw d'163' ; 163pixel height available
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
423 movwf xB+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
424 clrf xB+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
425 call div16x16 ; does xA/xB=xC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
426 movff xC+0,sim_pressure+0 ; holds LOW byte of y-scale (mbar/pixel!)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
427 movff xC+1,sim_pressure+1 ; holds HIGH byte of y-scale (mbar/pixel!)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
428 incf sim_pressure+0,F ; increase one, because there may be a remainder
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
429 movlw d'0'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
430 addwfc sim_pressure+1,F
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
431
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
432 movlw LOW d'164000' ; 164pixel*1000 height
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
433 movwf xC+0
337
6bdf80d7276c Added screen dumps of general menus.
JeanDo
parents: 302
diff changeset
434 movlw HIGH (d'164000' & h'FFFF') ; 164pixel*1000 height
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
435 movwf xC+1
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
436 movlw UPPER d'164000' ; 164pixel*1000 height
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
437 movwf xC+2
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
438 clrf xC+3
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
439
398
ab962c4b19d6 Fixing issue 50, correct "Bar" to "bar" in texts and comments
heinrichsweikamp
parents: 384
diff changeset
440 movff lo,xB+0 ; Max. Depth in mbar
ab962c4b19d6 Fixing issue 50, correct "Bar" to "bar" in texts and comments
heinrichsweikamp
parents: 384
diff changeset
441 movff hi,xB+1 ; Max. Depth in mbar
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
442 call div32x16 ; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
443
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
444 movff xC+0,last_temperature+0 ;
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
445 movff xC+1,last_temperature+1 ; = Pixels/10m (For scale, draw any xx rows a scale-line)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
446
415
d022c62a1df5 fixing issue with end-of-dive threshold in high-altitude mode
heinrichsweikamp
parents: 414
diff changeset
447 movf last_temperature+0,W
d022c62a1df5 fixing issue with end-of-dive threshold in high-altitude mode
heinrichsweikamp
parents: 414
diff changeset
448 iorwf last_temperature+1,W ; last_temperature:2 = Null?
d022c62a1df5 fixing issue with end-of-dive threshold in high-altitude mode
heinrichsweikamp
parents: 414
diff changeset
449 bnz display_profile_offset4 ; No, continue
d022c62a1df5 fixing issue with end-of-dive threshold in high-altitude mode
heinrichsweikamp
parents: 414
diff changeset
450 incf last_temperature+1,F ; Yes, make last_temperature+1>1 to make "display_profile2e" working
d022c62a1df5 fixing issue with end-of-dive threshold in high-altitude mode
heinrichsweikamp
parents: 414
diff changeset
451
d022c62a1df5 fixing issue with end-of-dive threshold in high-altitude mode
heinrichsweikamp
parents: 414
diff changeset
452 display_profile_offset4:
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
453 bsf leftbind
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
454 output_16dp d'3' ; max. depth
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
455 STRCAT TXT_METER2
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
456 call I2CREAD2 ; divetime in minutes
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
457 movff SSPBUF,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
458 call I2CREAD2
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
459 movff SSPBUF,hi ; divetime in minutes
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
460
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
461 movff lo,xA+0 ; calculate x-scale for profile display
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
462 movff hi,xA+1 ; calculate total diveseconds first
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
463 movlw d'60' ; 60seconds are one minute...
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
464 movwf xB+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
465 clrf xB+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
466 call mult16x16 ; result is in xC:2 !
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
467
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
468 bsf leftbind
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
469 PUTC 0x95 ; "duration of dive" icon
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
470 output_16 ; divetime minutes
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
471
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
472 movlw LOW d'600'
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
473 movwf xA+0
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
474 movlw HIGH d'600'
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
475 movwf xA+1 ; A vertical line every 600 seconds
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
476 movff samplesecs_value,xB+0 ; Copy sampling rate
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
477 clrf xB+1
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
478 call div16x16 ; xA/xB=xC with xA as remainder
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
479 movff xC+0,average_depth_hold_total+0
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
480 movff xC+1,average_depth_hold_total+1
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
481 ;average_depth_hold_total:2 holds interval of samples for vertical 10min line
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
482
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
483 ; Restore divetime in minutes:
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
484 btfss logbook_format_0x21 ; Dive made with new 0x21 format?
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
485 bra display_profile_old_xscale ; No
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
486 ; Yes, get real sample time
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
487 incf_eeprom_address d'35' ; Skip Bytes in EEPROM
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
488 call I2CREAD2 ; Total sample time in seconds
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
489 movff SSPBUF,xC+0
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
490 call I2CREAD2 ; Total sample time in seconds
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
491 movff SSPBUF,xC+1
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
492 decf_eeprom_address d'37' ; Macro, that subtracts 8Bit from eeprom_address:2
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
493 PUTC ':'
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
494 call I2CREAD2 ; read divetime seconds
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
495 movff SSPBUF,lo
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
496 bra display_profile_xscale ; continue below
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
497
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
498 display_profile_old_xscale:
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
499 movff lo,xA+0 ; calculate x-scale for profile display
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
500 movff hi,xA+1 ; calculate total diveseconds first
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
501 movlw d'60' ; 60seconds are one minute...
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
502 movwf xB+0
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
503 clrf xB+1
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
504 call mult16x16 ; result is in xC:2 !
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
505 PUTC ':'
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
506 call I2CREAD2 ; read divetime seconds
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
507 movff SSPBUF,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
508 movf lo,W ; add seconds to total seconds
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
509 addwf xC+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
510 movlw d'0'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
511 addwfc xC+1 ; xC:2 now holds total dive seconds!
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
512
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
513 display_profile_xscale:
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
514 movff xC+0,xA+0 ; now calculate x-scale value
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
515 movff xC+1,xA+1
297
ceedf078b2d8 Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents: 268
diff changeset
516 movlw d'154' ; 154pix width available
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
517 movwf xB+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
518 clrf xB+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
519 call div16x16 ; xA/xB=xC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
520 movff xC+0,xA+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
521 movff xC+1,xA+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
522 movf samplesecs_value,W ; devide through sample interval!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
523 movwf xB+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
524 clrf xB+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
525 call div16x16 ; xA/xB=xC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
526 movff xC+0,profile_temp+0 ; store value (use any #xC sample, skip xC-1) into temp registers
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
527 movff xC+1,profile_temp+1 ; store value (use any #xC sample, skip xC-1) into temp registers
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
528 incf profile_temp+0,F ; increase one, because there may be a remainder
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
529 movlw d'0'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
530 addwfc profile_temp+1,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
531
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
532
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
533 bsf leftbind
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
534 output_99x ; divetime seconds
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
535 STRCAT_PRINT " "
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
536
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
537 WIN_LEFT .05 + 7*.15
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
538 lfsr FSR2,letter
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
539
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
540 call I2CREAD2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
541 movff SSPBUF,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
542 call I2CREAD2
382
f2d5d93b4ca3 negative temperature in logbook and battery info menu
heinrichsweikamp
parents: 376
diff changeset
543 movff SSPBUF,hi ; Read min. Temperature
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
544 movff lo,logbook_min_tp+0 ; Backup min Tp° too.
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
545 movff hi,logbook_min_tp+1
452
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
546 movlw color_orange ; Use same color as tp° curve
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
547 call DISP_set_color
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
548
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
549 call DISP_convert_signed_temperature ; converts lo:hi into signed-short and adds '-' to POSTINC2 if required
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
550 movlw d'3'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
551 movwf ignore_digits
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
552 bsf leftbind
382
f2d5d93b4ca3 negative temperature in logbook and battery info menu
heinrichsweikamp
parents: 376
diff changeset
553 output_16dp d'2' ; temperature
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
554 STRCAT_PRINT "°C" ; Display 2nd row of details
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
555 call DISP_standard_color ; Back to normal
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
556
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
557 WIN_TOP .50
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
558 WIN_LEFT .05
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
559 lfsr FSR2,letter
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
560
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
561 call I2CREAD2 ; read Air pressure
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
562 movff SSPBUF,lo
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
563 call I2CREAD2 ; read Air pressure
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
564 movff SSPBUF,hi
266
ba109a7948df OSTC 2N uses exchanged switches...
heinrichsweikamp
parents: 253
diff changeset
565
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
566 bsf leftbind
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
567 output_16 ; Air pressure before dive
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
568 STRCAT TXT_MBAR5
199
f5e9db793dd3 Minor missing translations
JeanDo
parents: 151
diff changeset
569 OUTPUTTEXT .014 ; Desat
f5e9db793dd3 Minor missing translations
JeanDo
parents: 151
diff changeset
570 PUTC ' '
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
571
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
572 call I2CREAD2 ; read Desaturation time
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
573 movff SSPBUF,lo
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
574 call I2CREAD2 ; read Desaturation time
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
575 movff SSPBUF,hi
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
576 call convert_time ; converts hi:lo in minutes to hours (hi) and minutes (lo)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
577 bsf leftbind
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
578 movf lo,W
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
579 movff hi,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
580 movwf hi ; exchange lo and hi...
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
581 output_8 ; Hours
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
582 PUTC ':'
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
583 movff hi,lo ; Minutes
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
584 output_99x
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
585 bcf leftbind
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
586 call word_processor ; display 3rd page of details
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
587
244
976260083540 Small fix (y-scale in logbook)
heinrichsweikamp
parents: 243
diff changeset
588 movff eeprom_address+0,average_depth_hold+0
976260083540 Small fix (y-scale in logbook)
heinrichsweikamp
parents: 243
diff changeset
589 movff eeprom_address+1,average_depth_hold+1 ; Pointer to Gaslist (For Page 2)
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
590
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
591 incf_eeprom_address d'12' ; Skip 12 Bytes in EEPROM (faster) (Gaslist)
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
592 call I2CREAD2 ; Read start gas (1-5)
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
593 movff SSPBUF,average_depth_hold_total+3 ; keep copy to restore color
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
594 rcall profile_display_color ; Back to normal profile color.
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
595 incf_eeprom_address d'5' ; Skip 5 Bytes in EEPROM (faster) (Battery, firmware)
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
596
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
597 call I2CREAD2 ; Read Tp° divisor
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
598 movf SSPBUF,W
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
599 andlw 0x0F ; Clear extra bits.
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
600 movwf divisor_temperature ; Store divisor
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
601 movwf count_temperature ; Store to tp° counter too.
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
602
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
603 call I2CREAD2 ; Read divisor
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
604 movf SSPBUF,W
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
605 andlw 0x0F
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
606 movwf divisor_deco ; Store divisor
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
607 movwf count_deco ; Store as temp, too
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
608
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
609 call I2CREAD2 ; Read divisor
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
610 movff SSPBUF,divisor_gf ; Store divisor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
611 call I2CREAD2 ; Read divisor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
612 movff SSPBUF,divisor_ppo2 ; Store divisor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
613 call I2CREAD2 ; Read divisor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
614 movff SSPBUF,divisor_deco_debug ; Store divisor
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
615 call I2CREAD2 ; Read divisor
367
584741726190 CNS Profile added
Heinrichsweikamp
parents: 366
diff changeset
616 movff SSPBUF,divisor_cns ; Store divisor
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
617 incf_eeprom_address d'2' ; Skip 2Bytes in EEPROM (faster)
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
618 ; 2 bytes salinity, GF
351
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
619 btfss logbook_format_0x21 ; 10byte extra?
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
620 bra display_profile2d ; No
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
621 incf_eeprom_address d'10' ; Skip another 10 byte from the header for 0x21 format
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
622 ; Average Depth, spare bytes
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
623
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
624 display_profile2d:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
625 ; Start Profile display
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
626 ; Write 0m X-Line..
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
627 movlw color_grey
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
628 call DISP_set_color ; Make this configurable?
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
629
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
630 movlw d'75'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
631 movff WREG,win_top
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
632 movlw d'5'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
633 movff WREG,win_leftx2 ; Left border (0-159)
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
634 movlw d'1'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
635 movff WREG,win_height
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
636 movlw d'155'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
637 movff WREG,win_width ; Right border (0-159)
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
638 display_profile2e:
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
639 call DISP_box ; Inputs: win_top, win_leftx2, win_height, win_width, win_color1, win_color2
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
640 movff win_top,WREG ; Get row
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
641 addwf last_temperature+0,W ; Add line interval distance to win_top
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
642 tstfsz last_temperature+1 ; >255?
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
643 movlw d'255' ; Yes, make win_top>239 -> Abort here
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
644 btfsc STATUS,C ; A Cary from the addwf above?
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
645 movlw d'255' ; Yes, make win_top>239 -> Abort here
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
646 movff WREG,win_top ; Result in win_top again
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
647 movff win_top,lo ; Get win_top in Bank1...
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
648 movlw d'239' ; Limit
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
649 cpfsgt lo ; >239?
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
650 bra display_profile2e ; No, draw another line
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
651
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
652 ; Write 0min Y-Line..
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
653 movlw color_grey
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
654 call DISP_set_color ; Make this configurable?
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
655
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
656 movlw d'75'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
657 movff WREG,win_top
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
658 movlw d'4'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
659 movff WREG,win_leftx2 ; Left border (0-159)
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
660 movlw d'164'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
661 movff WREG,win_height
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
662 movlw d'1'
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
663 movff WREG,win_width ; "Window" Width
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
664 call DISP_box ; Inputs: win_top, win_leftx2, win_height, win_width, win_color1, win_color2
208
3b961f17aa3a dynamic scale for logbook view
heinrichsweikamp
parents: 207
diff changeset
665
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
666 ; Draw frame around profile
209
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
667 movlw color_blue
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
668 WIN_FRAME_COLOR .75, .239, .4, .159 ;top, bottom, left, right with color in WREG
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
669
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
670 call I2CREAD2 ; skip 0xFB (Header-end)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
671 clrf timeout_counter2 ; here: used as counter for depth readings
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
672 call I2CREAD2 ; skip 0xFB (Header-end)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
673 movlw d'158'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
674 movwf ignore_digits ; here: used as counter for x-pixels
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
675 bcf second_FD ; clear flag
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
676 movlw d'5'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
677 movwf timeout_counter3 ; here: used as colum x2 (Start at Colum 5)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
678 movlw d'75' ; Zero-m row
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
679 movwf apnoe_mins ; here: used for fill between rows
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
680 movwf logbook_last_tp ; Initialise for Tp° curve too.
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
681 incf timeout_counter3,W ; Init Column
146
c09b0be2e1e6 PIXEL_WRITE macros.
JeanDo
parents: 142
diff changeset
682
451
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
683 movlw LOW(-.100) ; Initialize max tp° to -10.0 °C.
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
684 movwf logbook_max_tp+0
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
685 movlw HIGH 0xFFFF & (-.100)
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
686 movwf logbook_max_tp+1
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
687
451
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
688 setf logbook_cur_tp+0 ; Initialize Tp°, before the first recorded point.
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
689 setf logbook_cur_tp+1
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
690 clrf logbook_last_tp ; Also reset previous Y for Tp°
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
691 clrf logbook_ceiling ; Ceiling = 0, correct value for no ceiling.
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
692
707
2129862bbfe6 correct a typo
heinrichsweikamp
parents: 681
diff changeset
693 INIT_PIXEL_WRITE timeout_counter3 ; pixel x2 (Also sets standard Color!)
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
694
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
695 profile_display_loop:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
696 movff profile_temp+0,profile_temp2+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
697 movff profile_temp+1,profile_temp2+1 ; 16Bit x-scaler
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
698 incf profile_temp2+1,F
42
da553e5c7a90 1.63 in work
heinrichsweikamp
parents: 41
diff changeset
699 tstfsz profile_temp2+0 ; Must not be Zero
da553e5c7a90 1.63 in work
heinrichsweikamp
parents: 41
diff changeset
700 bra profile_display_loop2 ; Not Zero!
da553e5c7a90 1.63 in work
heinrichsweikamp
parents: 41
diff changeset
701 incf profile_temp2+0,F ; Zero, Increase!
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
702
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
703 profile_display_loop2:
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
704 rcall profile_view_get_depth ; reads depth, temp and profile data
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
705
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
706 btfsc second_FD ; end-of profile reached?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
707 bra profile_display_loop_done ; Yes, skip all remaining pixels
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
708
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
709 ;---- Draw Ceiling curve, if any ---------------------------------------------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
710 movf divisor_deco,W
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
711 bz profile_display_skip_deco
452
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
712
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
713 movf logbook_ceiling,W ; Any deco ceiling ?
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
714 bz profile_display_skip_deco
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
715
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
716 mullw .100 ; Yes: convert to mbar
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
717 movff PRODL,sub_a+0
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
718 movff PRODH,sub_a+1
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
719 movff logbook_cur_depth+0,sub_b+0 ; Compare with UNSIGNED current depth (16bits)
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
720 movff logbook_cur_depth+1,sub_b+1
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
721 call subU16 ; set (or not) neg_flag
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
722
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
723 movlw color_dark_green ; Dark green if Ok,
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
724 btfss neg_flag
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
725 movlw color_dark_red ; Or dark red if ceiling overflown.
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
726 call DISP_set_color
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
727
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
728 movff PRODL,xA+0
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
729 movff PRODH,xA+1
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
730 movff sim_pressure+0,xB+0 ; devide pressure in mbar/quant for row offsett
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
731 movff sim_pressure+1,xB+1
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
732 call div16x16 ; xA/xB=xC
452
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
733
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
734 movlw d'76' ; Starts right after the top blue line.
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
735 movff WREG,win_top
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
736 movff timeout_counter3,win_leftx2 ; Left border (0-159)
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
737 movff xC+0,win_height
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
738 call half_vertical_line ; Inputs: win_top, win_leftx2, win_height, win_color1, win_color2
452
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
739
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
740 ; Horizontal bar: jaggy line, so don't keep it.
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
741 ; movlw d'75'
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
742 ; addwf xC+0,F ; add 75 pixel offset to result
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
743 ; PIXEL_WRITE timeout_counter3,xC+0 ; Set col(0..159) x row (0..239), put a current color pixel.
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
744
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
745 profile_display_skip_deco:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
746
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
747 ;---- Draw Tp° curve, if any ---------------------------------------------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
748 movf divisor_temperature,W
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
749 bz profile_display_skip_temp
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
750
451
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
751 movf logbook_cur_tp+0,W ; Did we had already a valid Tp°C record ?
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
752 andwf logbook_cur_tp+1,W
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
753 incf WREG
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
754 bz profile_display_skip_temp ; No: just skip drawing.
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
755
452
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
756 movlw LOW((.153*.256)/.370) ; fixed tp° scale: (-2 .. +35°C * scale256 )/153pix
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
757 movwf xB+0
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
758 movlw HIGH((.153*.256)/.370)
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
759 movwf xB+1
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
760
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
761 movf logbook_cur_tp+0,W ; Current Tp° - (-2.0°C) == Tp° + 20.
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
762 addlw LOW(.20) ; Low byte.
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
763 movwf xA+0
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
764 movf logbook_cur_tp+1,W
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
765 btfsc STATUS,C ; Propagate carry, if any
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
766 incf WREG
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
767 movwf xA+1
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
768 call mult16x16 ; xA*xB=xC
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
769
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
770 ; scale: divide by 256, ie. take just high byte.
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
771 movf xC+1,W
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
772 sublw .75+.153 ; Upside-down: Y = .75 + (.153 - result)
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
773 movwf xC+0
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
774
437
c54d32ec2133 bug-hunt for temperature curve
heinrichsweikamp
parents: 435
diff changeset
775 ; Check limits
c54d32ec2133 bug-hunt for temperature curve
heinrichsweikamp
parents: 435
diff changeset
776 movlw d'75'
c54d32ec2133 bug-hunt for temperature curve
heinrichsweikamp
parents: 435
diff changeset
777 movwf xC+1
c54d32ec2133 bug-hunt for temperature curve
heinrichsweikamp
parents: 435
diff changeset
778 cpfsgt xC+0
c54d32ec2133 bug-hunt for temperature curve
heinrichsweikamp
parents: 435
diff changeset
779 movff xC+1,xC+0
c54d32ec2133 bug-hunt for temperature curve
heinrichsweikamp
parents: 435
diff changeset
780
452
05ec97e106da Minor changes: Tp? curve in orange. Ceilling stippled area.
JeanDo
parents: 451
diff changeset
781 movlw color_orange
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
782 call DISP_set_color
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
783
451
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
784 movf logbook_last_tp,W ; do we have a valid previous value ?
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
785 bz profile_display_temp_1 ; No: skip the vertical line.
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
786 movwf xC+1
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
787 call profile_display_fill ; In this column between this row (xC+0) and the last row (xC+1)
451
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
788 profile_display_temp_1:
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
789 movff xC+0,logbook_last_tp
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
790
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
791 PIXEL_WRITE timeout_counter3,xC+0 ; Set col(0..159) x row (0..239), put a current color pixel.
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
792
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
793 profile_display_skip_temp:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
794
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
795 ;---- Draw depth curve ---------------------------------------------------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
796 movff sim_pressure+0,xB+0 ; devide pressure in mbar/quant for row offsett
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
797 movff sim_pressure+1,xB+1
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
798 movff logbook_cur_depth+0,xA+0
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
799 movff logbook_cur_depth+1,xA+1
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
800 call div16x16 ; xA/xB=xC
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
801 movlw d'75'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
802 addwf xC+0,F ; add 75 pixel offset to result
41
3ab1188651af 1.63 in work...
heinrichsweikamp
parents: 33
diff changeset
803
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
804 btfsc STATUS,C ; Ignore potential profile errors
44
475a9e536d77 1.63beta release
heinrichsweikamp
parents: 42
diff changeset
805 movff apnoe_mins,xC+0
41
3ab1188651af 1.63 in work...
heinrichsweikamp
parents: 33
diff changeset
806
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
807 rcall profile_display_color ; Back to normal profile color.
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
808
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
809 movff apnoe_mins,xC+1
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
810 call profile_display_fill ; In this column between this row (xC+0) and the last row (xC+1)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
811 movff xC+0,apnoe_mins ; Store last row for fill routine
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
812 PIXEL_WRITE timeout_counter3,xC+0 ; Set col(0..159) x row (0..239), put a std color pixel.
142
8b75ba28d641 Screen-flipping custom function.
JeanDo
parents: 130
diff changeset
813
832
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
814 incf timeout_counter3,F ; Next column
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
815 ;---- Draw Marker square , if any ----------------------------------------
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
816 btfss log_marker_found ; Any marker to draw?
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
817 bra profile_display_skip_marker ; No
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
818
832
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
819 ; 2x2 square
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
820 incf apnoe_mins,W
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
821 movff WREG,win_top
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
822 movlw .4
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
823 movff WREG,win_height
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
824 movlw .2
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
825 movff WREG,win_width
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
826 decf timeout_counter3,W
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
827 movff WREG,win_leftx2
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
828
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
829 movlw color_orange
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
830 call DISP_set_color
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
831 call DISP_box ; Draw 2x2 Box
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
832 bcf log_marker_found ; Clear flag
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
833
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
834 profile_display_skip_marker:
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
835 ;---- Draw CNS curve, if any ---------------------------------------------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
836 movf divisor_cns,W
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
837 bz profile_display_skip_cns
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
838 ;
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
839 ; TODO HERE
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
840 ;
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
841 profile_display_skip_cns:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
842
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
843 ;---- Draw GF curve, if any ----------------------------------------------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
844 movf divisor_gf,W
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
845 bz profile_display_skip_gf
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
846 ;
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
847 ; TODO HERE
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
848 ;
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
849 profile_display_skip_gf:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
850
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
851 ;---- All curves done.
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
852
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
853 profile_display_skip_loop1: ; skips readings!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
854 dcfsnz profile_temp2+0,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
855 bra profile_display_loop3 ; check 16bit....
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
856
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
857 rcall profile_view_get_depth ; reads depth, temp and profile data
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
858
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
859 btfsc second_FD ; end-of profile reached?
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
860 bra profile_display_loop_done ; Yes, skip all remaining pixels
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
861
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
862 bra profile_display_skip_loop1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
863
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
864 profile_display_loop3:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
865 decfsz profile_temp2+1,F ; 16 bit x-scaler test
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
866 bra profile_display_skip_loop1 ; skips readings!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
867
268
7d24c9d62095 average depth in logbook fixed
heinrichsweikamp
parents: 266
diff changeset
868 decfsz ignore_digits,F ; counts drawn x-pixels to zero
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
869 bra profile_display_loop ; Not ready yet
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
870 ; Done.
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
871 profile_display_loop_done:
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
872 btfss is_bailout ; Bailout during the dive?
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
873 bra profile_display_loop_done_nobail ; No
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
874 ; Yes, show "Bailout"
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
875 movlw color_pink
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
876 call DISP_set_color
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
877 WIN_TOP .210
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
878 WIN_LEFT .105
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
879 WIN_FONT FT_SMALL
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
880 lfsr FSR2,letter
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
881 OUTPUTTEXT d'137' ; Bailout
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
882 call word_processor
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
883 profile_display_loop_done_nobail:
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
884 call DISP_standard_color ; Restore color
576
ab2686087bce faster font display, code cleaning
heinrichsweikamp
parents: 575
diff changeset
885 call menu_pre_loop_common ; Clear some menu flags, timeout and switches
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
886
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
887 display_profile_loop:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
888 call check_switches_logbook
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
889 btfsc menubit2 ; SET/MENU?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
890 bra exit_profileview ; back to list
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
891 btfsc menubit3 ; ENTER?
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
892 bra profileview_page2 ; Switch to Page2 of profile view
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 544
diff changeset
893
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
894 btfsc onesecupdate
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 544
diff changeset
895 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
896 bcf onesecupdate ; one second update
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 544
diff changeset
897
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
898 btfsc sleepmode ; Timeout?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
899 bra exit_profileview ; back to list
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
900 bra display_profile_loop ; wait for something to do
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
901
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
902 ;=============================================================================
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
903 profile_display_color:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
904 movff average_depth_hold_total+3,active_gas ; Restore gas color.
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
905 dcfsnz active_gas,F
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
906 movlw color_white ; Color for Gas 1
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
907 dcfsnz active_gas,F
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
908 movlw color_green ; Color for Gas 2
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
909 dcfsnz active_gas,F
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
910 movlw color_red ; Color for Gas 3
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
911 dcfsnz active_gas,F
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
912 movlw color_yellow ; Color for Gas 4
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
913 dcfsnz active_gas,F
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
914 movlw color_violet ; Color for Gas 5
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
915 dcfsnz active_gas,F
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
916 movlw color_pink ; Color for Gas 6
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
917 goto DISP_set_color ; Set Color...
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
918
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
919 ;=============================================================================
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
920 profileview_page2:
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
921 WIN_BOX_BLACK .0, .74, .0, .159 ;top, bottom, left, right
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
922
244
976260083540 Small fix (y-scale in logbook)
heinrichsweikamp
parents: 243
diff changeset
923 movff average_depth_hold+0,eeprom_address+0
976260083540 Small fix (y-scale in logbook)
heinrichsweikamp
parents: 243
diff changeset
924 movff average_depth_hold+1,eeprom_address+1 ; Pointer to Gaslist
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
925
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
926 movlw color_white ; Color for Gas 1
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
927 call DISP_set_color ; Set Color...
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
928 bsf leftbind
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
929 WIN_TOP .0
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
930 WIN_LEFT .0
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
931 STRCPY TXT_G1_3
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
932 call I2CREAD2 ; Gas1 current O2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
933 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
934 output_99x
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
935 PUTC '/'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
936 call I2CREAD2 ; Gas1 current HE
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
937 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
938 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
939 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
940
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
941 movlw color_green ; Color for Gas 2
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
942 call DISP_set_color ; Set Color...
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
943 WIN_TOP .25
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
944 STRCPY TXT_G2_3
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
945 call I2CREAD2 ; Gas2 current O2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
946 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
947 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
948 PUTC '/'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
949 call I2CREAD2 ; Gas2 current HE
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
950 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
951 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
952 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
953
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
954 movlw color_red ; Color for Gas 3
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
955 call DISP_set_color ; Set Color...
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
956 WIN_TOP .50
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
957 STRCPY TXT_G3_3
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
958 call I2CREAD2 ; Gas3 current O2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
959 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
960 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
961 PUTC '/'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
962 call I2CREAD2 ; Gas3 current HE
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
963 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
964 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
965 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
966
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
967 movlw color_yellow ; Color for Gas 4
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
968 call DISP_set_color ; Set Color...
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
969 WIN_TOP .0
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
970 WIN_LEFT .60
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
971 STRCPY TXT_G4_3
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
972 call I2CREAD2 ; Gas4 current O2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
973 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
974 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
975 PUTC '/'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
976 call I2CREAD2 ; Gas4 current HE
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
977 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
978 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
979 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
980
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
981 movlw color_violet ; Color for Gas 5
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
982 call DISP_set_color ; Set Color...
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
983 WIN_TOP .25
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
984 STRCPY TXT_G5_3
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
985 call I2CREAD2 ; Gas5 current O2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
986 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
987 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
988 PUTC '/'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
989 call I2CREAD2 ; Gas5 current HE
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
990 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
991 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
992 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
993
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
994 movlw color_cyan ; Color for Gas 6
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
995 call DISP_set_color ; Set Color...
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
996 WIN_TOP .50
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
997 STRCPY TXT_G6_3
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
998 call I2CREAD2 ; Gas6 current O2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
999 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1000 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1001 PUTC '/'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1002 call I2CREAD2 ; Gas6 current HE
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1003 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1004 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1005 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1006
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1007 call DISP_standard_color
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1008 WIN_TOP .0
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1009 WIN_LEFT .120
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1010 STRCPY TXT_1ST4
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1011 call I2CREAD2 ; Start Gas
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1012 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1013 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1014 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1015
253
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1016
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1017 bcf show_cns_in_logbook ; clear flag
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1018 WIN_TOP .25
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1019 STRCPY "V"
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1020 call I2CREAD2 ; Firmware x
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1021 movff SSPBUF,lo
253
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1022 movff SSPBUF,hi
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1023 output_8
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1024 PUTC '.'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1025 call I2CREAD2 ; Firmware y
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1026 movff SSPBUF,lo
253
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1027 movlw .83 ; Check firmware y > 83
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1028 cpfslt lo ; <83?
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1029 bsf show_cns_in_logbook ; No, set flag
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1030 movlw .2 ; Check firmware x > 1
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1031 cpfslt hi ; <2?
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1032 bsf show_cns_in_logbook ; No, set flag
468
8d69c040b9fc show firmware version in logbook correctly
heinrichsweikamp
parents: 457
diff changeset
1033 output_99x
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1034 call word_processor ; Display Gas information
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1035 bcf leftbind ; Clear flag
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1036
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1037 WIN_TOP .50
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1038 lfsr FSR2,letter
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1039 call I2CREAD2 ; Battery lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1040 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1041 call I2CREAD2 ; Battery hi
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1042 movff SSPBUF,hi
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1043 movlw d'1'
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1044 movwf ignore_digits
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1045 bsf ignore_digit5 ; do not display mV
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1046 bsf leftbind
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1047 output_16dp d'2' ; e.g. 3.45V
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1048 bcf leftbind
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1049 STRCAT_PRINT TXT_VOLT1
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1050
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1051
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1052 ; call I2CREAD2 ; Skip Sampling rate
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1053
576
ab2686087bce faster font display, code cleaning
heinrichsweikamp
parents: 575
diff changeset
1054 call menu_pre_loop_common ; Clear some menu flags, timeout and switches
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1055 display_profile2_loop:
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1056 call check_switches_logbook
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1057 btfsc menubit2 ; SET/MENU?
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1058 bra exit_profileview ; back to list
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1059 btfsc menubit3 ; ENTER?
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1060 bra profileview_page3 ; Switch to Page3 of profile view
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1061 btfsc onesecupdate
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 544
diff changeset
1062 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1063 bcf onesecupdate ; one second update
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1064 btfsc sleepmode ; Timeout?
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1065 bra exit_profileview ; back to list
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1066 bra display_profile2_loop ; wait for something to do
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1067
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1068 profileview_page3:
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1069 WIN_BOX_BLACK .0, .74, .0, .159 ;top, bottom, left, right
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1070
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1071 call DISP_standard_color
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1072
244
976260083540 Small fix (y-scale in logbook)
heinrichsweikamp
parents: 243
diff changeset
1073 movff average_depth_hold+0,eeprom_address+0
976260083540 Small fix (y-scale in logbook)
heinrichsweikamp
parents: 243
diff changeset
1074 movff average_depth_hold+1,eeprom_address+1 ; Pointer to Gaslist
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1075
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1076 incf_eeprom_address d'24' ; Point to "Salinity"
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1077 bsf leftbind
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1078 WIN_TOP .0
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1079 WIN_LEFT .0
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1080 call I2CREAD2 ; read Salinity
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1081 lfsr FSR2,letter
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1082 movff SSPBUF,lo
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1083 clrf hi
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1084 output_16dp d'3'
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1085 STRCAT_PRINT TXT_KGL4
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1086
253
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1087 call I2CREAD2 ; Read CNS%
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1088
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1089 btfss show_cns_in_logbook ; Show CNS?
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1090 bra logbook_skip_cns ; No
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1091
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1092 movff SSPBUF,lo
253
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1093 WIN_TOP .25
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1094 STRCPY TXT_CNS4
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1095 output_8
253
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1096 STRCAT_PRINT "%" ; Display CNS %
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1097
253
3a4096f32526 show CNS in logbook for all dives made with V1.84beta and later
heinrichsweikamp
parents: 249
diff changeset
1098 logbook_skip_cns:
349
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1099 btfss logbook_format_0x21
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1100 bra skip_new_format_0x21_info ; Do not show remaining info from dive
268
7d24c9d62095 average depth in logbook fixed
heinrichsweikamp
parents: 266
diff changeset
1101
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1102 ; Show all new 0x21 data
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1103 ; Show average depth
349
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1104 WIN_TOP .50
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1105 call I2CREAD2 ; Read average depth
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1106 movff SSPBUF,lo
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1107 call I2CREAD2 ; Read average depth
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1108 movff SSPBUF,hi
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1109 STRCPY TXT_AVR4
349
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1110 output_16dp d'3' ; Average depth
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1111 STRCAT_PRINT TXT_METER1
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1112
375
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1113 incf_eeprom_address d'4' ; Skip total dive time and GF factors
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1114 call I2CREAD ; Read deco modell
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1115 decf_eeprom_address d'2' ; back to GF factos
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1116
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1117 WIN_TOP .0
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1118 WIN_LEFT .75
375
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1119
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1120 movff SSPBUF,lo
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1121 movlw d'3'
434
1f1af9482d00 merge with 431
heinrichsweikamp
parents: 430
diff changeset
1122 cpfsgt lo ; GF model used for this dive?
1f1af9482d00 merge with 431
heinrichsweikamp
parents: 430
diff changeset
1123 bra logbook_show_sat ; No
1f1af9482d00 merge with 431
heinrichsweikamp
parents: 430
diff changeset
1124
375
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1125
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1126 ; Show GF settings
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1127 call I2CREAD2 ; Read GF_lo
433
b0f3ab805879 apply salinity and 0.98bar/10m in internal logbook, show gf_lo/gf_hi on page three (Instead of gf_hi/gf_lo)
heinrichsweikamp
parents: 427
diff changeset
1128 movff SSPBUF,lo
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1129 call I2CREAD2 ; Read GF_hi
433
b0f3ab805879 apply salinity and 0.98bar/10m in internal logbook, show gf_lo/gf_hi on page three (Instead of gf_hi/gf_lo)
heinrichsweikamp
parents: 427
diff changeset
1130 movff SSPBUF,hi
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1131 STRCPY TXT_GF3
433
b0f3ab805879 apply salinity and 0.98bar/10m in internal logbook, show gf_lo/gf_hi on page three (Instead of gf_hi/gf_lo)
heinrichsweikamp
parents: 427
diff changeset
1132 output_8 ; GF_lo
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1133 PUTC '/'
433
b0f3ab805879 apply salinity and 0.98bar/10m in internal logbook, show gf_lo/gf_hi on page three (Instead of gf_hi/gf_lo)
heinrichsweikamp
parents: 427
diff changeset
1134 movff hi,lo ; copy GF_hi
b0f3ab805879 apply salinity and 0.98bar/10m in internal logbook, show gf_lo/gf_hi on page three (Instead of gf_hi/gf_lo)
heinrichsweikamp
parents: 427
diff changeset
1135 output_8 ; GF_hi
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1136 call word_processor
375
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1137 bra logbook_deco_model ; Skip Sat
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1138
375
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1139 logbook_show_sat:
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1140 call I2CREAD2 ; Read Saturation x
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1141 movff SSPBUF,hi
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1142 call I2CREAD2 ; Read Desaturation x
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1143 movff SSPBUF,lo
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1144 STRCPY TXT_SAT4
375
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1145 output_8 ; Sat x
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1146 STRCAT "%/"
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1147 movff hi,lo ; copy Desat x
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1148 output_8 ; Desat x
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1149 STRCAT_PRINT "%"
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1150
84a1762de6ab show saturation multiplier in logbook
heinrichsweikamp
parents: 374
diff changeset
1151 logbook_deco_model:
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1152 ; Show deco model
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1153 WIN_TOP .25
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1154 call I2CREAD2 ; Read deco modell
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1155 movff SSPBUF,lo
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1156 lfsr FSR2,letter
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1157 incf lo,F ; +1
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1158 dcfsnz lo,F ; ZH-L16 OC?
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1159 movlw d'101' ; Textnumber
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1160 dcfsnz lo,F ; Gauge?
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1161 movlw d'102' ; Textnumber
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1162 dcfsnz lo,F ; ZH-L16 CC?
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1163 movlw d'104' ; Textnumber
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1164 dcfsnz lo,F ; Apnoe?
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1165 movlw d'138' ; Textnumber
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1166 dcfsnz lo,F ; L16-GF OC?
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1167 movlw d'152' ; Textnumber
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1168 dcfsnz lo,F ; L16-GF CC?
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1169 movlw d'236' ; Textnumber
592
cda5b45b953f NEW: Deco mode "pSCR-GF": Computes deco and CNS based on pSCR parameters (CF62/63)
heinrichsweikamp
parents: 577
diff changeset
1170 dcfsnz lo,F ; pSCR-GF?
cda5b45b953f NEW: Deco mode "pSCR-GF": Computes deco and CNS based on pSCR parameters (CF62/63)
heinrichsweikamp
parents: 577
diff changeset
1171 movlw d'226' ; Textnumber
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1172 call displaytext0_low ; Outputs to POSTINC2
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1173 call word_processor
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1174
349
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1175 skip_new_format_0x21_info:
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1176 bcf menubit2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1177 bcf menubit3
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1178 bcf switch_right
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1179 bcf switch_left
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1180 clrf timeout_counter2
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1181 display_profile3_loop:
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1182 call check_switches_logbook
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1183 btfsc menubit2 ; SET/MENU?
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1184 bra exit_profileview ; back to list
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1185 btfsc menubit3 ; ENTER?
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1186 bra exit_profileview ; back to list
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1187 btfsc onesecupdate
575
cbdcbbc91877 some code cleaning
heinrichsweikamp
parents: 544
diff changeset
1188 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1189 bcf onesecupdate ; one second update
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1190 btfsc sleepmode ; Timeout?
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1191 bra exit_profileview ; back to list
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1192 bra display_profile3_loop ; wait for something to do
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1193
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1194 ;=============================================================================
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1195 ; Draw a vertical line between xC+1 and xC+0, at current X position.
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1196 ;
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1197 ; Note: should keep xC+0
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1198 ; Note: ascending or descending !
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1199 ;
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1200 profile_display_fill:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1201 ; First, check if xC+0>apnoe_mins or xC+0<aponoe_mins
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1202 movf xC+0,W
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1203 cpfseq xC+1 ; xC+0 = apone_mins?
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1204 bra profile_display_fill2 ; No!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1205 return
130
d721b49b8934 Fixed profile view (Logbook)
Heinrichsweikamp
parents: 123
diff changeset
1206
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1207 profile_display_fill2:
427
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1208 ; Make sure to init X position.
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1209 movf timeout_counter3,W
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1210 mullw 2
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1211 decf PRODL,F
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1212 movlw 0
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1213 subwfb PRODH,F
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1214 call pixel_write_col320
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1215
04535df08575 Fixed -2?C .. +35?C scale for logbook display.
JeanDo
parents: 426
diff changeset
1216 movf xC+0,W
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1217 cpfsgt xC+1 ; apnoe_mins>xC+0?
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1218 bra profile_display_fill_up ; Yes!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1219
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1220 profile_display_fill_down2: ; Loop
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1221 decf xC+1,F
142
8b75ba28d641 Screen-flipping custom function.
JeanDo
parents: 130
diff changeset
1222
146
c09b0be2e1e6 PIXEL_WRITE macros.
JeanDo
parents: 142
diff changeset
1223 HALF_PIXEL_WRITE xC+1 ; Updates just row (0..239)
3
3cf8af30b36e v1.51 beta
heinrichsweikamp
parents: 0
diff changeset
1224
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1225 movf xC+0,W
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1226 cpfseq xC+1 ; Loop until xC+1=xC+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1227 bra profile_display_fill_down2
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1228 return ; apnoe_mins and xC+0 are untouched
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1229
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1230 profile_display_fill_up: ; Fill upwards from xC+0 to apone_mins!
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1231 incf xC+1,F
142
8b75ba28d641 Screen-flipping custom function.
JeanDo
parents: 130
diff changeset
1232
146
c09b0be2e1e6 PIXEL_WRITE macros.
JeanDo
parents: 142
diff changeset
1233 HALF_PIXEL_WRITE xC+1 ; Updates just row (0..239)
3
3cf8af30b36e v1.51 beta
heinrichsweikamp
parents: 0
diff changeset
1234
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1235 movf xC+0,W
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1236 cpfseq xC+1 ; Loop until xC+1=apnoe_mins
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1237 bra profile_display_fill_up
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1238 return ; apnoe_mins and xC+0 are untouched
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1239
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1240 ;=============================================================================
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1241
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1242 profile_view_get_depth:
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1243 incf average_divesecs+0,F
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1244 movlw d'0'
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1245 addwfc average_divesecs+1,F ; Count read pixels
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1246
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1247 movf average_divesecs+0,W
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1248 cpfseq average_depth_hold_total+0
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1249 bra profile_view_get_depth_no_line ; no need to draw a 10min line, continue
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1250 movf average_divesecs+1,W
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1251 cpfseq average_depth_hold_total+1
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1252 bra profile_view_get_depth_no_line ; no need to draw a 10min line, continue
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1253 ; draw a new 10min line here...
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1254 clrf average_divesecs+0
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1255 clrf average_divesecs+1 ; clear counting registers for next line
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1256
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1257 movlw color_grey
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1258 call DISP_set_color ; Make this configurable?
373
8781d1cf96d8 added GF_hi, GF_lo and deco model to dive header
Heinrichsweikamp
parents: 371
diff changeset
1259 movlw d'76'
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1260 movff WREG,win_top
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1261 incf timeout_counter3,W ; draw one line to right to make sure it's the background of the profile
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1262 movff WREG,win_leftx2 ; Left border (0-159)
373
8781d1cf96d8 added GF_hi, GF_lo and deco model to dive header
Heinrichsweikamp
parents: 371
diff changeset
1263 movlw d'163'
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1264 movff WREG,win_height
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1265 movlw d'1'
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1266 movff WREG,win_width ; "Window" Width
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1267 call DISP_box ; Inputs: win_top, win_leftx2, win_height, win_width, win_color1, win_color2
371
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1268
160b3216b335 x-scale in logbook fixed
Heinrichsweikamp
parents: 367
diff changeset
1269 profile_view_get_depth_no_line:
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1270 call I2CREAD2 ; read first depth
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1271 movff SSPBUF,logbook_cur_depth+0 ; low value
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1272 call I2CREAD2 ; read first depth
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1273 movff SSPBUF,logbook_cur_depth+1 ; high value
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1274 call I2CREAD2 ; read Profile Flag Byte
832
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1275 movff SSPBUF,timeout_counter2 ; store Profile Flag Byte
268
7d24c9d62095 average depth in logbook fixed
heinrichsweikamp
parents: 266
diff changeset
1276
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1277 bcf event_occured ; clear flag
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1278 btfsc timeout_counter2,7
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1279 bsf event_occured ; We also have an Event byte!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1280 bcf timeout_counter2,7 ; Clear Event Byte Flag (If any)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1281 ; timeout_counter2 now holds the number of additional bytes to ignore (0-127)
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1282 movlw 0xFD ; end of profile bytes?
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1283 cpfseq logbook_cur_depth+0
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1284 bra profile_view_get_depth_new1 ; no 0xFD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1285 movlw 0xFD ; end of profile bytes?
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1286 cpfseq logbook_cur_depth+1
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1287 bra profile_view_get_depth_new1 ; no 0xFD
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1288 bsf second_FD ; End found! Set Flag! Skip remaining pixels!
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1289 return
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1290
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1291 profile_view_get_depth_new1:
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1292 btfsc event_occured ; Was there an event attached to this sample?
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1293 rcall profile_view_get_depth_events ; Yes, get information about this event(s)
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1294
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1295 ;---- Read Tp°, if any AND divisor reached AND bytes available -----------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1296 movf divisor_temperature,W ; Is Tp° divisor null ?
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1297 bz profile_view_get_depth_no_tp; Yes: no Tp° curve.
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1298 decf count_temperature,F ; Decrement tp° counter
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1299 bnz profile_view_get_depth_no_tp; No temperature this time
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1300
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1301 call I2CREAD2 ; Tp° low
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1302 movff SSPBUF,logbook_cur_tp+0
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1303 call I2CREAD2 ; Tp° high
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1304 movff SSPBUF,logbook_cur_tp+1
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1305 decf timeout_counter2,F
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1306 decf timeout_counter2,F
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1307 movff divisor_temperature,count_temperature ; Restart counter.
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1308
451
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1309 ; Compute Tp° max on the fly...
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1310 movff logbook_cur_tp+0,sub_a+0 ; Compare cur_tp > max_tp ?
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1311 movff logbook_cur_tp+1,sub_a+1
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1312 movff logbook_max_tp+0,sub_b+0
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1313 movff logbook_max_tp+1,sub_b+1
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1314 call sub16 ; SIGNED sub_a - sub_b
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1315 btfsc neg_flag
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1316 bra profile_view_get_depth_no_tp
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1317
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1318 movff logbook_cur_tp+0,logbook_max_tp+0
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1319 movff logbook_cur_tp+1,logbook_max_tp+1
f6f818edf333 BUGFIX bad first Tp? and ceiling in logbook curves.
JeanDo
parents: 445
diff changeset
1320
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1321 ;---- Read deco, if any AND divisor=0 AND bytes available ----------------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1322 profile_view_get_depth_no_tp:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1323 movf divisor_deco,W
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1324 bz profile_view_get_depth_no_deco
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1325 decf count_deco,F
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1326 bnz profile_view_get_depth_no_deco
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1327
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1328 call I2CREAD2
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1329 movff SSPBUF,logbook_ceiling
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1330 decf timeout_counter2,F
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1331 movff divisor_deco,count_deco ; Restart counter.
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1332 call I2CREAD2 ; Skip stop length
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1333 decf timeout_counter2,F
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1334
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1335 ;---- Read GF, if any AND divisor=0 AND bytes available ------------------
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1336 profile_view_get_depth_no_deco:
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1337
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1338 movf timeout_counter2,W ; No more extra bytes ?
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1339 btfsc STATUS,Z
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1340 return ; No: done.
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1341
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1342 ; Then skip remaining bytes...
207
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
1343 movf timeout_counter2,W ; number of additional bytes to ignore (0-127)
d2a38470f0b2 faster logbook speed
heinrichsweikamp
parents: 204
diff changeset
1344 call incf_eeprom_address0 ; increases bytes in eeprom_address:2 with 0x8000 bank switching
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1345 return
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1346
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1347 profile_view_get_depth_events:
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1348 call I2CREAD2 ; Read Event byte
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1349 movff SSPBUF,EventByte ; store EventByte
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1350 decf timeout_counter2,F ; reduce counter
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1351
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1352 ; Check Event flags in the EventByte
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1353 btfsc EventByte,7 ; Bailout?
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1354 rcall logbook_event2 ; Yes!
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1355 btfsc EventByte,4 ; Manual Gas Changed?
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1356 rcall logbook_event1 ; Yes!
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1357 btfsc EventByte,6 ; Setpoint Change?
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1358 rcall logbook_event3 ; Yes!
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1359 btfsc EventByte,5 ; Stored Gas Changed?
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1360 rcall logbook_event4 ; Yes!
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1361 return ; No, return
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1362
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1363 logbook_event4: ; Stored Gas changed!
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1364 call I2CREAD2 ; Read Gas#
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1365 movff SSPBUF,average_depth_hold_total+3
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1366 rcall profile_display_color ; Back to normal profile color.
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1367 decf timeout_counter2,F ; reduce counter
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1368 return
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1369
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1370 logbook_event1:
426
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1371 movlw 6 ; Just color backup to 6
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1372 movwf average_depth_hold_total+3
07f5b0baaa57 Adding temperature & ceiling curves
JeanDo
parents: 425
diff changeset
1373 rcall profile_display_color ; Back to normal profile color.
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1374 call I2CREAD2 ; Read O2
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1375 decf timeout_counter2,F ; reduce counter
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1376 call I2CREAD2 ; Read He
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1377 decf timeout_counter2,F ; reduce counter
832
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1378 ; Any Alarm?
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1379 bcf EventByte,4 ; Clear bits already tested
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1380 bcf EventByte,5
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1381 bcf EventByte,6
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1382 movlw .6 ; manual marker?
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1383 cpfseq EventByte
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1384 return ; No, return
63cce2e2ae20 NEW: Logbook shows markers with small orange boxes in the profile
heinrichsweikamp
parents: 815
diff changeset
1385 bsf log_marker_found ; Manual marker! Draw small orange rectancle here
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1386 return
248
571626276aaa Logbook now shows gas changes in depth profile
heinrichsweikamp
parents: 245
diff changeset
1387
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1388 logbook_event2: ; Bailout
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1389 bsf is_bailout ; Set flag
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1390 movff average_depth_hold_total+3,total_divetime_seconds+0 ; Backup last gas color in case we return to CCR
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1391 movlw 6 ; Use Gas6 color
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1392 movwf average_depth_hold_total+3
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1393 rcall profile_display_color ; Back to normal profile color.
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1394 call I2CREAD2 ; Read O2
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1395 decf timeout_counter2,F ; reduce counter
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1396 call I2CREAD2 ; Read He
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1397 decf timeout_counter2,F ; reduce counter
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1398 return
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1399
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1400 logbook_event3: ; Setpoint change
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1401 btfss is_bailout ; Are we in bailout?
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1402 return ; No, return
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1403 ; We were in bailout before, restore profile color
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1404 movff total_divetime_seconds+0,average_depth_hold_total+3 ; Restore color
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1405 rcall profile_display_color ; Back to normal profile color.
794
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1406 call I2CREAD2 ; Read Setpoint
e8af55eb83cb BUGFIX: False Bailout and Gas 6 flags in logbook
heinrichsweikamp
parents: 777
diff changeset
1407 decf timeout_counter2,F ; reduce counter
777
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1408 return
b92ee354baae show bailout in logbook, 2.91 beta release
heinrichsweikamp
parents: 720
diff changeset
1409
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1410 exit_profileview:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1411 bcf sleepmode
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1412 clrf timeout_counter2 ; restore all registers to build same page again
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1413 movff decodata+0,eeprom_address+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1414 movff decodata+1,eeprom_address+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1415 movff max_pressure+0,divemins+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1416 movff max_pressure+1,divemins+1
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1417 movff mintemp+0, divenumber
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1418 decf divenumber,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1419 bcf all_dives_shown
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1420 clrf menupos3 ; here: used row on current page
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1421 movlw d'5'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1422 movwf menupos ; here: active row on current page
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1423 call DISP_ClearScreen ; clear details/profile
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1424 goto menu_logbook1b ; start search
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1425
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1426 next_logbook2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1427 btfsc all_dives_shown ; all shown
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1428 goto menu_logbook1 ; all reset
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1429
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1430 clrf menupos3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1431 movlw d'5'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1432 movwf menupos ;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1433 incf menupos2,F ; start new screen
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1434 call DISP_ClearScreen
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1435
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1436 next_logbook:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1437 movff eeprom_header_address+0,eeprom_address+0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1438 movff eeprom_header_address+1,eeprom_address+1 ; continue search here
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1439 goto menu_logbook1b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1440
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1441 check_switches_logbook:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1442 btfsc switch_right
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1443 bsf menubit3
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1444 btfsc switch_left
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1445 bsf menubit2 ; Enter
337
6bdf80d7276c Added screen dumps of general menus.
JeanDo
parents: 302
diff changeset
1446
6bdf80d7276c Added screen dumps of general menus.
JeanDo
parents: 302
diff changeset
1447 btfsc uart_dump_screen ; Dumps screen contains ?
6bdf80d7276c Added screen dumps of general menus.
JeanDo
parents: 302
diff changeset
1448 call dump_screen ; Yes!
6bdf80d7276c Added screen dumps of general menus.
JeanDo
parents: 302
diff changeset
1449
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1450 return
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1451
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1452 next_logbook3:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1453 incf menupos,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1454 movlw d'7'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1455 cpfseq menupos ; =7?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1456 bra next_logbook3a ; No
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1457 bra next_logbook2 ; yes, new page please
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1458
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1459 next_logbook3a:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1460 incf menupos3,W ;
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1461 cpfseq menupos
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1462 bra next_logbook3b
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1463 movlw d'6'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1464 movwf menupos ; Jump directly to exit if page is not full
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1465
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1466 next_logbook3b:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1467 clrf timeout_counter2
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1468 call DISP_logbook_cursor
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1469
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1470 bcf switch_right
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1471 bcf menubit3 ; clear flag
243
38cccd304970 more information in logbook: Gaslist, Salinity, Gradient Factors and Average depth displayed in Logbook
heinrichsweikamp
parents: 209
diff changeset
1472 goto menu_logbook_loop
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1473
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1474 display_listdive:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1475 bsf logbook_page_not_empty ; Page not empty
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1476 incf menupos3,F
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1477
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1478 btfsc logbook_header_drawn ; "Logbook already displayed?
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1479 bra display_listdive1a
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
1480 call DISP_topline_box_clear ; Clears Bar at the top
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
1481 call DISP_divemask_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1482 DISPLAYTEXT .26 ; "Logbook"
717
91ae251d379f "ostc3-style" menu titles
heinrichsweikamp
parents: 707
diff changeset
1483 call DISP_standard_color
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1484 bsf logbook_header_drawn
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1485
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1486 display_listdive1a:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1487 WIN_LEFT .20
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1488
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1489 movf menupos2,W
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1490 mullw d'5'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1491 movf PRODL,W
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1492 subwf divenumber,W ; current row on page
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1493
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1494 mullw d'30' ; x30
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1495 movf PRODL,W ; is pixel-row for entry
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1496 addlw d'5' ; +5 Pixel, so list entries are at rows 35,65,95,125,155,185
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1497 movff WREG,win_top
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1498
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1499 lfsr FSR2,letter
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1500 movff divenumber,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1501 output_99x ; # of dive
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
1502 PUTC ' '
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
1503 call I2CREAD3 ; logbook_profile_version (1st. byte of Header after the 0xFA, 0xFA) (Block read start)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1504 movff SSPBUF,lo
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1505 movlw d'13'
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1506 cpfsgt lo ; Skip if lo>13
349
ed137d66ac65 Preparations for new "0x21" logbook format
heinrichsweikamp
parents: 337
diff changeset
1507 bra display_listdive2 ; use old (Pre 0x20) format
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1508
351
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1509 bsf logbook_format_0x21 ; Set flag for new 0x21 Format
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1510 movlw 0x21
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1511 cpfseq lo ; Skip if 0x21
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1512 bcf logbook_format_0x21 ; Clear flag for new 0x21 Format
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1513
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
1514 call I2CREAD4 ; Skip Profile version (Block read)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1515 movff SSPBUF,lo ; in new format, read month
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1516
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1517 display_listdive2:
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1518 movff lo,convert_value_temp+0 ; Month (in lo, see above)
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
1519 call I2CREAD4 ; Day (Block read)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1520 movff SSPBUF,convert_value_temp+1
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
1521 call I2CREAD4 ; Year (Block read)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1522 movff SSPBUF,convert_value_temp+2
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1523 call DISP_convert_date_short ; converts into "DD/MM" or "MM/DD" or "MM/DD" in s
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1524
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1525
209
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1526 incf_eeprom_address d'2' ; Skip Bytes in EEPROM (faster)
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1527 ; call I2CREAD2 ; hours (Skip)
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1528 ; call I2CREAD2 ; minutes (skip)
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1529
123
6a94f96e9cea The big cleanup, again.
JeanDo
parents: 44
diff changeset
1530 PUTC ' '
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
1531 call I2CREAD3 ; Depth (Block read start)
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1532 movff SSPBUF,lo
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
1533 call I2CREAD4 ; Block read
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1534 movff SSPBUF,hi
433
b0f3ab805879 apply salinity and 0.98bar/10m in internal logbook, show gf_lo/gf_hi on page three (Instead of gf_hi/gf_lo)
heinrichsweikamp
parents: 427
diff changeset
1535
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1536 bsf leftbind
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1537 bsf ignore_digit5 ; Do not display 1cm figure
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1538 output_16dp d'3' ; max. depth
445
6e57b5bb98ce localisation part 1 from Sergei
heinrichsweikamp
parents: 438
diff changeset
1539 STRCAT TXT_METER2
438
ec28f64bfeff max depth in logbook had salinity applied already...
heinrichsweikamp
parents: 437
diff changeset
1540 call I2CREAD4 ; Block read
209
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1541 movff SSPBUF,lo ; read divetime in minutes
245
dee88c962653 Some clean up and minor I2C speed improvements
heinrichsweikamp
parents: 244
diff changeset
1542 call I2CREAD4 ; Block read
209
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1543 movff SSPBUF,hi ; read divetime in minutes
0
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1544 bsf leftbind
96a35aeda5f2 Initial setup
heinrichsweikamp
parents:
diff changeset
1545 output_16 ; Divetime minutes
209
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1546 STRCAT_PRINT "'" ; Display header-row in list
cdba979821ee frame around logbook scale, some more speed improvements
heinrichsweikamp
parents: 208
diff changeset
1547 incf_eeprom_address d'37' ; 12 Bytes read from header, skip 37 Bytes in EEPROM (Remaining Header)
351
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1548 btfss logbook_format_0x21 ; 10byte extra?
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1549 return ; No, Done.
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1550 incf_eeprom_address d'10' ; Skip another 10 byte from the header for 0x21 format
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1551 return
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1552
374
6ee9c849ad92 GF profile. GF and Decotype in Logbok
Heinrichsweikamp
parents: 373
diff changeset
1553 logbook_convert_64k: ; Converts <1.91 logbook (32kB) to 64kB variant
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1554 call DISPLAY_boot
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1555 movlw color_red
681
6e456a6398e0 Hardware4 support
heinrichsweikamp
parents: 592
diff changeset
1556 call DISP_set_color ; Set to Red
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1557 DISPLAYTEXTH d'303' ; Please wait!
384
904863f96582 Work-Around for "Reset all" overwriting 0x00 to 0x04 in EEPROM Bank1
heinrichsweikamp
parents: 382
diff changeset
1558 clrf EEADR
904863f96582 Work-Around for "Reset all" overwriting 0x00 to 0x04 in EEPROM Bank1
heinrichsweikamp
parents: 382
diff changeset
1559 movlw d'1'
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1560 movwf EEADRH
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1561 movlw 0xAA
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1562 movwf EEDATA
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1563 call write_eeprom ; write 0xAA to indicate the logbook is already converted
384
904863f96582 Work-Around for "Reset all" overwriting 0x00 to 0x04 in EEPROM Bank1
heinrichsweikamp
parents: 382
diff changeset
1564 clrf EEADRH ; Restore EEADRH
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1565 ; convert logbook:
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1566 ; Step 1: Copy 32k from 0xFE + 1 with bank switching to bank1
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1567 ; Step 2: Copy 32k from bank1 to bank0
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1568 ; Step 3: delete bank1
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1569 call get_free_EEPROM_location ; Searches 0xFD, 0xFD, 0xFE and sets Pointer to 0xFE
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1570 rcall incf_eeprom_bank0 ; eeprom_address:2 now at 0xFE+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1571 ; Do Step 1:
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1572 ;logbook1_ptr+0 and logbook1_ptr+1 hold address in bank1
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1573 ;logbook0_ptr+0 and logbook0_ptr+1 hold address in bank0
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1574 movlw HIGH 0x8000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1575 movwf logbook1_ptr+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1576 movlw LOW 0x8000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1577 movwf logbook1_ptr+0 ; load address for bank1
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1578 movff eeprom_address+0,logbook0_ptr+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1579 movff eeprom_address+1,logbook0_ptr+1 ; load address for bank0
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1580 movlw 0x80
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1581 movwf uart2_temp
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1582 logbook_convert2:
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1583 clrf uart1_temp ; counter for copy operation
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1584 logbook_convert3:
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1585 ; read source
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1586 movff logbook0_ptr+0,eeprom_address+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1587 movff logbook0_ptr+1,eeprom_address+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1588 call I2CREAD
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1589 movff SSPBUF,lo ; hold read value
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1590 rcall incf_eeprom_bank0 ; eeprom_address:2 +1 with bank switching
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1591 movff eeprom_address+0,logbook0_ptr+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1592 movff eeprom_address+1,logbook0_ptr+1 ; write source address
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1593 ; write target
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1594 movff logbook1_ptr+0,eeprom_address+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1595 movff logbook1_ptr+1,eeprom_address+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1596 movf lo,W
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1597 call I2CWRITE ; writes WREG into EEPROM@eeprom_address
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1598 movlw d'1'
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1599 addwf logbook1_ptr+0,F
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1600 movlw d'0'
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1601 addwfc logbook1_ptr+1,F ; increase target address
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1602 decfsz uart1_temp,F
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1603 bra logbook_convert3
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1604 btg LED_blue
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1605 decfsz uart2_temp,F ; 32kByte done?
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1606 bra logbook_convert2 ; No, continue
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1607 ; Step 1 done.
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1608 bcf LED_blue
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1609 ; Do Step 2:
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1610 movlw HIGH 0x0000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1611 movwf logbook1_ptr+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1612 movlw LOW 0x0000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1613 movwf logbook1_ptr+0 ; load address for bank0
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1614 movlw HIGH 0x8000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1615 movwf logbook0_ptr+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1616 movlw LOW 0x8000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1617 movwf logbook0_ptr+0 ; load address for bank1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1618 movlw 0x80
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1619 movwf uart2_temp
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1620 logbook_convert4:
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1621 clrf uart1_temp ; counter for copy operation
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1622 logbook_convert5:
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1623 ; read source
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1624 movff logbook0_ptr+0,eeprom_address+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1625 movff logbook0_ptr+1,eeprom_address+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1626 call I2CREAD
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1627 movff SSPBUF,lo ; hold read value
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1628 incf_eeprom_address d'1'
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1629 movff eeprom_address+0,logbook0_ptr+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1630 movff eeprom_address+1,logbook0_ptr+1 ; write source address
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1631 ; write target
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1632 movff logbook1_ptr+0,eeprom_address+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1633 movff logbook1_ptr+1,eeprom_address+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1634 movf lo,W
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1635 call I2CWRITE ; writes WREG into EEPROM@eeprom_address
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1636 incf_eeprom_address d'1'
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1637 movff eeprom_address+0,logbook1_ptr+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1638 movff eeprom_address+1,logbook1_ptr+1; write target address
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1639 decfsz uart1_temp,F
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1640 bra logbook_convert5
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1641 btg LED_red
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1642 decfsz uart2_temp,F ; 32kByte done?
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1643 bra logbook_convert4 ; No, continue
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1644 ; Step 2 done.
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1645 bcf LED_red
366
ca3d15e6240e small work in the logbook
Heinrichsweikamp
parents: 362
diff changeset
1646 ; Do Step 3:
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1647 movlw HIGH 0x8000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1648 movwf logbook0_ptr+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1649 movlw LOW 0x8000
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1650 movwf logbook0_ptr+0 ; load address for bank1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1651 movlw 0x80
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1652 movwf uart2_temp
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1653 logbook_convert6:
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1654 clrf uart1_temp ; counter for copy operation
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1655 logbook_convert7:
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1656 ; write target
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1657 movff logbook0_ptr+0,eeprom_address+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1658 movff logbook0_ptr+1,eeprom_address+1
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1659 movlw 0xFF
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1660 call I2CWRITE ; writes WREG into EEPROM@eeprom_address
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1661 incf_eeprom_address d'1'
430
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1662 movff eeprom_address+0,logbook0_ptr+0
f36b93f2fbed Minor logbook cleanups.
JeanDo
parents: 427
diff changeset
1663 movff eeprom_address+1,logbook0_ptr+1 ; write target address
362
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1664 decfsz uart1_temp,F
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1665 bra logbook_convert7
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1666 btg LED_red
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1667 btg LED_blue
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1668 decfsz uart2_temp,F ; 32kByte done?
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1669 bra logbook_convert6 ; No, continue
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1670 ; Step 3 done.
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1671 bcf LED_red
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1672 bcf LED_blue
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1673 return
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1674
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1675 incf_eeprom_bank0:
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1676 movlw d'1' ; increase address
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1677 addwf eeprom_address+0,F
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1678 movlw d'0'
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1679 addwfc eeprom_address+1,F
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1680 btfss eeprom_address+1,7 ; at address 8000?
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1681 return ; no, skip
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1682 clrf eeprom_address+0 ; Clear eeprom address
64da813d4726 Logbook converter (Needs ~8Minutes and is called one time). Backup your dives before use!!
Heinrichsweikamp
parents: 351
diff changeset
1683 clrf eeprom_address+1
351
5c186a72cb5d Debugging the new logbook format, 64kB download routine
heinrichsweikamp
parents: 350
diff changeset
1684 return