2015-08-16 21:52:03 +00:00
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <avr/io.h>
|
|
|
|
#include <util/delay.h>
|
2016-04-17 01:31:40 +00:00
|
|
|
#include "musical_notes.h"
|
2015-08-16 21:52:03 +00:00
|
|
|
|
2016-04-16 03:38:21 +00:00
|
|
|
typedef union {
|
|
|
|
uint8_t raw;
|
|
|
|
struct {
|
|
|
|
bool enable :1;
|
|
|
|
uint8_t level :7;
|
|
|
|
};
|
|
|
|
} audio_config_t;
|
|
|
|
|
|
|
|
void audio_toggle(void);
|
|
|
|
void audio_on(void);
|
|
|
|
void audio_off(void);
|
|
|
|
|
2016-01-13 05:25:31 +00:00
|
|
|
void play_sample(uint8_t * s, uint16_t l, bool r);
|
2015-08-29 15:54:38 +00:00
|
|
|
void play_note(double freq, int vol);
|
|
|
|
void stop_note(double freq);
|
2015-08-31 16:39:53 +00:00
|
|
|
void stop_all_notes();
|
2016-01-11 21:53:33 +00:00
|
|
|
void init_notes();
|
2016-04-17 01:31:40 +00:00
|
|
|
void play_notes(float (*np)[][2], uint8_t n_length, bool n_repeat, float n_rest);
|