/* * @file hv_drv_Gpio.h * @brief Header file of GPIO module. * * @verbatim * ============================================================================== * ##### How to use ##### * ============================================================================== * (+) Use () * * @endverbatim * @author HiView SoC Software Team * @version 1.0.0 * @date 2023-05-30 */ #ifndef _HV_DRV_GPIO_H #define _HV_DRV_GPIO_H #include "hv_cal_Gpio.h" /** @defgroup DRV_GPIO DRV_GPIO * drv gpio functions * @{ */ /**@brief Enable the designated gpio interrupt * @param[in] ucPinIdx Specified GPIO pin */ VOID Hv_Drv_Gpio_EnableInt(UCHAR8 ucPinIdx); /**@brief Disable the designated gpio interrupt * @param[in] ucPinIdx Specified GPIO pin */ VOID Hv_Drv_Gpio_DisableInt(UCHAR8 ucPinIdx); /**@brief Set gpio pin interrupt trigger type * @param[in] ucPinIdx Specified GPIO pin, enPull Specified pull acion @ref GpioIntTrigMode */ VOID Hv_Drv_Gpio_SetIntTriggerMode(UCHAR8 ucPinIdx, GpioIntTrigMode enIntTrigMode); /**@brief Set gpio pin interrupt callback * @param ucPinIdx Specified GPIO pin, pfCallBack Specified callback @ref GpioIntCallBack */ VOID Hv_Drv_Gpio_SetIntCallBack(UCHAR8 ucPinIdx, GpioIntCallBack pfCallBack); /** @brief De-initializes the gpio module interrupts */ VOID Hv_Drv_Gpio_CleanupInt(VOID); /**@brief Get interrupt state of designated gpio * @param[in] ucPinIdx Specified GPIO pin */ BOOL Hv_Drv_Gpio_GetIntState(UCHAR8 ucPinIdx); /**@brief Clear the gpio interrupt status * @param[in]: ucPinIdx Specified GPIO pin */ VOID Hv_Drv_Gpio_ClrIntState(UCHAR8 ucPinIdx); /**@brief Set gpio pin direction * @param[in] ucPinIdx Specified GPIO pin, enPull Specified pull acion @ref GpioDir */ VOID Hv_Drv_Gpio_SetDirection(UCHAR8 ucPinIdx, GpioDir enDir); /**@brief Get gpio pin direction * @param[in] ucPinIdx Specified GPIO pin * @param[out] @ref GpioDir */ GpioDir Hv_Drv_Gpio_GetDirection(UCHAR8 ucPinIdx); /**@brief Set gpio pin level * @param ucPinIdx Specified GPIO pin, enPull Specified pull acion @ref enLevel * @param enLevel high(1) or low(0) level */ VOID Hv_Drv_Gpio_SetPinLevel(UCHAR8 ucPinIdx, GpioLevel enLevel); /**@brief Get gpio pin out level * @param[in] :ucPinIdx Specified GPIO pin * @param[out]: state high(1)/low(0)/invalid(2) */ GpioLevel Hv_Drv_Gpio_GetPinLevel(UCHAR8 ucPinIdx); /** @} */ #endif