Files
aqhomecontrol/avr/devices/n14/n14_defs.asm
Martin Preuss 5767c1307d avr: improved protocol timing for COM2.
- increased waiting time after lowering ATTN line
- lengthten stop bit for cleaner frames (now recognized by PulseView)
- count "NOTFORME" conditions
- introduce definition COM_HALFBIT_LENGTH (I dont' trust value calculations
  in avrasm)
2024-09-29 14:59:19 +02:00

83 lines
2.4 KiB
NASM

; ***************************************************************************
; 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
; 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
; ---------------------------------------------------------------------------
; 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_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_DDR_DATA = DDRB
.equ COM_PORT_DATA = PORTB
.equ COM_PIN_DATA = PINB
.equ COM_PINNUM_DATA = PORTB1
.equ COM_DDR_ATTN = DDRB
.equ COM_PORT_ATTN = PORTB
.equ COM_PIN_ATTN = PINB
.equ COM_PINNUM_ATTN = 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