; ***************************************************************************
; 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_MODULES_INIT_ASM
#define AQH_AVR_DEVICES_ALL_MODULES_INIT_ASM



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

.cseg



; ---------------------------------------------------------------------------
; @routine initModules
;
; Call init functions of the used modules. Add your routine calls here.

modulesInit:
  bigcall BaseTimer_Init ; unconditionally call this

#ifdef MODULES_HEAP
  bigcall Heap_Init
#endif

#ifdef MODULES_CLOCK
  bigcall Clock_Init
#endif

#ifdef MODULES_TIMER
  bigcall Timer_Init
#endif

#ifdef MODULES_XRAM
  bigcall XRAM_Init
#endif

#ifdef MODULES_LED1
  bigcall Led1_Init
#endif

#ifdef MODULES_LED2
  bigcall Led2_Init
#endif

#ifdef MODULES_LED3
  bigcall Led3_Init
#endif


#ifdef MODULES_BEEPER_SIMPLE
  bigcall BeeperSimple_Init
#endif

#ifdef MODULES_COM
  bigcall Com2_Init   ; init COM module
  bigcall CPRO_Init   ; init COM protocol module
#endif

#ifdef MODULES_NETWORK
  bigcall NET_Init
#endif

#ifdef MODULES_UART_BITBANG
  bigcall UART_BitBang_Init
#endif

#ifdef MODULES_UART_HW
  bigcall NET_Uart_Init
#endif

#ifdef MODULES_TTYONUART1
  bigcall TtyOnUart1_Init
#endif

#ifdef MODULES_UARTFD0
  bigcall UARTFD0_Init
#endif

#ifdef MODULES_UARTFD1
  bigcall UARTFD1_Init
#endif

#ifdef MODULES_COMONUART0
  bigcall ComOnUart0_Init
#endif

#ifdef MODULES_COMONUART1
  bigcall ComOnUart1_Init
#endif

#ifdef MODULES_COM2W
  bigcall COM2W_Init
#endif

#ifdef MODULES_COM2W2
  bigcall COM2W2_Init
#endif

#ifdef MODULES_COM2W0
  bigcall COM2W0_Init
#endif

#ifdef MODULES_COM2W1
  bigcall COM2W1_Init
#endif

#ifdef MODULES_COM2WN
  bigcall COM2WN_Init
#endif

#ifdef MODULES_COM2WI
  bigcall COM2WI_Init
#endif

#ifdef MODULES_MOTION
  bigcall Motion_Init
#endif

#ifdef MODULES_TWI_MASTER
  bigcall TWI_Master_Init
#endif

#ifdef MODULES_OWI_MASTER
  bigcall OwiMaster_Init
#endif

#ifdef MODULES_SPI_HW
  bigcall SPIHW_Init
#endif

#ifdef MODULES_SPI_SW
  bigcall SPISW_Init
#endif

#ifdef MODULES_RAM_23LC512
  bigcall RAM_23LC512_Init
#endif

#ifdef MODULES_EE_25LC256
  bigcall EE_25LC256_Init
#endif

#ifdef MODULES_LCD
  bigcall LCD_Init
#endif
#ifdef MODULES_BMP280
  bigcall BMP280_Init
#endif

#ifdef MODULES_SI7021
  bigcall SI7021_Init
#endif

#ifdef MODULES_SGP30
  bigcall SGP30_Init
#endif

#ifdef MODULES_SGP40
  bigcall SGP40_Init
#endif

#ifdef MODULES_DS18B20
  bigcall Ds18b20_Init
#endif

#ifdef MODULES_STATS
  bigcall Stats_Init
#endif

#ifdef MODULES_CNY70
  bigcall CNY70_Init
#endif

#ifdef MODULES_REED
  bigcall REED_Init
#endif

#ifdef MODULES_SK6812
  bigcall SK6812_Init
#endif

#ifdef MODULES_MOTION_LIGHT
  bigcall MotionLight_Init
#endif

#ifdef MODULES_TCRT1000
  bigcall TCRT1K_Init
#endif

#ifdef MODULES_CCS811
  bigcall CCS811_Init
#endif

#ifdef MODULES_ILI9341
  bigcall ILI9341_Init
#endif

#ifdef MODULES_XPT2046
  bigcall XPT2046_Init
#endif

#ifdef MODULES_BRIGHTNESS
  bigcall Brightness_Init
#endif

#ifdef MODULES_DS3231
  bigcall Ds3231_Init
#endif

#ifdef MODULES_DS1307
  bigcall Ds1307_Init
#endif

#ifdef MODULES_MULTIFAN
  bigcall MultiFan_Init
#endif

  ; done
  ret
; @end



#endif

