Class that represents an external clock source enabled by a GPIO line.
Public Member Functions | |
| constexpr | ExternalClockSource (pw::digital_io::DigitalOut &enable_line, pw::chrono::SystemClock::duration activation_delay=pw::chrono::SystemClock::duration::zero(), pw::chrono::SystemClock::duration deactivation_delay=pw::chrono::SystemClock::duration::zero()) |
| constexpr | ExternalClockSource (pw::chrono::SystemClock::duration activation_delay=pw::chrono::SystemClock::duration::zero(), pw::chrono::SystemClock::duration deactivation_delay=pw::chrono::SystemClock::duration::zero()) |
| void | SetOutLine (pw::digital_io::DigitalOut &enable_line) |
Public Member Functions inherited from pw::clock_tree::Element | |
| constexpr | Element (bool may_block) |
| uint32_t | ref_count () const |
| Get reference count for this clock tree element. | |
| bool | may_block () const |
| Check whether acquiring or releasing the element may block. | |
| Element (const Element &)=delete | |
| Element (const Element &&)=delete | |
| Element & | operator= (const Element &)=delete |
| Element & | operator= (const Element &&)=delete |
| Status | Acquire () |
| Status | Release () |
| Status | AcquireWith (Element &element_with) |
Private Member Functions | |
| Status | DoEnable () final |
| Activate external clock source. | |
| Status | DoDisable () final |
| Deactivate external clock source. | |
Additional Inherited Members | |
Static Public Attributes inherited from pw::clock_tree::ElementBlocking | |
| static constexpr bool | kMayBlock = true |
| static constexpr bool | kMayFail = true |
Protected Member Functions inherited from pw::clock_tree::ElementBlocking | |
| sync::Mutex & | lock () |
Protected Member Functions inherited from pw::clock_tree::Element | |
| virtual Status | DoAcquireLocked ()=0 |
| virtual Status | DoReleaseLocked ()=0 |
| uint32_t | IncRef () |
| Increment reference count and return incremented value. | |
| uint32_t | DecRef () |
| Decrement reference count and return decremented value. | |
| virtual Status | DoEnable ()=0 |
| Function called when the clock tree element needs to get enabled. | |
| virtual Status | DoDisable () |