PSoC 6 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...
 
__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...
 
uint32_t Cy_MCWDT_GetCountCascaded (MCWDT_STRUCT_Type const *base)
 Reports the current value of combined C1-C0 cascaded counters. 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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_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.