@@ -205,11 +205,11 @@ impl Interruptable for Dynamic {}
205
205
/// External Interrupt Pin
206
206
pub trait ExtiPin {
207
207
fn make_interrupt_source ( & mut self , afio : & mut afio:: Parts ) ;
208
- fn trigger_on_edge ( & mut self , exti : & EXTI , level : Edge ) ;
209
- fn enable_interrupt ( & mut self , exti : & EXTI ) ;
210
- fn disable_interrupt ( & mut self , exti : & EXTI ) ;
208
+ fn trigger_on_edge ( & mut self , exti : & mut EXTI , level : Edge ) ;
209
+ fn enable_interrupt ( & mut self , exti : & mut EXTI ) ;
210
+ fn disable_interrupt ( & mut self , exti : & mut EXTI ) ;
211
211
fn clear_interrupt_pending_bit ( & mut self ) ;
212
- fn check_interrupt ( & mut self ) -> bool ;
212
+ fn check_interrupt ( & self ) -> bool ;
213
213
}
214
214
215
215
impl < PIN > ExtiPin for PIN
@@ -248,7 +248,7 @@ where
248
248
}
249
249
250
250
/// Generate interrupt on rising edge, falling edge or both
251
- fn trigger_on_edge ( & mut self , exti : & EXTI , edge : Edge ) {
251
+ fn trigger_on_edge ( & mut self , exti : & mut EXTI , edge : Edge ) {
252
252
let i = self . pin_id ( ) ;
253
253
match edge {
254
254
Edge :: Rising => {
@@ -273,13 +273,13 @@ where
273
273
}
274
274
275
275
/// Enable external interrupts from this pin.
276
- fn enable_interrupt ( & mut self , exti : & EXTI ) {
276
+ fn enable_interrupt ( & mut self , exti : & mut EXTI ) {
277
277
exti. imr
278
278
. modify ( |r, w| unsafe { w. bits ( r. bits ( ) | ( 1 << self . pin_id ( ) ) ) } ) ;
279
279
}
280
280
281
281
/// Disable external interrupts from this pin
282
- fn disable_interrupt ( & mut self , exti : & EXTI ) {
282
+ fn disable_interrupt ( & mut self , exti : & mut EXTI ) {
283
283
exti. imr
284
284
. modify ( |r, w| unsafe { w. bits ( r. bits ( ) & !( 1 << self . pin_id ( ) ) ) } ) ;
285
285
}
@@ -290,7 +290,7 @@ where
290
290
}
291
291
292
292
/// Reads the interrupt pending bit for this pin
293
- fn check_interrupt ( & mut self ) -> bool {
293
+ fn check_interrupt ( & self ) -> bool {
294
294
unsafe { ( ( * EXTI :: ptr ( ) ) . pr . read ( ) . bits ( ) & ( 1 << self . pin_id ( ) ) ) != 0 }
295
295
}
296
296
}
0 commit comments