Files
aqhomecontrol/avr/devices/t04/defs.asm
Martin Preuss 80ca6e0ac5 avr: added t04.
2025-09-06 00:40:09 +02:00

111 lines
3.0 KiB
NASM

; ***************************************************************************
; copyright : (C) 2025 by Martin Preuss
; email : martin@libchipcard.de
;
; ***************************************************************************
; * This file is part of the project "AqHome". *
; * Please see toplevel file COPYING of that project for license details. *
; ***************************************************************************
; ***************************************************************************
;
; AtTiny 841
; -------
; VCC 1 14 GND
; UART_CTS PB0 2 13 PA0 COM_CLK
; UART_RTS PB1 3 12 PA1 TXD0 (UART0)
; /RESET PB3 4 11 PA2 RXD0 (UART0)
; LED PB2 5 10 PA3 COM_DATA
; 1-wire PA7 6 9 PA4 PRG_SCK
; PRG_MOSI PA6 7 8 PA5 PRG_MISO
; -------
;
; ***************************************************************************
.equ BOOTLOADER_ADDR = 0xd00
.equ FIRMWARE_VARIANT_BOOT = 0
.equ FIRMWARE_VARIANT_TEMP_WINDOW = 1
.equ DEVICEINFO_ID = 'T'
.equ DEVICEINFO_VERSION = 4
.equ DEVICEINFO_REVISION = 0
; ---------------------------------------------------------------------------
; LED module
.equ LED_SIMPLE_ONTIME = 2
.equ LED_SIMPLE_OFFTIME = 30
.equ LED_SIMPLE_DDR = DDRB
.equ LED_SIMPLE_PORT = PORTB
.equ LED_SIMPLE_PORTIN = PINB
.equ LED_SIMPLE_PINNUM = PORTB2
; ---------------------------------------------------------------------------
; LED signal module
.equ LED_SIGNAL_DDR = DDRB
.equ LED_SIGNAL_PORT = PORTB
.equ LED_SIGNAL_PORTIN = PINB
.equ LED_SIGNAL_PINNUM = PORTB2
; ---------------------------------------------------------------------------
; LED activity module
.equ LED_ACTIVITY_DDR = DDRB
.equ LED_ACTIVITY_PORT = PORTB
.equ LED_ACTIVITY_PORTIN = PINB
.equ LED_ACTIVITY_PINNUM = PORTB2
; ---------------------------------------------------------------------------
; COM module
.equ COM_BIT_LENGTH = 52000 ; 104000ns=9600, 52000ns=19200, 26000ns=38400
.equ COM_DATA_DDR = DDRA
.equ COM_DATA_INPUT = PINA
.equ COM_DATA_OUTPUT = PORTA
.equ COM_DATA_PUE = PUEA
.equ COM_DATA_PIN = PORTA3
.equ COM_CLK_DDR = DDRA
.equ COM_CLK_INPUT = PINA
.equ COM_CLK_OUTPUT = PORTA
.equ COM_CLK_PUE = PUEA
.equ COM_CLK_PIN = PORTA0
.equ COM_IRQ_ADDR_CLK = PCMSK0
.equ COM_IRQ_BIT_CLK = PCINT0 ; bit 0 in PCMSK0
.equ COM_IRQ_GIFR_CLK = PCIF0
.equ COM_IRQ_GIMSK_CLK = PCIE0
; ---------------------------------------------------------------------------
; 1-Wire Master
;
.equ OWI_DDR = DDRA
.equ OWI_PORTOUT = PORTA
.equ OWI_PORTIN = PINA
.equ OWI_PINNUM = PORTA7
; ---------------------------------------------------------------------------
; ComOnUart module
.equ USART0_DATAREG = UDR0
.equ USART1_DATAREG = UDR1