From 0f2ea7deaf0cba2f0ca07f6611c5a9e87d531f5b Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Tue, 26 Aug 2025 17:03:24 +0000 Subject: Initial commit --- project_starter_files/Core/Inc/tone.h | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 project_starter_files/Core/Inc/tone.h (limited to 'project_starter_files/Core/Inc/tone.h') 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_ */ -- cgit v1.2.3