WPILib 2012
WPILibRoboticsLibraryforFRC
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions
DriverStation Class Reference

#include <DriverStation.h>

Inheritance diagram for DriverStation:
SensorBase ErrorBase

List of all members.

Public Types

enum  Alliance { kRed, kBlue, kInvalid }

Public Member Functions

float GetStickAxis (UINT32 stick, UINT32 axis)
short GetStickButtons (UINT32 stick)
float GetAnalogIn (UINT32 channel)
bool GetDigitalIn (UINT32 channel)
void SetDigitalOut (UINT32 channel, bool value)
bool GetDigitalOut (UINT32 channel)
bool IsEnabled ()
bool IsDisabled ()
bool IsAutonomous ()
bool IsOperatorControl ()
bool IsNewControlData ()
bool IsFMSAttached ()
UINT32 GetPacketNumber ()
Alliance GetAlliance ()
UINT32 GetLocation ()
void WaitForData ()
double GetMatchTime ()
float GetBatteryVoltage ()
UINT16 GetTeamNumber ()
DashboardGetHighPriorityDashboardPacker ()
DashboardGetLowPriorityDashboardPacker ()
DashboardBaseGetHighPriorityDashboardPackerInUse ()
DashboardBaseGetLowPriorityDashboardPackerInUse ()
void SetHighPriorityDashboardPackerToUse (DashboardBase *db)
void SetLowPriorityDashboardPackerToUse (DashboardBase *db)
DriverStationEnhancedIOGetEnhancedIO ()
void IncrementUpdateNumber ()
SEM_ID GetUserStatusDataSem ()
void InDisabled (bool entering)
void InAutonomous (bool entering)
void InOperatorControl (bool entering)

Static Public Member Functions

static DriverStationGetInstance ()

Static Public Attributes

static const UINT32 kBatteryModuleNumber = 1
static const UINT32 kBatteryChannel = 8
static const UINT32 kJoystickPorts = 4
static const UINT32 kJoystickAxes = 6

Protected Member Functions

 DriverStation ()
void GetData ()
void SetData ()

Detailed Description

Provide access to the network communication data to / from the Driver Station.


Constructor & Destructor Documentation

DriverStation::DriverStation ( ) [protected]

DriverStation contructor.

This is only called once the first time GetInstance() is called


Member Function Documentation

DriverStation::Alliance DriverStation::GetAlliance ( )

Return the alliance that the driver station says it is on. This could return kRed or kBlue

Returns:
The Alliance enum
float DriverStation::GetAnalogIn ( UINT32  channel)

Get an analog voltage from the Driver Station. The analog values are returned as voltage values for the Driver Station analog inputs. These inputs are typically used for advanced operator interfaces consisting of potentiometers or resistor networks representing values on a rotary switch.

Parameters:
channelThe analog input channel on the driver station to read from. Valid range is 1 - 4.
Returns:
The analog voltage on the input.
float DriverStation::GetBatteryVoltage ( )

Read the battery voltage from the specified AnalogChannel.

This accessor assumes that the battery voltage is being measured through the voltage divider on an analog breakout.

Returns:
The battery voltage.
void DriverStation::GetData ( ) [protected]

Copy data from the DS task for the user. If no new data exists, it will just be returned, otherwise the data will be copied from the DS polling loop.

bool DriverStation::GetDigitalIn ( UINT32  channel)

Get values from the digital inputs on the Driver Station. Return digital values from the Drivers Station. These values are typically used for buttons and switches on advanced operator interfaces.

Parameters:
channelThe digital input to get. Valid range is 1 - 8.
bool DriverStation::GetDigitalOut ( UINT32  channel)

Get a value that was set for the digital outputs on the Driver Station.

Parameters:
channelThe digital ouput to monitor. Valid range is 1 through 8.
Returns:
A digital value being output on the Drivers Station.
DriverStation * DriverStation::GetInstance ( ) [static]

Return a pointer to the singleton DriverStation.

UINT32 DriverStation::GetLocation ( )

Return the driver station location on the field This could return 1, 2, or 3

Returns:
The location of the driver station
double DriverStation::GetMatchTime ( )

Return the approximate match time The FMS does not currently send the official match time to the robots This returns the time since the enable signal sent from the Driver Station At the beginning of autonomous, the time is reset to 0.0 seconds At the beginning of teleop, the time is reset to +15.0 seconds If the robot is disabled, this returns 0.0 seconds Warning: This is not an official time (so it cannot be used to argue with referees)

Returns:
Match time in seconds since the beginning of autonomous
UINT32 DriverStation::GetPacketNumber ( )

Return the DS packet number. The packet number is the index of this set of data returned by the driver station. Each time new data is received, the packet number (included with the sent data) is returned.

Returns:
The driver station packet number
float DriverStation::GetStickAxis ( UINT32  stick,
UINT32  axis 
)

Get the value of the axis on a joystick. This depends on the mapping of the joystick connected to the specified port.

Parameters:
stickThe joystick to read.
axisThe analog axis value to read from the joystick.
Returns:
The value of the axis on the joystick.
short DriverStation::GetStickButtons ( UINT32  stick)

The state of the buttons on the joystick. 12 buttons (4 msb are unused) from the joystick.

Parameters:
stickThe joystick to read.
Returns:
The state of the buttons on the joystick.
UINT16 DriverStation::GetTeamNumber ( )

Return the team number that the Driver Station is configured for

Returns:
The team number
void DriverStation::InAutonomous ( bool  entering) [inline]

Only to be used to tell the Driver Station what code you claim to be executing for diagnostic purposes only

Parameters:
enteringIf true, starting autonomous code; if false, leaving autonomous code
void DriverStation::InDisabled ( bool  entering) [inline]

Only to be used to tell the Driver Station what code you claim to be executing for diagnostic purposes only

Parameters:
enteringIf true, starting disabled code; if false, leaving disabled code
void DriverStation::InOperatorControl ( bool  entering) [inline]

Only to be used to tell the Driver Station what code you claim to be executing for diagnostic purposes only

Parameters:
enteringIf true, starting teleop code; if false, leaving teleop code
bool DriverStation::IsFMSAttached ( )

Is the driver station attached to a Field Management System? Note: This does not work with the Blue DS.

Returns:
True if the robot is competing on a field being controlled by a Field Management System
bool DriverStation::IsNewControlData ( )

Has a new control packet from the driver station arrived since the last time this function was called? Warning: If you call this function from more than one place at the same time, you will not get the get the intended behavior

Returns:
True if the control data has been updated since the last call.
void DriverStation::SetData ( ) [protected]

Copy status data from the DS task for the user.

void DriverStation::SetDigitalOut ( UINT32  channel,
bool  value 
)

Set a value for the digital outputs on the Driver Station.

Control digital outputs on the Drivers Station. These values are typically used for giving feedback on a custom operator station such as LEDs.

Parameters:
channelThe digital output to set. Valid range is 1 - 8.
valueThe state to set the digital output.
void DriverStation::WaitForData ( )

Wait until a new packet comes from the driver station This blocks on a semaphore, so the waiting is efficient. This is a good way to delay processing until there is new driver station data to act on


The documentation for this class was generated from the following files:
 All Classes Functions Variables