avr: added definitions to devices.

This commit is contained in:
Martin Preuss
2024-09-12 11:46:02 +02:00
parent 88aea30da1
commit 0fafb36100
2 changed files with 39 additions and 13 deletions

View File

@@ -32,7 +32,6 @@
; ---------------------------------------------------------------------------
; LED module
@@ -47,8 +46,8 @@
; ---------------------------------------------------------------------------
; COM module
.equ COM_BIT_LENGTH = 52000 ; 104000=9600, 52000=19200, 26000=38400
.equ COM_BIT_LENGTH = 52000 ; 104000ns=9600, 52000ns=19200, 26000ns=38400
; see https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter
.equ COM_DDR_DATA = DDRA
.equ COM_PORT_DATA = PORTA
.equ COM_PIN_DATA = PINA
@@ -109,12 +108,12 @@
; ADC/CNY70
.equ CNY70_PORT_LED = PORTB1
.equ CNY70_PORT_LED = PORTB
.equ CNY70_DDR_LED = DDRB
.equ CNY70_PINNUM_LED = PORTB1
.equ CNY70_PORT_ADC = PORTA5 ; adc5
.equ CNY70_DDR_ADC = DDRB
.equ CNY70_PORT_ADC = PORTA ; adc5
.equ CNY70_DDR_ADC = DDRA
.equ CNY70_PINNUM_ADC = PORTA5
.equ CNY70_MUX_ADC = MUX5
.equ CNY70_ADCSRB_ADC = ADC5D
@@ -142,4 +141,14 @@
.equ REED2_PINNUM = PORTA5
; ---------------------------------------------------------------------------
; 1-Wire Master
;
.equ OWI_DDR = DDRB
.equ OWI_PORTOUT = PORTB
.equ OWI_PORTIN = PINB
.equ OWI_PINNUM = PORTB2

View File

@@ -58,13 +58,14 @@
;#define MODULES_LED
#define MODULES_LED_SIMPLE
#define MODULES_TWI_MASTER
;#define MODULES_LCD
#define MODULES_OWI_MASTER
#define MODULES_LCD
#define LCD_MINIMAL_FONT
#define MODULES_SI7021
#define MODULES_STATS
;#define MODULES_CNY70
#define MODULES_REED
#define MODULES_DS18B20
; ---------------------------------------------------------------------------
@@ -73,9 +74,10 @@
.equ VALUE_ID_TEMP1 = 0x01
.equ VALUE_ID_HUM1 = 0x02
.equ VALUE_ID_ADC = 0x03
.equ VALUE_ID_REED1 = 0x04
.equ VALUE_ID_REED2 = 0x05
.equ VALUE_ID_ADC = 0x03
.equ VALUE_ID_REED1 = 0x04
.equ VALUE_ID_REED2 = 0x05
.equ VALUE_ID_DS18B20_TEMP = 0x06
@@ -158,12 +160,18 @@ firmwareStart: rjmp main
#ifdef MODULES_TWI_MASTER
.include "modules/twimaster/main.asm"
#endif
#ifdef MODULES_OWI_MASTER
.include "modules/owimaster/main.asm"
#endif
#ifdef MODULES_LCD
.include "modules/lcd/main.asm"
#endif
#ifdef MODULES_SI7021
.include "modules/si7021/main.asm"
#endif
#ifdef MODULES_DS18B20
.include "modules/ds18b20/main.asm"
#endif
#ifdef MODULES_STATS
.include "modules/stats/main.asm"
#endif
@@ -197,6 +205,9 @@ sramTimerEnqueueValues: .byte 2
#ifdef MODULES_LCD
sramPeriodicalLcdMark: .byte 2
#endif
#ifdef MODULES_DS18B20
sramDs18b20Timer: .byte 2
#endif
; ***************************************************************************
@@ -233,7 +244,10 @@ timerList:
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s
#endif
#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
#ifdef MODULES_DS18B20
.dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s
#endif
.dw 0 ; end of list
@@ -258,7 +272,10 @@ periodicalLcdMark:
writeStats:
rcall printSendStats
#ifdef MODULES_DS18B20
rcall printDs
#endif
; rcall printSendStats
ret
#endif