CAT2 Peripheral Driver Library

Functions

cy_en_sysfault_status_t Cy_SysFault_Init (FAULT_STRUCT_Type *base, cy_stc_sysfault_config_t *config)
 Initializes the SysFault for recording faults. More...
 
__STATIC_INLINE void Cy_SysFault_ClearStatus (FAULT_STRUCT_Type *base)
 Clears the status register. More...
 
cy_en_sysfault_source_t Cy_SysFault_GetErrorSource (FAULT_STRUCT_Type *base)
 Returns the error source for the Fault. More...
 
__STATIC_INLINE uint32_t Cy_SysFault_GetFaultData (FAULT_STRUCT_Type *base, cy_en_sysfault_data_t dataSet)
 Returns the Fault information for the provided dataSet. More...
 
uint32_t Cy_SysFault_GetPendingFault (FAULT_STRUCT_Type *base, cy_en_sysfault_set_t pendingFault)
 Returns not captured sources of the pending fault. More...
 
__STATIC_INLINE void Cy_SysFault_SetMaskByIdx (FAULT_STRUCT_Type *base, cy_en_sysfault_source_t sourceIdx)
 Enable the Fault to be captured. More...
 
__STATIC_INLINE void Cy_SysFault_ClearMaskByIdx (FAULT_STRUCT_Type *base, cy_en_sysfault_source_t sourceIdx)
 Disable the faults to be captured. More...
 
__STATIC_INLINE uint32_t Cy_SysFault_GetInterruptStatus (FAULT_STRUCT_Type *base)
 Returns the status of the interrupt. More...
 
__STATIC_INLINE void Cy_SysFault_ClearInterrupt (FAULT_STRUCT_Type *base)
 Clears Active Interrupt Source. More...
 
__STATIC_INLINE void Cy_SysFault_SetInterrupt (FAULT_STRUCT_Type *base)
 Triggers an interrupt via a software write. More...
 
__STATIC_INLINE void Cy_SysFault_SetInterruptMask (FAULT_STRUCT_Type *base)
 Sets an interrupt mask. More...
 
__STATIC_INLINE void Cy_SysFault_ClearInterruptMask (FAULT_STRUCT_Type *base)
 Clears an interrupt mask. More...
 
__STATIC_INLINE uint32_t Cy_SysFault_GetInterruptMask (FAULT_STRUCT_Type *base)
 Returns the interrupt mask. More...
 
__STATIC_INLINE uint32_t Cy_SysFault_GetInterruptStatusMasked (FAULT_STRUCT_Type *base)
 Returns whether masked interrupt triggered the interrupt. More...
 

Detailed Description

Function Documentation

◆ Cy_SysFault_Init()

cy_en_sysfault_status_t Cy_SysFault_Init ( FAULT_STRUCT_Type *  base,
cy_stc_sysfault_config_t config 
)

Initializes the SysFault for recording faults.

Parameters
baseThe pointer to a Fault structure instance.
configThe pointer to a Configuration structure cy_stc_sysfault_config_t.
Returns
Fault status. Refer cy_en_sysfault_status_t
Function Usage
/* Scenario: Configures the SysFault for recording faults. */
/* SysFault interrupt priority */
#define SYSFAULT_INTR_PRIORITY (2UL)
#define SYSFAULT_INTR_NUM ((IRQn_Type) cpuss_interrupt_fault_0_IRQn)
/* SysFault config */
cy_stc_sysfault_config_t sysfaultConfig =
{
.resetEnable = false,
.outputEnable = true,
.triggerEnable = false,
};
/* Configure Interrupt for SysFault structure */
cy_stc_sysint_t sysfaultIntrConfig =
{
.intrSrc = SYSFAULT_INTR_NUM,
.intrPriority = SYSFAULT_INTR_PRIORITY
};
/*********************************************************************/
/***** Fault report settings *****/
/*********************************************************************/
Cy_SysFault_ClearStatus(FAULT_STRUCT0); // clear status
Cy_SysFault_SetMaskByIdx(FAULT_STRUCT0, SRSS_FAULT_CRWDT); // enable Fault CRWDT
cy_en_sysfault_status_t status = Cy_SysFault_Init(FAULT_STRUCT0, &sysfaultConfig);
/*********************************************************************/
/***** Interrupt settings *****/
/*********************************************************************/
(void) Cy_SysInt_Init(&sysfaultIntrConfig, &irqFaultHandler);
NVIC_EnableIRQ(SYSFAULT_INTR_NUM);
/* Triggers an interrupt via a software write.*/
Cy_SysFault_SetInterrupt(FAULT_STRUCT0);

◆ Cy_SysFault_ClearStatus()

__STATIC_INLINE void Cy_SysFault_ClearStatus ( FAULT_STRUCT_Type *  base)

Clears the status register.

Parameters
baseThe pointer to a Fault structure instance.
Function Usage
/* Scenario: Configures the SysFault for recording faults. */
/* SysFault interrupt priority */
#define SYSFAULT_INTR_PRIORITY (2UL)
#define SYSFAULT_INTR_NUM ((IRQn_Type) cpuss_interrupt_fault_0_IRQn)
/* SysFault config */
cy_stc_sysfault_config_t sysfaultConfig =
{
.resetEnable = false,
.outputEnable = true,
.triggerEnable = false,
};
/* Configure Interrupt for SysFault structure */
cy_stc_sysint_t sysfaultIntrConfig =
{
.intrSrc = SYSFAULT_INTR_NUM,
.intrPriority = SYSFAULT_INTR_PRIORITY
};
/*********************************************************************/
/***** Fault report settings *****/
/*********************************************************************/
Cy_SysFault_ClearStatus(FAULT_STRUCT0); // clear status
Cy_SysFault_SetMaskByIdx(FAULT_STRUCT0, SRSS_FAULT_CRWDT); // enable Fault CRWDT
cy_en_sysfault_status_t status = Cy_SysFault_Init(FAULT_STRUCT0, &sysfaultConfig);
/*********************************************************************/
/***** Interrupt settings *****/
/*********************************************************************/
(void) Cy_SysInt_Init(&sysfaultIntrConfig, &irqFaultHandler);
NVIC_EnableIRQ(SYSFAULT_INTR_NUM);
/* Triggers an interrupt via a software write.*/
Cy_SysFault_SetInterrupt(FAULT_STRUCT0);

◆ Cy_SysFault_GetErrorSource()

cy_en_sysfault_source_t Cy_SysFault_GetErrorSource ( FAULT_STRUCT_Type *  base)

Returns the error source for the Fault.

Parameters
baseThe pointer to a Fault structure instance.
Returns
Fault source.
Function Usage
/* Scenario: Handle the faults generated and get the fault data. */
/* Returns the status of the interrupt for the fault structure */
uint32_t intrStatus = Cy_SysFault_GetInterruptStatus(FAULT_STRUCT0);
/* Returns the interrupt mask. */
uint32_t intrMask = Cy_SysFault_GetInterruptMask(FAULT_STRUCT0);
/* Returns whether masked interrupt and triggered the interrupt are same. */
uint32_t intrMskdStatus = Cy_SysFault_GetInterruptStatusMasked(FAULT_STRUCT0);
cy_en_sysfault_source_t sysfaultSource = Cy_SysFault_GetErrorSource(FAULT_STRUCT0);
if(sysfaultSource != CY_SYSFAULT_NO_FAULT)
{
if(sysfaultSource == SRSS_FAULT_CRWDT) // CRWDT Fault
{
Cy_SysFault_GetFaultData(FAULT_STRUCT0, CY_SYSFAULT_DATA0); // get fault data
}
}
/* Clears an interrupt mask.*/
/* Clear Interrupt flag */

◆ Cy_SysFault_GetFaultData()

__STATIC_INLINE uint32_t Cy_SysFault_GetFaultData ( FAULT_STRUCT_Type *  base,
cy_en_sysfault_data_t  dataSet 
)

Returns the Fault information for the provided dataSet.

Parameters
baseThe pointer to a Fault structure instance.
dataSetInstance of data register cy_en_sysfault_data_t.
Returns
Fault information.
Function Usage
/* Scenario: Handle the faults generated and get the fault data. */
/* Returns the status of the interrupt for the fault structure */
uint32_t intrStatus = Cy_SysFault_GetInterruptStatus(FAULT_STRUCT0);
/* Returns the interrupt mask. */
uint32_t intrMask = Cy_SysFault_GetInterruptMask(FAULT_STRUCT0);
/* Returns whether masked interrupt and triggered the interrupt are same. */
uint32_t intrMskdStatus = Cy_SysFault_GetInterruptStatusMasked(FAULT_STRUCT0);
cy_en_sysfault_source_t sysfaultSource = Cy_SysFault_GetErrorSource(FAULT_STRUCT0);
if(sysfaultSource != CY_SYSFAULT_NO_FAULT)
{
if(sysfaultSource == SRSS_FAULT_CRWDT) // CRWDT Fault
{
Cy_SysFault_GetFaultData(FAULT_STRUCT0, CY_SYSFAULT_DATA0); // get fault data
}
}
/* Clears an interrupt mask.*/
/* Clear Interrupt flag */

◆ Cy_SysFault_GetPendingFault()

uint32_t Cy_SysFault_GetPendingFault ( FAULT_STRUCT_Type *  base,
cy_en_sysfault_set_t  pendingFault 
)

Returns not captured sources of the pending fault.

Parameters
baseThe pointer to a Fault structure instance.
pendingFaultInstance of PENDING register. PENDING0 returns the occurred pending Faults in the range of 0-31 Fault ID.
Returns
The status of pending Faults.
Function Usage
/* Scenario: Capture the Faults that are triggered and not enabled. */
/* Fault config */
cy_stc_sysfault_config_t sysfaultConfig =
{
.resetEnable = false,
.outputEnable = true,
.triggerEnable = false,
};
/*********************************************************************/
/***** Fault report settings *****/
/*********************************************************************/
Cy_SysFault_ClearStatus(FAULT_STRUCT0); // clear status
Cy_SysFault_ClearMaskByIdx(FAULT_STRUCT0, SRSS_FAULT_CRWDT); // Clear fault Id mask. To keep the fault in pending state
cy_en_sysfault_status_t status = Cy_SysFault_Init(FAULT_STRUCT0, &sysfaultConfig);
uint32_t faultIdSet = Cy_SysFault_GetPendingFault(FAULT_STRUCT0, CY_SYSFAULT_SET0);

◆ Cy_SysFault_SetMaskByIdx()

__STATIC_INLINE void Cy_SysFault_SetMaskByIdx ( FAULT_STRUCT_Type *  base,
cy_en_sysfault_source_t  sourceIdx 
)

Enable the Fault to be captured.

Parameters
baseThe pointer to a Fault structure instance.
sourceIdxThe Fault id to be set in the mask register. Only members of cy_en_sysfault_source_t are expected to be used.
Returns
None.
Function Usage
/* Scenario: Configures the SysFault for recording faults. */
/* SysFault interrupt priority */
#define SYSFAULT_INTR_PRIORITY (2UL)
#define SYSFAULT_INTR_NUM ((IRQn_Type) cpuss_interrupt_fault_0_IRQn)
/* SysFault config */
cy_stc_sysfault_config_t sysfaultConfig =
{
.resetEnable = false,
.outputEnable = true,
.triggerEnable = false,
};
/* Configure Interrupt for SysFault structure */
cy_stc_sysint_t sysfaultIntrConfig =
{
.intrSrc = SYSFAULT_INTR_NUM,
.intrPriority = SYSFAULT_INTR_PRIORITY
};
/*********************************************************************/
/***** Fault report settings *****/
/*********************************************************************/
Cy_SysFault_ClearStatus(FAULT_STRUCT0); // clear status
Cy_SysFault_SetMaskByIdx(FAULT_STRUCT0, SRSS_FAULT_CRWDT); // enable Fault CRWDT
cy_en_sysfault_status_t status = Cy_SysFault_Init(FAULT_STRUCT0, &sysfaultConfig);
/*********************************************************************/
/***** Interrupt settings *****/
/*********************************************************************/
(void) Cy_SysInt_Init(&sysfaultIntrConfig, &irqFaultHandler);
NVIC_EnableIRQ(SYSFAULT_INTR_NUM);
/* Triggers an interrupt via a software write.*/
Cy_SysFault_SetInterrupt(FAULT_STRUCT0);

◆ Cy_SysFault_ClearMaskByIdx()

__STATIC_INLINE void Cy_SysFault_ClearMaskByIdx ( FAULT_STRUCT_Type *  base,
cy_en_sysfault_source_t  sourceIdx 
)

Disable the faults to be captured.

Parameters
baseThe pointer to a Fault structure instance.
sourceIdxThe fault id to be cleared in the mask register. Only members of cy_en_sysfault_source_t are expected to be used.
Returns
None.
Function Usage
/* Scenario: Capture the Faults that are triggered and not enabled. */
/* Fault config */
cy_stc_sysfault_config_t sysfaultConfig =
{
.resetEnable = false,
.outputEnable = true,
.triggerEnable = false,
};
/*********************************************************************/
/***** Fault report settings *****/
/*********************************************************************/
Cy_SysFault_ClearStatus(FAULT_STRUCT0); // clear status
Cy_SysFault_ClearMaskByIdx(FAULT_STRUCT0, SRSS_FAULT_CRWDT); // Clear fault Id mask. To keep the fault in pending state
cy_en_sysfault_status_t status = Cy_SysFault_Init(FAULT_STRUCT0, &sysfaultConfig);
uint32_t faultIdSet = Cy_SysFault_GetPendingFault(FAULT_STRUCT0, CY_SYSFAULT_SET0);

◆ Cy_SysFault_GetInterruptStatus()

__STATIC_INLINE uint32_t Cy_SysFault_GetInterruptStatus ( FAULT_STRUCT_Type *  base)

Returns the status of the interrupt.

Parameters
baseThe pointer to a Fault structure instance.
Returns
Interrupt status.
Function Usage
/* Scenario: Handle the faults generated and get the fault data. */
/* Returns the status of the interrupt for the fault structure */
uint32_t intrStatus = Cy_SysFault_GetInterruptStatus(FAULT_STRUCT0);
/* Returns the interrupt mask. */
uint32_t intrMask = Cy_SysFault_GetInterruptMask(FAULT_STRUCT0);
/* Returns whether masked interrupt and triggered the interrupt are same. */
uint32_t intrMskdStatus = Cy_SysFault_GetInterruptStatusMasked(FAULT_STRUCT0);
cy_en_sysfault_source_t sysfaultSource = Cy_SysFault_GetErrorSource(FAULT_STRUCT0);
if(sysfaultSource != CY_SYSFAULT_NO_FAULT)
{
if(sysfaultSource == SRSS_FAULT_CRWDT) // CRWDT Fault
{
Cy_SysFault_GetFaultData(FAULT_STRUCT0, CY_SYSFAULT_DATA0); // get fault data
}
}
/* Clears an interrupt mask.*/
/* Clear Interrupt flag */

◆ Cy_SysFault_ClearInterrupt()

__STATIC_INLINE void Cy_SysFault_ClearInterrupt ( FAULT_STRUCT_Type *  base)

Clears Active Interrupt Source.

Parameters
baseThe pointer to a Fault structure instance.
Returns
None.
Function Usage
/* Scenario: Handle the faults generated and get the fault data. */
/* Returns the status of the interrupt for the fault structure */
uint32_t intrStatus = Cy_SysFault_GetInterruptStatus(FAULT_STRUCT0);
/* Returns the interrupt mask. */
uint32_t intrMask = Cy_SysFault_GetInterruptMask(FAULT_STRUCT0);
/* Returns whether masked interrupt and triggered the interrupt are same. */
uint32_t intrMskdStatus = Cy_SysFault_GetInterruptStatusMasked(FAULT_STRUCT0);
cy_en_sysfault_source_t sysfaultSource = Cy_SysFault_GetErrorSource(FAULT_STRUCT0);
if(sysfaultSource != CY_SYSFAULT_NO_FAULT)
{
if(sysfaultSource == SRSS_FAULT_CRWDT) // CRWDT Fault
{
Cy_SysFault_GetFaultData(FAULT_STRUCT0, CY_SYSFAULT_DATA0); // get fault data
}
}
/* Clears an interrupt mask.*/
/* Clear Interrupt flag */

◆ Cy_SysFault_SetInterrupt()

__STATIC_INLINE void Cy_SysFault_SetInterrupt ( FAULT_STRUCT_Type *  base)

Triggers an interrupt via a software write.

Parameters
baseThe pointer to a Fault structure instance.
Returns
None.
Function Usage
/* Scenario: Configures the SysFault for recording faults. */
/* SysFault interrupt priority */
#define SYSFAULT_INTR_PRIORITY (2UL)
#define SYSFAULT_INTR_NUM ((IRQn_Type) cpuss_interrupt_fault_0_IRQn)
/* SysFault config */
cy_stc_sysfault_config_t sysfaultConfig =
{
.resetEnable = false,
.outputEnable = true,
.triggerEnable = false,
};
/* Configure Interrupt for SysFault structure */
cy_stc_sysint_t sysfaultIntrConfig =
{
.intrSrc = SYSFAULT_INTR_NUM,
.intrPriority = SYSFAULT_INTR_PRIORITY
};
/*********************************************************************/
/***** Fault report settings *****/
/*********************************************************************/
Cy_SysFault_ClearStatus(FAULT_STRUCT0); // clear status
Cy_SysFault_SetMaskByIdx(FAULT_STRUCT0, SRSS_FAULT_CRWDT); // enable Fault CRWDT
cy_en_sysfault_status_t status = Cy_SysFault_Init(FAULT_STRUCT0, &sysfaultConfig);
/*********************************************************************/
/***** Interrupt settings *****/
/*********************************************************************/
(void) Cy_SysInt_Init(&sysfaultIntrConfig, &irqFaultHandler);
NVIC_EnableIRQ(SYSFAULT_INTR_NUM);
/* Triggers an interrupt via a software write.*/
Cy_SysFault_SetInterrupt(FAULT_STRUCT0);

◆ Cy_SysFault_SetInterruptMask()

__STATIC_INLINE void Cy_SysFault_SetInterruptMask ( FAULT_STRUCT_Type *  base)

Sets an interrupt mask.

Parameters
baseThe pointer to a Fault structure instance.
Returns
None.
Function Usage
/* Scenario: Configures the SysFault for recording faults. */
/* SysFault interrupt priority */
#define SYSFAULT_INTR_PRIORITY (2UL)
#define SYSFAULT_INTR_NUM ((IRQn_Type) cpuss_interrupt_fault_0_IRQn)
/* SysFault config */
cy_stc_sysfault_config_t sysfaultConfig =
{
.resetEnable = false,
.outputEnable = true,
.triggerEnable = false,
};
/* Configure Interrupt for SysFault structure */
cy_stc_sysint_t sysfaultIntrConfig =
{
.intrSrc = SYSFAULT_INTR_NUM,
.intrPriority = SYSFAULT_INTR_PRIORITY
};
/*********************************************************************/
/***** Fault report settings *****/
/*********************************************************************/
Cy_SysFault_ClearStatus(FAULT_STRUCT0); // clear status
Cy_SysFault_SetMaskByIdx(FAULT_STRUCT0, SRSS_FAULT_CRWDT); // enable Fault CRWDT
cy_en_sysfault_status_t status = Cy_SysFault_Init(FAULT_STRUCT0, &sysfaultConfig);
/*********************************************************************/
/***** Interrupt settings *****/
/*********************************************************************/
(void) Cy_SysInt_Init(&sysfaultIntrConfig, &irqFaultHandler);
NVIC_EnableIRQ(SYSFAULT_INTR_NUM);
/* Triggers an interrupt via a software write.*/
Cy_SysFault_SetInterrupt(FAULT_STRUCT0);

◆ Cy_SysFault_ClearInterruptMask()

__STATIC_INLINE void Cy_SysFault_ClearInterruptMask ( FAULT_STRUCT_Type *  base)

Clears an interrupt mask.

Parameters
baseThe pointer to a Fault structure instance.
Returns
None.
Function Usage
/* Scenario: Handle the faults generated and get the fault data. */
/* Returns the status of the interrupt for the fault structure */
uint32_t intrStatus = Cy_SysFault_GetInterruptStatus(FAULT_STRUCT0);
/* Returns the interrupt mask. */
uint32_t intrMask = Cy_SysFault_GetInterruptMask(FAULT_STRUCT0);
/* Returns whether masked interrupt and triggered the interrupt are same. */
uint32_t intrMskdStatus = Cy_SysFault_GetInterruptStatusMasked(FAULT_STRUCT0);
cy_en_sysfault_source_t sysfaultSource = Cy_SysFault_GetErrorSource(FAULT_STRUCT0);
if(sysfaultSource != CY_SYSFAULT_NO_FAULT)
{
if(sysfaultSource == SRSS_FAULT_CRWDT) // CRWDT Fault
{
Cy_SysFault_GetFaultData(FAULT_STRUCT0, CY_SYSFAULT_DATA0); // get fault data
}
}
/* Clears an interrupt mask.*/
/* Clear Interrupt flag */

◆ Cy_SysFault_GetInterruptMask()

__STATIC_INLINE uint32_t Cy_SysFault_GetInterruptMask ( FAULT_STRUCT_Type *  base)

Returns the interrupt mask.

Parameters
baseThe pointer to a Fault structure instance.
Returns
Interrupt Mask.
Function Usage
/* Scenario: Handle the faults generated and get the fault data. */
/* Returns the status of the interrupt for the fault structure */
uint32_t intrStatus = Cy_SysFault_GetInterruptStatus(FAULT_STRUCT0);
/* Returns the interrupt mask. */
uint32_t intrMask = Cy_SysFault_GetInterruptMask(FAULT_STRUCT0);
/* Returns whether masked interrupt and triggered the interrupt are same. */
uint32_t intrMskdStatus = Cy_SysFault_GetInterruptStatusMasked(FAULT_STRUCT0);
cy_en_sysfault_source_t sysfaultSource = Cy_SysFault_GetErrorSource(FAULT_STRUCT0);
if(sysfaultSource != CY_SYSFAULT_NO_FAULT)
{
if(sysfaultSource == SRSS_FAULT_CRWDT) // CRWDT Fault
{
Cy_SysFault_GetFaultData(FAULT_STRUCT0, CY_SYSFAULT_DATA0); // get fault data
}
}
/* Clears an interrupt mask.*/
/* Clear Interrupt flag */

◆ Cy_SysFault_GetInterruptStatusMasked()

__STATIC_INLINE uint32_t Cy_SysFault_GetInterruptStatusMasked ( FAULT_STRUCT_Type *  base)

Returns whether masked interrupt triggered the interrupt.

Parameters
baseThe pointer to a Fault structure instance.
Returns
Interrupt Mask.
Function Usage
/* Scenario: Handle the faults generated and get the fault data. */
/* Returns the status of the interrupt for the fault structure */
uint32_t intrStatus = Cy_SysFault_GetInterruptStatus(FAULT_STRUCT0);
/* Returns the interrupt mask. */
uint32_t intrMask = Cy_SysFault_GetInterruptMask(FAULT_STRUCT0);
/* Returns whether masked interrupt and triggered the interrupt are same. */
uint32_t intrMskdStatus = Cy_SysFault_GetInterruptStatusMasked(FAULT_STRUCT0);
cy_en_sysfault_source_t sysfaultSource = Cy_SysFault_GetErrorSource(FAULT_STRUCT0);
if(sysfaultSource != CY_SYSFAULT_NO_FAULT)
{
if(sysfaultSource == SRSS_FAULT_CRWDT) // CRWDT Fault
{
Cy_SysFault_GetFaultData(FAULT_STRUCT0, CY_SYSFAULT_DATA0); // get fault data
}
}
/* Clears an interrupt mask.*/
/* Clear Interrupt flag */