Arduino Sim Racing Library v1.1.4
|
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 (uint8_t gasPin, uint8_t brakePin, uint8_t clutchPin, uint8_t detectPin=NOT_A_PIN) | |
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 407 of file SimRacing.h.
|
inherited |
Scoped alias for SimRacing::Pedal.
Definition at line 279 of file SimRacing.h.
SimRacing::ThreePedals::ThreePedals | ( | uint8_t | gasPin, |
uint8_t | brakePin, | ||
uint8_t | clutchPin, | ||
uint8_t | detectPin = NOT_A_PIN |
||
) |
Class constructor.
gasPin | the analog pin for the gas pedal potentiometer |
brakePin | the analog pin for the brake pedal potentiometer |
clutchPin | the analog pin for the clutch pedal potentiometer |
detectPin | the digital pin for device detection (high is detected) |
Definition at line 552 of file SimRacing.cpp.
|
virtualinherited |
Initialize the hardware (if necessary)
Reimplemented from SimRacing::Peripheral.
Definition at line 344 of file SimRacing.cpp.
|
inlineinherited |
Retrieves the number of pedals handled by the class.
Definition at line 332 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 390 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 370 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 375 of file SimRacing.cpp.
|
inherited |
Checks if a given pedal is present in the class.
pedal | the pedal to check |
Definition at line 380 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 358 of file SimRacing.h.
|
inlineinherited |
Checks whether the current pedal positions have changed since the last update.
Definition at line 339 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 410 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 557 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 384 of file SimRacing.cpp.
|
virtualinherited |
Perform a poll of the hardware to refresh the class state.
Implements SimRacing::Peripheral.
Definition at line 348 of file SimRacing.cpp.