; *************************************************************************** ; copyright : (C) 2023 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 ; REED_OUT2 PB0 2 13 PA0 REED_OUT1 ; PIR PB1 3 12 PA1 COM-DATA ; /RESET PB3 4 11 PA2 REED_IN1 ; [KEY1] PB2 5 10 PA3 LED ; COM_ATTN PA7 6 9 PA4 TWI-SCL ; TWI-SDA PA6 7 8 PA5 REED_IN2 ; -------- ; ; *************************************************************************** .equ BOOTLOADER_ADDR = 0xd00 .equ FIRMWARE_VARIANT_BOOT = 0 .equ FIRMWARE_VARIANT_TEMP_WINDOW = 1 ; --------------------------------------------------------------------------- ; LED module .equ LED_SIMPLE_ONTIME = 2 .equ LED_SIMPLE_OFFTIME = 30 .equ LED_SIMPLE_DDR = DDRA .equ LED_SIMPLE_PORT = PORTA .equ LED_SIMPLE_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_DDR_DATA = DDRA .equ COM_PORT_DATA = PORTA .equ COM_PIN_DATA = PINA .equ COM_PINNUM_DATA = PORTA1 .equ COM_DDR_ATTN = DDRA .equ COM_PORT_ATTN = PORTA .equ COM_PIN_ATTN = PINA .equ COM_PINNUM_ATTN = PORTA7 .equ COM_IRQ_ADDR_ATTN = PCMSK0 .equ COM_IRQ_BIT_ATTN = PCINT7 ; bit 7 in PCMSK0 .equ COM_IRQ_GIFR_ATTN = PCIF0 .equ COM_IRQ_GIMSK_ATTN = 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 = DDRA .equ TWI_PORT_SCL = PORTA .equ TWI_PIN_SCL = PINA .equ TWI_PINNUM_SCL = PORTA4 .equ TWI_DDR_SDA = DDRA .equ TWI_PORT_SDA = PORTA .equ TWI_PIN_SDA = PINA .equ TWI_PINNUM_SDA = PORTA6 ; --------------------------------------------------------------------------- ; LCD module .equ LCD_TWI_ADDRESS = 0x3c ; --------------------------------------------------------------------------- ; BMP 280 .equ BMP280_ADDR = 0x76 ; --------------------------------------------------------------------------- ; SI 7021 .equ SI7021_ADDR = 0x40 ; --------------------------------------------------------------------------- ; ADC/CNY70 .equ CNY70_PORT_LED = PORTB .equ CNY70_DDR_LED = DDRB .equ CNY70_PINNUM_LED = PORTB1 .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 ; --------------------------------------------------------------------------- ; Reed ; .equ REEDOUT1_DDR = DDRA .equ REEDOUT1_PORT = PORTA .equ REEDOUT1_PIN = PINA .equ REEDOUT1_PINNUM = PORTA0 .equ REEDOUT2_DDR = DDRB .equ REEDOUT2_PORT = PORTB .equ REEDOUT2_PIN = PINB .equ REEDOUT2_PINNUM = PORTB0 .equ REED1_DDR = DDRA .equ REED1_PORT = PORTA .equ REED1_PIN = PINA .equ REED1_PINNUM = PORTA2 .equ REED2_DDR = DDRA .equ REED2_PORT = PORTA .equ REED2_PIN = PINA .equ REED2_PINNUM = PORTA5 ; --------------------------------------------------------------------------- ; 1-Wire Master ; .equ OWI_DDR = DDRB .equ OWI_PORTOUT = PORTB .equ OWI_PORTIN = PINB .equ OWI_PINNUM = PORTB2