54 lines
987 B
C++
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;
|
|
}
|