5#include "../common/foc_utils.h"
6#include "../common/time_utils.h"
7#include "../common/base_classes/Sensor.h"
27 Encoder(
int encA,
int encB ,
float ppr,
int index = 0);
40 void enableInterrupts(
void (*doA)() =
nullptr,
void(*doB)() =
nullptr,
void(*doIndex)() =
nullptr);
66 virtual void update()
override;
78 volatile long pulse_counter;
79 volatile long pulse_timestamp;
80 volatile int A_active;
81 volatile int B_active;
82 volatile int I_active;
83 volatile bool index_found =
false;
86 float prev_Th, pulse_per_second;
87 volatile long prev_pulse_counter, prev_timestamp_us;
@ ON
Enable quadrature mode CPR = 4xPPR.
@ OFF
Disable quadrature mode / CPR = PPR.
float getVelocity() override
Quadrature quadrature
Configuration parameter enable or disable quadrature mode.
void enableInterrupts(void(*doA)()=nullptr, void(*doB)()=nullptr, void(*doIndex)()=nullptr)
float cpr
encoder cpr number
float getSensorAngle() override
int pinA
encoder hardware pin A
Pullup pullup
Configuration parameter internal or external pullups.
int needsSearch() override
virtual void update() override
int pinB
encoder hardware pin B