fn recover_from_noise_error(&mut self) -> Result<(), Error> {
        // software reset by writing CONDRST
        // this automatically clears the seed error interrupt status
        self.rng.cr.modify(|_, w| w.condrst().set_bit());
        self.rng.cr.modify(|_, w| w.condrst().clear_bit());

        // when CONDRST is set to 0 by software its value goes to 0 when the
        // reset process is done.
        // It takes about 2 AHB clock cycles + 2 RNG clock cycles
        while self.rng.cr.read().condrst().bit_is_set() {}

        let sr = self.rng.sr.read();
        if sr.secs().bit_is_set() {
            Err(Error::Seed)
        } else {
            self.err_cnt = self.err_cnt.saturating_add(1);
            Ok(())
        }
    }
// Reference manual section 22.3.7 "Error management"
Reference manual section 22.3.7 "Error management"
Reference manual section 22 . 3 . 7 " Error management "
fn recover_from_noise_error(&mut self) -> Result<(), Error> {
        // software reset by writing CONDRST
        // this automatically clears the seed error interrupt status
        self.rng.cr.modify(|_, w| w.condrst().set_bit());
        self.rng.cr.modify(|_, w| w.condrst().clear_bit());
        // when CONDRST is set to 0 by software its value goes to 0 when the
        // reset process is done.
        // It takes about 2 AHB clock cycles + 2 RNG clock cycles
        while self.rng.cr.read().condrst().bit_is_set() {}
        let sr = self.rng.sr.read();
        if sr.secs().bit_is_set() {
            Err(Error::Seed)
        } else {
            self.err_cnt = self.err_cnt.saturating_add(1);
            Ok(())
        }
    }
fn recover_from_noise_error ( & mut self ) -> Result < ( ) , Error > { // software reset by writing CONDRST // this automatically clears the seed error interrupt status self . rng . cr . modify ( | _ , w | w . condrst ( ) . set_bit ( ) ) ; self . rng . cr . modify ( | _ , w | w . condrst ( ) . clear_bit ( ) ) ; // when CONDRST is set to 0 by software its value goes to 0 when the // reset process is done. // It takes about 2 AHB clock cycles + 2 RNG clock cycles while self . rng . cr . read ( ) . condrst ( ) . bit_is_set ( ) { } let sr = self . rng . sr . read ( ) ; if sr . secs ( ) . bit_is_set ( ) { Err ( Error :: Seed ) } else { self . err_cnt = self . err_cnt . saturating_add ( 1 ) ; Ok ( ( ) ) } }
Reference manual section 22.3.7 "Error management"
Reference manual section 22 . 3 . 7 " Error management "
&mut self