38 static void irq_handler(uint8_t instance,
bool pin_a);
41 static uint32_t
get_gpio(uint8_t pin_number);
47 static void update_phase_and_error_count(
bool pin_a_now,
bool pin_b_now, uint8_t &phase, int32_t &distance_count, uint32_t &total_count, uint32_t &error_count);
static uint32_t get_gpio(uint8_t pin_number)
#define WHEELENCODER_MAX_INSTANCES
AP_WheelEncoder_Quadrature(AP_WheelEncoder &frontend, uint8_t instance, AP_WheelEncoder::WheelEncoder_State &state)
static int irq_handler0_pina(int irq, void *context)
static int irq_handler1_pinb(int irq, void *context)
static struct IrqState irq_state[WHEELENCODER_MAX_INSTANCES]
static int irq_handler0_pinb(int irq, void *context)
static void irq_handler(uint8_t instance, bool pin_a)
static uint8_t pin_ab_to_phase(bool pin_a, bool pin_b)
static int irq_handler1_pina(int irq, void *context)
static void update_phase_and_error_count(bool pin_a_now, bool pin_b_now, uint8_t &phase, int32_t &distance_count, uint32_t &total_count, uint32_t &error_count)