C/C++ API Reference
Loading...
Searching...
No Matches
pw::clock_tree::ClockDividerElement< ElementType > Class Template Reference

Overview

template<typename ElementType>
class pw::clock_tree::ClockDividerElement< ElementType >

Abstract class template of a clock divider element.

A ClockDivider clock tree element depends on another clock tree element and has a divider value that gets configured when the clock divider gets enabled.

Class implementations of ClockDivider must override the DoEnable function.

Template argument ElementType can be of class ElementBlocking, ElementNonBlockingCannotFail or ElementNonBlockingMightFail.

Inheritance diagram for pw::clock_tree::ClockDividerElement< ElementType >:
pw::clock_tree::DependentElement< ElementType > pw::clock_tree::ClockDivider pw::clock_tree::ClockMcuxpressoDivider< ElementType >

Public Member Functions

constexpr ClockDividerElement (ElementType &source, uint32_t divider)
 
template<typename T = ElementType>
std::enable_if_t< T::kMayFail, pw::StatusSetDivider (uint32_t divider)
 
template<typename T = ElementType>
std::enable_if_t<!T::kMayFail, void > SetDivider (uint32_t divider)
 
- Public Member Functions inherited from pw::clock_tree::DependentElement< ElementType >
constexpr DependentElement (ElementType &source)
 Create a dependent clock tree element that depends on source.
 
- Public Member Functions inherited from pw::clock_tree::ClockDivider
constexpr ClockDivider (Element &element)
 
Status SetDivider (uint32_t divider)
 
Status Set (uint32_t divider)
 
Elementelement () const
 Return the element implementing this interface.
 

Protected Member Functions

uint32_t divider () const
 Get current divider value.
 

Member Function Documentation

◆ SetDivider()

template<typename ElementType >
template<typename T = ElementType>
std::enable_if_t<!T::kMayFail, void > pw::clock_tree::ClockDividerElement< ElementType >::SetDivider ( uint32_t  divider)
inline

Set divider value.

The divider value will get updated as part of this method if the clock divider is currently active, otherwise the new divider value will be configured when the clock divider gets enabled next.


The documentation for this class was generated from the following file: