comparison src/isr.asm @ 176:3fdafedc24af

surface pressure copy in simulator
author heinrichsweikamp
date Mon, 06 Oct 2014 23:47:08 +0200
parents df449e5b1c81
children 39f6c07ce2f6
comparison
equal deleted inserted replaced
174:932e91074bdb 176:3fdafedc24af
426 isr_sensor_state2_5: 426 isr_sensor_state2_5:
427 movff amb_pressure+0,last_pressure+0 ; Copy for compare 427 movff amb_pressure+0,last_pressure+0 ; Copy for compare
428 movff amb_pressure+1,last_pressure+1 428 movff amb_pressure+1,last_pressure+1
429 429
430 clrf sensor_state_counter ; Then reset State counter 430 clrf sensor_state_counter ; Then reset State counter
431 banksel common ; flag2 is in Bank1
431 btfss simulatormode_active ; are we in simulator mode? 432 btfss simulatormode_active ; are we in simulator mode?
432 bra comp_air_pressure ; no 433 bra comp_air_pressure ; no
433 comp_air_pressure0: 434 ; Always set pressure_refresh flag in simulator mode
435 bsf pressure_refresh ; Yes
436 banksel isr_backup ; Back to Bank0 ISR data
434 movlw LOW d'1000' ; yes, so simulate 1000mbar surface pressure 437 movlw LOW d'1000' ; yes, so simulate 1000mbar surface pressure
435 movwf last_surfpressure+0 438 movwf last_surfpressure+0
436 movlw HIGH d'1000' 439 movlw HIGH d'1000'
437 movwf last_surfpressure+1 440 movwf last_surfpressure+1
438 ; Always set pressure_refresh flag in simulator mode 441
439 banksel common ; flag1 is in Bank1 442 comp_air_pressure:
440 bsf pressure_refresh ; Yes
441 banksel isr_backup ; Back to Bank0 ISR data 443 banksel isr_backup ; Back to Bank0 ISR data
442
443 comp_air_pressure:
444 movf last_surfpressure+0,W ; compensate airpressure 444 movf last_surfpressure+0,W ; compensate airpressure
445 subwf amb_pressure+0,W 445 subwf amb_pressure+0,W
446 movwf rel_pressure+0 ; rel_pressure stores depth! 446 movwf rel_pressure+0 ; rel_pressure stores depth!
447 447
448 movf last_surfpressure+1,W 448 movf last_surfpressure+1,W
660 660
661 clrf samplesecs ; clear counter... 661 clrf samplesecs ; clear counter...
662 bsf store_sample ; ...and set bit for profile storage 662 bsf store_sample ; ...and set bit for profile storage
663 isr_divemode_1sec2: 663 isr_divemode_1sec2:
664 ; Increase re-setable average depth divetime counter 664 ; Increase re-setable average depth divetime counter
665 incf average_divesecs+0,F ; increase stopwatch registers 665 infsnz average_divesecs+0,F ; increase stopwatch registers
666 btfsc STATUS,Z
667 incf average_divesecs+1,F ; increase stopwatch registers 666 incf average_divesecs+1,F ; increase stopwatch registers
668 ; Increase total divetime (Regardless of start_dive_threshold) 667 ; Increase total divetime (Regardless of start_dive_threshold)
669 infsnz total_divetime_seconds+0,F 668 infsnz total_divetime_seconds+0,F
670 incf total_divetime_seconds+1,F ; Total dive time (Regardless of start_dive_threshold) 669 incf total_divetime_seconds+1,F ; Total dive time (Regardless of start_dive_threshold)
671 670