AM62Ax MCU+ SDK  10.01.00
esm.h File Reference

Introduction

This file contains the prototypes of the APIs present in the device abstraction layer file of ESM. This also contains some related macros.

Go to the source code of this file.

ESM Operation Mode type

#define ESM_OPERATION_MODE_NORMAL   0x0U
 
#define ESM_OPERATION_MODE_ERROR_FORCE   0xAu
 
typedef uint32_t esmOperationMode_t
 ESM Operation Mode type. More...
 

ESM Error Output Mode type

#define SDL_ESM_LVL_PINOUT   0x0U
 
#define SDL_ESM_PWM_PINOUT   0xFu
 
typedef uint32_t esmErrOutMode_t
 ESM Error Output Mode type. More...
 

ESM Interrupt Type to select level for interrupt.

#define ESM_INTR_TYPE_CONFIG_ERROR   (0x0u)
 
#define ESM_INTR_TYPE_LOW_PRIO_ERROR   (0x1u)
 
#define ESM_INTR_TYPE_HIGH_PRIO_ERROR   (0x2u)
 
typedef uint32_t esmIntrType_t
 

ESM Interrupt Priority Levels

#define ESM_INTR_PRIORITY_LEVEL_LOW   (0x0u)
 
#define ESM_INTR_PRIORITY_LEVEL_HIGH   (0x1u)
 
typedef uint32_t esmIntrPriorityLvl_t
 

Data Structures

struct  esmRevisionId_t
 Structure for accessing Revision ID of ESM module. More...
 
struct  esmInfo_t
 Structure for accessing information register of ESM module. More...
 
struct  esmGroupIntrStatus_t
 Structure to access the status of interrupts belonging to a High or Low priority interrupt. More...
 
struct  SDL_esmRegs_ERR_GRP_STATIC
 ESM Error Group static registers list. More...
 
struct  SDL_ESM_staticRegs
 ESM static registers list. More...
 

Macros

#define ESM_NUMBER_OF_GROUP_REGS   (32u)
 ESM Operation Mode type. More...
 

Functions

int32_t SDL_ESM_setMode (uint32_t baseAddr, esmOperationMode_t mode)
 This API is used to configure operation mode of ESM module. More...
 
int32_t SDL_ESM_getPinMode (uint32_t baseAddr, esmOperationMode_t *pMode)
 This API is used to read operation mode of ESM module. More...
 
int32_t SDL_ESM_getErrorOutMode (uint32_t baseAddr, esmOperationMode_t *pMode)
 This API is used to read Error Out mode (LVL or PWM) of ESM module. More...
 
int32_t SDL_ESM_setInfluenceOnErrPin (uint32_t baseAddr, uint32_t intrSrc, bool enable)
 This API is used to set the influence of interrupt on nERROR pin. More...
 
int32_t SDL_ESM_getInfluenceOnErrPin (uint32_t baseAddr, uint32_t intrSrc, uint32_t *pInfluence)
 This API is used to get the influence of interrupt on nERROR pin. More...
 
int32_t SDL_ESM_setErrPinLowTimePreload (uint32_t baseAddr, uint32_t lowTime)
 This API is used to configure the low time counter pre-load value. More...
 
int32_t SDL_ESM_PWML_setErrPinLowTimePreload (uint32_t baseAddr, uint32_t lowTime)
 This API is used to configure the low time counter pre-load value for PWM error. More...
 
int32_t SDL_ESM_PWMH_setErrPinHighTimePreload (uint32_t baseAddr, uint32_t highTime)
 This API is used to configure the high time counter pre-load value for PWM error. More...
 
int32_t SDL_ESM_getErrPinLowTimePreload (uint32_t baseAddr, uint32_t *pLowTime)
 This API is used to read the low time counter pre-load value. More...
 
int32_t SDL_ESM_PWML_getErrPinLowTimePreload (uint32_t baseAddr, uint32_t *pPinPWMLCntrPre)
 This API is used to read the low time counter pre-load value for PWM error. More...
 
int32_t SDL_ESM_PWMH_getErrPinHighTimePreload (uint32_t baseAddr, uint32_t *pPinPWMHCntrPre)
 This API is used to read the High time counter pre-load value for PWM error. More...
 
int32_t SDL_ESM_getCurrErrPinLowTimeCnt (uint32_t baseAddr, uint32_t *pPinCntrPre)
 This API is used to get the current value of low time counter. More...
 
int32_t SDL_ESM_PWML_getCurrErrPinLowTimeCnt (uint32_t baseAddr, uint32_t *pLowPWMLTime)
 This API is used to get the current value of low time counter for PWM error. More...
 
int32_t SDL_ESM_PWMH_getCurrErrPinHighTimeCnt (uint32_t baseAddr, uint32_t *pHighPWMHTime)
 This API is used to get the current value of high time counter for PWM error. More...
 
int32_t SDL_ESM_getErrPinStatus (uint32_t baseAddr, uint32_t *pStatus)
 This API is used to get the current status of nERROR pin. More...
 
int32_t SDL_ESM_resetErrPin (uint32_t baseAddr)
 This API is used to reset the nERROR pin. More...
 
int32_t SDL_ESM_isEnableCfgIntr (uint32_t baseAddr, uint32_t group, uint32_t *pEnStatus)
 This API is used check if the configuration interrupt for a group is enabled/disabled. More...
 
int32_t SDL_ESM_isEnableIntr (uint32_t baseAddr, uint32_t intrSrc, uint32_t *pEnStatus)
 This API is used check if interrupt is enabled/disabled. More...
 
int32_t SDL_ESM_disableCfgIntr (uint32_t baseAddr, uint32_t intrNum)
 This API is used to disable the configuration interrupt. More...
 
int32_t SDL_ESM_enableCfgIntr (uint32_t baseAddr, uint32_t group)
 This API is used to enable the configuration interrupt. More...
 
int32_t SDL_ESM_enableIntr (uint32_t baseAddr, uint32_t intrNum)
 This API is used to enable interrupt. More...
 
int32_t SDL_ESM_disableIntr (uint32_t baseAddr, uint32_t intrNum)
 This API is used to disable interrupt. More...
 
int32_t SDL_ESM_setIntrPriorityLvl (uint32_t baseAddr, uint32_t intrSrc, esmIntrPriorityLvl_t intrPriorityLvl)
 This API is used to set interrupt level. More...
 
int32_t SDL_ESM_getIntrPriorityLvl (uint32_t baseAddr, uint32_t intrSrc, esmIntrPriorityLvl_t *pIntrPriorityLvl)
 This API is used to get interrupt level. More...
 
int32_t SDL_ESM_getCfgIntrStatus (uint32_t baseAddr, uint32_t group, uint32_t *pStaus)
 This API is used to get the configuration interrupt status for a group. More...
 
int32_t SDL_ESM_getIntrStatus (uint32_t baseAddr, uint32_t intrSrc, uint32_t *pStaus)
 This API is used to get the interrupt status. More...
 
int32_t SDL_ESM_setCfgIntrStatusRAW (uint32_t baseAddr, uint32_t group)
 This API is used to set the configuration interrupt RAW status for a group. More...
 
int32_t SDL_ESM_setIntrStatusRAW (uint32_t baseAddr, uint32_t intrSrc)
 This API is used to set the interrupt RAW status. More...
 
int32_t SDL_ESM_getIntrStatusRAW (uint32_t baseAddr, uint32_t intrSrc, uint32_t *pStatus)
 This API is used to get the interrupt RAW status. More...
 
int32_t SDL_ESM_getGroupIntrStatus (uint32_t baseAddr, esmIntrPriorityLvl_t intrPrioType, esmGroupIntrStatus_t *pIntrstatus)
 This API is used to get the interrupt/error status for a group. This will also return highest pending interrupt for pulse as well as for level interrupts. More...
 
int32_t SDL_ESM_clearCfgIntrStatus (uint32_t baseAddr, uint32_t group)
 This API is used to clear the configuration interrupt status. More...
 
int32_t SDL_ESM_clearIntrStatus (uint32_t baseAddr, uint32_t intrSrc)
 This API is used to clear the interrupt status. More...
 
int32_t SDL_ESM_writeEOI (uint32_t baseAddr, esmIntrType_t intrType)
 This API is used to write EOI. More...
 
int32_t SDL_ESM_getRevisionId (uint32_t baseAddr, esmRevisionId_t *pRevId)
 This API is used get the ESM revision ID. More...
 
int32_t SDL_ESM_getInfo (uint32_t baseAddr, esmInfo_t *pInfo)
 This API is used read the ESM information register. More...
 
int32_t SDL_ESM_getGlobalIntrEnabledStatus (uint32_t baseAddr, uint32_t *pStatus)
 This API is used read the ESM information register. More...
 
int32_t SDL_ESM_enableGlobalIntr (uint32_t baseAddr)
 This API is used to enable Global control of interrupt. More...
 
int32_t SDL_ESM_disableGlobalIntr (uint32_t baseAddr)
 This API is used to disable Global control of interrupt. More...
 
int32_t SDL_ESM_reset (uint32_t baseAddr)
 This API is used to reset ESM module. Reset is used to reset all enables and raw status bits. More...