File tree Expand file tree Collapse file tree 2 files changed +24
-5
lines changed
Expand file tree Collapse file tree 2 files changed +24
-5
lines changed Original file line number Diff line number Diff line change @@ -103,12 +103,11 @@ const APP: () = {
103103
104104 #[ task( binds = PWM0 , resources = [ pwm] ) ]
105105 fn on_pwm ( ctx : on_pwm:: Context ) {
106- let ( buf0 , buf1 , pwm ) = ctx. resources . pwm . take ( ) . unwrap ( ) . split ( ) ;
107- if pwm . is_event_triggered ( PwmEvent :: Stopped ) {
108- pwm . reset_event ( PwmEvent :: Stopped ) ;
106+ let pwm_seq = ctx. resources . pwm . as_ref ( ) . unwrap ( ) ;
107+ if pwm_seq . is_event_triggered ( PwmEvent :: Stopped ) {
108+ pwm_seq . reset_event ( PwmEvent :: Stopped ) ;
109109 rprintln ! ( "PWM generation was stopped" ) ;
110110 }
111- ctx. resources . pwm . replace ( pwm. wrap ( buf0, buf1) ) ;
112111 }
113112
114113 #[ task( binds = GPIOTE , resources = [ gpiote] , schedule = [ debounce] ) ]
Original file line number Diff line number Diff line change @@ -800,7 +800,7 @@ where
800800 inner. pwm . stop ( ) ;
801801 }
802802
803- // Starts playing the given sequence.
803+ /// Starts playing the given sequence.
804804 #[ inline( always) ]
805805 pub fn start_seq ( & self , seq : Seq ) {
806806 let inner = self
@@ -809,6 +809,26 @@ where
809809 . unwrap_or_else ( || unsafe { core:: hint:: unreachable_unchecked ( ) } ) ;
810810 inner. pwm . start_seq ( seq) ;
811811 }
812+
813+ /// Checks if the given event has been triggered.
814+ #[ inline( always) ]
815+ pub fn is_event_triggered ( & self , event : PwmEvent ) -> bool {
816+ let inner = self
817+ . inner
818+ . as_ref ( )
819+ . unwrap_or_else ( || unsafe { core:: hint:: unreachable_unchecked ( ) } ) ;
820+ inner. pwm . is_event_triggered ( event)
821+ }
822+
823+ /// Marks the given event as handled.
824+ #[ inline( always) ]
825+ pub fn reset_event ( & self , event : PwmEvent ) {
826+ let inner = self
827+ . inner
828+ . as_ref ( )
829+ . unwrap_or_else ( || unsafe { core:: hint:: unreachable_unchecked ( ) } ) ;
830+ inner. pwm . reset_event ( event)
831+ }
812832}
813833
814834impl < T : Instance > embedded_hal:: Pwm for Pwm < T > {
You can’t perform that action at this time.
0 commit comments