|
enum | DmaRequestEnable : uint32_t {
Update = TIM_DIER_UDE,
CaptureCompare1 = TIM_DIER_CC1DE,
CaptureCompare2 = TIM_DIER_CC2DE,
CaptureCompare3 = TIM_DIER_CC3DE,
CaptureCompare4 = TIM_DIER_CC4DE,
COM = TIM_DIER_COMDE,
Trigger = TIM_DIER_TDE
} |
|
enum | Interrupt : uint32_t {
Update = TIM_DIER_UIE,
CaptureCompare1 = TIM_DIER_CC1IE,
CaptureCompare2 = TIM_DIER_CC2IE,
CaptureCompare3 = TIM_DIER_CC3IE,
CaptureCompare4 = TIM_DIER_CC4IE,
Trigger = TIM_DIER_TIE,
COM = TIM_DIER_COMIE,
Break = TIM_DIER_BIE
} |
|
enum | InterruptFlag : uint32_t {
Update = TIM_SR_UIF,
CaptureCompare1 = TIM_SR_CC1IF,
CaptureCompare2 = TIM_SR_CC2IF,
CaptureCompare3 = TIM_SR_CC3IF,
CaptureCompare4 = TIM_SR_CC4IF,
Trigger = TIM_SR_TIF,
Overcapture1 = TIM_SR_CC1OF,
Overcapture2 = TIM_SR_CC2OF,
Overcapture3 = TIM_SR_CC3OF,
Overcapture4 = TIM_SR_CC4OF,
COM = TIM_SR_COMIF,
Break = TIM_SR_BIF
} |
|
enum | SlaveModeTrigger : uint32_t |
|
enum | SlaveMode : uint32_t { Disabled = 0,
SlaveMode::Encoder1 = TIM_SMCR_SMS_0,
SlaveMode::Encoder2 = TIM_SMCR_SMS_1,
SlaveMode::Encoder3 = TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0
} |
|
enum | Mode : uint32_t {
UpCounter = 0,
DownCounter = TIM_CR1_DIR,
OneShotUpCounter = TIM_CR1_OPM,
OneShotDownCounter = TIM_CR1_DIR | TIM_CR1_OPM,
Mode::CenterAligned1 = TIM_CR1_CMS_0,
Mode::CenterAligned2 = TIM_CR1_CMS_1,
Mode::CenterAligned3 = TIM_CR1_CMS_1 | TIM_CR1_CMS_0
} |
|
enum | OutputCompareMode : uint32_t {
OutputCompareMode::Inactive = 0,
OutputCompareMode::HighOnMatch = TIM_CCMR1_OC1M_0,
OutputCompareMode::LowOnMatch = TIM_CCMR1_OC1M_1,
OutputCompareMode::Toggle = TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0,
OutputCompareMode::ForceInactive = TIM_CCMR1_OC1M_2,
OutputCompareMode::ForceActive = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_0,
OutputCompareMode::Pwm = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1,
OutputCompareMode::Pwm2 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0
} |
|
enum | OutputComparePreload : uint32_t { Disable = 0,
Enable = TIM_CCMR1_OC1PE
} |
|
enum | OutputComparePolarity : uint32_t { ActiveHigh = 0,
ActiveLow = TIM_CCER_CC1P
} |
|
enum | InputCaptureMapping : uint32_t { InputOwn = 1,
InputOther = 2,
InternalTrigger = 3
} |
|
enum | InputCapturePolarity : uint32_t { Rising = 0,
Falling = TIM_CCER_CC1P,
Both = TIM_CCER_CC1NP | TIM_CCER_CC1P
} |
|
enum | InputCapturePrescaler : uint32_t { Div1 = 0,
Div2 = 1,
Div4 = 2,
Div8 = 3
} |
|
enum | PinState : uint32_t { Disable = 0,
Enable = 1
} |
|
enum | DeadTimeResolution : uint32_t { From0With125nsStep = 0,
From16usWith250nsStep = TIM_BDTR_DTG_7,
From32usWith1usStep = TIM_BDTR_DTG_7 | TIM_BDTR_DTG_6,
From64usWith2usStep
} |
|
enum | OffStateForRunMode : uint32_t { Disable = 0,
Enable = TIM_BDTR_OSSR
} |
|
enum | OffStateForIdleMode : uint32_t { Disable = 0,
Enable = TIM_BDTR_OSSI
} |
|
enum | Event : uint32_t {
Break = TIM_EGR_BG,
CaptureCompareControlUpdate = TIM_EGR_COMG,
Trigger = TIM_EGR_TG,
CaptureCompare4 = TIM_EGR_CC4G,
CaptureCompare3 = TIM_EGR_CC3G,
CaptureCompare2 = TIM_EGR_CC2G,
CaptureCompare1 = TIM_EGR_CC1G,
Update = TIM_EGR_UG
} |
|
|
static void | setMode (Mode mode, SlaveMode slaveMode=SlaveMode::Disabled, SlaveModeTrigger slaveModeTrigger=(SlaveModeTrigger) 0) |
|
static void | configureInputChannel (uint32_t channel, InputCaptureMapping input, InputCapturePrescaler prescaler, InputCapturePolarity polarity, uint8_t filter) |
|
static void | configureOutputChannel (uint32_t channel, OutputCompareMode_t mode, uint16_t compareValue) |
|
static void | setCompareValue (uint32_t channel, uint16_t value) |
|
static uint16_t | getCompareValue (uint32_t channel) |
|
template<typename Signal > |
static consteval bool | isComplementaryChannel () |
|
static void | acknowledgeInterruptFlags (InterruptFlag_t flags) |
|
static void | applyAndReset () |
| Reset the counter, and update the prescaler and overflow values. More...
|
|
static void | disable () |
|
static void | disableInterrupt (Interrupt_t interrupt) |
|
static void | enable () |
|
static void | enableInterrupt (Interrupt_t interrupt) |
|
static void | enableInterruptVector (bool enable, uint8_t priority) |
|
static InterruptFlag_t | getInterruptFlags () |
|
static Value | getOverflow () |
|
static uint16_t | getPrescaler () |
|
static Value | getValue () |
|
static constexpr bool | hasAdvancedPwmControl () |
|
static bool | isCountingDown () |
|
static bool | isCountingUp () |
|
static bool | isEnabled () |
|
static void | pause () |
|
static void | setMode (Mode mode) |
|
static void | setOverflow (Value overflow) |
|
template<class Rep , class Period > |
static Value | setPeriod (std::chrono::duration< Rep, Period > duration, bool autoApply=true) |
|
static void | setPrescaler (uint16_t prescaler) |
|
static void | setValue (Value value) |
|
static void | start () |
|
static void modm::platform::BasicTimer::applyAndReset |
( |
| ) |
|
|
inheritedinlinestatic |
Reset the counter, and update the prescaler and overflow values.
Generates an Update-Event without generating an Update-Interrupt.
This will reset the counter to 0 in up-counting mode (the default) or to the maximal value in down-counting mode. It will also update the timer's prescaler and overflow values if you have set them up to be changed using setPrescaler() or setOverflow() (or setPeriod()).
An Update-Event is also generated when the timer reaches its maximal (up-counting) or minimal (down-counting) value. The settings for Prescaler, Overflow and Compare values are applied then without calling this function.