Erriez Full step Rotary Encoder  1.1.0
Three speed Full Step Rotary Encoder Library for Arduino
Public Member Functions | List of all members
RotaryFullStep Class Reference

Full step Rotary Encoder class. More...

#include <ErriezRotaryFullStep.h>

Public Member Functions

 RotaryFullStep (uint8_t pin1, uint8_t pin2, bool pullUp=true, uint8_t sensitivity=100)
 Constructor full step Rotary Encoder. More...
 
int read ()
 Read Rotary Encoder state. More...
 
void setSensitivity (uint8_t sensitivity)
 Set sensitivity value. More...
 
uint8_t getSensitivity ()
 Get sensitivity value. More...
 

Detailed Description

Full step Rotary Encoder class.

Definition at line 41 of file ErriezRotaryFullStep.h.

Constructor & Destructor Documentation

◆ RotaryFullStep()

RotaryFullStep::RotaryFullStep ( uint8_t  pin1,
uint8_t  pin2,
bool  pullUp = true,
uint8_t  sensitivity = 100 
)

Constructor full step Rotary Encoder.

Parameters
pin1Rotary Encoder pin 1
pin2Rotary Encoder pin 2
pullUptrue: Enable internal pull-up on Rotary Encoder pins [default argument]. false: Disable internal pull-up on Rotary Encoder pins.
sensitivitySet sensitivity rotation speed value 0..255. A higher is more sensitive for rotation speed, a smaller value is less sensitive or will disable speed detection. Default is 100.

Definition at line 88 of file ErriezRotaryFullStep.cpp.

Member Function Documentation

◆ getSensitivity()

uint8_t RotaryFullStep::getSensitivity ( )

Get sensitivity value.

Returns
Sensitivity value 0..255.

Definition at line 179 of file ErriezRotaryFullStep.cpp.

◆ read()

int RotaryFullStep::read ( )

Read Rotary Encoder state.

Call this function as fast as possible to prevent missing pin changes. This seems to work for most rotary encoders when calling this function within 10ms in an endless loop.

The sensitivity value is used to calculate three rotation speeds by measuring the speed of the Rotary Encoder pin changes. The rotation speed depends on the number of Rotary notches and knob size. The value should experimentally determined.

Returns
Rotary speed and direction -3: Counter clockwise turn, multiple notches fast -2: Counter clockwise turn, multiple notches -1: Counter clockwise turn, single notch 0: No change 1: Clockwise turn, single notch 2: Clockwise turn, multiple notches 3: Clockwise turn, multiple notches fast

Definition at line 119 of file ErriezRotaryFullStep.cpp.

◆ setSensitivity()

void RotaryFullStep::setSensitivity ( uint8_t  sensitivity)

Set sensitivity value.

Parameters
sensitivitySensitivity value 0..255

Definition at line 168 of file ErriezRotaryFullStep.cpp.


The documentation for this class was generated from the following files: