esp-hal/esp-hal-common
liebman ac206af656
pulse counter implementation (#328)
* start of pulse counter implementation

* implement interrupts
implement pcnt for esp32, esp32s2, and esp32s3

* implement pcnt for esp32s2

* fix esp32 PCNT signal names

* update PCNT register/fields for cleaned up PAC

* implement events/get_events (choosing what events interrupt)

* added pcnt example: simple encoder configuration

* restrict pcnt::channel::Channel::new() to super

* PcntPin -> PcntSignal
added range checks for thresholds and limits

* PcntSource is a better name I think

* handle error for PCNT Unit configure() in example

* update pac versions for status register change

* cargo fmt

* cargo fmt (examples)

* PcntSource now only stores the source id.
add a critical section to protect the ctrl & isr_en registers

* cargo fmt
2023-01-17 17:04:22 +00:00
..
src pulse counter implementation (#328) 2023-01-17 17:04:22 +00:00
.gitignore Add SHA accelerator implementation (#257) 2022-11-28 14:20:31 -08:00
build.rs Support ESP32-C2 with 26MHz Xtal 2022-12-13 05:15:10 -08:00
Cargo.toml pulse counter implementation (#328) 2023-01-17 17:04:22 +00:00
README.md Fix clippy warnings, update READMEs (#284) 2022-11-30 10:13:40 -08:00

esp-hal-common

Crates.io docs.rs Crates.io Matrix

no_std HAL implementations for the peripherals which are common among Espressif devices. Implements a number of the traits defined by embedded-hal.

This crate should not be used directly; you should use one of the device-specific HAL crates instead:

Documentation

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.