89 lines
2.5 KiB
NASM
89 lines
2.5 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. *
|
|
; ***************************************************************************
|
|
|
|
; ***************************************************************************
|
|
;
|
|
; AtTiny85
|
|
; --------
|
|
; /RESET PB5 1 8 VCC
|
|
; OWI PB3 2 7 PB2 COM-ATTN
|
|
; LED PB4 3 6 PB1 COM-DATA
|
|
; GND 4 5 PB0 LEDSTRIP
|
|
; --------
|
|
;
|
|
; ***************************************************************************
|
|
|
|
|
|
|
|
.equ BOOTLOADER_ADDR = 0xd00
|
|
|
|
|
|
.equ FIRMWARE_VARIANT_BOOT = 0
|
|
.equ FIRMWARE_VARIANT_LEDSTRIPS = 1
|
|
|
|
.equ DEVICEINFO_ID = 'N'
|
|
.equ DEVICEINFO_VERSION = 14
|
|
.equ DEVICEINFO_REVISION = 0
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; LED module
|
|
|
|
.equ LED_SIMPLE_ONTIME = 3
|
|
.equ LED_SIMPLE_OFFTIME = 30
|
|
.equ LED_SIMPLE_DDR = DDRB
|
|
.equ LED_SIMPLE_PORT = PORTB
|
|
.equ LED_SIMPLE_PORTIN = PINB
|
|
.equ LED_SIMPLE_PINNUM = PORTB4
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; 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 = PORTB1
|
|
|
|
.equ COM_ATTN_DDR = DDRB
|
|
.equ COM_ATTN_INPUT = PINB
|
|
.equ COM_ATTN_OUTPUT = PORTB
|
|
.equ COM_ATTN_PIN = PORTB2
|
|
|
|
.equ COM_IRQ_ADDR_ATTN = PCMSK
|
|
.equ COM_IRQ_BIT_ATTN = PCINT2 ; bit 2 in PCMSK0 (PCINT2)
|
|
.equ COM_IRQ_GIFR_ATTN = PCIF
|
|
.equ COM_IRQ_GIMSK_ATTN = PCIE
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; 1-Wire Master
|
|
;
|
|
|
|
.equ OWI_DDR = DDRB
|
|
.equ OWI_PORTOUT = PORTB
|
|
.equ OWI_PORTIN = PINB
|
|
.equ OWI_PINNUM = PORTB3
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SK6812
|
|
|
|
.equ SK6812_DDR = DDRB
|
|
.equ SK6812_PORT = PORTB
|
|
.equ SK6812_PINNUM = PORTB0
|
|
|
|
|
|
|