avr: added new version of driver for si7021.

This commit is contained in:
Martin Preuss
2025-04-29 00:37:01 +02:00
parent c1a67a36ef
commit fa65bc53b5
3 changed files with 51 additions and 7 deletions

View File

@@ -104,14 +104,14 @@ SI7021_MeasureTemp:
sbrs r17, SI7021_FLAGS_PRESENT_BIT ; investigate PRESENT BIT
rjmp SI7021_MeasureTemp_error ; jmp if PRESENT bit clear
push r17
rcall si7021MeasureHumidity
rcall si7021MeasureTemp
pop r17
brcc SI7021_MeasureTemp_error
ori r17, SI7021_FLAGS_TEMP_VALID
sts si7021Flags, r17
rcall si7021CalcHumidity
sts si7021LastHumidity, r18
sts si7021LastHumidity+1, r19
rcall si7021CalcTemp
sts si7021LastTemp, r18
sts si7021LastTemp+1, r19
SI7021_MeasureTemp_done:
pop r15
out SREG, r15
@@ -139,9 +139,9 @@ SI7021_MeasureHumidity:
brcc SI7021_MeasureHumidity_error
ori r17, SI7021_FLAGS_HUM_VALID
sts si7021Flags, r17
rcall si7021CalcTemp ; calculate temp*100 from sensor value
sts si7021LastTemp, r18
sts si7021LastTemp+1, r19
rcall si7021CalcHumidity ;
sts si7021LastHumidity, r18
sts si7021LastHumidity+1, r19
SI7021_MeasureHumidity_done:
pop r15
out SREG, r15