File tree Expand file tree Collapse file tree 3 files changed +15
-0
lines changed Expand file tree Collapse file tree 3 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -8,8 +8,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
8
8
## [ Unreleased]
9
9
10
10
- complete and rework Dma Stream API [ #666 ]
11
+ - add ` .set_count() ` for QEI, add ` .write_count() ` for TIM [ #677 ]
11
12
12
13
[ #666 ] : https://github.com/stm32-rs/stm32f4xx-hal/pull/666
14
+ [ #677 ] : https://github.com/stm32-rs/stm32f4xx-hal/pull/677
13
15
14
16
## [ v0.17.1] - 2023-07-24
15
17
Original file line number Diff line number Diff line change @@ -70,6 +70,12 @@ impl<TIM: Instance> Qei<TIM> {
70
70
) {
71
71
( self . tim , self . pins )
72
72
}
73
+
74
+ /// Set current count number
75
+ pub fn set_count ( & mut self , value : TIM :: Width ) -> & mut Self {
76
+ self . tim . write_count ( value) ;
77
+ self
78
+ }
73
79
}
74
80
75
81
impl < TIM : Instance > embedded_hal:: Qei for Qei < TIM > {
Original file line number Diff line number Diff line change @@ -273,6 +273,7 @@ mod sealed {
273
273
fn listen_interrupt ( & mut self , event : Event , b : bool ) ;
274
274
fn get_interrupt_flag ( & self ) -> Event ;
275
275
fn read_count ( & self ) -> Self :: Width ;
276
+ fn write_count ( & mut self , value : Self :: Width ) ;
276
277
fn start_one_pulse ( & mut self ) ;
277
278
fn start_free ( & mut self , update : bool ) ;
278
279
fn cr1_reset ( & mut self ) ;
@@ -405,6 +406,12 @@ macro_rules! hal {
405
406
self . cnt. read( ) . bits( ) as Self :: Width
406
407
}
407
408
#[ inline( always) ]
409
+ fn write_count( & mut self , value: Self :: Width ) {
410
+ //TODO: remove "unsafe" when possible
411
+ #[ allow( unused_unsafe) ]
412
+ self . cnt. write( |w|unsafe { w. cnt( ) . bits( value) } ) ;
413
+ }
414
+ #[ inline( always) ]
408
415
fn start_one_pulse( & mut self ) {
409
416
self . cr1. modify( |_, w| unsafe { w. bits( 1 << 3 ) } . cen( ) . set_bit( ) ) ;
410
417
}
You can’t perform that action at this time.
0 commit comments