Functions

group group_mcwdt_functions

Functions

cy_en_mcwdt_status_t Cy_MCWDT_Init(MCWDT_STRUCT_Type *base, cy_stc_mcwdt_config_t const *config)

Initializes the MCWDT block.

note

This API should not be called when the counters are running. Prior to calling this API the counter should be disabled.

Return

cy_en_mcwdt_status_t *base checking result. If the pointer is NULL, returns error.

Parameters
  • base: The base pointer to a structure that describes the registers.

  • config: The pointer to a structure that contains component configuration data.

void Cy_MCWDT_DeInit(MCWDT_STRUCT_Type *base)

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

note

This API should not be called when the counters are running. Prior to calling this API the counter should be disabled.

Parameters
  • base: The base pointer to a structure that describes the registers.

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

Enables all specified counters.

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.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counters: OR of all counters to enable. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

  • waitUs: The 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.

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

Disables all specified counters.

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.

Parameters
  • base: The base pointer to a structure describing registers.

  • counters: OR of all counters to disable. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

  • waitUs: The 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.

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

Return

The status of the MCWDT counter: 0 = disabled, 1 = enabled.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the MCWDT counter. The valid range is [0-2].

__STATIC_INLINE void Cy_MCWDT_Lock (MCWDT_STRUCT_Type *base)

Locks out configuration changes to all MCWDT registers.

Parameters
  • base: The base pointer to a structure that describes registers.

__STATIC_INLINE void Cy_MCWDT_Unlock (MCWDT_STRUCT_Type *base)

Unlocks the MCWDT configuration registers.

Parameters
  • base: The base pointer to a structure that describes registers.

__STATIC_INLINE uint32_t Cy_MCWDT_GetLockedStatus (MCWDT_STRUCT_Type const *base)

Reports the locked/unlocked state of the MCWDT.

Return

The state of the MCWDT counter: 0 = unlocked, 1 = locked.

Parameters
  • base: The base pointer to a structure that describes registers.

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

note

The mode for Counter 2 can be set only to CY_MCWDT_MODE_NONE or CY_MCWDT_MODE_INT.

note

This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the WDT counter. The valid range is [0-2].

  • mode: The mode of operation for the counter. See enum typedef cy_en_mcwdtmode_t.

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

Return

The current mode of the counter. See enum typedef cy_en_mcwdtmode_t.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the WDT counter. The valid range is [0-2].

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

note

The match values are not supported by Counter 2.

note

This API must not be called while the counters are running. Prior to calling this API, the counter must be disabled.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the WDT counter. The valid range is [0-1].

Parameters
  • enable: Set 0 to disable; 1 to enable.

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

note

The match value is not supported by Counter 2.

Return

The Clear on match status: 1 = enabled, 0 = disabled.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the WDT counter. The valid range is [0-1].

__STATIC_INLINE void Cy_MCWDT_SetCascade (MCWDT_STRUCT_Type *base, cy_en_mcwdtcascade_t cascade)

Sets all the counter cascade options.

note

This API must not be called when the counters are running. Prior to calling this API, the counter must be disabled.

Parameters
  • base: The base pointer to a structure that describes registers.

  • cascade: Sets or clears each of the cascade options.

__STATIC_INLINE cy_en_mcwdtcascade_t Cy_MCWDT_GetCascade (MCWDT_STRUCT_Type const *base)

Reports all the counter cascade option settings.

Return

The current cascade option values.

Parameters
  • base: The base pointer to a structure that describes registers.

__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).

note

The match value is not supported by Counter 2.

note

Action on match is taken on the next increment after the counter value equal to match value.

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.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the WDT counter. The valid range is [0-1].

  • match: The 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.

Parameters
  • waitUs: The 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.

__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).

note

The match values are not supported by Counter 2.

Return

A 16-bit match value.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the WDT counter. The valid range is [0-1].

__STATIC_INLINE void Cy_MCWDT_SetToggleBit (MCWDT_STRUCT_Type *base, uint32_t bit)

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

note

This API must not be called when counters are running. Prior to calling this API, the counter must be disabled.

Parameters
  • base: The base pointer to a structure that describes registers.

  • bit: The Counter 2 bit is set to monitor for a toggle. The valid range [0-31].

__STATIC_INLINE uint32_t Cy_MCWDT_GetToggleBit (MCWDT_STRUCT_Type const *base)

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

Return

The bit that is monitored (range 0 to 31).

Parameters
  • base: The base pointer to a structure that describes registers.

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

Return

A live counter value. Counters 0 and 1 are 16-bit counters and Counter 2 is a 32-bit counter.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counter: The number of the WDT counter. The valid range is [0-2].

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

Resets all specified counters.

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.

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 reset immediately after the function call. This can be done by the Cy_MCWDT_GetCount() API.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counters: OR of all counters to reset. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

  • waitUs: The 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.

__STATIC_INLINE uint32_t Cy_MCWDT_GetInterruptStatus (MCWDT_STRUCT_Type const *base)

Reports the state of all MCWDT interrupts.

Return

The OR’d state of the interrupts. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

Parameters
  • base: The base pointer to a structure that describes registers.

__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
  • base: The base pointer to a structure describes registers.

  • counters: OR of all interrupt sources to clear. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

__STATIC_INLINE void Cy_MCWDT_SetInterrupt (MCWDT_STRUCT_Type *base, uint32_t counters)

Sets MCWDT interrupt sources in the interrupt request register.

Parameters
  • base: The base pointer to a structure that describes registers.

  • counters: OR of all interrupt sources to set. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

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

Return

The OR’d state of the interrupt masks. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

Parameters
  • base: The base pointer to a structure that describes registers.

__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
  • base: The base pointer to a structure that describes registers.

  • counters: OR of all interrupt masks to set. See CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

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

Return

The current status of enabled MCWDT interrupt sources. See the CY_MCWDT_CTR0, CY_MCWDT_CTR1, and CY_MCWDT_CTR2 macros.

Parameters
  • base: The base pointer to a structure that describes registers.

uint32_t Cy_MCWDT_GetCountCascaded(MCWDT_STRUCT_Type const *base)

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

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.

note

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.

Return

The value of combined C1-C0 cascaded counters.

Parameters
  • base: The base pointer to a structure that describes the registers.