Arduino Sim Racing Library v1.1.5
Loading...
Searching...
No Matches
SimRacing::ThreePedals Class Reference

Pedal implementation for devices with gas, brake, and clutch. More...

#include <SimRacing.h>

Inheritance diagram for SimRacing::ThreePedals:
SimRacing::Pedals SimRacing::Peripheral SimRacing::LogitechPedals

Public Types

using PedalID = SimRacing::Pedal
 Scoped alias for SimRacing::Pedal.
 

Public Member Functions

 ThreePedals (PinNum pinGas, PinNum pinBrake, PinNum pinClutch, PinNum pinDetect=UnusedPin)
 Class constructor.
 
void setCalibration (AnalogInput::Calibration gasCal, AnalogInput::Calibration brakeCal, AnalogInput::Calibration clutchCal)
 Sets the calibration data (min/max) for the pedals.
 
virtual void begin ()
 Initialize the hardware (if necessary)
 
virtual bool update ()
 Perform a poll of the hardware to refresh the class state.
 
long getPosition (PedalID pedal, long rMin=0, long rMax=100) const
 Retrieves the buffered position for the pedal, rescaled to a nominal range using the calibration values.
 
int getPositionRaw (PedalID pedal) const
 Retrieves the buffered position for the pedal, ignoring the calibration data.
 
bool hasPedal (PedalID pedal) const
 Checks if a given pedal is present in the class.
 
int getNumPedals () const
 Retrieves the number of pedals handled by the class.
 
bool positionChanged () const
 Checks whether the current pedal positions have changed since the last update.
 
void setCalibration (PedalID pedal, AnalogInput::Calibration cal)
 Calibrate a pedal's min/max values for rescaling.
 
void serialCalibration (Stream &iface=Serial)
 Runs an interactive calibration tool using the serial interface.
 
bool isConnected () const
 Check if the device is physically connected to the board.
 

Static Public Member Functions

static String getPedalName (PedalID pedal)
 Utility function to get the string name for each pedal.
 

Detailed Description

Pedal implementation for devices with gas, brake, and clutch.

Definition at line 419 of file SimRacing.h.

Member Typedef Documentation

◆ PedalID

Scoped alias for SimRacing::Pedal.

Definition at line 291 of file SimRacing.h.

Constructor & Destructor Documentation

◆ ThreePedals()

SimRacing::ThreePedals::ThreePedals ( PinNum pinGas,
PinNum pinBrake,
PinNum pinClutch,
PinNum pinDetect = UnusedPin )

Class constructor.

Parameters
pinGasthe analog pin for the gas pedal potentiometer
pinBrakethe analog pin for the brake pedal potentiometer
pinClutchthe analog pin for the clutch pedal potentiometer
pinDetectthe digital pin for device detection (high is detected)

Definition at line 569 of file SimRacing.cpp.

Member Function Documentation

◆ begin()

void SimRacing::Pedals::begin ( )
virtualinherited

Initialize the hardware (if necessary)

Reimplemented from SimRacing::Peripheral.

Examples
PedalsJoystick.ino, and PedalsPrint.ino.

Definition at line 361 of file SimRacing.cpp.

◆ getNumPedals()

int SimRacing::Pedals::getNumPedals ( ) const
inlineinherited

Retrieves the number of pedals handled by the class.

Returns
the number of pedals handled by the class

Definition at line 344 of file SimRacing.h.

◆ getPedalName()

String SimRacing::Pedals::getPedalName ( PedalID pedal)
staticinherited

Utility function to get the string name for each pedal.

Parameters
pedalthe pedal to get the name of
Returns
the name of the pedal, as a String

Definition at line 407 of file SimRacing.cpp.

◆ getPosition()

long SimRacing::Pedals::getPosition ( PedalID pedal,
long rMin = 0,
long rMax = 100 ) const
inherited

Retrieves the buffered position for the pedal, rescaled to a nominal range using the calibration values.

By default this is rescaled to an integer percentage.

Parameters
pedalthe pedal to retrieve position for
rMinthe minimum output value for the rescaling function
rMaxthe maximum output value for the rescaling function
Returns
the pedal position, buffered and rescaled
Examples
PedalsJoystick.ino, and PedalsPrint.ino.

Definition at line 387 of file SimRacing.cpp.

◆ getPositionRaw()

int SimRacing::Pedals::getPositionRaw ( PedalID pedal) const
inherited

Retrieves the buffered position for the pedal, ignoring the calibration data.

Parameters
pedalthe pedal to retrieve position for
Returns
the axis position, buffered

Definition at line 392 of file SimRacing.cpp.

◆ hasPedal()

bool SimRacing::Pedals::hasPedal ( PedalID pedal) const
inherited

Checks if a given pedal is present in the class.

Parameters
pedalthe pedal to check
Returns
'true' if there is data for the pedal, 'false' otherwise
Examples
PedalsJoystick.ino, and PedalsPrint.ino.

Definition at line 397 of file SimRacing.cpp.

◆ isConnected()

bool SimRacing::Pedals::isConnected ( ) const
inlinevirtualinherited

Check if the device is physically connected to the board.

That means it is both present and detected long enough to be considered 'stable'.

Returns
'true' if the device is connected, 'false' otherwise

Reimplemented from SimRacing::Peripheral.

Definition at line 370 of file SimRacing.h.

◆ positionChanged()

bool SimRacing::Pedals::positionChanged ( ) const
inlineinherited

Checks whether the current pedal positions have changed since the last update.

Returns
'true' if position has changed, 'false' otherwise
Examples
PedalsJoystick.ino.

Definition at line 351 of file SimRacing.h.

◆ serialCalibration()

void SimRacing::Pedals::serialCalibration ( Stream & iface = Serial)
inherited

Runs an interactive calibration tool using the serial interface.

Parameters
ifacethe serial interface to send and receive prompts. Defaults to Serial (CDC USB on most boards).
Examples
PedalsPrint.ino.

Definition at line 427 of file SimRacing.cpp.

◆ setCalibration() [1/2]

void SimRacing::Pedals::setCalibration ( PedalID pedal,
AnalogInput::Calibration cal )
inherited

Calibrate a pedal's min/max values for rescaling.

Parameters
pedalthe pedal to set the calibration of
calthe calibration data to set

Definition at line 401 of file SimRacing.cpp.

◆ setCalibration() [2/2]

void SimRacing::ThreePedals::setCalibration ( AnalogInput::Calibration gasCal,
AnalogInput::Calibration brakeCal,
AnalogInput::Calibration clutchCal )

Sets the calibration data (min/max) for the pedals.

Parameters
gasCalthe calibration data for the gas pedal
brakeCalthe calibration data for the brake pedal
clutchCalthe calibration data for the clutch pedal

Definition at line 574 of file SimRacing.cpp.

◆ update()

bool SimRacing::Pedals::update ( )
virtualinherited

Perform a poll of the hardware to refresh the class state.

Returns
'true' if device state changed, 'false' otherwise

Implements SimRacing::Peripheral.

Examples
PedalsJoystick.ino, and PedalsPrint.ino.

Definition at line 365 of file SimRacing.cpp.


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