Inline with macros to save on jump clock cycles

This commit is contained in:
2025-12-31 23:14:39 +01:00
parent c673e7c7a5
commit 7b70962159
2 changed files with 14 additions and 8 deletions
+12 -5
View File
@@ -1,5 +1,5 @@
; Registers
; r16: ISR setup, reusable after main;
; r16: ISR setup, reused only by START_BLINK on loop
.org 0x0000 ; RESET Vector
rjmp main
@@ -56,13 +56,20 @@ loop:
; if midi clock then after do:
rcall start_blink
; SOME CPI HERE
brne segment_led
START_BLINK ; Macro for inlining blink start logic
;rcall segment_led ; Output current BPM to 3-digit 7-segment LED [r24]
rjmp segment_led ; Output current BPM to 3-digit 7-segment LED [r24]
; sleep when BPM is stabilized (whenever BPM calculation are not being done) and outside of midi send
; to do this explore MCUCR register, it can do a lot of stuff
rjmp loop ; Loopback
rjmp loop
; TODO: move to separate file
; keep as subroutine as it's called in two parts in the code
; or it can create issues with compiler
segment_led:
rjmp loop