Generic Class for handling Quadrature Encoders
Inspired/influenced by Mutable Instruments (pichenettes) Encoder classes.
More...
Generic Class for handling Quadrature Encoders
Inspired/influenced by Mutable Instruments (pichenettes) Encoder classes.
#include <encoder.h>
Public Member Functions | |
Encoder () | |
~Encoder () | |
void | Init (dsy_gpio_pin a, dsy_gpio_pin b, dsy_gpio_pin click, float update_rate=0.f) |
void | Debounce () |
int32_t | Increment () const |
bool | RisingEdge () const |
bool | FallingEdge () const |
bool | Pressed () const |
float | TimeHeldMs () const |
void | SetUpdateRate (float update_rate) |
|
inline |
|
inline |
void daisy::Encoder::Debounce | ( | ) |
Called at update_rate to debounce and handle timing for the switch. In order for events not to be missed, its important that the Edge/Pressed checks be made at the same rate as the debounce function is being called.
|
inline |
Returns true if the encoder was just released.
|
inline |
Returns +1 if the encoder was turned clockwise, -1 if it was turned counter-clockwise, or 0 if it was not just turned.
void daisy::Encoder::Init | ( | dsy_gpio_pin | a, |
dsy_gpio_pin | b, | ||
dsy_gpio_pin | click, | ||
float | update_rate = 0.f |
||
) |
Initializes the encoder with the specified hardware pins. Update rate is to be deprecated in a future release
|
inline |
Returns true while the encoder is held down.
|
inline |
Returns true if the encoder was just pressed.
To be removed in breaking update
update_rate | Does nothing |
|
inline |
Returns the time in milliseconds that the encoder has been held down.