diff options
| author | github-classroom[bot] <66690702+github-classroom[bot]@users.noreply.github.com> | 2025-08-26 17:03:24 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-26 17:03:24 +0000 |
| commit | 0f2ea7deaf0cba2f0ca07f6611c5a9e87d531f5b (patch) | |
| tree | 66b32e47da7602942f1bf4b7d343367ac408cd5a /project_starter_files/Core/Inc/tone.h | |
| download | 340-repo-Sowgro-0f2ea7deaf0cba2f0ca07f6611c5a9e87d531f5b.tar.gz 340-repo-Sowgro-0f2ea7deaf0cba2f0ca07f6611c5a9e87d531f5b.tar.bz2 340-repo-Sowgro-0f2ea7deaf0cba2f0ca07f6611c5a9e87d531f5b.zip | |
Initial commit
Diffstat (limited to 'project_starter_files/Core/Inc/tone.h')
| -rw-r--r-- | project_starter_files/Core/Inc/tone.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/project_starter_files/Core/Inc/tone.h b/project_starter_files/Core/Inc/tone.h new file mode 100644 index 0000000..b30e252 --- /dev/null +++ b/project_starter_files/Core/Inc/tone.h @@ -0,0 +1,49 @@ +/* + * tone.h + * + * Created on: May 14, 2022 + * Author: bruce + */ + +#ifndef INC_TONE_H_ +#define INC_TONE_H_ + +#include "dac.h" + +/** + * SysTick handler. Since tones are controlled by software, the SysTick timer + * must be used accurately manage the times. + */ +void SysTick_Handler(); + +/** + * Accessor for the counter. Useful for knowing what the current "time" is + * in the system. + */ +uint32_t get_counter (); + +void reset_counter (); + +/** + * Utility function that converts a frequency into a Systick timer ticks. + */ +uint32_t hertz_to_systicks (float hertz); + +/** + * Adds a tone to be played. + */ +uint8_t add_tone (uint8_t note, uint8_t velocity); + +/** + * Removes a tone from the current group of tones that can be played. + */ +uint8_t remove_tone (uint8_t note); + + +/** + * Starts playing any tones that have been added. + */ +void play_tones (); + + +#endif /* INC_TONE_H_ */ |
