From b2a087c9590ff44185e275a3191742b310443ce5 Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Mon, 21 Apr 2025 00:33:52 +0200 Subject: [PATCH] added debug code. --- avr/common/0BUILD | 1 + avr/common/debug.asm | 86 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 avr/common/debug.asm diff --git a/avr/common/0BUILD b/avr/common/0BUILD index 38157a9..963fbf8 100644 --- a/avr/common/0BUILD +++ b/avr/common/0BUILD @@ -4,6 +4,7 @@ crc8.asm + debug.asm m_fixedbuffers.asm m_ringbuffer.asm m_ringbuffer_y.asm diff --git a/avr/common/debug.asm b/avr/common/debug.asm new file mode 100644 index 0000000..edfce93 --- /dev/null +++ b/avr/common/debug.asm @@ -0,0 +1,86 @@ +; *************************************************************************** +; 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 COMMON_DEBUG_H +#define COMMON_DEBUG_H + + +.cseg + + + +DEBUG1: + ldi r19, 50 + ldi r20, 1 + ldi r21, 9 + rcall blinkLed + rjmp DEBUG1 + + +DEBUG2: + ldi r19, 50 + ldi r20, 1 + ldi r21, 1 + rcall blinkLed + rjmp DEBUG2 + + + +; @param r19 loop count +; @param r20 on time +; @param r21 off time +; @clobbers (R16, R18, R22, R24, R25) + +blinkLed: + cbi LED_SIMPLE_PORT, LED_SIMPLE_PINNUM ; on + mov r22, r20 + rcall waitForMultiple100ms ; (R252 + sbi LED_SIMPLE_PORT, LED_SIMPLE_PINNUM ; off + mov r22, r21 + rcall waitForMultiple100ms ; (R22) + dec r19 + brne blinkLed + ret + + +; @param r22 number of 100ms periods to wait +waitForMultiple100ms: +waitForMultiple100ms_loop: + push r22 + rcall waitFor100ms + pop r22 + dec r22 + brne waitForMultiple100ms_loop + ret + + +waitFor100ms: + ldi r22, 10 +waitFor100ms_loop: + push r22 + rcall waitFor10ms + pop r22 + dec r22 + brne waitFor100ms_loop + ret + +waitFor10ms: + ldi r22, 100 +waitFor10ms_loop: + push r22 + rcall Utils_WaitFor100MicroSecs + pop r22 + dec r22 + brne waitFor10ms_loop + ret + + + +#endif ; COMMON_DEBUG_H +