/*
 * bsp_GPIO.c
 *
 *  Created on: Oct 26, 2023
 *      Author: shiya
 */
#include "BSP/bsp_GPIO.h"

uint8_t GF_BSP_GPIO_Init()
{

	return 1;
}

void GF_BSP_GPIO_SetIO(uint8_t IO_Index,uint8_t Level)
{
	GPIO_PinState PinState;
	if(Level == 0)
		PinState=GPIO_PIN_RESET;
	else
		PinState=GPIO_PIN_SET;

	switch(IO_Index)
	{
	case 0:
		HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, PinState);
		break;
	case 1:
		HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, PinState);
		break;
	case 2:
		HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, PinState);
		break;
	case 3:
		HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, PinState);
		break;
	case 4:
		HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, PinState);
		break;
	case 5:
		HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, PinState);
		break;
	}
}

uint8_t GF_BSP_GPIO_ReadIO(uint8_t IO_Index)
{
	GPIO_PinState PinState;
	switch(IO_Index)
	{
	case 0:
		PinState = HAL_GPIO_ReadPin(IN_0_GPIO_Port, IN_0_Pin);
		break;
	case 1:
		PinState = HAL_GPIO_ReadPin(IN_1_GPIO_Port, IN_1_Pin);
		break;
	case 2:
		PinState = HAL_GPIO_ReadPin(IN_2_GPIO_Port, IN_2_Pin);
		break;
	case 3:
		PinState = HAL_GPIO_ReadPin(IN_3_GPIO_Port, IN_3_Pin);
		break;
	case 4:
		PinState = HAL_GPIO_ReadPin(IN_4_GPIO_Port, IN_4_Pin);
		break;
	case 5:
		PinState = HAL_GPIO_ReadPin(IN_5_GPIO_Port, IN_5_Pin);
		break;
	}
	return((uint8_t)PinState);
}
