/* * player_actions.c * * Created on: Oct 17, 2025 * Author: sowgro */ #include #include #include "player_actions.h" #include "song_info.h" #include "song.h" #include "LED.h" #include "systick.h" 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"); printf("PLAY - Play the song (LED on)\r\n"); printf("PAUSE - Pause the song (LED flash)\r\n"); printf("STOP - Stop the song (LED off)\r\n"); } void player_next() { static int current_song = -1; current_song++; if (current_song > 4) current_song = 0; void *song = get_song(current_song).p_song; song_info_t song_info = get_song_info(song); printf("Song #%i\r\n", current_song + 1); if (song_info.title) printf("Title: %s\r\n", song_info.title); if (song_info.copyright) printf("Copyright: %s\r\n", song_info.copyright); if (song_info.tempo) printf("Tempo: %i\r\n", song_info.tempo); } void player_play() { state = PLAYING_STATE; LED_On(); } void player_pause() { state = PAUSED_STATE; init_systick(); } void player_stop() { state = STOPPED_STATE; LED_Off(); } void SysTick_Handler2(int count) { if (state != PAUSED_STATE) return; if(!(count & 1023)) { LED_Toggle(); } }