summaryrefslogtreecommitdiff
path: root/project/Core/Src/Project/player_actions.c
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-11-05 14:37:53 -0500
committersowgro <tpoke.ferrari@gmail.com>2025-11-05 14:37:53 -0500
commitab8b31b6af51ac46880d852134267905fc57d5ee (patch)
tree5f3d953d5a74cb833269accd30938135c00388c0 /project/Core/Src/Project/player_actions.c
parentfc84eed99d54618377ec7b4c5bbd8f803814980c (diff)
download340-repo-Sowgro-ab8b31b6af51ac46880d852134267905fc57d5ee.tar.gz
340-repo-Sowgro-ab8b31b6af51ac46880d852134267905fc57d5ee.tar.bz2
340-repo-Sowgro-ab8b31b6af51ac46880d852134267905fc57d5ee.zip
Fix pause
Diffstat (limited to 'project/Core/Src/Project/player_actions.c')
-rw-r--r--project/Core/Src/Project/player_actions.c38
1 files changed, 28 insertions, 10 deletions
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++;
}