Arduino Sim Racing Library v1.1.5
|
Pedal implementation for devices with gas, brake, and clutch. More...
#include <SimRacing.h>
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. | |
Pedal implementation for devices with gas, brake, and clutch.
Definition at line 419 of file SimRacing.h.
|
inherited |
Scoped alias for SimRacing::Pedal.
Definition at line 291 of file SimRacing.h.
SimRacing::ThreePedals::ThreePedals | ( | PinNum | pinGas, |
PinNum | pinBrake, | ||
PinNum | pinClutch, | ||
PinNum | pinDetect = UnusedPin ) |
Class constructor.
pinGas | the analog pin for the gas pedal potentiometer |
pinBrake | the analog pin for the brake pedal potentiometer |
pinClutch | the analog pin for the clutch pedal potentiometer |
pinDetect | the digital pin for device detection (high is detected) |
Definition at line 569 of file SimRacing.cpp.
|
virtualinherited |
Initialize the hardware (if necessary)
Reimplemented from SimRacing::Peripheral.
Definition at line 361 of file SimRacing.cpp.
|
inlineinherited |
Retrieves the number of pedals handled by the class.
Definition at line 344 of file SimRacing.h.
|
staticinherited |
Utility function to get the string name for each pedal.
pedal | the pedal to get the name of |
Definition at line 407 of file SimRacing.cpp.
|
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.
pedal | the pedal to retrieve position for |
rMin | the minimum output value for the rescaling function |
rMax | the maximum output value for the rescaling function |
Definition at line 387 of file SimRacing.cpp.
|
inherited |
Retrieves the buffered position for the pedal, ignoring the calibration data.
pedal | the pedal to retrieve position for |
Definition at line 392 of file SimRacing.cpp.
|
inherited |
Checks if a given pedal is present in the class.
pedal | the pedal to check |
Definition at line 397 of file SimRacing.cpp.
|
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'.
Reimplemented from SimRacing::Peripheral.
Definition at line 370 of file SimRacing.h.
|
inlineinherited |
Checks whether the current pedal positions have changed since the last update.
Definition at line 351 of file SimRacing.h.
|
inherited |
Runs an interactive calibration tool using the serial interface.
iface | the serial interface to send and receive prompts. Defaults to Serial (CDC USB on most boards). |
Definition at line 427 of file SimRacing.cpp.
|
inherited |
Calibrate a pedal's min/max values for rescaling.
pedal | the pedal to set the calibration of |
cal | the calibration data to set |
Definition at line 401 of file SimRacing.cpp.
void SimRacing::ThreePedals::setCalibration | ( | AnalogInput::Calibration | gasCal, |
AnalogInput::Calibration | brakeCal, | ||
AnalogInput::Calibration | clutchCal ) |
Sets the calibration data (min/max) for the pedals.
gasCal | the calibration data for the gas pedal |
brakeCal | the calibration data for the brake pedal |
clutchCal | the calibration data for the clutch pedal |
Definition at line 574 of file SimRacing.cpp.
|
virtualinherited |
Perform a poll of the hardware to refresh the class state.
Implements SimRacing::Peripheral.
Definition at line 365 of file SimRacing.cpp.