diff options
Diffstat (limited to 'project/Core/Src/Activties/activity4.c')
| -rw-r--r-- | project/Core/Src/Activties/activity4.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/project/Core/Src/Activties/activity4.c b/project/Core/Src/Activties/activity4.c new file mode 100644 index 0000000..44653e1 --- /dev/null +++ b/project/Core/Src/Activties/activity4.c @@ -0,0 +1,37 @@ +/* + * activity4.c + * + * Created on: Sep 16, 2025 + * Author: sowgro + */ + +#include "song.h" +#include <printf.h> +#include <endian_converters.h> +#include <stdint.h> + +typedef struct { + char chunk_type[4]; + uint32_t length; + uint16_t format; + uint16_t ntrcks; + uint16_t division; +} header; + +void activity4_run() { + header* p_header; + + p_header = (header *) (get_song(0).p_song); + + p_header->length = convert_to_uint32((uint8_t*) &p_header->length); + p_header->format = convert_to_uint16((uint8_t*) &p_header->format); + p_header->ntrcks = convert_to_uint16((uint8_t*) &p_header->ntrcks); + p_header->division = convert_to_uint16((uint8_t*) &p_header->division); + + printf ("Header: \r\n"); + printf ("\tLength: %lu\r\n", p_header->length); + printf ("\tFormat: %u\r\n", p_header->format); + printf ("\tNum Tracks: %u\r\n", p_header->ntrcks); + printf ("\tDivision: %u\r\n", p_header->division); +} + |
