|  | 
| 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.