Mercurial > public > mk2
view code_part1/OSTC_code_asm_part1/spbrgselect.inc @ 212:275befc5f39d
Debug GF model (bug #11 & #12).
+ ASSERT stops should be computed in order (bug#11).
+ BUGFIX: Mark GF_low reference at actual first stop, not predicted one.
+ BUGFIX: sim_to_first_stop() stops BEFORE first stop, not after (bug#11).
+ BUGFIX: check that calc_nextdecodepth() don't ascent faster than 10m/mn (bug#11).
+ BUGFIX: calc_nextdecodepth() should check gas switch, too (bug#11).
+ let gas switch detection in depth/meter (not ambientPresure/mbar).
+ BUGFIX OCR mode: bad diluent value in sim_alveolar_pressure() (bug#11).
+ BUGFIX: add deco distance (offset) only to compartiment integration, not to B?hlmann or GF criterion.
+ BUGFIX: add margin one meter above gas switch depth (bug#12)
+ BUGFIX: When ascenting too fast, cancel gas switch delay and history (bug#11).
author | JeanDo |
---|---|
date | Mon, 21 Feb 2011 22:36:48 +0100 |
parents | 96a35aeda5f2 |
children |
line wrap: on
line source
RoundResult SET 0 ; Rounding function. RoundResult = Round(aa/bb) Round macro aa,bb LOCAL rr = aa/bb LOCAL d1 = aa - rr*bb LOCAL d2 = (rr+1)*bb - aa RoundResult = rr if d1 >= d2 RoundResult++ endif endm AbsResult SET 0 Abs macro nr if nr>=0 AbsResult = nr else AbsResult = -nr endif endm Round xtal,(16*baud) spbrg_value EQU RoundResult-1 Round xtal,(16*(spbrg_value+1)) baud_real EQU RoundResult Abs(baud_real-baud) errpercent EQU AbsResult*100/baud if errpercent > 4 ERROR big error in baudrate: #v(errpercent)% endif if errpercent >= 2 messg baudrate not exact: #v(errpercent)% endif