; *************************************************************************** ; 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. * ; *************************************************************************** #ifndef AVR_MODULES_FLASH_IO_COM2W_H #define AVR_MODULES_FLASH_IO_COM2W_H .equ COM2W_WAITTIME1 = 30000 .equ COM2W_WAITTIME2 = 10000 ; *************************************************************************** ; code .cseg ; --------------------------------------------------------------------------- ; @routine ioRawInit ; ; Init raw message subsystem. ; ioRawInit: ; setup CLK line (as input, disable internal pull-up resistor) cbi COM_CLK_DDR, COM_CLK_PIN ; set CLK as input .ifdef COM_CLK_PUE inr r16, COM_CLK_PUE cbr r16, (1< 1000000 ; begin version for > 1000000 Hz ldi r20, LOW(clock/1000000) ldi r22, (1< 1000000 Hz .elif clock < 1000000 .error "Clock speed too low" .else ; begin version for 1000000 Hz ldi r22, (1< 1000000 ; begin version for > 1000000 Hz ldi r20, LOW(clock/1000000) ldi r22, (1< 1000000 Hz .elif clock < 1000000 .error "Clock speed too low" .else ; begin version for 1000000 Hz ldi r22, (1<