avr: add complex fan controller app with base classes to be used by other apps as well.

- add modules
  - holdtimer (keep actor running while triggered)
  - triggeraction (connect actor with holdtimer)
- add app fan_controller
  - uses the modules mentioned above to turn on/off fans in connection
    with e.g. motion sensor nodes
This commit is contained in:
Martin Preuss
2026-08-06 00:05:50 +02:00
parent d8498dceaf
commit 88a66f6822
15 changed files with 1309 additions and 5 deletions

View File

@@ -0,0 +1,38 @@
; ***************************************************************************
; 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_APPS_FAN_CONTROL_DEFS_ASM
#define AQH_AVR_APPS_FAN_CONTROL_DEFS_ASM
.equ APP_FANCONTROL_STEPS = 5
.equ APP_FANCONTROL_FLASH_OFFS_BEGIN = TCA_FLASH_SIZE
.equ APP_FANCONTROL_FLASH_OFFS_STEPTABLE = APP_FANCONTROL_FLASH_OFFS_BEGIN+0
.equ APP_FANCONTROL_FLASH_SIZE = APP_FANCONTROL_FLASH_OFFS_STEPTABLE+(APP_FANCONTROL_STEPS*3)
.equ APP_FANCONTROL_RAM_OFFS_BEGIN = TCA_RAM_SIZE
.equ APP_FANCONTROL_RAM_OFFS_VALUE_LO = APP_FANCONTROL_RAM_OFFS_BEGIN+0
.equ APP_FANCONTROL_RAM_OFFS_VALUE_HI = APP_FANCONTROL_RAM_OFFS_BEGIN+1
.equ APP_FANCONTROL_RAM_SIZE = APP_FANCONTROL_RAM_OFFS_BEGIN+2
.equ APP_FANCONTROL_EE_OFFS_BEGIN = TCA_EE_SIZE
.equ APP_FANCONTROL_EE_OFFS_VALUE_LO = APP_FANCONTROL_EE_OFFS_BEGIN+0
.equ APP_FANCONTROL_EE_OFFS_VALUE_HI = APP_FANCONTROL_EE_OFFS_BEGIN+1
.equ APP_FANCONTROL_EE_SIZE = APP_FANCONTROL_EE_OFFS_BEGIN+2
.equ APP_FANCONTROL_FLAGBIT_UPDATED = 0 ; value updated (move to TCA!)
#endif