Pigweed
 
Loading...
Searching...
No Matches
pw::clock_tree::ClockDividerElement< ElementType > Class Template Reference

#include <clock_tree.h>

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)
 
Status Set (uint32_t divider) override
 
- 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)
 
virtual Status Set (uint32_t divider)=0
 
Elementelement () const
 Return the element implementing this interface.
 

Protected Member Functions

uint32_t divider () const
 Get current divider value.
 
- Protected Member Functions inherited from pw::clock_tree::DependentElement< ElementType >
Status UpdateSource (ElementType &new_source, bool permit_change_if_in_use)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ClockDividerElement()

template<typename ElementType >
constexpr pw::clock_tree::ClockDividerElement< ElementType >::ClockDividerElement ( ElementType &  source,
uint32_t  divider 
)
inlineconstexpr

Create a clock divider element that depends on source and gets configured with divider value when enabled.

Member Function Documentation

◆ Set()

template<typename ElementType >
Status pw::clock_tree::ClockDividerElement< ElementType >::Set ( uint32_t  divider)
inlineoverridevirtual

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.

Implements pw::clock_tree::ClockDivider.


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