#include <cstdio>

#include "FreeRTOS.h"
#include "task.h"

#include "main.h"
#include "keys_task.h"
#include "utils.h"

static const char* const TAG = "KEYS";
static uint16_t delay_ms = 500U;

//------------------------------------------------------------------------------

void keysTaskStart(void* argument)
{
	(void)argument;

	HAL_GPIO_WritePin(POWER_5V_EN_GPIO_Port, POWER_5V_EN_Pin, GPIO_PIN_SET);
	HAL_GPIO_WritePin(POWER_10V_EN_GPIO_Port, POWER_10V_EN_Pin, GPIO_PIN_SET);

	/*for (auto i = 0U; i < 5; i++)
	{
		HAL_GPIO_WritePin(BUZZER_GPIO_Port, BUZZER_Pin, GPIO_PIN_SET);
		tx_thread_sleep(10U);
		HAL_GPIO_WritePin(BUZZER_GPIO_Port, BUZZER_Pin, GPIO_PIN_RESET);
		tx_thread_sleep(100U);
	}*/

	while(1)
	{
		HAL_GPIO_TogglePin(RX1_LED_GPIO_Port, RX1_LED_Pin);
		//HAL_GPIO_WritePin(RX1_LED_GPIO_Port, RX1_LED_Pin, GPIO_PIN_RESET);
		//HAL_GPIO_WritePin(RX2_LED_GPIO_Port, RX2_LED_Pin, GPIO_PIN_RESET);

		vTaskDelay(delay_ms);

		//HAL_GPIO_WritePin(RX1_LED_GPIO_Port, RX1_LED_Pin, GPIO_PIN_SET);
		//HAL_GPIO_WritePin(RX2_LED_GPIO_Port, RX2_LED_Pin, GPIO_PIN_SET);

		//printThreadStackInfo(TAG);
	}
}

//------------------------------------------------------------------------------
