encoder: HW timer-based driver for incremental rotary encoders

struct rotary_encoder_acceleration_t
#include <encoder.h>

Public Members

int64_t last_time
uint16_t coeff
struct rotary_encoder_t
#include <encoder.h>

Rotary encoder descriptor.

Public Members

gpio_num_t pin_a
gpio_num_t pin_b
gpio_num_t pin_btn

Encoder pins.

pin_btn can be >= GPIO_NUM_MAX if no button used

uint8_t code
uint16_t store
size_t index
uint64_t btn_pressed_time_us
rotary_encoder_btn_state_t btn_state
rotary_encoder_acceleration_t acceleration
struct rotary_encoder_event_t
#include <encoder.h>

Event.

Public Members

rotary_encoder_event_type_t type

Event type.

rotary_encoder_t *sender

Pointer to descriptor.

int32_t diff

Difference between new and old positions (only if type == RE_ET_CHANGED)