Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages | Examples

ArRatioInputJoydrive Class Reference

#include <ArRatioInputJoydrive.h>

List of all members.


Detailed Description

This action will use the joystick for input to drive the robot.

This class creates its own ArJoyHandler to get input from the joystick. Then it will scale the speed between 0 and the given max for velocity and turning, up and down on the joystick go forwards/backwards while right and left go right and left. You must press in one of the two joystick buttons for the class to pay attention to the joystick.

NOTE: The joystick does not save calibration information, so you must calibrate the joystick before each time you use it. To do this, press the button for at least a half a second while the joystick is in the middle. Then let go of the button and hold the joystick in the upper left for at least a half second and then in the lower right corner for at least a half second.

Definition at line 52 of file ArRatioInputJoydrive.h.

Public Member Functions

 ArRatioInputJoydrive (ArRobot *robot, ArActionRatioInput *input, int priority=50, bool stopIfNoButtonPressed=false, bool useOSCalForJoystick=true)
 Constructor.
ArJoyHandlergetJoyHandler (void)
 Gets the joyHandler.
bool getStopIfNoButtonPressed (void)
 Get if we'll stop if no button is pressed, otherwise just do nothing.
bool getUseOSCal (void)
 Gets whether OSCalibration is being used for the joystick or not.
bool joystickInited (void)
 Whether the joystick is initalized or not.
void setStopIfNoButtonPressed (bool stopIfNoButtonPressed)
 Set if we'll stop if no button is pressed, otherwise just do nothing.
void setUseOSCal (bool useOSCal)
 Sets whether to use OSCalibration the joystick or not.
virtual ~ArRatioInputJoydrive ()
 Destructor.

Protected Member Functions

void fireCallback (void)

Protected Attributes

ArFunctorC< ArRatioInputJoydrivemyFireCB
bool myFiredLast
ArActionRatioInputmyInput
ArJoyHandlermyJoyHandler
bool myPreviousUseOSCal
bool myPrinting
ArRobotmyRobot
bool myStopIfNoButtonPressed
bool myUseOSCal


Constructor & Destructor Documentation

ArRatioInputJoydrive::ArRatioInputJoydrive ArRobot robot,
ArActionRatioInput input,
int  priority = 50,
bool  stopIfNoButtonPressed = false,
bool  useOSCalForJoystick = true
 

Constructor.

This action is for driving around the robot with a joystick, you must hold in a button on the joystick and then lean the joytsick over to have it drive. You may need to calibrate the joystick for it to work right, for details about this see ArJoyHandler. If the Aria static class already has a joyhandler this class will use that otherwise it'll make and initialize one and use that (setting it in the Aria class) This uses the ArActionRatioInput so that it'll work and play well with others

Parameters:
stopIfNoButtonPressed if this is true and there is a joystick and no button is pressed, the action will have the robot stop... otherwise it'll do nothing (letting lower priority actions fire)
useOSCalForJoystick if this is true we'll use the OS calibration, if false we'll do our own
See also:
ArJoyHandler::setUseOSCal

Definition at line 54 of file ArRatioInputJoydrive.cpp.


Member Function Documentation

bool ArRatioInputJoydrive::getUseOSCal void   ) 
 

Gets whether OSCalibration is being used for the joystick or not.

See also:
ArJoyHandler::getUseOSCal

Definition at line 114 of file ArRatioInputJoydrive.cpp.

void ArRatioInputJoydrive::setUseOSCal bool  useOSCal  ) 
 

Sets whether to use OSCalibration the joystick or not.

See also:
ArJoyHandler::setUseOSCal

Definition at line 104 of file ArRatioInputJoydrive.cpp.


The documentation for this class was generated from the following files:
Generated on Tue Feb 20 10:51:44 2007 for Aria by  doxygen 1.4.0