modm API documentation
modm::GenericPrescaler< T > Class Template Reference

#include <modm/math/algorithm/prescaler.hpp>

Classes

struct  Result
 

Static Public Member Functions

template<class Iterator >
static constexpr Result from_iterator (T input_frequency, T desired_frequency, Iterator prescalers)
 
static constexpr Result from_list (T input_frequency, T desired_frequency, std::initializer_list< uint32_t > prescalers)
 From a initializer list.
 
template<typename Function >
static constexpr Result from_function (T input_frequency, T desired_frequency, uint32_t begin, uint32_t end, Function prescaler_modifier)
 
static constexpr Result from_range (T input_frequency, T desired_frequency, uint32_t begin, uint32_t end)
 
static constexpr Result from_power (T input_frequency, T desired_frequency, uint32_t begin, uint32_t end)
 

Detailed Description

template<std::unsigned_integral T>
class modm::GenericPrescaler< T >

Computes the best fitting prescaler from a list or range.

Note
For ranges the end is inclusive: [begin, end]!

Member Function Documentation

template<std::unsigned_integral T>
template<typename Function >
static constexpr Result modm::GenericPrescaler< T >::from_function ( input_frequency,
desired_frequency,
uint32_t  begin,
uint32_t  end,
Function  prescaler_modifier 
)
inlinestaticconstexpr

From any linear range via modifier function.

Note
the range end is inclusive: [begin, end].
template<std::unsigned_integral T>
template<class Iterator >
static constexpr Result modm::GenericPrescaler< T >::from_iterator ( input_frequency,
desired_frequency,
Iterator  prescalers 
)
inlinestaticconstexpr

From any iterable container.

Note
container must have begin(), end() and size() function!
template<std::unsigned_integral T>
static constexpr Result modm::GenericPrescaler< T >::from_power ( input_frequency,
desired_frequency,
uint32_t  begin,
uint32_t  end 
)
inlinestaticconstexpr

From any 2-logarithmic range.

Note
the range end is inclusive: [begin, end].
Parameters
beginmust be a power-of-two!
endmust be a power-of-two!
template<std::unsigned_integral T>
static constexpr Result modm::GenericPrescaler< T >::from_range ( input_frequency,
desired_frequency,
uint32_t  begin,
uint32_t  end 
)
inlinestaticconstexpr

From any linear range.

Note
the range end is inclusive: [begin, end].

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