Files
F407-EXTIHandler/Core/Src/Components/GPIO_Pin_STM32.cpp
2024-04-20 14:29:20 -03:00

54 lines
987 B
C++

/*
* GPIO_Pin_STM32.cpp
*
* Created on: Feb 10, 2024
* Author: Gabriel
*/
#include "GPIO_Pin_STM32.hpp"
GPIO_Pin_STM32::GPIO_Pin_STM32(GPIO_TypeDef *gpio_port, uint16_t gpio_pin) :
gpio_port(gpio_port), gpio_pin(gpio_pin){
}
GPIO_Pin_STM32::~GPIO_Pin_STM32() {
}
int32_t GPIO_Pin_STM32::init() {
return 0;
}
int32_t GPIO_Pin_STM32::read(uint8_t* state) {
*state = (uint8_t)HAL_GPIO_ReadPin(gpio_port, gpio_pin);
return 0;
}
int32_t GPIO_Pin_STM32::write(uint8_t state) {
HAL_GPIO_WritePin(gpio_port, gpio_pin, (GPIO_PinState)state);
return 0;
}
int32_t GPIO_Pin_STM32::set() {
HAL_GPIO_WritePin(gpio_port, gpio_pin, GPIO_PIN_SET);
return 0;
}
int32_t GPIO_Pin_STM32::reset() {
HAL_GPIO_WritePin(gpio_port, gpio_pin, GPIO_PIN_RESET);
return 0;
}
int32_t GPIO_Pin_STM32::toggle() {
HAL_GPIO_TogglePin(gpio_port, gpio_pin);
return 0;
}
GPIO_TypeDef* GPIO_Pin_STM32::getPort() {
return gpio_port;
}
uint16_t GPIO_Pin_STM32::getPin() {
return gpio_pin;
}