#esp #pwm #capture #reader #reading #signals #module

no-std esp_pwm_reader

Wrapper around the mcpwm capture module for reading pwm signals

3 releases

0.1.2 Nov 19, 2023
0.1.1 Nov 19, 2023
0.1.0 Nov 19, 2023

#13 in #pwm

MIT license

13KB
187 lines

esp_pwm_reader

Wrapper around the mcpwm capture module for reading pwm signals.

Documentation

Usage

  • you need to create a capture timer which can then be used by multiple channel readers
  • f.e.
    use channel_reader::{CaptureTimer, ChannelReader};
    use esp_idf_hal::delay::FreeRtos;
    
    use esp_idf_sys::{
      gpio_num_t_GPIO_NUM_16, gpio_num_t_GPIO_NUM_17
    };
    
    fn main() {
      let capture_timer = CaptureTimer::new(0).unwrap();
    
      let channel1 = ChannelReader::new(&capture_timer, gpio_num_t_GPIO_NUM_16).unwrap();
      let channel2 = ChannelReader::new(&capture_timer, gpio_num_t_GPIO_NUM_17).unwrap();
    
      loop {
          println!(
              "ch1: {} ch2: {}",
              channel1.get_value(),
              channel2.get_value()
          );
    
          FreeRtos::delay_ms(11);
      }
    }
    

Dependencies

~6–15MB
~204K SLoC