99#![ no_std]  
1010
1111mod  utils; 
12- extern  crate  cortex_m_rt as  rt; 
1312
14- use  rt :: entry; 
13+ use  cortex_m_rt :: entry; 
1514
1615#[ entry]  
1716fn  main ( )  -> ! { 
18-     use  hal:: comparator:: { refint_input,  ComparatorExt ,  ComparatorSplit ,  Config ,  Hysteresis } ; 
19-     use  hal:: gpio:: { GpioExt ,  PushPull } ; 
20-     use  hal:: rcc:: RccExt ; 
21-     use  hal:: stm32; 
22-     use  stm32g4xx_hal as  hal; 
23- 
24-     let  dp = stm32:: Peripherals :: take ( ) . expect ( "cannot take peripherals" ) ; 
17+     use  stm32g4xx_hal:: { 
18+         comparator:: { refint_input,  ComparatorExt ,  ComparatorSplit ,  Config ,  Hysteresis } , 
19+         gpio:: { GpioExt ,  PushPull } , 
20+         pac, 
21+         rcc:: RccExt , 
22+     } ; 
23+ 
24+     let  dp = pac:: Peripherals :: take ( ) . expect ( "cannot take peripherals" ) ; 
2525    let  mut  rcc = dp. RCC . constrain ( ) ; 
2626
2727    let  gpioa = dp. GPIOA . split ( & mut  rcc) ; 
2828
2929    let  ( comp1,  comp2,  ..)  = dp. COMP . split ( & mut  rcc) ; 
3030
31-     let  pa1 = gpioa. pa1 . into_analog ( ) ; 
32-     let  pa0 = gpioa. pa0 . into_analog ( ) ; 
33-     let  comp1 = comp1. comparator ( pa1,  pa0,  Config :: default ( ) ,  & rcc. clocks ) ; 
31+     let  comp1 = comp1. comparator ( gpioa. pa1 ,  gpioa. pa0 ,  Config :: default ( ) ,  & rcc. clocks ) ; 
3432    let  comp1 = comp1. enable ( ) ; 
3533
3634    // led1 pa1 will be updated manually when to match comp1 value 
3735    let  mut  led1 = gpioa. pa5 . into_push_pull_output ( ) ; 
3836
39-     let  pa7 = gpioa. pa7 . into_analog ( ) ; 
4037    let  comp2 = comp2. comparator ( 
41-         pa7, 
38+         gpioa . pa7 , 
4239        refint_input:: VRefintM12 , 
4340        Config :: default ( ) 
4441            . hysteresis ( Hysteresis :: None ) 
@@ -53,9 +50,6 @@ fn main() -> ! {
5350
5451    loop  { 
5552        // Read comp1 output and update led1 accordingly 
56-         match  comp1. output ( )  { 
57-             true  => led1. set_high ( ) , 
58-             false  => led1. set_low ( ) , 
59-         } 
53+         led1. set_state ( comp1. output ( ) . into ( ) ) ; 
6054    } 
6155} 
0 commit comments