diff --git a/firmware/main.c b/firmware/main.c index ee9350b..8c4db07 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -8,6 +8,13 @@ #include "synth.h" #include "usart.h" + +uint16_t sw_v = 0; +uint16_t darkness = 0; +uint16_t darkval = 0; +uint16_t last_darkval = 0; + + static void init_sampletimer(void) { /* @@ -54,11 +61,11 @@ static void init_leds(void) * Timer 2 */ - /* set timer0 to CTC & prescaler 64 → 125kHz increment */ + /* set timer2 to CTC & prescaler 64 → ???125kHz increment */ TCCR2A = (1 << WGM21); - TCCR2B = (1 << CS20) | (1 << CS21); + TCCR2B = (1 << CS20)|(1 << CS21); - OCR2A = 6; /* TOP */ + OCR2A = 255; /* TOP */ TCNT2 = 0; /*enable interrupt*/ TIMSK2 |= (1<>4)+0x30); - USART0_putc((x & 0b00001111)+0x30); + uint8_t highchar=((x & 0b11110000)>>4)+0x30; + uint8_t lowchar = (x & 0b00001111)+0x30; + highchar = highchar>0x39 ? highchar + 0x07 : highchar; //chars A to F start with 0x41 not 0x3A + lowchar = lowchar>0x39 ? lowchar + 0x07 : lowchar; + USART0_putc(highchar); + USART0_putc(lowchar); } void USART0_put_uint16(uint16_t x){