allow for private tick counter and special timer frequencies.
This commit is contained in:
@@ -110,7 +110,11 @@ systemSetupTimer0: ; setup timer for IRQ every 100ms
|
||||
ldi r16, 78-1
|
||||
out OCR0A, r16
|
||||
|
||||
#ifdef BASETIMER_T841_FAST
|
||||
ldi r16, 1
|
||||
#else
|
||||
ldi r16, 10
|
||||
#endif
|
||||
sts baseTimerModuleReloadValue, r16
|
||||
sts baseTimerModuleTickCounter, r16
|
||||
.endif
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
|
||||
|
||||
#define MAIN_WITHOUT_MSG_HANDLING ; we do message handling ourselfes
|
||||
#define BASETIMER_PRIVATE_TICK_FN ; we use our own system tick function
|
||||
#define BASETIMER_T841_FAST ; call our tick every 10ms
|
||||
|
||||
#define MODULES_CLOCK
|
||||
;#define MODULES_COM
|
||||
@@ -90,6 +92,17 @@
|
||||
.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88
|
||||
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; data segment
|
||||
|
||||
.dseg
|
||||
|
||||
t03TickCounter: .byte 1
|
||||
|
||||
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; code segment
|
||||
|
||||
@@ -148,6 +161,9 @@ firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR
|
||||
; @routine firmwareStart @global
|
||||
|
||||
firmwareStart:
|
||||
cli
|
||||
clr r16
|
||||
sts t03TickCounter, r16
|
||||
rjmp main
|
||||
; @end
|
||||
|
||||
@@ -163,6 +179,22 @@ onSystemStart:
|
||||
|
||||
|
||||
|
||||
privateTimerTick:
|
||||
lds r16, t03TickCounter
|
||||
inc r16
|
||||
cpi r16, 10
|
||||
brcs privateTimerTick_store
|
||||
clr r16
|
||||
privateTimerTick_store:
|
||||
sts t03TickCounter, r16
|
||||
cpi r16, 0
|
||||
breq privateTimerTick_runSystemTick
|
||||
; TODO
|
||||
ret
|
||||
privateTimerTick_runSystemTick:
|
||||
rjmp onSystemTimerTick
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -92,7 +92,11 @@ BaseTimer_Run:
|
||||
BaseTimer_Run_loop: ; for every timer tick
|
||||
push r24
|
||||
push r25
|
||||
.ifdef BASETIMER_PRIVATE_TICK_FN
|
||||
rcall privateTimerTick
|
||||
.else
|
||||
rcall onSystemTimerTick
|
||||
.endif
|
||||
pop r25
|
||||
pop r24
|
||||
sbiw r25:r24, 1
|
||||
|
||||
Reference in New Issue
Block a user