commit a07dcfff94d622bd9725474edc82e50dcd7ec432
parent 5f0dbc2e23b2267b556b5b7759298f708aef62fd
Author: Vineet K <git@vineetk.net>
Date: Sun, 21 Apr 2024 22:08:57 -0400
don't read record mode from uart
Diffstat:
| M | notes.c | | | 77 | +++++++++++++++++++++++++++++------------------------------------------------ |
1 file changed, 29 insertions(+), 48 deletions(-)
diff --git a/notes.c b/notes.c
@@ -237,11 +237,11 @@ main(void)
unsigned short cycles = 0;
unsigned char tmp = 0;
for (unsigned char n = 0;; n = (n + 1) % 2) {
- if (UCSR0A & (1 << RXC0)) {
- mode = UDR0;
- PORTD &= ~(1 << P_SPKR);
- usart_send(mode);
- }
+ if (PINC & _BV(5))
+ mode = '2';
+ else
+ mode = '0';
+
// check if any buttons are pressed, otherwise don't play a note
if (mode == '0' && ((PINB & PCMSK0) | (PINC & PCMSK1) | (PIND & PCMSK2)) == 0) {
// if a button was released, then send note and cycles played
@@ -261,23 +261,6 @@ main(void)
playtone();
cycles = (cycles + 1) % 0xffff;
- } else if (mode == '1') {
- note = usart_read();
- if (note >= 'Z') note -= '0';
- tmp = usart_read();
- cycles = tmp << 8;
- tmp = usart_read();
- cycles |= tmp;
- tmp = usart_read();
-
- // reset to default mode when an invalid note is read
- if (tmp != 'z' || note >= '|') {
- mode = '0';
- continue;
- }
-
- for (unsigned short i = 0; i < cycles; i++)
- playtone();
} else if (mode == '2') {
play_note(MARIO + 0, 131 * 0.3);
play_note(MARIO + 1, 262 * 0.3);
@@ -285,14 +268,14 @@ main(void)
play_note(MARIO + 3, 220 * 0.3);
play_note(MARIO + 4, 117 * 0.3);
play_note(MARIO + 5, 233 * 0.3);
- play_note(255, 1800);
+ _delay_ms(1800);
play_note(MARIO + 0, 131 * 0.3);
play_note(MARIO + 1, 262 * 0.3);
play_note(MARIO + 2, 110 * 0.3);
play_note(MARIO + 3, 220 * 0.3);
play_note(MARIO + 4, 117 * 0.3);
play_note(MARIO + 5, 233 * 0.3);
- play_note(255, 1800);
+ _delay_ms(1800);
play_note(MARIO + 6, 87 * 0.3);
play_note(MARIO + 7, 175 * 0.3);
@@ -300,59 +283,57 @@ main(void)
play_note(MARIO + 9, 147 * 0.3);
play_note(MARIO + 10, 78 * 0.3);
play_note(MARIO + 11, 156 * 0.3);
- play_note(255, 1800);
+ _delay_ms(1800);
play_note(MARIO + 6, 87 * 0.3);
play_note(MARIO + 7, 175 * 0.3);
play_note(MARIO + 8, 73 * 0.3);
play_note(MARIO + 9, 147 * 0.3);
play_note(MARIO + 10, 78 * 0.3);
play_note(MARIO + 11, 156 * 0.3);
- play_note(255, 1800);
+ _delay_ms(1800);
play_note(MARIO + 12, 156 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 13, 147 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 14, 139 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 15, 131 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 16, 156 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 17, 147 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 18, 104 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 19, 98 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 20, 139 * 0.6);
play_note(MARIO + 21, 156 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 22, 185 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 23, 175 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 24, 165 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 25, 233 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 26, 220 * 0.3);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 27, 208 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 28, 156 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 29, 123 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 30, 123 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 31, 110 * 0.6);
- play_note(255, 25);
+ _delay_ms(25);
play_note(MARIO + 32, 104 * 0.6);
- play_note(255, 25);
-
- play_note(255, 3600);
+ _delay_ms(25);
}
}
}