/*
 * psi_gpio.c
 *
 *  Created on: 21 nov. 2021
 *      Author: Jonatan
 */

#include "psi_gpio.h"

void pgi_gpio_set(pgi_gpio_pin_t *pin)
{
	HAL_GPIO_WritePin(pin->port, pin->pin, GPIO_PIN_SET);
}

void pgi_gpio_clear(pgi_gpio_pin_t *pin)
{
	HAL_GPIO_WritePin(pin->port, pin->pin, GPIO_PIN_RESET);
}

void pgi_gpio_toggle(pgi_gpio_pin_t *pin)
{
	HAL_GPIO_TogglePin(pin->port, pin->pin);
}

void pgi_gpio_write(pgi_gpio_pin_t *pin, pgi_gpio_pin_state_t ps)
{
	GPIO_PinState pstate;

	if(ps == PGI_GPIO_LOW)
	{
		pstate = GPIO_PIN_RESET;
	}
	else
	{
		pstate = GPIO_PIN_SET;
	}

	HAL_GPIO_WritePin(pin->port, pin->pin, pstate);
}
