#ifndef __DRIVERHWPOWERSTATE_H #define __DRIVERHWPOWERSTATE_H #include "generalDefines.h" #include "stm32f1xx_hal.h" #include "stdbool.h" #define NoOfPowersSTATs 3 typedef struct { GPIO_TypeDef* Port; uint32_t ClkRegister; uint32_t Pin; uint32_t Mode; uint32_t Pull; } PowerStatePortStruct; extern const PowerStatePortStruct driverHWPorts[NoOfPowersSTATs]; typedef enum { P_STAT_POWER_ENABLE = 0, P_STAT_BUTTON_INPUT, P_STAT_CHARGE_DETECT } PowerStateIDTypedef; typedef enum { P_STAT_RESET = 0, P_STAT_SET } PowerStateStateTypedef; void driverHWPowerStateInit(void); void driverHWPowerStateSetOutput(PowerStateIDTypedef inputPort, PowerStateStateTypedef newState); bool driverHWPowerStateReadInput(PowerStateIDTypedef inputPort); #endif