pub fn delay_micros(&self, mut us: u32) {
        const NANOS_PER_MICRO: u32 = 1_000;
        const MAX_MICROS: u32 = u32::MAX / NANOS_PER_MICRO;

        // Avoid potential overflow if micro -> nano conversion is too large
        while us > MAX_MICROS {
            us -= MAX_MICROS;
            self.delay_nanos(MAX_MICROS * NANOS_PER_MICRO);
        }

        self.delay_nanos(us * NANOS_PER_MICRO);
    }
Delay for at least the number of specific microseconds.
esp-lp-hal/src/delay.rs