diff options
Diffstat (limited to 'project/Core/Src/Project/player_actions.c')
| -rw-r--r-- | project/Core/Src/Project/player_actions.c | 38 |
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++; } |
