summaryrefslogtreecommitdiff
path: root/project/Core/Src/Project
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-12-12 00:25:31 -0500
committersowgro <tpoke.ferrari@gmail.com>2025-12-12 00:25:31 -0500
commit2fe47fb3bd700acebf07cd777e3a1ecb49fb9f46 (patch)
tree53a470470b92acbc417de577f12ebf68dfbcd17a /project/Core/Src/Project
parent29f69b5b7831c846cea1f61a7de4920fafa97ede (diff)
download340-repo-Sowgro-2fe47fb3bd700acebf07cd777e3a1ecb49fb9f46.tar.gz
340-repo-Sowgro-2fe47fb3bd700acebf07cd777e3a1ecb49fb9f46.tar.bz2
340-repo-Sowgro-2fe47fb3bd700acebf07cd777e3a1ecb49fb9f46.zip
reduce warnings, try to get passive speaker to work
Diffstat (limited to '')
-rw-r--r--project/Core/Src/Project/player.c12
-rw-r--r--project/Core/Src/Project/player_actions.c3
-rw-r--r--project/Core/Src/Project/song_info.c3
3 files changed, 6 insertions, 12 deletions
diff --git a/project/Core/Src/Project/player.c b/project/Core/Src/Project/player.c
index 0925483..f9ffbce 100644
--- a/project/Core/Src/Project/player.c
+++ b/project/Core/Src/Project/player.c
@@ -11,18 +11,12 @@
#include "hw8.h"
#include "activity4.h"
#include "song_info.h"
+#include "player.h"
#define NOTE_OFF_EVENT (0)
#define NOTE_ON_EVENT (1)
#define KEY_PRESSURE (2)
-typedef struct {
- uint8_t ev_type;
- uint32_t abs_time;
- uint8_t key_number;
- uint8_t value;
-} note_event_t;
-
void parse_song(uint8_t *p_song) {
header_t header;
header = get_header(p_song);
@@ -37,7 +31,7 @@ void parse_song(uint8_t *p_song) {
}
}
-uint8_t parse_track(uint8_t *p_song, note_event_t *events) {
+uint8_t *parse_track(uint8_t *p_song, note_event_t *events) {
p_song += 4; // skip MTrk
uint32_t MTrk_len = convert_to_uint32(p_song);
p_song += 4;
@@ -76,7 +70,7 @@ uint8_t parse_track(uint8_t *p_song, note_event_t *events) {
events[curEvent++] = note;
}
- events[curEvent] = 0; // null terminate array
+ events[curEvent] = NULL_EVENT; // null terminate array
return p_song;
}
diff --git a/project/Core/Src/Project/player_actions.c b/project/Core/Src/Project/player_actions.c
index 72b8801..01aff5e 100644
--- a/project/Core/Src/Project/player_actions.c
+++ b/project/Core/Src/Project/player_actions.c
@@ -51,7 +51,8 @@ void player_next() {
current_song = 0;
void *song = get_song(current_song).p_song;
- song_info_t song_info = get_song_info(song);
+ song_info_t song_info;
+ get_song_info(song, &song_info);
printf("Song #%i\r\n", current_song + 1);
if (song_info.title)
diff --git a/project/Core/Src/Project/song_info.c b/project/Core/Src/Project/song_info.c
index 2990da0..5be94e5 100644
--- a/project/Core/Src/Project/song_info.c
+++ b/project/Core/Src/Project/song_info.c
@@ -11,13 +11,12 @@
#include "song_info.h"
#include "endian_converters.h"
-uint8_t get_song_info(uint8_t *p_song, song_info_t *ret) {
+uint8_t *get_song_info(uint8_t *p_song, song_info_t *ret) {
ret->copyright = 0;
ret->tempo = 0;
ret->title = 0;
p_song += 4; // move past MTrk label
-
uint32_t MTrk_len = convert_to_uint32(p_song); // read in size of MTrk
p_song += sizeof(MTrk_len);