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
|
.dw sramTimerWriteStats, writeStats, 0, 100
|
||||||
#endif
|
#endif
|
||||||
#ifdef MODULES_SI7021
|
#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 sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ timerList:
|
|||||||
.dw sramTimerWriteStats, writeStats, 0, 100
|
.dw sramTimerWriteStats, writeStats, 0, 100
|
||||||
#endif
|
#endif
|
||||||
#ifdef MODULES_SI7021
|
#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 sramTimerSI7021SendTemp, sendSI7021Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
.dw sramTimerSI7021SendHumidity, sendSI7021Humidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
.dw sramTimerSI7021SendHumidity, sendSI7021Humidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
#endif
|
#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
|
.dw sramTimerWriteStats, writeStats, 0, 100
|
||||||
#endif
|
#endif
|
||||||
#ifdef MODULES_SI7021
|
#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 sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ SI7021_Fini:
|
|||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; SI7021_PeriodicMeasurement
|
; SI7021_OnTimer
|
||||||
;
|
;
|
||||||
; Call this routine periodically to take measurements.
|
; Call this routine periodically to take measurements.
|
||||||
; IN:
|
; IN:
|
||||||
@@ -100,44 +100,44 @@ SI7021_Fini:
|
|||||||
; - CFLAG: set if okay, clear on error
|
; - CFLAG: set if okay, clear on error
|
||||||
; USED:
|
; USED:
|
||||||
|
|
||||||
SI7021_PeriodicMeasurement:
|
SI7021_OnTimer:
|
||||||
in r15, SREG
|
in r15, SREG
|
||||||
push r15
|
push r15
|
||||||
cli
|
cli
|
||||||
lds r17, si7021Flags
|
lds r17, si7021Flags
|
||||||
mov r16, r17
|
mov r16, r17
|
||||||
andi r16, SI7021_FLAGS_LASTWASTEMP
|
andi r16, SI7021_FLAGS_LASTWASTEMP
|
||||||
brne si7021PeriodicMeasurement_hum
|
brne SI7021_OnTimer_hum
|
||||||
ori r17, SI7021_FLAGS_LASTWASTEMP
|
ori r17, SI7021_FLAGS_LASTWASTEMP
|
||||||
sts si7021Flags, r17
|
sts si7021Flags, r17
|
||||||
push r17
|
push r17
|
||||||
rcall si7021MeasureTemp
|
rcall si7021MeasureTemp
|
||||||
pop r17
|
pop r17
|
||||||
brcc si7021PeriodicMeasurement_error
|
brcc SI7021_OnTimer_error
|
||||||
ori r17, SI7021_FLAGS_TEMP_VALID
|
ori r17, SI7021_FLAGS_TEMP_VALID
|
||||||
sts si7021Flags, r17
|
sts si7021Flags, r17
|
||||||
rcall si7021CalcTemp ; calculate temp*100 from sensor value
|
rcall si7021CalcTemp ; calculate temp*100 from sensor value
|
||||||
sts si7021LastTemp, r18
|
sts si7021LastTemp, r18
|
||||||
sts si7021LastTemp+1, r19
|
sts si7021LastTemp+1, r19
|
||||||
rjmp si7021PeriodicMeasurement_done
|
rjmp SI7021_OnTimer_done
|
||||||
si7021PeriodicMeasurement_hum:
|
SI7021_OnTimer_hum:
|
||||||
andi r17, ~SI7021_FLAGS_LASTWASTEMP
|
andi r17, ~SI7021_FLAGS_LASTWASTEMP
|
||||||
sts si7021Flags, r17
|
sts si7021Flags, r17
|
||||||
push r17
|
push r17
|
||||||
rcall si7021MeasureHumidity
|
rcall si7021MeasureHumidity
|
||||||
pop r17
|
pop r17
|
||||||
brcc si7021PeriodicMeasurement_error
|
brcc SI7021_OnTimer_error
|
||||||
ori r17, SI7021_FLAGS_HUM_VALID
|
ori r17, SI7021_FLAGS_HUM_VALID
|
||||||
sts si7021Flags, r17
|
sts si7021Flags, r17
|
||||||
rcall si7021CalcHumidity
|
rcall si7021CalcHumidity
|
||||||
sts si7021LastHumidity, r18
|
sts si7021LastHumidity, r18
|
||||||
sts si7021LastHumidity+1, r19
|
sts si7021LastHumidity+1, r19
|
||||||
si7021PeriodicMeasurement_done:
|
SI7021_OnTimer_done:
|
||||||
pop r15
|
pop r15
|
||||||
out SREG, r15
|
out SREG, r15
|
||||||
sec
|
sec
|
||||||
ret
|
ret
|
||||||
si7021PeriodicMeasurement_error:
|
SI7021_OnTimer_error:
|
||||||
pop r15
|
pop r15
|
||||||
out SREG, r15
|
out SREG, r15
|
||||||
clc
|
clc
|
||||||
|
|||||||
Reference in New Issue
Block a user