; *************************************************************************** ; 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. * ; *************************************************************************** ; ; The base timer makes sure that "onSystemTimerTick" is called about every ; 100ms. ; The setup depends on hardware and clock. ; ; *************************************************************************** ; data .dseg baseTimerModuleData: baseTimerModuleReloadValue: .byte 1 baseTimerModuleTickCounter: .byte 1 baseTimerTicksSinceLastRun: .byte 2 baseTimerModuleData_end: ; *************************************************************************** ; code .cseg BASETIMER_BEGIN: ; --------------------------------------------------------------------------- ; @routine BaseTimer_Init @global ; ; @clobbers r16, r17, x BaseTimer_Init: ; setup timer for IRQ every 100ms ; reset data in SDRAM ldi xh, HIGH(baseTimerModuleData) ldi xl, LOW(baseTimerModuleData) ldi r16, 0 ldi r17, (baseTimerModuleData_end-baseTimerModuleData) rcall Utils_FillSram ldi r16, (1<