; *************************************************************************** ; 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. * ; *************************************************************************** ; *************************************************************************** ; ; AtTiny84 ; -------- ; VCC 1 14 GND ; LED0 PB0 2 13 PA0 COM-CLK0 ; LED1 PB1 3 12 PA1 COM-CLK1 ; /RESET PB3 4 11 PA2 COM-DATA0 ; PB2 5 10 PA3 COM-DATA1 ; PA7 6 9 PA4 ; TWI-SDA PA6 7 8 PA5 TWI-SCL ; -------- ; ; *************************************************************************** .equ BOOTLOADER_ADDR = 0xd00 .equ FIRMWARE_VARIANT_BOOT = 0 .equ FIRMWARE_VARIANT_TEMP_WINDOW = 1 .equ DEVICEINFO_ID = 'R' .equ DEVICEINFO_VERSION = 6 .equ DEVICEINFO_REVISION = 0 ; --------------------------------------------------------------------------- ; LED module .equ LED_SIMPLE_ONTIME = 1 ; shorter .equ LED_SIMPLE_OFFTIME = 50 ; longer .equ LED_SIMPLE_DDR = DDRB .equ LED_SIMPLE_PORT = PORTB .equ LED_SIMPLE_PORTIN = PINB .equ LED_SIMPLE_PINNUM = PORTB0 ; --------------------------------------------------------------------------- ; COM module ;.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_IRQ_ADDR_CLK = PCMSK0 .equ COM_IRQ_GIFR_CLK = PCIF0 .equ COM_IRQ_GIMSK_CLK = PCIE0 .equ COM_DATA_DDR = DDRA .equ COM_DATA_INPUT = PINA .equ COM_DATA_OUTPUT = PORTA .equ COM_DATA_PIN = PORTA2 .equ COM_CLK_DDR = DDRA .equ COM_CLK_INPUT = PINA .equ COM_CLK_OUTPUT = PORTA .equ COM_CLK_PIN = PORTA0 .equ COM_LED_DDR = DDRB .equ COM_LED_INPUT = PINB .equ COM_LED_OUTPUT = PORTB .equ COM_LED_PIN = PORTB0 .equ COM_IRQ_ADDR_M_CLK = GIMSK .equ COM_IRQ_BIT_M_CLK = PCIE0 .equ COM_IRQ_ADDR_F_CLK = GIFR .equ COM_IRQ_BIT_F_CLK = PCIE0 .equ COM_PORTS = 2 .equ COM_MASK_CLK0 = (1<