From e1b26502213ca1316a24072083f4cafe4ef1a55e Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Tue, 29 Apr 2025 00:34:24 +0200 Subject: [PATCH] avr: added apps and use them in multiple nodes. --- avr/0BUILD | 1 + avr/apps/0BUILD | 17 ++ avr/apps/door/main.asm | 115 ++++++++++ avr/apps/motion/main.asm | 108 ++++++++++ avr/apps/network/main.asm | 426 +++++++++++++++++++++++++++++++++++++ avr/apps/network/stats.asm | 76 +++++++ 6 files changed, 743 insertions(+) create mode 100644 avr/apps/0BUILD create mode 100644 avr/apps/door/main.asm create mode 100644 avr/apps/motion/main.asm create mode 100644 avr/apps/network/main.asm create mode 100644 avr/apps/network/stats.asm diff --git a/avr/0BUILD b/avr/0BUILD index 4ab5cc3..fac1c5e 100644 --- a/avr/0BUILD +++ b/avr/0BUILD @@ -7,6 +7,7 @@ include modules devices + apps diff --git a/avr/apps/0BUILD b/avr/apps/0BUILD new file mode 100644 index 0000000..77e2158 --- /dev/null +++ b/avr/apps/0BUILD @@ -0,0 +1,17 @@ + + + + + + door + motion + network + + + + + + + + + diff --git a/avr/apps/door/main.asm b/avr/apps/door/main.asm new file mode 100644 index 0000000..b1e5802 --- /dev/null +++ b/avr/apps/door/main.asm @@ -0,0 +1,115 @@ +; *************************************************************************** +; 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. * +; *************************************************************************** + + + +; *************************************************************************** +; defines + +.equ APP_DOOR_KEEPUPTIME = 50 ; 5s + +.equ APP_DOOR_STATE_OPEN = 255 +.equ APP_DOOR_STATE_CLOSED = 0 + + + +; *************************************************************************** +; data + +.dseg + +appDoorKeepupData: .byte FILTER_KEEPUP_DATA_SIZE +appDoorValSchedData: .byte VALSCHED_DATA_SIZE + + + +; *************************************************************************** +; code + +.cseg + +; --------------------------------------------------------------------------- +; @routine AppDoor_Init @global +; + +AppDoor_Init: + ldi yl, LOW(appDoorKeepupData) + ldi yh, HIGH(appDoorKeepupData) + rcall FilterKeepUp_Init + ldi r16, APP_DOOR_KEEPUPTIME + std Y+FILTER_KEEPUP_OFFS_RESTARTVALUE, r16 + + ldi yl, LOW(appDoorValSchedData) + ldi yh, HIGH(appDoorValSchedData) + rcall ValueScheduler_Init + ldi r16, (1<