simpler than router app, just for forwarding messages between interfaces. mainly used by t03.
137 lines
2.4 KiB
NASM
137 lines
2.4 KiB
NASM
; ***************************************************************************
|
|
; 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. *
|
|
; ***************************************************************************
|
|
|
|
|
|
; ***************************************************************************
|
|
; code
|
|
|
|
|
|
.cseg
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; @routine initApps
|
|
;
|
|
; Call init functions of the used apps. Add your routine calls here.
|
|
|
|
initApps:
|
|
|
|
#ifdef APPS_NETWORK
|
|
ldi yl, LOW(netInterfaceData)
|
|
ldi yh, HIGH(netInterfaceData)
|
|
bigcall AppNetwork_Init
|
|
#endif
|
|
|
|
#ifdef APPS_ROUTER
|
|
bigcall AppRouter_Init
|
|
#endif
|
|
|
|
#ifdef APPS_HUB
|
|
bigcall AppHub_Init
|
|
#endif
|
|
|
|
#ifdef APPS_FORWARDER
|
|
bigcall AppForwarder_Init
|
|
#endif
|
|
|
|
#ifdef APPS_MOTION
|
|
bigcall AppMotion_Init
|
|
#endif
|
|
|
|
#ifdef APPS_DOOR
|
|
bigcall AppDoor_Init
|
|
#endif
|
|
|
|
#ifdef APPS_REPORTSENSORS
|
|
bigcall AppReportSensors_Init
|
|
#endif
|
|
|
|
#ifdef APPS_STATS
|
|
bigcall AppStats_Init
|
|
#endif
|
|
|
|
#ifdef APPS_MA_LIGHT
|
|
bigcall AppMotionLight_Init
|
|
#endif
|
|
|
|
; done
|
|
ret
|
|
; @end
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; @routine runApps
|
|
;
|
|
; Call run functions of the used modules. Add your routine calls here.
|
|
;
|
|
|
|
runApps:
|
|
clr r16
|
|
#ifdef APPS_ROUTER
|
|
push r16
|
|
bigcall AppRouter_Run
|
|
pop r16
|
|
sbci r16, 0 ; decrease r16 only if CFLAG set
|
|
#endif
|
|
|
|
#ifdef APPS_HUB
|
|
push r16
|
|
bigcall AppHub_Run
|
|
pop r16
|
|
sbci r16, 0 ; decrease r16 only if CFLAG set
|
|
#endif
|
|
|
|
#ifdef APPS_FORWARDER
|
|
push r16
|
|
bigcall AppForwarder_Run
|
|
pop r16
|
|
sbci r16, 0 ; decrease r16 only if CFLAG set
|
|
#endif
|
|
|
|
; add more modules here
|
|
|
|
tst r16
|
|
clc
|
|
breq runApps_end
|
|
sec
|
|
runApps_end:
|
|
ret
|
|
; @end
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; @routine mainAppsOnPacketReceived
|
|
;
|
|
; Let all apps handle received message.
|
|
|
|
mainAppsOnPacketReceived:
|
|
#ifdef APPS_NETWORK
|
|
; handle messages
|
|
ldi yl, LOW(netInterfaceData)
|
|
ldi yh, HIGH(netInterfaceData)
|
|
bigcall AppNetwork_HandleMsg
|
|
#endif
|
|
|
|
#ifdef APPS_MA_LIGHT
|
|
bigcall AppMotionLight_OnPacketReceived
|
|
#endif
|
|
|
|
; add more here
|
|
|
|
ret
|
|
; @end
|
|
|
|
|
|
|
|
|
|
|