; *************************************************************************** ; copyright : (C) 2024 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. * ; *************************************************************************** ; *************************************************************************** ; ; AtTiny85 ; -------- ; /RESET PB5 1 8 VCC ; LED PB3 2 7 PB2 TWI-SDA ; COM-DATA PB4 3 6 PB1 TWI-SCL ; GND 4 5 PB0 COM-ATTN [PCINT0] ; -------- ; ; *************************************************************************** .equ BOOTLOADER_ADDR = 0xd00 .equ FIRMWARE_VARIANT_BOOT = 0 .equ FIRMWARE_VARIANT_MAIN = 1 .equ DEVICEINFO_ID = 'N' .equ DEVICEINFO_VERSION = 18 .equ DEVICEINFO_REVISION = 0 ; --------------------------------------------------------------------------- ; LED module .equ LED_SIMPLE_ONTIME = 2 .equ LED_SIMPLE_OFFTIME = 50 .equ LED_SIMPLE_DDR = DDRB .equ LED_SIMPLE_PORT = PORTB .equ LED_SIMPLE_PINNUM = PORTB3 ; --------------------------------------------------------------------------- ; 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 = DDRB .equ COM_DATA_INPUT = PINB .equ COM_DATA_OUTPUT = PORTB .equ COM_DATA_PIN = PORTB4 .equ COM_ATTN_DDR = DDRB .equ COM_ATTN_INPUT = PINB .equ COM_ATTN_OUTPUT = PORTB .equ COM_ATTN_PIN = PORTB0 .equ COM_IRQ_ADDR_ATTN = PCMSK .equ COM_IRQ_BIT_ATTN = PCINT0 ; bit 0 in PCMSK0 (PCINT0) .equ COM_IRQ_GIFR_ATTN = PCIF .equ COM_IRQ_GIMSK_ATTN = PCIE ; --------------------------------------------------------------------------- ; 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 = PORTB1 .equ TWI_DDR_SDA = DDRB .equ TWI_PORT_SDA = PORTB .equ TWI_PIN_SDA = PINB .equ TWI_PINNUM_SDA = PORTB2 ; --------------------------------------------------------------------------- ; SI 7021 .equ SI7021_ADDR = 0x40 ; --------------------------------------------------------------------------- ; CCS 811 ; .equ CCS811_ADDR = 0x5a ; or 0x5b