diff options
| author | Vineet K <git@vineetk.net> | 2024-04-21 22:08:57 -0400 |
|---|---|---|
| committer | Shokara Kou <kou@13f0.net> | 2024-04-21 22:08:57 -0400 |
| commit | a07dcfff94d622bd9725474edc82e50dcd7ec432 (patch) | |
| tree | 166c3b5b93959a80431366f6697b71851e35c45a /notes.c | |
| parent | 5f0dbc2e23b2267b556b5b7759298f708aef62fd (diff) | |
don't read record mode from uart
Diffstat (limited to 'notes.c')
| -rw-r--r-- | notes.c | 77 |
1 files changed, 29 insertions, 48 deletions
| @@ -237,11 +237,11 @@ main(void) | |||
| 237 | unsigned short cycles = 0; | 237 | unsigned short cycles = 0; |
| 238 | unsigned char tmp = 0; | 238 | unsigned char tmp = 0; |
| 239 | for (unsigned char n = 0;; n = (n + 1) % 2) { | 239 | for (unsigned char n = 0;; n = (n + 1) % 2) { |
| 240 | if (UCSR0A & (1 << RXC0)) { | 240 | if (PINC & _BV(5)) |
| 241 | mode = UDR0; | 241 | mode = '2'; |
| 242 | PORTD &= ~(1 << P_SPKR); | 242 | else |
| 243 | usart_send(mode); | 243 | mode = '0'; |
| 244 | } | 244 | |
| 245 | // check if any buttons are pressed, otherwise don't play a note | 245 | // check if any buttons are pressed, otherwise don't play a note |
| 246 | if (mode == '0' && ((PINB & PCMSK0) | (PINC & PCMSK1) | (PIND & PCMSK2)) == 0) { | 246 | if (mode == '0' && ((PINB & PCMSK0) | (PINC & PCMSK1) | (PIND & PCMSK2)) == 0) { |
| 247 | // if a button was released, then send note and cycles played | 247 | // if a button was released, then send note and cycles played |
| @@ -261,23 +261,6 @@ main(void) | |||
| 261 | playtone(); | 261 | playtone(); |
| 262 | 262 | ||
| 263 | cycles = (cycles + 1) % 0xffff; | 263 | cycles = (cycles + 1) % 0xffff; |
| 264 | } else if (mode == '1') { | ||
| 265 | note = usart_read(); | ||
| 266 | if (note >= 'Z') note -= '0'; | ||
| 267 | tmp = usart_read(); | ||
| 268 | cycles = tmp << 8; | ||
| 269 | tmp = usart_read(); | ||
| 270 | cycles |= tmp; | ||
| 271 | tmp = usart_read(); | ||
| 272 | |||
| 273 | // reset to default mode when an invalid note is read | ||
| 274 | if (tmp != 'z' || note >= '|') { | ||
| 275 | mode = '0'; | ||
| 276 | continue; | ||
| 277 | } | ||
| 278 | |||
| 279 | for (unsigned short i = 0; i < cycles; i++) | ||
| 280 | playtone(); | ||
| 281 | } else if (mode == '2') { | 264 | } else if (mode == '2') { |
| 282 | play_note(MARIO + 0, 131 * 0.3); | 265 | play_note(MARIO + 0, 131 * 0.3); |
| 283 | play_note(MARIO + 1, 262 * 0.3); | 266 | play_note(MARIO + 1, 262 * 0.3); |
| @@ -285,14 +268,14 @@ main(void) | |||
| 285 | play_note(MARIO + 3, 220 * 0.3); | 268 | play_note(MARIO + 3, 220 * 0.3); |
| 286 | play_note(MARIO + 4, 117 * 0.3); | 269 | play_note(MARIO + 4, 117 * 0.3); |
| 287 | play_note(MARIO + 5, 233 * 0.3); | 270 | play_note(MARIO + 5, 233 * 0.3); |
| 288 | play_note(255, 1800); | 271 | _delay_ms(1800); |
| 289 | play_note(MARIO + 0, 131 * 0.3); | 272 | play_note(MARIO + 0, 131 * 0.3); |
| 290 | play_note(MARIO + 1, 262 * 0.3); | 273 | play_note(MARIO + 1, 262 * 0.3); |
| 291 | play_note(MARIO + 2, 110 * 0.3); | 274 | play_note(MARIO + 2, 110 * 0.3); |
| 292 | play_note(MARIO + 3, 220 * 0.3); | 275 | play_note(MARIO + 3, 220 * 0.3); |
| 293 | play_note(MARIO + 4, 117 * 0.3); | 276 | play_note(MARIO + 4, 117 * 0.3); |
| 294 | play_note(MARIO + 5, 233 * 0.3); | 277 | play_note(MARIO + 5, 233 * 0.3); |
| 295 | play_note(255, 1800); | 278 | _delay_ms(1800); |
| 296 | 279 | ||
| 297 | play_note(MARIO + 6, 87 * 0.3); | 280 | play_note(MARIO + 6, 87 * 0.3); |
| 298 | play_note(MARIO + 7, 175 * 0.3); | 281 | play_note(MARIO + 7, 175 * 0.3); |
| @@ -300,59 +283,57 @@ main(void) | |||
| 300 | play_note(MARIO + 9, 147 * 0.3); | 283 | play_note(MARIO + 9, 147 * 0.3); |
| 301 | play_note(MARIO + 10, 78 * 0.3); | 284 | play_note(MARIO + 10, 78 * 0.3); |
| 302 | play_note(MARIO + 11, 156 * 0.3); | 285 | play_note(MARIO + 11, 156 * 0.3); |
| 303 | play_note(255, 1800); | 286 | _delay_ms(1800); |
| 304 | play_note(MARIO + 6, 87 * 0.3); | 287 | play_note(MARIO + 6, 87 * 0.3); |
| 305 | play_note(MARIO + 7, 175 * 0.3); | 288 | play_note(MARIO + 7, 175 * 0.3); |
| 306 | play_note(MARIO + 8, 73 * 0.3); | 289 | play_note(MARIO + 8, 73 * 0.3); |
| 307 | play_note(MARIO + 9, 147 * 0.3); | 290 | play_note(MARIO + 9, 147 * 0.3); |
| 308 | play_note(MARIO + 10, 78 * 0.3); | 291 | play_note(MARIO + 10, 78 * 0.3); |
| 309 | play_note(MARIO + 11, 156 * 0.3); | 292 | play_note(MARIO + 11, 156 * 0.3); |
| 310 | play_note(255, 1800); | 293 | _delay_ms(1800); |
| 311 | 294 | ||
| 312 | play_note(MARIO + 12, 156 * 0.3); | 295 | play_note(MARIO + 12, 156 * 0.3); |
| 313 | play_note(255, 25); | 296 | _delay_ms(25); |
| 314 | play_note(MARIO + 13, 147 * 0.3); | 297 | play_note(MARIO + 13, 147 * 0.3); |
| 315 | play_note(255, 25); | 298 | _delay_ms(25); |
| 316 | play_note(MARIO + 14, 139 * 0.3); | 299 | play_note(MARIO + 14, 139 * 0.3); |
| 317 | play_note(255, 25); | 300 | _delay_ms(25); |
| 318 | play_note(MARIO + 15, 131 * 0.6); | 301 | play_note(MARIO + 15, 131 * 0.6); |
| 319 | play_note(255, 25); | 302 | _delay_ms(25); |
| 320 | play_note(MARIO + 16, 156 * 0.3); | 303 | play_note(MARIO + 16, 156 * 0.3); |
| 321 | play_note(255, 25); | 304 | _delay_ms(25); |
| 322 | play_note(MARIO + 17, 147 * 0.6); | 305 | play_note(MARIO + 17, 147 * 0.6); |
| 323 | play_note(255, 25); | 306 | _delay_ms(25); |
| 324 | play_note(MARIO + 18, 104 * 0.6); | 307 | play_note(MARIO + 18, 104 * 0.6); |
| 325 | play_note(255, 25); | 308 | _delay_ms(25); |
| 326 | play_note(MARIO + 19, 98 * 0.6); | 309 | play_note(MARIO + 19, 98 * 0.6); |
| 327 | play_note(255, 25); | 310 | _delay_ms(25); |
| 328 | play_note(MARIO + 20, 139 * 0.6); | 311 | play_note(MARIO + 20, 139 * 0.6); |
| 329 | 312 | ||
| 330 | play_note(MARIO + 21, 156 * 0.3); | 313 | play_note(MARIO + 21, 156 * 0.3); |
| 331 | play_note(255, 25); | 314 | _delay_ms(25); |
| 332 | play_note(MARIO + 22, 185 * 0.3); | 315 | play_note(MARIO + 22, 185 * 0.3); |
| 333 | play_note(255, 25); | 316 | _delay_ms(25); |
| 334 | play_note(MARIO + 23, 175 * 0.3); | 317 | play_note(MARIO + 23, 175 * 0.3); |
| 335 | play_note(255, 25); | 318 | _delay_ms(25); |
| 336 | play_note(MARIO + 24, 165 * 0.3); | 319 | play_note(MARIO + 24, 165 * 0.3); |
| 337 | play_note(255, 25); | 320 | _delay_ms(25); |
| 338 | play_note(MARIO + 25, 233 * 0.3); | 321 | play_note(MARIO + 25, 233 * 0.3); |
| 339 | play_note(255, 25); | 322 | _delay_ms(25); |
| 340 | play_note(MARIO + 26, 220 * 0.3); | 323 | play_note(MARIO + 26, 220 * 0.3); |
| 341 | play_note(255, 25); | 324 | _delay_ms(25); |
| 342 | play_note(MARIO + 27, 208 * 0.6); | 325 | play_note(MARIO + 27, 208 * 0.6); |
| 343 | play_note(255, 25); | 326 | _delay_ms(25); |
| 344 | play_note(MARIO + 28, 156 * 0.6); | 327 | play_note(MARIO + 28, 156 * 0.6); |
| 345 | play_note(255, 25); | 328 | _delay_ms(25); |
| 346 | play_note(MARIO + 29, 123 * 0.6); | 329 | play_note(MARIO + 29, 123 * 0.6); |
| 347 | play_note(255, 25); | 330 | _delay_ms(25); |
| 348 | play_note(MARIO + 30, 123 * 0.6); | 331 | play_note(MARIO + 30, 123 * 0.6); |
| 349 | play_note(255, 25); | 332 | _delay_ms(25); |
| 350 | play_note(MARIO + 31, 110 * 0.6); | 333 | play_note(MARIO + 31, 110 * 0.6); |
| 351 | play_note(255, 25); | 334 | _delay_ms(25); |
| 352 | play_note(MARIO + 32, 104 * 0.6); | 335 | play_note(MARIO + 32, 104 * 0.6); |
| 353 | play_note(255, 25); | 336 | _delay_ms(25); |
| 354 | |||
| 355 | play_note(255, 3600); | ||
| 356 | } | 337 | } |
| 357 | } | 338 | } |
| 358 | } | 339 | } |
