Remove or comment out unnecessary code
This commit is contained in:
+17
-21
@@ -8,13 +8,18 @@
|
|||||||
|
|
||||||
#define __SFR_OFFSET 0
|
#define __SFR_OFFSET 0
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
|
|
||||||
#include "timer.inc"
|
#include "timer.inc"
|
||||||
#include "led.inc"
|
#include "led.inc"
|
||||||
|
|
||||||
;#include "bpm.inc"
|
;#include "bpm.inc"
|
||||||
;#include "midi.inc"
|
;#include "midi.inc"
|
||||||
|
|
||||||
.global main
|
.global main
|
||||||
|
; note for the future
|
||||||
|
; isr_button interrupt use
|
||||||
|
; INT0 on the GIMSK, with the button on PB2
|
||||||
|
; this enable a more precise/fast interrupt
|
||||||
|
; useful for the tap tempo stuff
|
||||||
|
|
||||||
isr_stop_blink:
|
isr_stop_blink:
|
||||||
rcall stop_blink ; Turn off PB0 when TCNT0=OCF0A
|
rcall stop_blink ; Turn off PB0 when TCNT0=OCF0A
|
||||||
@@ -23,9 +28,9 @@ isr_stop_blink:
|
|||||||
main:
|
main:
|
||||||
; To compile on AtTiny25/45 comment out the SPH part
|
; To compile on AtTiny25/45 comment out the SPH part
|
||||||
; SPH is needed only on AtTiny85 which has >256b of SRAM
|
; SPH is needed only on AtTiny85 which has >256b of SRAM
|
||||||
ldi r16, lo8(RAMEND)
|
ldi r16, lo8(RAMEND)
|
||||||
out SPL, r0 ; Setup stack pointer LOW
|
out SPL, r0 ; Setup stack pointer LOW
|
||||||
ldi r16, hi8(RAMEND)
|
ldi r16, hi8(RAMEND)
|
||||||
out SPH, r0 ; Setup stack pointer HIGH
|
out SPH, r0 ; Setup stack pointer HIGH
|
||||||
|
|
||||||
sei ; Global interrupt flag
|
sei ; Global interrupt flag
|
||||||
@@ -33,24 +38,18 @@ main:
|
|||||||
;cbi DDRB, PB1 ; Set EC11 clockwise on PB5 as input
|
;cbi DDRB, PB1 ; Set EC11 clockwise on PB5 as input
|
||||||
;cbi DDRB, PB2 ; Set EC11 counter-clockwise on PB3 as input
|
;cbi DDRB, PB2 ; Set EC11 counter-clockwise on PB3 as input
|
||||||
;cbi DDRB, PB5 ; Set EC11 button (555 square wave) on PB4 as input
|
;cbi DDRB, PB5 ; Set EC11 button (555 square wave) on PB4 as input
|
||||||
ldi r26, 60 ; Default BPM //TODO: save to eeprom not register, on runtime also ldi on r24 register
|
sbi DDRB, PB0 ; Set led on PB0 as output
|
||||||
|
;ldi r26, 60 ; Default BPM //TODO: save to eeprom not register, on runtime also ldi on r24 register
|
||||||
|
|
||||||
rcall timer0_set
|
rcall timer0_set
|
||||||
rcall timer1_set
|
;rcall timer1_set
|
||||||
|
|
||||||
|
|
||||||
; interrupts:
|
|
||||||
; button (tap tempo loop) tap_tempo:
|
|
||||||
; encoder (increase/decrease tempo by one) incr_temp: , decr_temp:
|
|
||||||
; timer 1
|
|
||||||
;
|
|
||||||
; otherwise start from default bpm 60 (r26)
|
|
||||||
|
|
||||||
; loop: calculate tempo (high priority!) and save, led blinking, segment led writing
|
; loop: calculate tempo (high priority!) and save, led blinking, segment led writing
|
||||||
loop:
|
loop:
|
||||||
ldi r24, 30 ; Load current BPM to register //NOTE: hardcoded temporary
|
;ldi r24, 30 ; Load current BPM to register //NOTE: hardcoded temporary
|
||||||
; TODO: compare two registers (current bpm and previous bpm)
|
; TODO: compare two registers (current bpm and previous bpm)
|
||||||
rcall tempo_calc ; CHANGE: if BPM changed then rcall BPM calculation function else skip because ticks tempo is the value already in [OCR1C]
|
;rcall tempo_calc ; CHANGE: if BPM changed then rcall BPM calculation function else skip because ticks tempo is the value already in [OCR1C]
|
||||||
; if this BPM != previous BPM then load this to another register (will be used as the 'previous register')
|
; if this BPM != previous BPM then load this to another register (will be used as the 'previous register')
|
||||||
|
|
||||||
; final result stored in OCR1C as ticks
|
; final result stored in OCR1C as ticks
|
||||||
@@ -59,13 +58,6 @@ loop:
|
|||||||
|
|
||||||
;rcall midi_send ; Send MIDI ping
|
;rcall midi_send ; Send MIDI ping
|
||||||
|
|
||||||
//FIXME: do this with interrupts. its much more efficient
|
|
||||||
// remove the polling shit and move stop_blink or an ISR
|
|
||||||
// check if need to change internal logic on led.inc
|
|
||||||
; if midi clock then also do: rcall start_blink
|
|
||||||
in r16, TIFR0 ; Read Interrupt Flag Register
|
|
||||||
sbrs r16, OCF0A ; If timer status OCF0A=1 skip jump
|
|
||||||
rcall stop_blink
|
|
||||||
|
|
||||||
; if midi clock then after do:
|
; if midi clock then after do:
|
||||||
rcall start_blink
|
rcall start_blink
|
||||||
@@ -73,4 +65,8 @@ loop:
|
|||||||
|
|
||||||
;rcall segment_led ; Output current BPM to 3-digit 7-segment LED [r24]
|
;rcall 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 ; Loopback
|
||||||
|
|||||||
Reference in New Issue
Block a user