#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RWRegister, WORegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod TIM1_CR1 {
pub mod CEN {
pub const offset: u16 = 0;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UDIS {
pub const offset: u16 = 1;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod URS {
pub const offset: u16 = 2;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OPM {
pub const offset: u16 = 3;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIR {
pub const offset: u16 = 4;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMS {
pub const offset: u16 = 5;
pub const mask: u16 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ARPE {
pub const offset: u16 = 7;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CKD {
pub const offset: u16 = 8;
pub const mask: u16 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UIFREMAP {
pub const offset: u16 = 11;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CR2 {
pub mod CCPC {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CCUS {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CCDS {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MMS {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TI1S {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS1 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS1N {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS2 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS2N {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS3 {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS3N {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS4 {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS5 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OIS6 {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MMS2 {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_SMCR {
pub mod SMS {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TS {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSM {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ETF {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ETPS {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ECE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ETP {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SMS3 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TS3 {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TS4 {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_DIER {
pub mod UIE {
pub const offset: u16 = 0;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1IE {
pub const offset: u16 = 1;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2IE {
pub const offset: u16 = 2;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3IE {
pub const offset: u16 = 3;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4IE {
pub const offset: u16 = 4;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod COMIE {
pub const offset: u16 = 5;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIE {
pub const offset: u16 = 6;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BIE {
pub const offset: u16 = 7;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UDE {
pub const offset: u16 = 8;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1DE {
pub const offset: u16 = 9;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2DE {
pub const offset: u16 = 10;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3DE {
pub const offset: u16 = 11;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4DE {
pub const offset: u16 = 12;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod COMDE {
pub const offset: u16 = 13;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TDE {
pub const offset: u16 = 14;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_SR {
pub mod UIF {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1IF {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2IF {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3IF {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4IF {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod COMIF {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIF {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BIF {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod B2IF {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1OF {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2OF {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3OF {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4OF {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SBIF {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC5IF {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC6IF {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_EGR {
pub mod UG {
pub const offset: u16 = 0;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1G {
pub const offset: u16 = 1;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2G {
pub const offset: u16 = 2;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3G {
pub const offset: u16 = 3;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4G {
pub const offset: u16 = 4;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod COMG {
pub const offset: u16 = 5;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TG {
pub const offset: u16 = 6;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BG {
pub const offset: u16 = 7;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod B2G {
pub const offset: u16 = 8;
pub const mask: u16 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCMR1ALTERNATE1 {
pub mod CC1S {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC1PSC {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC1F {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2S {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC2PSC {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC2F {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCMR2ALTERNATE17 {
pub mod CC3S {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC3PSC {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC3F {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4S {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC4PSC {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IC4F {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCER {
pub mod CC1E {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1P {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1NE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC1NP {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2E {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2P {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2NE {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC2NP {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3E {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3P {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3NE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC3NP {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4E {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4P {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC4NP {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC5E {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC5P {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC6E {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CC6P {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CNT {
pub mod CNT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UIFCPY {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_PSC {
pub mod PSC {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_ARR {
pub mod ARR {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_RCR {
pub mod REP {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCR1 {
pub mod CCR1 {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCR2 {
pub mod CCR2 {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCR3 {
pub mod CCR3 {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCR4 {
pub mod CCR4 {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_BDTR {
pub mod DTG {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LOCK {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OSSI {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OSSR {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKE {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKP {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AOE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MOE {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKF {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BK2F {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BK2E {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BK2P {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKDSRM {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BK2DSRM {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKBID {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BK2BID {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_DCR {
pub mod DBA {
pub const offset: u16 = 0;
pub const mask: u16 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBL {
pub const offset: u16 = 8;
pub const mask: u16 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_DMAR {
pub mod DMAB {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCMR3 {
pub mod OC5FE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC5PE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC5M {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC5CE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC6FE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC6PE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC6M {
pub const offset: u32 = 12;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC6CE {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC5M3 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OC6M3 {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCR5 {
pub mod CCR5 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GC5C1 {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GC5C2 {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GC5C3 {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_CCR6 {
pub mod CCR6 {
pub const offset: u16 = 0;
pub const mask: u16 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_AF1 {
pub mod BKINE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKDF1BK0E {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKINP {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ETRSEL {
pub const offset: u32 = 14;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_AF2 {
pub mod BK2INE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BK2DF1BK1E {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BK2INP {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIM1_TISEL {
pub mod TI1SEL {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TI2SEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TI3SEL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TI4SEL {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub TIM1_CR1: RWRegister<u16>,
_reserved1: [u16; 1],
pub TIM1_CR2: RWRegister<u32>,
pub TIM1_SMCR: RWRegister<u32>,
pub TIM1_DIER: RWRegister<u16>,
_reserved2: [u16; 1],
pub TIM1_SR: RWRegister<u32>,
pub TIM1_EGR: WORegister<u16>,
_reserved3: [u16; 1],
pub TIM1_CCMR1ALTERNATE1: RWRegister<u32>,
pub TIM1_CCMR2ALTERNATE17: RWRegister<u32>,
pub TIM1_CCER: RWRegister<u32>,
pub TIM1_CNT: RWRegister<u32>,
pub TIM1_PSC: RWRegister<u16>,
_reserved4: [u16; 1],
pub TIM1_ARR: RWRegister<u16>,
_reserved5: [u16; 1],
pub TIM1_RCR: RWRegister<u16>,
_reserved6: [u16; 1],
pub TIM1_CCR1: RWRegister<u16>,
_reserved7: [u16; 1],
pub TIM1_CCR2: RWRegister<u16>,
_reserved8: [u16; 1],
pub TIM1_CCR3: RWRegister<u16>,
_reserved9: [u16; 1],
pub TIM1_CCR4: RWRegister<u16>,
_reserved10: [u16; 1],
pub TIM1_BDTR: RWRegister<u32>,
pub TIM1_DCR: RWRegister<u16>,
_reserved11: [u16; 1],
pub TIM1_DMAR: RWRegister<u32>,
_reserved12: [u32; 1],
pub TIM1_CCMR3: RWRegister<u32>,
pub TIM1_CCR5: RWRegister<u32>,
pub TIM1_CCR6: RWRegister<u16>,
_reserved13: [u16; 1],
pub TIM1_AF1: RWRegister<u32>,
pub TIM1_AF2: RWRegister<u32>,
pub TIM1_TISEL: RWRegister<u32>,
}
pub struct ResetValues {
pub TIM1_CR1: u16,
pub TIM1_CR2: u32,
pub TIM1_SMCR: u32,
pub TIM1_DIER: u16,
pub TIM1_SR: u32,
pub TIM1_EGR: u16,
pub TIM1_CCMR1ALTERNATE1: u32,
pub TIM1_CCMR2ALTERNATE17: u32,
pub TIM1_CCER: u32,
pub TIM1_CNT: u32,
pub TIM1_PSC: u16,
pub TIM1_ARR: u16,
pub TIM1_RCR: u16,
pub TIM1_CCR1: u16,
pub TIM1_CCR2: u16,
pub TIM1_CCR3: u16,
pub TIM1_CCR4: u16,
pub TIM1_BDTR: u32,
pub TIM1_DCR: u16,
pub TIM1_DMAR: u32,
pub TIM1_CCMR3: u32,
pub TIM1_CCR5: u32,
pub TIM1_CCR6: u16,
pub TIM1_AF1: u32,
pub TIM1_AF2: u32,
pub TIM1_TISEL: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtic")]
unsafe impl Send for Instance {}
pub mod TIM1 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x44000000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
TIM1_CR1: 0x00000000,
TIM1_CR2: 0x00000000,
TIM1_SMCR: 0x00000000,
TIM1_DIER: 0x00000000,
TIM1_SR: 0x00000000,
TIM1_EGR: 0x00000000,
TIM1_CCMR1ALTERNATE1: 0x00000000,
TIM1_CCMR2ALTERNATE17: 0x00000000,
TIM1_CCER: 0x00000000,
TIM1_CNT: 0x00000000,
TIM1_PSC: 0x00000000,
TIM1_ARR: 0x0000FFFF,
TIM1_RCR: 0x00000000,
TIM1_CCR1: 0x00000000,
TIM1_CCR2: 0x00000000,
TIM1_CCR3: 0x00000000,
TIM1_CCR4: 0x00000000,
TIM1_BDTR: 0x00000000,
TIM1_DCR: 0x00000000,
TIM1_DMAR: 0x00000000,
TIM1_CCMR3: 0x00000000,
TIM1_CCR5: 0x00000000,
TIM1_CCR6: 0x00000000,
TIM1_AF1: 0x00000001,
TIM1_AF2: 0x00000001,
TIM1_TISEL: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut TIM1_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if TIM1_TAKEN {
None
} else {
TIM1_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if TIM1_TAKEN && inst.addr == INSTANCE.addr {
TIM1_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
TIM1_TAKEN = true;
INSTANCE
}
}
pub const TIM1: *const RegisterBlock = 0x44000000 as *const _;