avr: added devices, more work on modules.
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
.list
|
||||
|
||||
.include "n11_defs.asm"
|
||||
.include "defs.asm"
|
||||
.include "defs_all.asm"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -49,14 +49,11 @@
|
||||
.equ COM_BIT_LENGTH = 52000 ; 104000ns=9600, 52000ns=19200, 26000ns=38400
|
||||
.equ COM_HALFBIT_LENGTH = 26000 ; see https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter
|
||||
|
||||
.equ COM_TXD_DDR = DDRA
|
||||
.equ COM_TXD_DATA = PORTA
|
||||
.equ COM_TXD_PIN = PORTA1
|
||||
|
||||
.equ COM_RXD_DDR = DDRA
|
||||
.equ COM_RXD_INPUT = PINA
|
||||
.equ COM_RXD_OUTPUT = PORTA
|
||||
.equ COM_RXD_PIN = PORTA1
|
||||
.equ COM_DATA_DDR = DDRA
|
||||
.equ COM_DATA_INPUT = PINA
|
||||
.equ COM_DATA_OUTPUT = PORTA
|
||||
.equ COM_DATA_PIN = PORTA1
|
||||
|
||||
.equ COM_ATTN_DDR = DDRA
|
||||
.equ COM_ATTN_INPUT = PINA
|
||||
@@ -74,7 +71,7 @@
|
||||
; TWI master module
|
||||
|
||||
;.equ TWI_BIT_LENGTH = 10000 ; 100000 and 200000 works for display: 10000, 100000, 200000
|
||||
.equ TWI_BIT_LENGTH = 1 ; 10, 100, 500, 100000 and 200000 works for display: 10000, 100000, 200000
|
||||
.equ TWI_BIT_LENGTH = 10000 ; 10, 100, 500, 100000 and 200000 works for display: 10000, 100000, 200000
|
||||
|
||||
.equ TWI_DDR_SCL = DDRA
|
||||
.equ TWI_PORT_SCL = PORTA
|
||||
@@ -162,3 +159,10 @@
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; CCS 811
|
||||
;
|
||||
|
||||
.equ CCS811_ADDR = 0x5a ; or 0x5b
|
||||
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user