Mercurial > public > mk2
diff code_part1/OSTC_code_asm_part1/divemode.asm @ 352:544a96faa9f3 64kByte Logbook
New "Quit sim" option in simulated dive mode, CF02 now allows more then 240seconds, Bugfix with runtime=1min in runtime simulator
author | Heinrichsweikamp |
---|---|
date | Mon, 06 Jun 2011 18:50:26 +0200 |
parents | 5c186a72cb5d |
children | 562f1bc79f3c |
line wrap: on
line diff
--- a/code_part1/OSTC_code_asm_part1/divemode.asm Tue May 31 22:09:17 2011 +0200 +++ b/code_part1/OSTC_code_asm_part1/divemode.asm Mon Jun 06 18:50:26 2011 +0200 @@ -1424,13 +1424,16 @@ bcf divemode incf timeout_counter,F - GETCUSTOM8 d'2' ; diveloop_timeout - addlw d'2' ; adds two seconds in case timout=zero! - btfsc STATUS,C ; > 255? - movlw d'255' ; Set to 255... - decf WREG,F ; Limit to 254 - cpfsgt timeout_counter - bsf divemode + movlw d'0' + addwfc timeout_counter2,F ; timeout is 15bits + GETCUSTOM15 d'2' ; diveloop_timeout + movff lo,sub_a+0 + movff hi,sub_a+1 + movff timeout_counter, sub_b+0 + movff timeout_counter2, sub_b+1 + call sub16 ; sub_c = sub_a - sub_b + btfss neg_flag ; Result negative? + bsf divemode ; No, set flag return timeout_divemode2: @@ -1720,8 +1723,8 @@ clrf divesecs clrf samplesecs clrf apnoe_timeout_counter ; timeout in minutes - clrf timeout_counter ; takes care of the timeout - clrf timeout_counter2 ; Here: counts to six, then store deco data and temperature + clrf timeout_counter ; takes care of the timeout (Low byte) + clrf timeout_counter2 ; takes care of the timeout (High byte) clrf AlarmType ; Clear all alarms bcf event_occured ; clear flag bcf setpoint_changed ; clear flag