overall fixes; music included

master
Dmitry Maylarov 7 years ago
parent cc4996d463
commit ddbdad4bb9

@ -0,0 +1,7 @@
{
"folders": [
{
"path": "D:\\Folders\\Documents\\STM32\\Uberdevice"
}
]
}

@ -1,3 +1,5 @@
#ifndef __GAME_H
#define __GAME_H
#define MAX_PLAYERS 6 #define MAX_PLAYERS 6
#define TIMER_MAX 180 #define TIMER_MAX 180
#define TIMER_STEP 5 #define TIMER_STEP 5
@ -25,4 +27,5 @@ uint32_t GetCurrentPlayer();
uint32_t GetTimerValue(); uint32_t GetTimerValue();
void ChangeScore(int8_t delta); void ChangeScore(int8_t delta);
void ResetTurnTimer(); void ResetTurnTimer();
void NextPlayer(); void NextPlayer();
#endif

@ -32,6 +32,7 @@ extern "C" {
/* Private includes ----------------------------------------------------------*/ /* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */ /* USER CODE BEGIN Includes */
#include "stm32f1xx_hal_gpio.h"
#include <stdlib.h> #include <stdlib.h>
#include "lcd.h" #include "lcd.h"
#include "game.h" #include "game.h"

@ -0,0 +1,9 @@
#ifndef __MUSIC_H
#define __MUSIC_H
#include <stdint.h>
#include <stdbool.h>
void MusicPlay(void);
void MusicStop(void);
#endif

@ -1,5 +1,3 @@
#ifndef __GAME_H
#define __GAME_H
#include "game.h" #include "game.h"
void InitGameEngine() { void InitGameEngine() {
@ -60,5 +58,4 @@ void ResetTurnTimer() {
void NextPlayer() { void NextPlayer() {
game.currentPlayer = (game.currentPlayer + 1) % game.activePlayers; game.currentPlayer = (game.currentPlayer + 1) % game.activePlayers;
ResetTurnTimer(); ResetTurnTimer();
} }
#endif

@ -69,6 +69,7 @@ bool minusButton = false;
bool bigButton = false; bool bigButton = false;
static TimerHandle_t secondsTimerHandle = NULL; static TimerHandle_t secondsTimerHandle = NULL;
static TaskHandle_t xMusicHandle = NULL;
/* USER CODE END PV */ /* USER CODE END PV */
@ -499,7 +500,6 @@ void vTaskConfig(void *parameter) {
vTaskDelete(NULL); vTaskDelete(NULL);
} }
/*
void vTaskTurn(void *parameter) { void vTaskTurn(void *parameter) {
xTimerReset(secondsTimerHandle, 0); xTimerReset(secondsTimerHandle, 0);
@ -526,25 +526,15 @@ void vTaskTurn(void *parameter) {
xTaskCreate(vTaskOvertime, "vTaskOvertime", configMINIMAL_STACK_SIZE, NULL, 1, &xMusicHandle); xTaskCreate(vTaskOvertime, "vTaskOvertime", configMINIMAL_STACK_SIZE, NULL, 1, &xMusicHandle);
} }
vTaskDelayUntil(&xLastWakeTime,100); vTaskDelayUntil(&xLastWakeTime,100);
led2.Toggle();
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
#ifdef DEBUG
auto[minutes, seconds] = game.GetTimerValue();
buffer[0] = minutes;
buffer[1] = seconds;
buffer[2] = game.currentPlayer;
buffer[4] = game.playerScore[0];
buffer[5] = game.playerScore[1];
buffer[6] = game.playerScore[2];
usart.Send();
#endif // DEBUG
} }
xTimerStop(secondsTimerHandle, 0); xTimerStop(secondsTimerHandle, 0);
game.ResetTurnTimer(); ResetTurnTimer();
if (xMusicHandle) { if (xMusicHandle) {
vTaskDelete(xMusicHandle); vTaskDelete(xMusicHandle);
mp.Stop(); MusicStop();
xMusicHandle = NULL; xMusicHandle = NULL;
} }
vTaskDelete(NULL); vTaskDelete(NULL);
@ -555,7 +545,7 @@ void vTaskTurnEnd(void *parameter) {
int32_t delta = 0; int32_t delta = 0;
while (1) { while (1) {
if (bigButton) { if (bigButton) {
game.ChangeScore(delta); ChangeScore(delta);
break; break;
} }
else if (plusButton) else if (plusButton)
@ -568,8 +558,8 @@ void vTaskTurnEnd(void *parameter) {
} }
vTaskDelay(10); vTaskDelay(10);
} }
} }
game.NextPlayer(); NextPlayer();
xTaskCreate(vTaskTurn, "TaskTurn", configMINIMAL_STACK_SIZE, NULL, 1, NULL); xTaskCreate(vTaskTurn, "TaskTurn", configMINIMAL_STACK_SIZE, NULL, 1, NULL);
vTaskDelete(NULL); vTaskDelete(NULL);
} }
@ -577,13 +567,13 @@ void vTaskTurnEnd(void *parameter) {
void vTaskOvertime(void *parameter) { void vTaskOvertime(void *parameter) {
while (1) while (1)
{ {
led2.SetHigh(); HAL_GPIO_WritePin(LED2_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
mp.Play(tracks[3]); MusicPlay();
led2.SetLow(); HAL_GPIO_WritePin(LED2_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
vTaskDelay(1000); vTaskDelay(1000);
} }
} }
*/
void vTimerCallback(TimerHandle_t xTimer) { void vTimerCallback(TimerHandle_t xTimer) {
if (game.timerValue > 0) if (game.timerValue > 0)
game.timerValue--; game.timerValue--;

@ -0,0 +1,9 @@
#include "music.h"
void MusicPlay(void) {
}
void MusicStop(void) {
}

@ -22,7 +22,7 @@ TARGET = Uberdevice
# debug build? # debug build?
DEBUG = 1 DEBUG = 1
# optimization # optimization
OPT = -Og OPT = -Og
####################################### #######################################

Loading…
Cancel
Save