@@ -15,7 +15,10 @@ pub struct HrTim<TIM, PSCL> {
1515 capture_ch2 : HrCapt < TIM , PSCL , capture:: Ch2 > ,
1616}
1717
18- pub trait HrTimer < TIM , PSCL > : Sized {
18+ pub trait HrTimer {
19+ type Timer ;
20+ type Prescaler ;
21+
1922 /// Get period of timer in number of ticks
2023 ///
2124 /// This is also the maximum duty usable for `HrCompareRegister::set_duty`
@@ -38,10 +41,10 @@ pub trait HrTimer<TIM, PSCL>: Sized {
3841 fn clear_repetition_interrupt ( & mut self ) ;
3942
4043 /// Make a handle to this timers reset event to use as adc trigger
41- fn as_reset_adc_trigger ( & self ) -> super :: adc_trigger:: TimerReset < Self > ;
44+ fn as_reset_adc_trigger ( & self ) -> super :: adc_trigger:: TimerReset < Self :: Timer > ;
4245
4346 /// Make a handle to this timers period event to use as adc trigger
44- fn as_period_adc_trigger ( & self ) -> super :: adc_trigger:: TimerPeriod < Self > ;
47+ fn as_period_adc_trigger ( & self ) -> super :: adc_trigger:: TimerPeriod < Self :: Timer > ;
4548}
4649
4750macro_rules! hrtim_timer {
@@ -60,7 +63,10 @@ macro_rules! hrtim_timer {
6063 $repc: ident,
6164 $( ( $rstXr: ident) ) * ,
6265 ) +) => { $(
63- impl <PSCL > HrTimer <$TIMX, PSCL > for HrTim <$TIMX, PSCL > {
66+ impl <PSCL > HrTimer for HrTim <$TIMX, PSCL > {
67+ type Prescaler = PSCL ;
68+ type Timer = $TIMX;
69+
6470 fn get_period( & self ) -> u16 {
6571 let tim = unsafe { & * $TIMX:: ptr( ) } ;
6672
@@ -99,12 +105,12 @@ macro_rules! hrtim_timer {
99105 }
100106
101107 /// Make a handle to this timers reset event to use as adc trigger
102- fn as_reset_adc_trigger( & self ) -> super :: adc_trigger:: TimerReset <Self > {
108+ fn as_reset_adc_trigger( & self ) -> super :: adc_trigger:: TimerReset <Self :: Timer > {
103109 super :: adc_trigger:: TimerReset ( PhantomData )
104110 }
105111
106112 /// Make a handle to this timers period event to use as adc trigger
107- fn as_period_adc_trigger( & self ) -> super :: adc_trigger:: TimerPeriod <Self > {
113+ fn as_period_adc_trigger( & self ) -> super :: adc_trigger:: TimerPeriod <Self :: Timer > {
108114 super :: adc_trigger:: TimerPeriod ( PhantomData )
109115 }
110116
0 commit comments