avr: send DS18B20 sensor data.
This commit is contained in:
@@ -58,13 +58,13 @@
|
|||||||
;#define MODULES_LED
|
;#define MODULES_LED
|
||||||
#define MODULES_LED_SIMPLE
|
#define MODULES_LED_SIMPLE
|
||||||
#define MODULES_TWI_MASTER
|
#define MODULES_TWI_MASTER
|
||||||
#define MODULES_OWI_MASTER
|
;#define MODULES_LCD
|
||||||
#define MODULES_LCD
|
|
||||||
#define LCD_MINIMAL_FONT
|
#define LCD_MINIMAL_FONT
|
||||||
#define MODULES_SI7021
|
#define MODULES_SI7021
|
||||||
#define MODULES_STATS
|
#define MODULES_STATS
|
||||||
;#define MODULES_CNY70
|
;#define MODULES_CNY70
|
||||||
#define MODULES_REED
|
#define MODULES_REED
|
||||||
|
#define MODULES_OWI_MASTER
|
||||||
#define MODULES_DS18B20
|
#define MODULES_DS18B20
|
||||||
|
|
||||||
|
|
||||||
@@ -191,9 +191,9 @@ firmwareStart: rjmp main
|
|||||||
|
|
||||||
|
|
||||||
#ifdef MODULES_LCD
|
#ifdef MODULES_LCD
|
||||||
sramTimerWriteStats: .byte 2
|
sramTimerWriteStats: .byte 2
|
||||||
#endif
|
#endif
|
||||||
sramTimerEnqueueValues: .byte 2
|
sramTimerEnqueueValues: .byte 2
|
||||||
#ifdef MODULES_SI7021
|
#ifdef MODULES_SI7021
|
||||||
sramTimerSI7021Measure: .byte 2
|
sramTimerSI7021Measure: .byte 2
|
||||||
sramTimerSI7021SendTemp: .byte 2
|
sramTimerSI7021SendTemp: .byte 2
|
||||||
@@ -207,6 +207,7 @@ sramTimerEnqueueValues: .byte 2
|
|||||||
#endif
|
#endif
|
||||||
#ifdef MODULES_DS18B20
|
#ifdef MODULES_DS18B20
|
||||||
sramDs18b20Timer: .byte 2
|
sramDs18b20Timer: .byte 2
|
||||||
|
sramSendDs18b20TempTimer: .byte 2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -240,14 +241,15 @@ timerList:
|
|||||||
#endif
|
#endif
|
||||||
#ifdef MODULES_SI7021
|
#ifdef MODULES_SI7021
|
||||||
.dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 300 ; every 30s
|
.dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 300 ; every 30s
|
||||||
.dw sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
.dw sramTimerSI7021SendTemp, sendSI7021Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
.dw sramTimerSI7021SendHumidity, sendSI7021Humidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
#endif
|
#endif
|
||||||
#ifdef MODULES_CNY70
|
#ifdef MODULES_CNY70
|
||||||
.dw sramTimerCny70SendAdc, CNY70_OnTimer, TIMER_FLAGS_IF_ADDR, 50 ; every 5s
|
.dw sramTimerCny70SendAdc, CNY70_OnTimer, TIMER_FLAGS_IF_ADDR, 50 ; every 5s
|
||||||
#endif
|
#endif
|
||||||
#ifdef MODULES_DS18B20
|
#ifdef MODULES_DS18B20
|
||||||
.dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s
|
.dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s
|
||||||
|
.dw sramSendDs18b20TempTimer, sendDs18b20Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
|
||||||
#endif
|
#endif
|
||||||
.dw 0 ; end of list
|
.dw 0 ; end of list
|
||||||
|
|
||||||
@@ -280,33 +282,44 @@ writeStats:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef MODULES_SI7021
|
#ifdef MODULES_SI7021
|
||||||
|
|
||||||
sendHumidity:
|
sendSI7021Humidity:
|
||||||
rcall SI7021_SendHumidity
|
rcall SI7021_SendHumidity
|
||||||
brcs sendHumidity_okay
|
brcs sendSI7021Humidity_okay
|
||||||
; set timer to 1s to retry later
|
; set timer to 1s to retry later
|
||||||
ldi xl, LOW(sramTimerSI7021SendHumidity)
|
ldi xl, LOW(sramTimerSI7021SendHumidity)
|
||||||
ldi xh, HIGH(sramTimerSI7021SendHumidity)
|
ldi xh, HIGH(sramTimerSI7021SendHumidity)
|
||||||
rjmp Timer_SetValueTo1s
|
rjmp Timer_SetValueTo1s
|
||||||
sendHumidity_okay:
|
sendSI7021Humidity_okay:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
sendTemp:
|
sendSI7021Temp:
|
||||||
rcall SI7021_SendTemp
|
rcall SI7021_SendTemp
|
||||||
brcs sendTemp_okay
|
brcs sendSI7021Temp_okay
|
||||||
; set timer to 1s to retry later
|
; set timer to 1s to retry later
|
||||||
ldi xl, LOW(sramTimerSI7021SendTemp)
|
ldi xl, LOW(sramTimerSI7021SendTemp)
|
||||||
ldi xh, HIGH(sramTimerSI7021SendTemp)
|
ldi xh, HIGH(sramTimerSI7021SendTemp)
|
||||||
rjmp Timer_SetValueTo1s
|
rjmp Timer_SetValueTo1s
|
||||||
sendTemp_okay:
|
sendSI7021Temp_okay:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef MODULES_DS18B20
|
||||||
|
sendDs18b20Temp:
|
||||||
|
rcall Ds18b20_SendTemp
|
||||||
|
brcs sendDs18b20Temp_okay
|
||||||
|
; set timer to 1s to retry later
|
||||||
|
ldi xl, LOW(sramSendDs18b20TempTimer)
|
||||||
|
ldi xh, HIGH(sramSendDs18b20TempTimer)
|
||||||
|
rjmp Timer_SetValueTo1s
|
||||||
|
sendDs18b20Temp_okay:
|
||||||
|
ret
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; Called every 100ms. Add your routine calls here. No arguments, no results.
|
; Called every 100ms. Add your routine calls here. No arguments, no results.
|
||||||
|
|||||||
Reference in New Issue
Block a user