added filter modules.
This commit is contained in:
11
avr/modules/f_keepup/0BUILD
Normal file
11
avr/modules/f_keepup/0BUILD
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml?>
|
||||
|
||||
<gwbuild>
|
||||
|
||||
<extradist>
|
||||
main.asm
|
||||
</extradist>
|
||||
|
||||
</gwbuild>
|
||||
|
||||
|
||||
107
avr/modules/f_keepup/main.asm
Normal file
107
avr/modules/f_keepup/main.asm
Normal file
@@ -0,0 +1,107 @@
|
||||
; ***************************************************************************
|
||||
; 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 FILTER_KEEPUP_OFFS_TIMER = 0
|
||||
.equ FILTER_KEEPUP_OFFS_RESTARTVALUE = 1
|
||||
.equ FILTER_KEEPUP_DATA_SIZE = 2
|
||||
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; code
|
||||
|
||||
.cseg
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine FilterKeepUp_Init @global
|
||||
;
|
||||
; @param Y pointer to filter data
|
||||
; @clobbers r16
|
||||
|
||||
FilterKeepUp_Init:
|
||||
clr r16
|
||||
std Y+FILTER_KEEPUP_OFFS_TIMER, r16
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine FilterKeepUp_Fini @global
|
||||
;
|
||||
; @param Y pointer to filter data
|
||||
|
||||
FilterKeepUp_Fini:
|
||||
; nothing to do
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine FilterKeepUp_GetValue @global
|
||||
;
|
||||
; @param Y pointer to filter data
|
||||
; @return R16 value
|
||||
; @clobbers none
|
||||
|
||||
FilterKeepUp_GetValue:
|
||||
ldd r16, Y+FILTER_KEEPUP_OFFS_TIMER
|
||||
tst r16
|
||||
breq FilterKeepUp_GetValue_end
|
||||
ldi r16, 1
|
||||
FilterKeepUp_GetValue_end:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine FilterKeepUp_SetValue @global
|
||||
;
|
||||
; @param Y pointer to filter data
|
||||
; @param R16 value
|
||||
; @clobbers r17
|
||||
|
||||
FilterKeepUp_SetValue:
|
||||
tst r16
|
||||
breq FilterKeepUp_SetValue_end
|
||||
ldd r17, Y+FILTER_KEEPUP_OFFS_RESTARTVALUE
|
||||
std Y+FILTER_KEEPUP_OFFS_TIMER, r17
|
||||
FilterKeepUp_SetValue_end:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine FilterKeepUp_Every100ms @global
|
||||
;
|
||||
; @param Y pointer to filter data
|
||||
; @clobbers r16
|
||||
|
||||
FilterKeepUp_Every100ms:
|
||||
ldd r16, Y+FILTER_KEEPUP_OFFS_TIMER
|
||||
tst r16
|
||||
breq FilterKeepUp_Every100ms_end
|
||||
dec r16
|
||||
std Y+FILTER_KEEPUP_OFFS_TIMER, r16
|
||||
FilterKeepUp_Every100ms_end:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user