Mercurial > public > mk2
annotate code_part1/OSTC_code_asm_part1/spbrgselect.inc @ 124:4f9f477bb452
Rewrite display of decoplan:
* Common stuff
- fix clearing bottom of list, for fleecker-free updates.
- fix "Wait..." topline_box while computing deco in planning
- fix 'No Deco" std color and mark last page.
- Allow stops up to 240'
* ZHL-16c model:
- 6 lines max (sim or dive)
- Print exceed stops as "add: ddd'"
* GF model
- 6 lines in divemode, 8 in planning.
- any suitable number of pages.
- "more..." when not the last page displayed.
- fix displaying special depth for last stop (CF#29).
- fix 0-time stops: just skip display.
- fix end of list when reached the deepest stop.
- fix no need to buffer decoplan twice.
author | JeanDo |
---|---|
date | Sat, 01 Jan 2011 01:57:50 +0100 |
parents | 96a35aeda5f2 |
children |
rev | line source |
---|---|
0 | 1 RoundResult SET 0 ; Rounding function. RoundResult = Round(aa/bb) |
2 Round macro aa,bb | |
3 LOCAL rr = aa/bb | |
4 LOCAL d1 = aa - rr*bb | |
5 LOCAL d2 = (rr+1)*bb - aa | |
6 RoundResult = rr | |
7 if d1 >= d2 | |
8 RoundResult++ | |
9 endif | |
10 endm | |
11 | |
12 AbsResult SET 0 | |
13 Abs macro nr | |
14 if nr>=0 | |
15 AbsResult = nr | |
16 else | |
17 AbsResult = -nr | |
18 endif | |
19 endm | |
20 | |
21 Round xtal,(16*baud) | |
22 spbrg_value EQU RoundResult-1 | |
23 | |
24 Round xtal,(16*(spbrg_value+1)) | |
25 baud_real EQU RoundResult | |
26 Abs(baud_real-baud) | |
27 errpercent EQU AbsResult*100/baud | |
28 if errpercent > 4 | |
29 ERROR big error in baudrate: #v(errpercent)% | |
30 endif | |
31 if errpercent >= 2 | |
32 messg baudrate not exact: #v(errpercent)% | |
33 endif |