Mercurial > public > mk2
diff code_part1/OSTC_code_asm_part1/menu_logbook.asm @ 434:1f1af9482d00
merge with 431
author | heinrichsweikamp |
---|---|
date | Thu, 04 Aug 2011 22:33:13 +0200 |
parents | f36b93f2fbed |
children | 9597829f1e0c |
line wrap: on
line diff
--- a/code_part1/OSTC_code_asm_part1/menu_logbook.asm Thu Aug 04 18:54:26 2011 +0200 +++ b/code_part1/OSTC_code_asm_part1/menu_logbook.asm Thu Aug 04 22:33:13 2011 +0200 @@ -390,6 +390,24 @@ incf last_temperature+1,F ; Yes, make last_temperature+1>1 to make "display_profile2e" working display_profile_offset4: +; Offset to Salinity + incf_eeprom_address d'33' ; Macro, that adds 8Bit to eeprom_address:2 + call I2CREAD ; Read Salinity + movff SSPBUF,wait_temp ; Copy Salinity + decf_eeprom_address d'33' ; Macro, that subtracts 8Bit from eeprom_address:2 + + movff lo,xA+0 + movff hi,xA+1 + movlw d'102' ; 0,98bar/10m + movwf xB+0 + clrf xB+1 + call mult16x16 ;xA*xB=xC (lo:hi * 100) + movff wait_temp,xB+0 ; Salinity + clrf xB+1 + call div32x16 ; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder + movff xC+0,lo + movff xC+1,hi ; restore lo and hi with updated value + bsf leftbind output_16dp d'3' ; max. depth STRCAT "m " @@ -1012,19 +1030,20 @@ movff SSPBUF,lo movlw d'3' - cpfsgt lo - bra logbook_show_sat + cpfsgt lo ; GF model used for this dive? + bra logbook_show_sat ; No + ; Show GF settings call I2CREAD2 ; Read GF_lo - movff SSPBUF,hi + movff SSPBUF,lo call I2CREAD2 ; Read GF_hi - movff SSPBUF,lo + movff SSPBUF,hi STRCPY "GF:" - output_8 ; GF_hi + output_8 ; GF_lo PUTC '/' - movff hi,lo ; copy GF_lo - output_8 ; GF_lo + movff hi,lo ; copy GF_hi + output_8 ; GF_hi call word_processor bra logbook_deco_model ; Skip Sat @@ -1376,11 +1395,29 @@ movff SSPBUF,lo call I2CREAD4 ; Block read movff SSPBUF,hi + +; Offset to Salinity + incf_eeprom_address d'33' ; Macro, that adds 8Bit to eeprom_address:2 + call I2CREAD ; Read Salinity + movff SSPBUF,wait_temp ; Copy Salinity + decf_eeprom_address d'33' ; Macro, that subtracts 8Bit from eeprom_address:2 + movff lo,xA+0 + movff hi,xA+1 + movlw d'102' ; 0,98bar/10m + movwf xB+0 + clrf xB+1 + call mult16x16 ;xA*xB=xC (lo:hi * 100) + movff wait_temp,xB+0 ; Salinity + clrf xB+1 + call div32x16 ; xC:4 / xB:2 = xC+3:xC+2 with xC+1:xC+0 as remainder + movff xC+0,lo + movff xC+1,hi ; restore lo and hi with updated value + bsf leftbind bsf ignore_digit5 ; Do not display 1cm figure output_16dp d'3' ; max. depth STRCAT "m " - call I2CREAD4 ; Block read + call I2CREAD3 ; Block read start movff SSPBUF,lo ; read divetime in minutes call I2CREAD4 ; Block read movff SSPBUF,hi ; read divetime in minutes