|
idfxx 1.0.0
Modern C++23 components for ESP-IDF
|
Rotary encoder configuration. More...
Public Attributes | |
| idfxx::gpio | pin_a = gpio::nc() |
| Encoder pin A (required) | |
| idfxx::gpio | pin_b = gpio::nc() |
| Encoder pin B (required) | |
| std::optional< gpio::pull_mode > | encoder_pins_pull_mode = gpio::pull_mode::pullup |
| Pull mode for encoder pins A and B, or std::nullopt to leave unchanged. | |
| std::chrono::milliseconds | acceleration_threshold {200} |
| Acceleration starts below this interval. | |
| std::chrono::milliseconds | acceleration_cap {4} |
| Minimum interval (limits max acceleration) | |
| std::chrono::microseconds | polling_interval {std::chrono::milliseconds{1}} |
| GPIO polling interval. | |
| std::move_only_function< void(int32_t)> | callback |
| Event callback (required) | |
Rotary encoder configuration.
All fields have sensible defaults, but you must define pin_a, pin_b, and callback at minimum.
The pull mode field defaults to pullup as a convenience, but external pull-up resistors are recommended. When using external pull-ups, set the pull mode field to gpio::pull_mode::floating to disable internal pull resistors, or to std::nullopt if the pins have already been configured.
Definition at line 62 of file rotary_encoder.hpp.
| std::chrono::milliseconds idfxx::rotary_encoder::config::acceleration_cap {4} |
Minimum interval (limits max acceleration)
Definition at line 68 of file rotary_encoder.hpp.
| std::chrono::milliseconds idfxx::rotary_encoder::config::acceleration_threshold {200} |
Acceleration starts below this interval.
Definition at line 67 of file rotary_encoder.hpp.
Event callback (required)
Definition at line 70 of file rotary_encoder.hpp.
| std::optional<gpio::pull_mode> idfxx::rotary_encoder::config::encoder_pins_pull_mode = gpio::pull_mode::pullup |
Pull mode for encoder pins A and B, or std::nullopt to leave unchanged.
Definition at line 66 of file rotary_encoder.hpp.
| idfxx::gpio idfxx::rotary_encoder::config::pin_a = gpio::nc() |
Encoder pin A (required)
Definition at line 63 of file rotary_encoder.hpp.
| idfxx::gpio idfxx::rotary_encoder::config::pin_b = gpio::nc() |
Encoder pin B (required)
Definition at line 64 of file rotary_encoder.hpp.
| std::chrono::microseconds idfxx::rotary_encoder::config::polling_interval {std::chrono::milliseconds{1}} |
GPIO polling interval.
Definition at line 69 of file rotary_encoder.hpp.