avr: added device n15.

This commit is contained in:
Martin Preuss
2024-10-28 23:44:58 +01:00
parent 8904d33789
commit 7fde61f849
5 changed files with 81 additions and 11 deletions

View File

@@ -123,5 +123,40 @@ main:
.include "modules/flash/flash_ready.asm"
#if 0
debugStop:
cli
sbi LED_SIMPLE_DDR, LED_SIMPLE_PINNUM ; out
cbi LED_SIMPLE_PORT, LED_SIMPLE_PINNUM ; on
cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN port as input
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable internal pullup for ATTN
ldi r18, 0
test_loop1:
ldi r16, 100
test_loop2:
ldi r17, 100
test_loop3:
Utils_WaitNanoSecs 10000, 0, r22
dec r17
brne test_loop3
dec r16
brne test_loop2
sbi LED_SIMPLE_PORTIN, LED_SIMPLE_PINNUM ; toggle
inc r18
mov r19, r18
andi r19, 1
brne test1
sbi COM_ATTN_DDR, COM_ATTN_PIN
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN
rjmp test_loop1
test1:
cbi COM_ATTN_DDR, COM_ATTN_PIN
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN
rjmp test_loop1
#endif

View File

@@ -39,6 +39,7 @@
.equ LED_SIMPLE_OFFTIME = 30
.equ LED_SIMPLE_DDR = DDRA
.equ LED_SIMPLE_PORT = PORTA
.equ LED_SIMPLE_PORTIN = PINA
.equ LED_SIMPLE_PINNUM = PORTA3
@@ -49,14 +50,10 @@
.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
@@ -162,3 +159,14 @@
; ---------------------------------------------------------------------------
; Motion Sensor
;
.equ MOTION_DDR = DDRB
.equ MOTION_INPUT = PINB
.equ MOTION_OUTPUT = PORTB
.equ MOTION_PIN = PORTB1

View File

@@ -61,13 +61,13 @@
#define MODULES_TWI_MASTER
;#define MODULES_LCD
#define LCD_MINIMAL_FONT
#define MODULES_SI7021
;#define MODULES_SI7021
#define MODULES_STATS
;#define MODULES_CNY70
#define MODULES_REED
;#define MODULES_REED
;#define MODULES_OWI_MASTER
;#define MODULES_DS18B20
#define MODULES_MOTION
; ---------------------------------------------------------------------------
; defines for values
@@ -79,6 +79,7 @@
.equ VALUE_ID_REED1 = 0x04
.equ VALUE_ID_REED2 = 0x05
.equ VALUE_ID_DS18B20_TEMP = 0x06
.equ VALUE_ID_MOTION = 0x07
.equ VALUE_ID_REED_CONF = 0x81
@@ -196,6 +197,10 @@ firmwareStart: rjmp main
.include "modules/reed/main.asm"
#endif
#ifdef MODULES_MOTION
.include "modules/motion/main.asm"
#endif
; ***************************************************************************
@@ -415,6 +420,10 @@ onEvery100ms:
rcall REED_Every100ms
#endif
#ifdef MODULES_MOTION
rcall Motion_Every100ms
#endif
ret

View File

@@ -6,6 +6,7 @@
aqua_n11.xml
aqua_n12.xml
aqua_n14.xml
aqua_n15.xml
</data>
</gwbuild>

View File

@@ -0,0 +1,17 @@
<device name="aqua_n15" driver="nodes">
<manufacturer>AQUA</manufacturer>
<devicetype>N</devicetype>
<deviceversion>15</deviceversion>
<values>
<value name="SI7021_TEMP" id="0x01" type="sensor" dataType="rational" modality="temperature" units="C" denom="100" />
<value name="SI7021_HUM" id="0x02" type="sensor" dataType="rational" modality="humidity" units="%" denom="1" />
<value name="REED1" id="0x04" type="sensor" dataType="rational" modality="door" />
<value name="REED2" id="0x05" type="sensor" dataType="rational" modality="door" />
<value name="MOTION" id="0x07" type="sensor" dataType="rational" modality="motion" denom="1" />
<value name="REEDCONF" id="0x81" type="actor" dataType="int" />
</values>
</device>