avr: added missing defs.
This commit is contained in:
@@ -120,4 +120,15 @@
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; 1-Wire Master
|
||||
;
|
||||
|
||||
.equ OWI_DDR = DDRB
|
||||
.equ OWI_PORTOUT = PORTB
|
||||
.equ OWI_PORTIN = PINB
|
||||
.equ OWI_PINNUM = PORTB2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -120,4 +120,15 @@
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; 1-Wire Master
|
||||
;
|
||||
|
||||
.equ OWI_DDR = DDRB
|
||||
.equ OWI_PORTOUT = PORTB
|
||||
.equ OWI_PORTIN = PINB
|
||||
.equ OWI_PINNUM = PORTB2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ timerList:
|
||||
.dw sramTimerWriteStats, writeStats, 0, 100
|
||||
#endif
|
||||
#ifdef MODULES_SI7021
|
||||
.dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 300 ; every 30s
|
||||
.dw sramTimerSI7021Measure, SI7021_OnTimer, 0, 300 ; every 30s
|
||||
.dw sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||
#endif
|
||||
|
||||
@@ -240,7 +240,7 @@ timerList:
|
||||
.dw sramTimerWriteStats, writeStats, 0, 100
|
||||
#endif
|
||||
#ifdef MODULES_SI7021
|
||||
.dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 300 ; every 30s
|
||||
.dw sramTimerSI7021Measure, SI7021_OnTimer, 0, 300 ; every 30s
|
||||
.dw sramTimerSI7021SendTemp, sendSI7021Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||
.dw sramTimerSI7021SendHumidity, sendSI7021Humidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||
#endif
|
||||
|
||||
@@ -138,3 +138,14 @@
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; 1-Wire Master
|
||||
;
|
||||
|
||||
.equ OWI_DDR = DDRB
|
||||
.equ OWI_PORTOUT = PORTB
|
||||
.equ OWI_PORTIN = PINB
|
||||
.equ OWI_PINNUM = PORTB2
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ timerList:
|
||||
.dw sramTimerWriteStats, writeStats, 0, 100
|
||||
#endif
|
||||
#ifdef MODULES_SI7021
|
||||
.dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 300 ; every 30s
|
||||
.dw sramTimerSI7021Measure, SI7021_OnTimer, 0, 300 ; every 30s
|
||||
.dw sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||
#endif
|
||||
|
||||
@@ -91,7 +91,7 @@ SI7021_Fini:
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; SI7021_PeriodicMeasurement
|
||||
; SI7021_OnTimer
|
||||
;
|
||||
; Call this routine periodically to take measurements.
|
||||
; IN:
|
||||
@@ -100,44 +100,44 @@ SI7021_Fini:
|
||||
; - CFLAG: set if okay, clear on error
|
||||
; USED:
|
||||
|
||||
SI7021_PeriodicMeasurement:
|
||||
SI7021_OnTimer:
|
||||
in r15, SREG
|
||||
push r15
|
||||
cli
|
||||
lds r17, si7021Flags
|
||||
mov r16, r17
|
||||
andi r16, SI7021_FLAGS_LASTWASTEMP
|
||||
brne si7021PeriodicMeasurement_hum
|
||||
brne SI7021_OnTimer_hum
|
||||
ori r17, SI7021_FLAGS_LASTWASTEMP
|
||||
sts si7021Flags, r17
|
||||
push r17
|
||||
rcall si7021MeasureTemp
|
||||
pop r17
|
||||
brcc si7021PeriodicMeasurement_error
|
||||
brcc SI7021_OnTimer_error
|
||||
ori r17, SI7021_FLAGS_TEMP_VALID
|
||||
sts si7021Flags, r17
|
||||
rcall si7021CalcTemp ; calculate temp*100 from sensor value
|
||||
sts si7021LastTemp, r18
|
||||
sts si7021LastTemp+1, r19
|
||||
rjmp si7021PeriodicMeasurement_done
|
||||
si7021PeriodicMeasurement_hum:
|
||||
rjmp SI7021_OnTimer_done
|
||||
SI7021_OnTimer_hum:
|
||||
andi r17, ~SI7021_FLAGS_LASTWASTEMP
|
||||
sts si7021Flags, r17
|
||||
push r17
|
||||
rcall si7021MeasureHumidity
|
||||
pop r17
|
||||
brcc si7021PeriodicMeasurement_error
|
||||
brcc SI7021_OnTimer_error
|
||||
ori r17, SI7021_FLAGS_HUM_VALID
|
||||
sts si7021Flags, r17
|
||||
rcall si7021CalcHumidity
|
||||
sts si7021LastHumidity, r18
|
||||
sts si7021LastHumidity+1, r19
|
||||
si7021PeriodicMeasurement_done:
|
||||
SI7021_OnTimer_done:
|
||||
pop r15
|
||||
out SREG, r15
|
||||
sec
|
||||
ret
|
||||
si7021PeriodicMeasurement_error:
|
||||
SI7021_OnTimer_error:
|
||||
pop r15
|
||||
out SREG, r15
|
||||
clc
|
||||
|
||||
Reference in New Issue
Block a user