; *************************************************************************** ; copyright : (C) 2026 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 ; MEM_CS PB0 2 13 PA0 ; TWI_SDA PB1 3 12 PA1 COM_DATA ; /RESET PB3 4 11 PA2 ; TWI_SCL PB2 5 10 PA3 LED ; COM_CLK PA7 6 9 PA4 SPI_CLK ; SPI_MOSI PA6 7 8 PA5 SPI_MISO ; -------- ; ; *************************************************************************** .equ BOOTLOADER_ADDR = 0xd00 .equ FIRMWARE_VARIANT_BOOT = 0 .equ FIRMWARE_VARIANT_TEMP_WINDOW = 1 .equ DEVICEINFO_ID = 'E' .equ DEVICEINFO_VERSION = 3 .equ DEVICEINFO_REVISION = 0 ; --------------------------------------------------------------------------- ; LED module .equ LED_SIMPLE_ONTIME = 1 ; shorter .equ LED_SIMPLE_OFFTIME = 99 ; longer .equ LED_SIMPLE_DDR = DDRA .equ LED_SIMPLE_PORT = PORTA .equ LED_SIMPLE_PORTIN = PINA .equ LED_SIMPLE_PINNUM = PORTA3 ; --------------------------------------------------------------------------- ; LED Activity module .equ LED_ACTIVITY_DDR = DDRA .equ LED_ACTIVITY_PORT = PORTA .equ LED_ACTIVITY_PORTIN = PINA .equ LED_ACTIVITY_PINNUM = PORTA3 ; --------------------------------------------------------------------------- ; 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_DATA_DDR = DDRA .equ COM_DATA_INPUT = PINA .equ COM_DATA_OUTPUT = PORTA .equ COM_DATA_PIN = PORTA1 .equ COM_CLK_DDR = DDRA .equ COM_CLK_INPUT = PINA .equ COM_CLK_OUTPUT = PORTA .equ COM_CLK_PIN = PORTA7 .equ COM_IRQ_ADDR_CLK = PCMSK0 .equ COM_IRQ_BIT_CLK = PCINT7 ; bit 7 in PCMSK0 .equ COM_IRQ_GIFR_CLK = PCIF0 .equ COM_IRQ_GIMSK_CLK = PCIE0 ; --------------------------------------------------------------------------- ; TWI master module ;.equ TWI_BIT_LENGTH = 10000 ; 100000 and 200000 works for display: 10000, 100000, 200000 .equ TWI_BIT_LENGTH = 1 ; 10, 100, 500, 100000 and 200000 works for display: 10000, 100000, 200000 .equ TWI_DDR_SCL = DDRB .equ TWI_PORT_SCL = PORTB .equ TWI_PIN_SCL = PINB .equ TWI_PINNUM_SCL = PORTB2 .equ TWI_DDR_SDA = DDRB .equ TWI_PORT_SDA = PORTB .equ TWI_PIN_SDA = PINB .equ TWI_PINNUM_SDA = PORTB1 ; --------------------------------------------------------------------------- ; DS3231 (RTC) .equ DS3231_ADDR = 0x68 .equ AT24C32_ADDR = 0x57 ; --------------------------------------------------------------------------- ; LCD module .equ LCD_TWI_ADDRESS = 0x3c