; ***************************************************************************
; copyright   : (C) 2026 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 AQH_AVR_DEVICES_ALL_APPS_RUN_ASM
#define AQH_AVR_DEVICES_ALL_APPS_RUN_ASM



; ***************************************************************************
; code

.cseg



; ---------------------------------------------------------------------------
; @routine runApps
;
; Call run functions of the used apps. Add your routine calls here.
;

appsRun:
  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 appsRun_end
  sec
appsRun_end:
  ret
; @end



#endif


