MTB CAT1 Peripheral driver library

General Description

Functions

cy_en_mcwdt_status_t Cy_MCWDT_Init (MCWDT_STRUCT_Type *base, cy_stc_mcwdt_config_t const *config)
 Initializes the MCWDT block. More...
 
void Cy_MCWDT_DeInit (MCWDT_STRUCT_Type *base)
 De-initializes the MCWDT block, returns register values to their default state. More...
 
__STATIC_INLINE void Cy_MCWDT_Enable (MCWDT_STRUCT_Type *base, uint32_t counters, uint16_t waitUs)
 Enables all specified counters. More...
 
__STATIC_INLINE void Cy_MCWDT_Disable (MCWDT_STRUCT_Type *base, uint32_t counters, uint16_t waitUs)
 Disables all specified counters. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetEnabledStatus (MCWDT_STRUCT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the enabled status of the specified counter. More...
 
__STATIC_INLINE void Cy_MCWDT_Lock (MCWDT_STRUCT_Type *base)
 Locks out configuration changes to all MCWDT registers. More...
 
__STATIC_INLINE void Cy_MCWDT_Unlock (MCWDT_STRUCT_Type *base)
 Unlocks the MCWDT configuration registers. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetLockedStatus (MCWDT_STRUCT_Type const *base)
 Reports the locked/unlocked state of the MCWDT. More...
 
__STATIC_INLINE void Cy_MCWDT_SetMode (MCWDT_STRUCT_Type *base, cy_en_mcwdtctr_t counter, cy_en_mcwdtmode_t mode)
 Sets the mode of the specified counter. More...
 
__STATIC_INLINE cy_en_mcwdtmode_t Cy_MCWDT_GetMode (MCWDT_STRUCT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the mode of the specified counter. More...
 
__STATIC_INLINE void Cy_MCWDT_SetClearOnMatch (MCWDT_STRUCT_Type *base, cy_en_mcwdtctr_t counter, uint32_t enable)
 Sets the Clear on match option for the specified counter. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetClearOnMatch (MCWDT_STRUCT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the Clear on match setting for the specified counter. More...
 
__STATIC_INLINE void Cy_MCWDT_SetCascade (MCWDT_STRUCT_Type *base, cy_en_mcwdtcascade_t cascade)
 Sets all the counter cascade options. More...
 
__STATIC_INLINE cy_en_mcwdtcascade_t Cy_MCWDT_GetCascade (MCWDT_STRUCT_Type const *base)
 Reports all the counter cascade option settings. More...
 
__STATIC_INLINE void Cy_MCWDT_SetMatch (MCWDT_STRUCT_Type *base, cy_en_mcwdtctr_t counter, uint32_t match, uint16_t waitUs)
 Sets the match comparison value for the specified counter (0 or 1). More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetMatch (MCWDT_STRUCT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the match comparison value for the specified counter (0 or 1). More...
 
uint32_t Cy_MCWDT_GetCountCascaded (MCWDT_STRUCT_Type const *base)
 Reports the current value of combined C1-C0 cascaded counters. More...
 
__STATIC_INLINE void Cy_MCWDT_SetToggleBit (MCWDT_STRUCT_Type *base, uint32_t bit)
 Sets a bit in Counter 2 to monitor for a toggle. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetToggleBit (MCWDT_STRUCT_Type const *base)
 Reports which bit in Counter 2 is monitored for a toggle. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetCount (MCWDT_STRUCT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the current counter value of the specified counter. More...
 
__STATIC_INLINE void Cy_MCWDT_ResetCounters (MCWDT_STRUCT_Type *base, uint32_t counters, uint16_t waitUs)
 Resets all specified counters. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetInterruptStatus (MCWDT_STRUCT_Type const *base)
 Reports the state of all MCWDT interrupts. More...
 
__STATIC_INLINE void Cy_MCWDT_ClearInterrupt (MCWDT_STRUCT_Type *base, uint32_t counters)
 Clears all specified MCWDT interrupts. More...
 
__STATIC_INLINE void Cy_MCWDT_SetInterrupt (MCWDT_STRUCT_Type *base, uint32_t counters)
 Sets MCWDT interrupt sources in the interrupt request register. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetInterruptMask (MCWDT_STRUCT_Type const *base)
 Returns the CWDT interrupt mask register. More...
 
__STATIC_INLINE void Cy_MCWDT_SetInterruptMask (MCWDT_STRUCT_Type *base, uint32_t counters)
 Writes MCWDT interrupt mask register. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetInterruptStatusMasked (MCWDT_STRUCT_Type const *base)
 Returns the MCWDT interrupt masked request register. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetLowerLimit (MCWDT_STRUCT_Type const *base, cy_en_mcwdtlowerlimit_t counter)
 Reports the Lower Limit value of the specified counter. More...
 
__STATIC_INLINE void Cy_MCWDT_SetLowerLimit (MCWDT_STRUCT_Type *base, cy_en_mcwdtlowerlimit_t counter, uint32_t lowerLimit, uint16_t waitUs)
 Sets the lower limit value for the specified counter (0 or 1). More...
 
__STATIC_INLINE cy_en_mcwdtlowerlimitmode_t Cy_MCWDT_GetLowerLimitMode (MCWDT_STRUCT_Type const *base, cy_en_mcwdtlowerlimit_t counter)
 Reports the lower limit mode of the specified counter. More...
 
__STATIC_INLINE void Cy_MCWDT_SetLowerLimitMode (MCWDT_STRUCT_Type *base, cy_en_mcwdtlowerlimit_t counter, cy_en_mcwdtlowerlimitmode_t mode)
 Sets the lower limit mode option for the specified counter. More...
 
__STATIC_INLINE uint32_t Cy_MCWDT_GetLowerLimitCascaded (MCWDT_STRUCT_Type const *base)
 Gets lower limit registers cascaded value. More...
 
__STATIC_INLINE void Cy_MCWDT_SetCascadeCarryOutRollOver (MCWDT_STRUCT_Type *base, cy_en_mcwdtcascade_t counter, bool carryoutconfig)
 Enables the Rollover mode for carryout. More...
 
__STATIC_INLINE bool Cy_MCWDT_GetCascadeCarryOutRollOver (MCWDT_STRUCT_Type const *base, cy_en_mcwdtcascade_t counter)
 Checks if Rollover mode enabled for carryout or not. More...
 
__STATIC_INLINE void Cy_MCWDT_SetCascadeMatchCombined (MCWDT_STRUCT_Type *base, cy_en_mcwdtcascade_t counter, bool matchconfig)
 Sets the match to combined cascade counters. More...
 
__STATIC_INLINE bool Cy_MCWDT_GetCascadeMatchCombined (MCWDT_STRUCT_Type const *base, cy_en_mcwdtcascade_t counter)
 Reports if match is enabled with combined cascade counters or not. More...
 
void Cy_MCWDT_CpuSelectForDpSlpPauseAction (MCWDT_Type *base, cy_en_mcwdt_select_core_t core)
 Select deep sleep of which core for pausing this counter. More...
 
void Cy_MCWDT_SetLowerAction (MCWDT_Type *base, cy_en_mcwdtctr_t counter, cy_en_mcwdt_lower_upper_action_t action)
 Sets the lower limit action of the specified counter. More...
 
void Cy_MCWDT_SetUpperAction (MCWDT_Type *base, cy_en_mcwdtctr_t counter, cy_en_mcwdt_lower_upper_action_t action)
 Sets the upper limit action of the specified counter. More...
 
void Cy_MCWDT_SetWarnAction (MCWDT_Type *base, cy_en_mcwdtctr_t counter, cy_en_mcwdt_warn_action_t action)
 Sets the warn limit action of the specified counter. More...
 
void Cy_MCWDT_SetSubCounter2Action (MCWDT_Type *base, cy_en_mcwdt_cnt2_action_t action)
 Sets the counter 2 action of the specified counter. More...
 
cy_en_mcwdt_lower_upper_action_t Cy_MCWDT_GetLowerAction (MCWDT_Type *base, cy_en_mcwdtctr_t counter)
 Reports the lower limit action type of the specified counter. More...
 
cy_en_mcwdt_lower_upper_action_t Cy_MCWDT_GetUpperAction (MCWDT_Type *base, cy_en_mcwdtctr_t counter)
 Reports the upper limit action type of the specified counter. More...
 
cy_en_mcwdt_warn_action_t Cy_MCWDT_GetWarnAction (MCWDT_Type *base, cy_en_mcwdtctr_t counter)
 Reports the warn limit action type of the specified counter. More...
 
cy_en_mcwdt_cnt2_action_t Cy_MCWDT_GetSubCounter2Action (MCWDT_Type *base)
 Reports the counter 2 action type of the specified counter. More...
 
void Cy_MCWDT_SetAutoService (MCWDT_Type *base, cy_en_mcwdtctr_t counter, uint32_t enable)
 Sets the Auto service option for the specified counter. More...
 
uint32_t Cy_MCWDT_GetAutoService (MCWDT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the Auto service setting for the specified counter. More...
 
uint32_t Cy_MCWDT_GetSleepDeepPause (MCWDT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the Sleep deep pause setting for the specified counter. More...
 
void Cy_MCWDT_SetSleepDeepPause (MCWDT_Type *base, cy_en_mcwdtctr_t counter, uint32_t enable)
 Sets the Sleep deep pause option for the specified counter. More...
 
void Cy_MCWDT_SetDebugRun (MCWDT_Type *base, cy_en_mcwdtctr_t counter, uint32_t enable)
 Sets the Debug run option for the specified counter. More...
 
uint32_t Cy_MCWDT_GetDebugRun (MCWDT_Type const *base, cy_en_mcwdtctr_t counter)
 Reports the Debug run setting for the specified counter. More...
 
void Cy_MCWDT_SetLowerLimit (MCWDT_Type *base, cy_en_mcwdtctr_t counter, uint16_t limit, uint16_t waitUs)
 Sets the lower limit value for the specified counter (0 or 1). More...
 
void Cy_MCWDT_SetUpperLimit (MCWDT_Type *base, cy_en_mcwdtctr_t counter, uint16_t limit, uint16_t waitUs)
 Sets the upper limit value for the specified counter (0 or 1). More...
 
void Cy_MCWDT_SetWarnLimit (MCWDT_Type *base, cy_en_mcwdtctr_t counter, uint16_t limit, uint16_t waitUs)
 Sets the warn limit value for the specified counter (0 or 1). More...
 
uint16_t Cy_MCWDT_GetUpperLimit (MCWDT_Type *base, cy_en_mcwdtctr_t counter)
 Reports the upper limit comparison value for the specified counter (0 or 1). More...
 
uint16_t Cy_MCWDT_GetWarnLimit (MCWDT_Type *base, cy_en_mcwdtctr_t counter)
 Reports the warn limit comparison value for the specified counter (0 or 1). More...
 
void Cy_MCWDT_WaitForCounterReset (MCWDT_Type *base, cy_en_mcwdtctr_t counter)
 wait completion of counter reset. More...
 
void Cy_MCWDT_ClearWatchdog (MCWDT_Type *base, uint32_t counters)
 Clears the MC watchdog counter, to prevent a XRES device reset or fault. More...
 
uint16_t Cy_MCWDT_GetLowerLimit (MCWDT_Type *base, cy_en_mcwdtctr_t counter)
 Reports the lower limit comparison value for the specified counter (0 or 1). More...
 

Function Documentation

◆ Cy_MCWDT_Init()

cy_en_mcwdt_status_t Cy_MCWDT_Init ( MCWDT_STRUCT_Type base,
cy_stc_mcwdt_config_t const *  config 
)

Initializes the MCWDT block.

Parameters
baseThe base pointer to a structure that describes the registers.
configThe pointer to a structure that contains component configuration data.
Returns
cy_en_mcwdt_status_t *base checking result. If the pointer is NULL, returns error.
Note
This API should not be called when the counters are running. Prior to calling this API the counter should be disabled.

◆ Cy_MCWDT_DeInit()

void Cy_MCWDT_DeInit ( MCWDT_STRUCT_Type base)

De-initializes the MCWDT block, returns register values to their default state.

Parameters
baseThe base pointer to a structure that describes the registers.
Note
This API should not be called when the counters are running. Prior to calling this API the counter should be disabled.

◆ Cy_MCWDT_Enable()

__STATIC_INLINE void Cy_MCWDT_Enable ( MCWDT_STRUCT_Type base,
uint32_t  counters,
uint16_t  waitUs 
)

Enables all specified counters.

Parameters
baseThe base pointer to a structure that describes registers.
countersOR of all counters to enable. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.
waitUsThe function waits for some delay in microseconds before returning, because the counter begins counting after two lf_clk cycles pass. The recommended value is 93 us.
Note
Setting this parameter to a zero means No wait. In this case, it is the user's responsibility to check whether the selected counters were enabled immediately after the function call. This can be done by the Cy_MCWDT_GetEnabledStatus() API.

◆ Cy_MCWDT_Disable()

__STATIC_INLINE void Cy_MCWDT_Disable ( MCWDT_STRUCT_Type base,
uint32_t  counters,
uint16_t  waitUs 
)

Disables all specified counters.

Parameters
baseThe base pointer to a structure describing registers.
countersOR of all counters to disable. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.
waitUsThe function waits for some delay in microseconds before returning, because the counter stops counting after two lf_clk cycles pass. The recommended value is 93 us.
Note
Setting this parameter to a zero means No wait. In this case, it is the user's responsibility to check whether the selected counters were disabled immediately after the function call. This can be done by the Cy_MCWDT_GetEnabledStatus() API.

◆ Cy_MCWDT_GetEnabledStatus()

__STATIC_INLINE uint32_t Cy_MCWDT_GetEnabledStatus ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the enabled status of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the MCWDT counter. The valid range is [0-2].
Returns
The status of the MCWDT counter: 0 = disabled, 1 = enabled.

◆ Cy_MCWDT_Lock()

__STATIC_INLINE void Cy_MCWDT_Lock ( MCWDT_STRUCT_Type base)

Locks out configuration changes to all MCWDT registers.

Parameters
baseThe base pointer to a structure that describes registers.

◆ Cy_MCWDT_Unlock()

__STATIC_INLINE void Cy_MCWDT_Unlock ( MCWDT_STRUCT_Type base)

Unlocks the MCWDT configuration registers.

Parameters
baseThe base pointer to a structure that describes registers.

◆ Cy_MCWDT_GetLockedStatus()

__STATIC_INLINE uint32_t Cy_MCWDT_GetLockedStatus ( MCWDT_STRUCT_Type const *  base)

Reports the locked/unlocked state of the MCWDT.

Parameters
baseThe base pointer to a structure that describes registers.
Returns
The state of the MCWDT counter: 0 = unlocked, 1 = locked.

◆ Cy_MCWDT_SetMode()

__STATIC_INLINE void Cy_MCWDT_SetMode ( MCWDT_STRUCT_Type base,
cy_en_mcwdtctr_t  counter,
cy_en_mcwdtmode_t  mode 
)

Sets the mode of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-2].
modeThe mode of operation for the counter. See enum typedef cy_en_mcwdtmode_t.
Note
The mode for Counter 2 can be set only to CY_MCWDT_MODE_NONE or CY_MCWDT_MODE_INT.
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetMode()

__STATIC_INLINE cy_en_mcwdtmode_t Cy_MCWDT_GetMode ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the mode of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-2].
Returns
The current mode of the counter. See enum typedef cy_en_mcwdtmode_t.
Note
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_SetClearOnMatch()

__STATIC_INLINE void Cy_MCWDT_SetClearOnMatch ( MCWDT_STRUCT_Type base,
cy_en_mcwdtctr_t  counter,
uint32_t  enable 
)

Sets the Clear on match option for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Note
The match values are not supported by Counter 2.
Parameters
enableSet 0 to disable; 1 to enable.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetClearOnMatch()

__STATIC_INLINE uint32_t Cy_MCWDT_GetClearOnMatch ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the Clear on match setting for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Returns
The Clear on match status: 1 = enabled, 0 = disabled.
Note
The match value is not supported by Counter 2.
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_SetCascade()

__STATIC_INLINE void Cy_MCWDT_SetCascade ( MCWDT_STRUCT_Type base,
cy_en_mcwdtcascade_t  cascade 
)

Sets all the counter cascade options.

Parameters
baseThe base pointer to a structure that describes registers.
cascadeSets or clears each of the cascade options.
Note
This API must not be called when the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetCascade()

__STATIC_INLINE cy_en_mcwdtcascade_t Cy_MCWDT_GetCascade ( MCWDT_STRUCT_Type const *  base)

Reports all the counter cascade option settings.

Parameters
baseThe base pointer to a structure that describes registers.
Returns
The current cascade option values.
Note
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_SetMatch()

__STATIC_INLINE void Cy_MCWDT_SetMatch ( MCWDT_STRUCT_Type base,
cy_en_mcwdtctr_t  counter,
uint32_t  match,
uint16_t  waitUs 
)

Sets the match comparison value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
matchThe value to match against the counter. The valid range is [0-65535] for c0ClearOnMatch (or c1ClearOnMatch) = 0 and [1-65535] for c0ClearOnMatch (or c1ClearOnMatch) = 1.
Note
The match value is not supported by Counter 2.
Action on match is taken on the next increment after the counter value equal to match value.
Parameters
waitUsThe function waits for some delay in microseconds before returning, because the match affects after two lf_clk cycles pass. The recommended value is 93 us.
Note
Setting this parameter to a zero means No wait. This must be taken into account when changing the match values on the running counters.
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetMatch()

__STATIC_INLINE uint32_t Cy_MCWDT_GetMatch ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the match comparison value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Note
The match values are not supported by Counter 2.
Returns
A 16-bit match value.
Note
This API is available for CAT1A, CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetCountCascaded()

uint32_t Cy_MCWDT_GetCountCascaded ( MCWDT_STRUCT_Type const *  base)

Reports the current value of combined C1-C0 cascaded counters.

Parameters
baseThe base pointer to a structure that describes the registers.
Note
The user must enable both counters, and cascade C0 to C1, before calling this function. C2 is not reported. Instead, to get a 64-bit C2-C1-C0 cascaded value, the user must call this function followed by Cy_MCWDT_GetCount(base, CY_MCWDT_COUNTER2), and then combine the results.
This function does not return the correct result when it is called after the Cy_MCWDT_Enable() or Cy_MCWDT_ResetCounters() function with a delay less than two lf_clk cycles. The recommended waitUs parameter value is 100 us.
Returns
The value of combined C1-C0 cascaded counters.

◆ Cy_MCWDT_SetToggleBit()

__STATIC_INLINE void Cy_MCWDT_SetToggleBit ( MCWDT_STRUCT_Type base,
uint32_t  bit 
)

Sets a bit in Counter 2 to monitor for a toggle.

Parameters
baseThe base pointer to a structure that describes registers.
bitThe Counter 2 bit is set to monitor for a toggle. The valid range [0-31].
Note
This API must not be called when counters are running. Prior to calling this API, the counter must be disabled.

◆ Cy_MCWDT_GetToggleBit()

__STATIC_INLINE uint32_t Cy_MCWDT_GetToggleBit ( MCWDT_STRUCT_Type const *  base)

Reports which bit in Counter 2 is monitored for a toggle.

Parameters
baseThe base pointer to a structure that describes registers.
Returns
The bit that is monitored (range 0 to 31).

◆ Cy_MCWDT_GetCount()

__STATIC_INLINE uint32_t Cy_MCWDT_GetCount ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the current counter value of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-2].
Returns
A live counter value. Counters 0 and 1 are 16-bit counters and Counter 2 is a 32-bit counter.

◆ Cy_MCWDT_ResetCounters()

__STATIC_INLINE void Cy_MCWDT_ResetCounters ( MCWDT_STRUCT_Type base,
uint32_t  counters,
uint16_t  waitUs 
)

Resets all specified counters.

Parameters
baseThe base pointer to a structure that describes registers.
countersOR of all counters to reset. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.
waitUsThe function waits for some delay in microseconds before returning, because a reset occurs after one lf_clk cycle passes. The recommended value is 62 us.
Note
This function resets the counters two times to prevent the case when the Counter 1 is not reset when the counters are cascaded. The delay waitUs must be greater than 100 us when the counters are cascaded. The total delay is greater than 2*waitUs because the function has the delay after the first reset.
Setting this parameter to a zero means No wait. In this case, it is the user's responsibility to check whether the selected counters were reset immediately after the function call. This can be done by the Cy_MCWDT_GetCount() API.
For CAT1C and TVIIBE devices, only CY_MCWDT_CTR0 and CY_MCWDT_CTR1 can be Reset.

◆ Cy_MCWDT_GetInterruptStatus()

__STATIC_INLINE uint32_t Cy_MCWDT_GetInterruptStatus ( MCWDT_STRUCT_Type const *  base)

Reports the state of all MCWDT interrupts.

Parameters
baseThe base pointer to a structure that describes registers.
Returns
The OR'd state of the interrupts. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

◆ Cy_MCWDT_ClearInterrupt()

__STATIC_INLINE void Cy_MCWDT_ClearInterrupt ( MCWDT_STRUCT_Type base,
uint32_t  counters 
)

Clears all specified MCWDT interrupts.

All the WDT interrupts must be cleared by the firmware; otherwise interrupts are generated continuously.

Parameters
baseThe base pointer to a structure describes registers.
countersOR of all interrupt sources to clear. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

◆ Cy_MCWDT_SetInterrupt()

__STATIC_INLINE void Cy_MCWDT_SetInterrupt ( MCWDT_STRUCT_Type base,
uint32_t  counters 
)

Sets MCWDT interrupt sources in the interrupt request register.

Parameters
baseThe base pointer to a structure that describes registers.
countersOR of all interrupt sources to set. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

◆ Cy_MCWDT_GetInterruptMask()

__STATIC_INLINE uint32_t Cy_MCWDT_GetInterruptMask ( MCWDT_STRUCT_Type const *  base)

Returns the CWDT interrupt mask register.

This register specifies which bits from the MCWDT interrupt request register will trigger an interrupt event.

Parameters
baseThe base pointer to a structure that describes registers.
Returns
The OR'd state of the interrupt masks. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

◆ Cy_MCWDT_SetInterruptMask()

__STATIC_INLINE void Cy_MCWDT_SetInterruptMask ( MCWDT_STRUCT_Type base,
uint32_t  counters 
)

Writes MCWDT interrupt mask register.

This register configures which bits from MCWDT interrupt request register will trigger an interrupt event.

Parameters
baseThe base pointer to a structure that describes registers.
countersOR of all interrupt masks to set. See CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

◆ Cy_MCWDT_GetInterruptStatusMasked()

__STATIC_INLINE uint32_t Cy_MCWDT_GetInterruptStatusMasked ( MCWDT_STRUCT_Type const *  base)

Returns the MCWDT interrupt masked request register.

This register contains the logical AND of corresponding bits from the MCWDT interrupt request and mask registers. In the interrupt service routine, this function identifies which of the enabled MCWDT interrupt sources caused an interrupt event.

Parameters
baseThe base pointer to a structure that describes registers.
Returns
The current status of enabled MCWDT interrupt sources. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

◆ Cy_MCWDT_GetLowerLimit() [1/2]

__STATIC_INLINE uint32_t Cy_MCWDT_GetLowerLimit ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtlowerlimit_t  counter 
)

Reports the Lower Limit value of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Returns
A Lower Limit value. Counters 0 and 1 are 16-bit counters.
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_SetLowerLimit() [1/2]

__STATIC_INLINE void Cy_MCWDT_SetLowerLimit ( MCWDT_STRUCT_Type base,
cy_en_mcwdtlowerlimit_t  counter,
uint32_t  lowerLimit,
uint16_t  waitUs 
)

Sets the lower limit value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
lowerLimitThe value to be written in the lower limit register The valid range is [0-65535] for c0 and [1-65535] for c1.
Note
The lower limit mode is not supported by Counter 2.
Parameters
waitUsThe function waits for some delay in microseconds before returning, because the lower limit register write affects after two lf_clk cycles pass. The recommended value is 93 us.
Note
Setting this parameter to a zero means No wait. This must be taken into account when changing the lower limit register values.
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetLowerLimitMode()

__STATIC_INLINE cy_en_mcwdtlowerlimitmode_t Cy_MCWDT_GetLowerLimitMode ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtlowerlimit_t  counter 
)

Reports the lower limit mode of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Returns
The current lower limit mode of the counter. See enum typedef cy_en_mcwdtlowerlimitmode_t.
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_SetLowerLimitMode()

__STATIC_INLINE void Cy_MCWDT_SetLowerLimitMode ( MCWDT_STRUCT_Type base,
cy_en_mcwdtlowerlimit_t  counter,
cy_en_mcwdtlowerlimitmode_t  mode 
)

Sets the lower limit mode option for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Note
The lower limit mode is not supported by Counter 2.
Parameters
modeSet 0 - Do nothing, 1 - Assert WDT_INTx, 2 - Assert WDT Reset
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled. This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetLowerLimitCascaded()

__STATIC_INLINE uint32_t Cy_MCWDT_GetLowerLimitCascaded ( MCWDT_STRUCT_Type const *  base)

Gets lower limit registers cascaded value.

Parameters
baseThe base pointer to a structure that describes registers.
Note
The lower limit mode is not supported by Counter 2.
Returns
A 32-bit lower limit register value.
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_SetCascadeCarryOutRollOver()

__STATIC_INLINE void Cy_MCWDT_SetCascadeCarryOutRollOver ( MCWDT_STRUCT_Type base,
cy_en_mcwdtcascade_t  counter,
bool  carryoutconfig 
)

Enables the Rollover mode for carryout.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe cascaded counter type. The valid cascaded type is either C0C1 or C1C2.
carryoutconfigFor CY_MCWDT_CASCADE_C0C1: FALSE: carry out on counter 0 match TRUE: carry out on counter 0 rollover. For CY_MCWDT_CASCADE_C1C2: FALSE: carry out on counter 1 match TRUE: carry out on counter 1 rollover.
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetCascadeCarryOutRollOver()

__STATIC_INLINE bool Cy_MCWDT_GetCascadeCarryOutRollOver ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtcascade_t  counter 
)

Checks if Rollover mode enabled for carryout or not.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe cascaded counter type. The valid cascaded type is either C0C1 or C1C2.
Returns
True : Rollover Enabled False : Rollover Disabled
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_SetCascadeMatchCombined()

__STATIC_INLINE void Cy_MCWDT_SetCascadeMatchCombined ( MCWDT_STRUCT_Type base,
cy_en_mcwdtcascade_t  counter,
bool  matchconfig 
)

Sets the match to combined cascade counters.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe cascaded counter type. The valid cascaded type is either C0C1 or C1C2.
matchconfigFor CY_MCWDT_CASCADE_C0C1: FALSE: Match based on counter 1 alone TRUE: Match based on counter 1 and counter 0 matching simultaneously For CY_MCWDT_CASCADE_C1C2: FALSE: Match based on counter 2 alone TRUE: Match based on counter 2 and counter 1 matching simultaneously
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_GetCascadeMatchCombined()

__STATIC_INLINE bool Cy_MCWDT_GetCascadeMatchCombined ( MCWDT_STRUCT_Type const *  base,
cy_en_mcwdtcascade_t  counter 
)

Reports if match is enabled with combined cascade counters or not.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe cascaded counter type. The valid cascaded type is either C0C1 or C1C2.
Returns
True : Combined match is enabled False : Combined match is disabled.
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_MCWDT_CpuSelectForDpSlpPauseAction()

void Cy_MCWDT_CpuSelectForDpSlpPauseAction ( MCWDT_Type *  base,
cy_en_mcwdt_select_core_t  core 
)

Select deep sleep of which core for pausing this counter.

Parameters
baseThe base pointer to a structure that describes registers.
coreThe selected core. Deep sleep of the core pause this counter.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetLowerAction()

void Cy_MCWDT_SetLowerAction ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
cy_en_mcwdt_lower_upper_action_t  action 
)

Sets the lower limit action of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
actionThe action of operation for the counter. See enum typedef cy_en_mcwdt_lower_upper_action_t.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetUpperAction()

void Cy_MCWDT_SetUpperAction ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
cy_en_mcwdt_lower_upper_action_t  action 
)

Sets the upper limit action of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
actionThe action of operation for the counter. See enum typedef cy_en_mcwdt_lower_upper_action_t.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetWarnAction()

void Cy_MCWDT_SetWarnAction ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
cy_en_mcwdt_warn_action_t  action 
)

Sets the warn limit action of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
actionThe action of operation for the counter. See enum typedef cy_en_mcwdt_warn_action_t.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetSubCounter2Action()

void Cy_MCWDT_SetSubCounter2Action ( MCWDT_Type *  base,
cy_en_mcwdt_cnt2_action_t  action 
)

Sets the counter 2 action of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
actionThe action of operation for the counter. See enum typedef cy_en_mcwdt_cnt2_action_t.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetLowerAction()

cy_en_mcwdt_lower_upper_action_t Cy_MCWDT_GetLowerAction ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the lower limit action type of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Returns
The current lower limit action type of the counter. See enum typedef cy_en_mcwdt_lower_upper_action_t.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetUpperAction()

cy_en_mcwdt_lower_upper_action_t Cy_MCWDT_GetUpperAction ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the upper limit action type of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Returns
The current upper limit action type of the counter. See enum typedef cy_en_mcwdt_lower_upper_action_t.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetWarnAction()

cy_en_mcwdt_warn_action_t Cy_MCWDT_GetWarnAction ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the warn limit action type of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Returns
The current warn limit action type of the counter. See enum typedef cy_en_mcwdt_warn_action_t.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetSubCounter2Action()

cy_en_mcwdt_cnt2_action_t Cy_MCWDT_GetSubCounter2Action ( MCWDT_Type *  base)

Reports the counter 2 action type of the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
Returns
The current counter 2 action type of the counter. See enum typedef cy_en_mcwdt_cnt2_action_t.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetAutoService()

void Cy_MCWDT_SetAutoService ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
uint32_t  enable 
)

Sets the Auto service option for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Note
The auto service option is not supported by Counter 2.
Parameters
enableSet 0 to disable; 1 to enable.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetAutoService()

uint32_t Cy_MCWDT_GetAutoService ( MCWDT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the Auto service setting for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Returns
The Auto service status: 1 = enabled, 0 = disabled.
Note
The Auto service option is not supported by Counter 2.
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetSleepDeepPause()

uint32_t Cy_MCWDT_GetSleepDeepPause ( MCWDT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the Sleep deep pause setting for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-2].
Returns
The Auto service status: 1 = enabled, 0 = disabled.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetSleepDeepPause()

void Cy_MCWDT_SetSleepDeepPause ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
uint32_t  enable 
)

Sets the Sleep deep pause option for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-2].
enableSet 0 to disable; 1 to enable.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetDebugRun()

void Cy_MCWDT_SetDebugRun ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
uint32_t  enable 
)

Sets the Debug run option for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-2].
enableSet 0 to disable; 1 to enable.
Note
This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetDebugRun()

uint32_t Cy_MCWDT_GetDebugRun ( MCWDT_Type const *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the Debug run setting for the specified counter.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-2].
Returns
The Auto service status: 1 = enabled, 0 = disabled.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetLowerLimit() [2/2]

void Cy_MCWDT_SetLowerLimit ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
uint16_t  limit,
uint16_t  waitUs 
)

Sets the lower limit value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
limitThe value to lower limit against the counter. The valid range is [0-65535] when Auto service is disabled and [1-65535] when Auto service enabled.
Note
The lower limit value is not supported by Counter 2.
Action on lower limit is taken on the next increment after the counter value equal to lower limit value.
Parameters
waitUsThe function waits for some delay in microseconds before returning, because the match affects after two lf_clk cycles pass. The recommended value is 93 us.
Note
Setting this parameter to a zero means No wait. This must be taken into account when changing the match values on the running counters.
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetUpperLimit()

void Cy_MCWDT_SetUpperLimit ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
uint16_t  limit,
uint16_t  waitUs 
)

Sets the upper limit value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
limitThe value to upper limit against the counter. The valid range is [0-65535] when Auto service is disabled and [1-65535] when Auto service enabled.
Note
The upper limit value is not supported by Counter 2.
Action on upper limit is taken on the next increment after the counter value equal to upper limit value.
Parameters
waitUsThe function waits for some delay in microseconds before returning, because the match affects after two lf_clk cycles pass. The recommended value is 93 us.
Note
Setting this parameter to a zero means No wait. This must be taken into account when changing the match values on the running counters.
This API is available for CAT1C devices.

◆ Cy_MCWDT_SetWarnLimit()

void Cy_MCWDT_SetWarnLimit ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter,
uint16_t  limit,
uint16_t  waitUs 
)

Sets the warn limit value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
limitThe value to warn limit against the counter. The valid range is [0-65535] when Auto service is disabled and [1-65535] when Auto service enabled.
Note
The warn limit value is not supported by Counter 2.
Action on warn limit is taken on the next increment after the counter value equal to warn limit value.
Parameters
waitUsThe function waits for some delay in microseconds before returning, because the match affects after two lf_clk cycles pass. The recommended value is 93 us.
Note
Setting this parameter to a zero means No wait. This must be taken into account when changing the match values on the running counters.
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetUpperLimit()

uint16_t Cy_MCWDT_GetUpperLimit ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the upper limit comparison value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Note
The upper limit value is not supported by Counter 2.
Returns
A 16-bit upper limit value.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_GetWarnLimit()

uint16_t Cy_MCWDT_GetWarnLimit ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the warn limit comparison value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Note
The warn limit value is not supported by Counter 2.
Returns
A 16-bit warn limit value.
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_WaitForCounterReset()

void Cy_MCWDT_WaitForCounterReset ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter 
)

wait completion of counter reset.

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the MCWDT counter. The valid range is [0-1].
Note
This API is available for CAT1C devices.

◆ Cy_MCWDT_ClearWatchdog()

void Cy_MCWDT_ClearWatchdog ( MCWDT_Type *  base,
uint32_t  counters 
)

Clears the MC watchdog counter, to prevent a XRES device reset or fault.

Parameters
baseThe base pointer to a structure that describes the registers.
countersOR of all counters to clear watchdog. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

◆ Cy_MCWDT_GetLowerLimit() [2/2]

uint16_t Cy_MCWDT_GetLowerLimit ( MCWDT_Type *  base,
cy_en_mcwdtctr_t  counter 
)

Reports the lower limit comparison value for the specified counter (0 or 1).

Parameters
baseThe base pointer to a structure that describes registers.
counterThe number of the WDT counter. The valid range is [0-1].
Note
The lower limit value is not supported by Counter 2.
Returns
A 16-bit lower limit value.
Note
This API is available for CAT1C devices.