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