avr: added devices, more work on modules.

This commit is contained in:
Martin Preuss
2024-12-15 18:20:54 +01:00
parent c3fd458769
commit 4dc6031d03
61 changed files with 4758 additions and 184 deletions

View File

@@ -31,7 +31,7 @@
.list
.include "n11_defs.asm"
.include "defs.asm"
.include "defs_all.asm"
@@ -64,9 +64,10 @@
#define MODULES_SI7021
#define MODULES_STATS
;#define MODULES_CNY70
#define MODULES_REED
;#define MODULES_REED
;#define MODULES_OWI_MASTER
;#define MODULES_DS18B20
#define MODULES_CCS811
; ---------------------------------------------------------------------------
@@ -80,6 +81,11 @@
.equ VALUE_ID_REED2 = 0x05
.equ VALUE_ID_DS18B20_TEMP = 0x06
.equ VALUE_ID_CO2 = 0x07
.equ VALUE_ID_TVOC = 0x08
.equ VALUE_ID_DEBUG = 0x7f
.equ VALUE_ID_REED_CONF = 0x81
@@ -196,6 +202,10 @@ firmwareStart: rjmp main
.include "modules/reed/main.asm"
#endif
#ifdef MODULES_CCS811
.include "modules/ccs811/main.asm"
#endif
; ***************************************************************************
@@ -233,6 +243,10 @@ sramTimerEnqueueValues: .byte 2
sramSendDs18b20TempTimer: .byte 2
#endif
#ifdef MODULES_CCS811
sramCcs811Timer: .byte 2
#endif
; ***************************************************************************
; data in FLASH
@@ -269,6 +283,9 @@ timerList:
#ifdef MODULES_DS18B20
.dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s
.dw sramSendDs18b20TempTimer, sendDs18b20Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
#endif
#ifdef MODULES_CCS811
.dw sramCcs811Timer, CCS811_OnTimer, 0, 10 ; every 1s
#endif
.dw 0 ; end of list
@@ -276,7 +293,7 @@ timerList:
.include "main.asm"
.include "main_all.asm"
@@ -313,6 +330,28 @@ onSystemStart:
ret
#ifdef MODULES_CCS811
handleCcsTimer:
rjmp sendCcs811Data
sendCcs811Data:
ldi r16, 0xff ; destination address
ldi r17, VALUE_ID_DEBUG ; value id
ldi r22, 0
; lds r18, ccs811ResponseData ; value
lds r18, ccs811Flags ; value
lds r19, ccs811ResponseData ; denominator
ldi r20, 1
clr r21
ldi xl, LOW(com2SendBuffer)
ldi xh, HIGH(com2SendBuffer)
rcall CPRO_WriteReportValue
rjmp COM2_SendPacket
#endif
#ifdef MODULES_LCD
printScreen: