ArPiRobot-CoreLib C++
C++ library for ArPiRobot robots
Public Member Functions | Protected Member Functions | List of all members
arpirobot::QuadEncoder Class Reference

#include <arpirobot/arduino/sensor/QuadEncoder.hpp>

Inheritance diagram for arpirobot::QuadEncoder:
arpirobot::ArduinoDevice

Public Member Functions

 QuadEncoder (int pinA, int pinB, bool useInternalPullup, bool createDevice=true, int deviceId=-1)
 
 QuadEncoder (std::string pinA, int pinB, bool useInternalPullup, bool createDevice=true, int deviceId=-1)
 
 QuadEncoder (int pinA, std::string pinB, bool useInternalPullup, bool createDevice=true, int deviceId=-1)
 
 QuadEncoder (std::string pinA, std::string pinB, bool useInternalPullup, bool createDevice=true, int deviceId=-1)
 
int32_t getPosition ()
 
void setPosition (int32_t currentPosition)
 
float getVelocity ()
 
- Public Member Functions inherited from arpirobot::ArduinoDevice
 ArduinoDevice (bool createDevice, int deviceId)
 
virtual std::string getDeviceName ()
 

Protected Member Functions

void applyDefaultState () override
 
std::vector< uint8_t > getCreateData () override
 
void handleData (const std::vector< uint8_t > &data) override
 
- Protected Member Functions inherited from arpirobot::ArduinoDevice
void setArduino (BaseArduinoInterface *arduino)
 
void setDeviceId (int deviceId)
 
bool sendData (const std::vector< uint8_t > &data)
 
bool sendData (const std::string &data)
 

Additional Inherited Members

- Static Protected Member Functions inherited from arpirobot::ArduinoDevice
static std::vector< uint8_t > stringToData (const std::string &str)
 
- Protected Attributes inherited from arpirobot::ArduinoDevice
bool createDevice
 
int deviceId
 
std::string deviceName
 
BaseArduinoInterfacearduino = nullptr
 

Detailed Description

Quadrature encoder encoder (two channels)

Constructor & Destructor Documentation

◆ QuadEncoder() [1/4]

arpirobot::QuadEncoder::QuadEncoder ( int  pinA,
int  pinB,
bool  useInternalPullup,
bool  createDevice = true,
int  deviceId = -1 
)
Parameters
pinAThe digital pin number channel A is connected to
pinBThe digital pin number channel B is connected to
useInternalPullupSet to true to use the arduino's internal pullup resistor on this pin (if supported)
createDeviceLeave this true unless the device is hard-coded in arduino firmware
deviceIdSet this to the hard-coded deviceId if createDevice is false

◆ QuadEncoder() [2/4]

arpirobot::QuadEncoder::QuadEncoder ( std::string  pinA,
int  pinB,
bool  useInternalPullup,
bool  createDevice = true,
int  deviceId = -1 
)
Parameters
pinAThe pin number channel A is connected to (prefix with letter A for analog pin)
pinBThe digital pin number channel B is connected to
useInternalPullupSet to true to use the arduino's internal pullup resistor on this pin (if supported)
createDeviceLeave this true unless the device is hard-coded in arduino firmware
deviceIdSet this to the hard-coded deviceId if createDevice is false

◆ QuadEncoder() [3/4]

arpirobot::QuadEncoder::QuadEncoder ( int  pinA,
std::string  pinB,
bool  useInternalPullup,
bool  createDevice = true,
int  deviceId = -1 
)
Parameters
pinAThe digital pin number channel A is connected to
pinBThe pin number channel B is connected to (prefix with letter A for analog pin)
useInternalPullupSet to true to use the arduino's internal pullup resistor on this pin (if supported)
createDeviceLeave this true unless the device is hard-coded in arduino firmware
deviceIdSet this to the hard-coded deviceId if createDevice is false

◆ QuadEncoder() [4/4]

arpirobot::QuadEncoder::QuadEncoder ( std::string  pinA,
std::string  pinB,
bool  useInternalPullup,
bool  createDevice = true,
int  deviceId = -1 
)
Parameters
pinAThe pin number channel A is connected to (prefix with letter A for analog pin)
pinBThe pin number channel B is connected to (prefix with letter A for analog pin)
useInternalPullupSet to true to use the arduino's internal pullup resistor on this pin (if supported)
createDeviceLeave this true unless the device is hard-coded in arduino firmware
deviceIdSet this to the hard-coded deviceId if createDevice is false

Member Function Documentation

◆ getPosition()

int32_t arpirobot::QuadEncoder::getPosition ( )

Get the position (tick count) for this encoder

Returns
The position in ticks

◆ getVelocity()

float arpirobot::QuadEncoder::getVelocity ( )

Get the current velocity from the encoder

Returns
The speed in ticks / sec

◆ setPosition()

void arpirobot::QuadEncoder::setPosition ( int32_t  currentPosition)

Set the current tick count to the given value

Parameters
currentPositionThe new tick value to set

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