PeripheralDriver_Flagchip_F.../Inc/module_driver_hrpwm.h

80 lines
2.3 KiB
C

/**
* @file module_driver_hrpwm.h
* @author flagchip
* @brief HRPWM driver type definition and API
* @version 2.0.0
* @date 2024-11-07
*
* SDK Version: 2.6.0
*
* @copyright Copyright (c) 2020-2024 Flagchip Semiconductors Co., Ltd.
*
*/
/* ********************************************************************************
* Revision History:
*
* Version Date Initials CR# Descriptions
* --------- ---------- ------------ ---------- ---------------
* 0.1.0 2023-12-15 Flagchip070 N/A First version for FC7300
* 2.0.0 2024-10-12 Flagchip070 N/A Change version and release
******************************************************************************** */
#ifndef _DRIVER_FC500_DRIVER_HRPWM_H_
#define _DRIVER_FC500_DRIVER_HRPWM_H_
#include "HwA_hrpwm.h"
#if defined(HRPWM_INSTANCE_COUNT) && (HRPWM_INSTANCE_COUNT > 0U)
/**
* @addtogroup module_driver_hrpwm
* @{
*/
#if defined(__cplusplus)
extern "C" {
#endif
/**
* @name EFTU_DTM API Service IDs
*
* @{
*/
#define HRPWM_INIT_CHANNEL_ID 0U
#define HRPWM_DISABLE_CHANNEL_ID 1U
#define HRPWM_BYPASS_CHANNEL_ID 2U
/** @}*/
/**
* @name EFTU_DTM Dev Error Code
* @brief Error Code of calling EFTU_DTM apis
*
* @{
*/
#define HRPWM_E_PARAM_CHANNEL 0U
#define HRPWM_E_PARAM_INVALID 1U
/** @}*/
/**
* @brief Selection of Fault Release by Software Control
*
*/
typedef enum
{
HRPWM_FAULT_RELEASE_BY_EFTU_SIGNAL, /* The fault bypass release occurs by a fault signal from EFTU,
without software. */
HRPWM_FAULT_RELEASE_BY_SOFTWARE, /* The fault bypass release occurs by software writing FAULT_STATUS. */
HRPWM_FAULT_DISABLE, /* The HRPWM fault disable */
} HRPWM_FaultReleaseType;
void HRPWM_Init(bool bUseInternalLDO, bool bWaitReady);
void HRPWM_DeInit(void);
bool HRPWM_GetReady(void);
void HRPWM_EnableChannel(uint8_t u8Channel, HRPWM_FaultReleaseType eFaultRelease);
void HRPWM_DisableChannel(uint8_t u8Channel);
void HRPWM_BypassChannel(uint8_t u8Channel);
#define HRPWM_SoftwareReleaseFault(m) HRPWM_HWA_ClearFaultStatus(HRPWM, m)
#define HRPWM_GetFaultStatus() HRPWM_HWA_GetFaultStatus(HRPWM)
#endif /* defined(HRPWM_INSTANCE_COUNT) && (HRPWM_INSTANCE_COUNT > 0U) */
#endif /* _DRIVER_FC500_DRIVER_HRPWM_H_ */