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 ; LED module
@@ -47,8 +46,8 @@
; --------------------------------------------------------------------------- ; ---------------------------------------------------------------------------
; COM module ; 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_DDR_DATA = DDRA
.equ COM_PORT_DATA = PORTA .equ COM_PORT_DATA = PORTA
.equ COM_PIN_DATA = PINA .equ COM_PIN_DATA = PINA
@@ -109,12 +108,12 @@
; ADC/CNY70 ; ADC/CNY70
.equ CNY70_PORT_LED = PORTB1 .equ CNY70_PORT_LED = PORTB
.equ CNY70_DDR_LED = DDRB .equ CNY70_DDR_LED = DDRB
.equ CNY70_PINNUM_LED = PORTB1 .equ CNY70_PINNUM_LED = PORTB1
.equ CNY70_PORT_ADC = PORTA5 ; adc5 .equ CNY70_PORT_ADC = PORTA ; adc5
.equ CNY70_DDR_ADC = DDRB .equ CNY70_DDR_ADC = DDRA
.equ CNY70_PINNUM_ADC = PORTA5 .equ CNY70_PINNUM_ADC = PORTA5
.equ CNY70_MUX_ADC = MUX5 .equ CNY70_MUX_ADC = MUX5
.equ CNY70_ADCSRB_ADC = ADC5D .equ CNY70_ADCSRB_ADC = ADC5D
@@ -142,4 +141,14 @@
.equ REED2_PINNUM = PORTA5 .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
#define MODULES_LED_SIMPLE #define MODULES_LED_SIMPLE
#define MODULES_TWI_MASTER #define MODULES_TWI_MASTER
;#define MODULES_LCD #define MODULES_OWI_MASTER
#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_DS18B20
; --------------------------------------------------------------------------- ; ---------------------------------------------------------------------------
@@ -73,9 +74,10 @@
.equ VALUE_ID_TEMP1 = 0x01 .equ VALUE_ID_TEMP1 = 0x01
.equ VALUE_ID_HUM1 = 0x02 .equ VALUE_ID_HUM1 = 0x02
.equ VALUE_ID_ADC = 0x03 .equ VALUE_ID_ADC = 0x03
.equ VALUE_ID_REED1 = 0x04 .equ VALUE_ID_REED1 = 0x04
.equ VALUE_ID_REED2 = 0x05 .equ VALUE_ID_REED2 = 0x05
.equ VALUE_ID_DS18B20_TEMP = 0x06
@@ -158,12 +160,18 @@ firmwareStart: rjmp main
#ifdef MODULES_TWI_MASTER #ifdef MODULES_TWI_MASTER
.include "modules/twimaster/main.asm" .include "modules/twimaster/main.asm"
#endif #endif
#ifdef MODULES_OWI_MASTER
.include "modules/owimaster/main.asm"
#endif
#ifdef MODULES_LCD #ifdef MODULES_LCD
.include "modules/lcd/main.asm" .include "modules/lcd/main.asm"
#endif #endif
#ifdef MODULES_SI7021 #ifdef MODULES_SI7021
.include "modules/si7021/main.asm" .include "modules/si7021/main.asm"
#endif #endif
#ifdef MODULES_DS18B20
.include "modules/ds18b20/main.asm"
#endif
#ifdef MODULES_STATS #ifdef MODULES_STATS
.include "modules/stats/main.asm" .include "modules/stats/main.asm"
#endif #endif
@@ -197,6 +205,9 @@ sramTimerEnqueueValues: .byte 2
#ifdef MODULES_LCD #ifdef MODULES_LCD
sramPeriodicalLcdMark: .byte 2 sramPeriodicalLcdMark: .byte 2
#endif #endif
#ifdef MODULES_DS18B20
sramDs18b20Timer: .byte 2
#endif
; *************************************************************************** ; ***************************************************************************
@@ -233,7 +244,10 @@ timerList:
.dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s .dw sramTimerSI7021SendHumidity, sendHumidity, 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
#ifdef MODULES_DS18B20
.dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s
#endif #endif
.dw 0 ; end of list .dw 0 ; end of list
@@ -258,7 +272,10 @@ periodicalLcdMark:
writeStats: writeStats:
rcall printSendStats #ifdef MODULES_DS18B20
rcall printDs
#endif
; rcall printSendStats
ret ret
#endif #endif