Mercurial > public > hwos_code
comparison src/ms5541.asm @ 630:4cd81bdbf15c
3.08 stable release
author | heinrichsweikamp |
---|---|
date | Fri, 21 Feb 2020 10:51:36 +0100 |
parents | c40025d8e750 |
children | 185ba2f91f59 |
comparison
equal
deleted
inserted
replaced
629:237931377539 | 630:4cd81bdbf15c |
---|---|
114 movf isr_xC+1,W ; and sum into SENS | 114 movf isr_xC+1,W ; and sum into SENS |
115 addwf SENS+0,F | 115 addwf SENS+0,F |
116 movf isr_xC+2,W | 116 movf isr_xC+2,W |
117 addwfc SENS+1,F | 117 addwfc SENS+1,F |
118 | 118 |
119 ; calculate absolute pressure = (sens * (d1-off))/2^12 + 1000 | 119 ; calculate absolute pressure = (sens * (d1-off))/2^12 + 1000 (For MS5541C) |
120 ; calculate absolute pressure = (sens * (d1-off))/2^11 + 1000 (For MS5541C-30) | |
120 movf OFF+0,W ; d1-off --> a | 121 movf OFF+0,W ; d1-off --> a |
121 subwf D1+0,W | 122 subwf D1+0,W |
122 movwf isr_xA+0 | 123 movwf isr_xA+0 |
123 movf OFF+1,W | 124 movf OFF+1,W |
124 subwfb D1+1,W | 125 subwfb D1+1,W |
125 movwf isr_xA+1 | 126 movwf isr_xA+1 |
126 | 127 |
127 MOVII SENS,isr_xB ; sens --> b | 128 MOVII SENS,isr_xB ; sens --> b |
128 call isr_signed_mult16x16 | 129 call isr_signed_mult16x16 |
130 movlw .13 | |
131 cpfslt C1+1 ; C1 > 3328 (Must be MS5541-30) | |
132 bra isr_shift_ms5541_30 | |
133 ; MS5541 | |
129 movlw .12-.8 ; a 12 bit shift = 1 byte + 4 bits | 134 movlw .12-.8 ; a 12 bit shift = 1 byte + 4 bits |
130 call isr_shift_C31 | 135 call isr_shift_C31 |
131 | 136 bra isr_shift_ms5541_all |
137 isr_shift_ms5541_30: | |
138 ; MS5541-30 | |
139 movlw .11-.8 ; a 11 bit shift = 1 byte + 3 bits | |
140 call isr_shift_C31 | |
141 isr_shift_ms5541_all: | |
132 movlw LOW .1000 ; add 1000 | 142 movlw LOW .1000 ; add 1000 |
133 addwf isr_xC+1,F | 143 addwf isr_xC+1,F |
134 movlw HIGH .1000 | 144 movlw HIGH .1000 |
135 addwfc isr_xC+2,F | 145 addwfc isr_xC+2,F |
136 | 146 |