From 73a76acef4aa14b042c9c56eef0fd19164afff42 Mon Sep 17 00:00:00 2001 From: sowgro Date: Mon, 22 Sep 2025 23:40:06 -0400 Subject: Submit endian converters --- project/Core/Src/Activties/midi_header.c | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 project/Core/Src/Activties/midi_header.c (limited to 'project/Core/Src/Activties/midi_header.c') diff --git a/project/Core/Src/Activties/midi_header.c b/project/Core/Src/Activties/midi_header.c new file mode 100644 index 0000000..de3dc68 --- /dev/null +++ b/project/Core/Src/Activties/midi_header.c @@ -0,0 +1,37 @@ +/* + * activity4.c + * + * Created on: Sep 16, 2025 + * Author: sowgro + */ + +#include "song.h" +#include +#include +#include + +typedef struct { + char chunk_type[4]; + uint32_t length; + uint16_t format; + uint16_t ntrcks; + uint16_t division; +} header; + +void 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); +} + -- cgit v1.2.3