HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
Loading...
Searching...
No Matches
StmGpio.cpp File Reference

STM32 GPIO wrapper implementation — full STM32 HAL integration. More...

#include "StmGpio.h"
#include <cstring>
Include dependency graph for StmGpio.cpp:

Classes

struct  HF_GPIO_InitTypeDef
 

Namespaces

namespace  anonymous_namespace{StmGpio.cpp}
 

Enumerations

enum  HF_GPIO_PinState { GPIO_PIN_RESET_VAL = 0 , GPIO_PIN_SET_VAL }
 

Functions

uint32_t HAL_GPIO_ReadPin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 
void HAL_GPIO_WritePin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, uint32_t PinState)
 
void HAL_GPIO_TogglePin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 
void HAL_GPIO_Init (GPIO_TypeDef *GPIOx, HF_GPIO_InitTypeDef *GPIO_Init)
 
void HAL_NVIC_EnableIRQ (int IRQn)
 
void HAL_NVIC_DisableIRQ (int IRQn)
 
void HAL_NVIC_SetPriority (int IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
 

Variables

constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioModeInput = 0x00000000U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioModeOutputPP = 0x00000001U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioModeOutputOD = 0x00000011U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioModeItRising = 0x10110000U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioModeItFalling = 0x10210000U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioModeItRisFall = 0x10310000U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioPullNone = 0x00000000U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioPullUp = 0x00000001U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioPullDown = 0x00000002U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioSpeedLow = 0x00000000U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioSpeedMedium = 0x00000001U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioSpeedHigh = 0x00000002U
 
constexpr uint32_t anonymous_namespace{StmGpio.cpp}::kGpioSpeedVeryHigh = 0x00000003U
 

Detailed Description

STM32 GPIO wrapper implementation — full STM32 HAL integration.

Delegates all GPIO operations to STM32 HAL functions. Pin initialization is done by CubeMX; this wrapper manages runtime state changes and provides the BaseGpio interface for manager-level consumers.

Author
HardFOC
Date
2025

Enumeration Type Documentation

◆ HF_GPIO_PinState

Enumerator
GPIO_PIN_RESET_VAL 
GPIO_PIN_SET_VAL 

Function Documentation

◆ HAL_GPIO_Init()

void HAL_GPIO_Init ( GPIO_TypeDef * GPIOx,
HF_GPIO_InitTypeDef * GPIO_Init )
extern

◆ HAL_GPIO_ReadPin()

uint32_t HAL_GPIO_ReadPin ( GPIO_TypeDef * GPIOx,
uint16_t GPIO_Pin )
extern

◆ HAL_GPIO_TogglePin()

void HAL_GPIO_TogglePin ( GPIO_TypeDef * GPIOx,
uint16_t GPIO_Pin )
extern

◆ HAL_GPIO_WritePin()

void HAL_GPIO_WritePin ( GPIO_TypeDef * GPIOx,
uint16_t GPIO_Pin,
uint32_t PinState )
extern

◆ HAL_NVIC_DisableIRQ()

void HAL_NVIC_DisableIRQ ( int IRQn)
extern

◆ HAL_NVIC_EnableIRQ()

void HAL_NVIC_EnableIRQ ( int IRQn)
extern

◆ HAL_NVIC_SetPriority()

void HAL_NVIC_SetPriority ( int IRQn,
uint32_t PreemptPriority,
uint32_t SubPriority )
extern