From ab8b31b6af51ac46880d852134267905fc57d5ee Mon Sep 17 00:00:00 2001 From: sowgro Date: Wed, 5 Nov 2025 14:37:53 -0500 Subject: Fix pause --- project/Core/Src/Project/player_actions.c | 38 +++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 10 deletions(-) (limited to 'project/Core/Src/Project/player_actions.c') diff --git a/project/Core/Src/Project/player_actions.c b/project/Core/Src/Project/player_actions.c index 39b62df..dbb7859 100644 --- a/project/Core/Src/Project/player_actions.c +++ b/project/Core/Src/Project/player_actions.c @@ -13,7 +13,17 @@ #include "LED.h" #include "systick.h" -void help() { +static uint8_t state = STOPPED_STATE; + +uint8_t player_get_state() { + return state; +} + +void player_set_state(uint8_t newState) { + state = newState; +} + +void player_help() { printf("\r***REMOTE LED CONTROL MENU***\r\n"); printf("Available User Commands:\r\n"); printf("NEXT - Show next song info\r\n"); @@ -22,7 +32,7 @@ void help() { printf("STOP - Stop the song (LED off)\r\n"); } -void next() { +void player_next() { static int current_song = -1; current_song++; if (current_song > 4) @@ -40,20 +50,28 @@ void next() { printf("Tempo: %i\r\n", song_info.tempo); } -void play() { +void player_play() { + state = PLAYING_STATE; LED_On(); } -void pause() { +void player_pause() { + state = PAUSED_STATE; init_systick(); } -void pause_loop() { - if (check_systick()) { - LED_Toggle(); - } +void player_stop() { + state = STOPPED_STATE; + LED_Off(); } -void stop() { - LED_Off(); +void SysTick_Handler() { + if (state != PAUSED_STATE) + return; + + static int count = 0; + if(!(count & 1023)) { + LED_Toggle(); + } + count++; } -- cgit v1.2.3