#include <ArServerModeRatioDrive.h>
Inheritance diagram for ArServerModeRatioDrive:
Public Member Functions | |
virtual void | activate (void) |
The function called when the mode is activated, subclass must provide. | |
void | addControlCommands (ArServerHandlerCommands *handlerCommands) |
This adds commands that'll let you disable and enable safe driving. | |
void | addToConfig (ArConfig *config, const char *section) |
Adds to a config in a section. | |
ArServerModeRatioDrive (ArServerBase *server, ArRobot *robot, bool takeControlOnJoystick=true, bool useComputerJoystick=true, bool useRobotJoystick=true, bool useServerCommands=true, const char *name="ratioDrive") | |
Constructor. | |
virtual void | deactivate (void) |
The function called when the mode is deactivated, subclass must provide. | |
virtual ArActionGroup * | getActionGroup (void) |
This function should return the action group this mode uses. | |
ArActionRatioInput * | getActionRatioInput (void) |
bool | getSafeDriving (void) |
Gets whether we're driving safely or not. | |
bool | getUseLocationDependentDevices (void) |
Gets whether we're using the range devices that depend on location. | |
void | ratioDrive (double transRatio, double rotRatio, double throttleRatio) |
Sets the ratio drive action. | |
void | setSafeDriving (bool safe, bool internal=false) |
Sets whether we're safe driving or not. | |
void | setUseLocationDependentDevices (bool useLocationDependentDevices, bool internal=false) |
Sets whether we're using the range devices that depend on location. | |
virtual void | userTask (void) |
The ArMode's user task, don't need one, subclass must provide if needed. | |
virtual | ~ArServerModeRatioDrive () |
Destructor. | |
Protected Member Functions | |
void | joyUserTask (void) |
void | ratioFireCallback (void) |
void | serverGetSafeDrive (ArServerClient *client, ArNetPacket *packet) |
void | serverRatioDrive (ArServerClient *client, ArNetPacket *packet) |
void | serverSafeDrivingDisable (void) |
void | serverSafeDrivingEnable (void) |
void | serverSetSafeDrive (ArServerClient *client, ArNetPacket *packet) |
Protected Attributes | |
bool | myDriveSafely |
ArServerHandlerCommands * | myHandlerCommands |
ArRatioInputJoydrive * | myJoydrive |
ArJoyHandler * | myJoyHandler |
ArFunctorC< ArServerModeRatioDrive > | myJoyUserTaskCB |
ArActionDeceleratingLimiter * | myLimiterBackward |
ArActionDeceleratingLimiter * | myLimiterForward |
ArActionMovementParameters * | myMovementParameters |
bool | myNewDriveSafely |
bool | myPrinting |
ArActionRatioInput * | myRatioAction |
ArActionGroup | myRatioDriveGroup |
ArFunctorC< ArServerModeRatioDrive > | myRatioFireCB |
ArRatioInputRobotJoydrive * | myRobotJoydrive |
ArRobotJoyHandler * | myRobotJoyHandler |
double | myRotRatio |
ArFunctor2C< ArServerModeRatioDrive, ArServerClient *, ArNetPacket * > | myServerGetSafeDriveCB |
ArFunctor2C< ArServerModeRatioDrive, ArServerClient *, ArNetPacket * > | myServerRatioDriveCB |
ArFunctorC< ArServerModeRatioDrive > | myServerSafeDrivingDisableCB |
ArFunctorC< ArServerModeRatioDrive > | myServerSafeDrivingEnableCB |
ArFunctor2C< ArServerModeRatioDrive, ArServerClient *, ArNetPacket * > | myServerSetSafeDriveCB |
bool | myTakeControlOnJoystick |
double | myThrottleRatio |
double | myTransRatio |
bool | myUseComputerJoystick |
bool | myUseLocationDependentDevices |
bool | myUseRobotJoystick |
bool | myUseServerCommands |
drawingsExampleWithRobot.cpp, serverDemo.cpp, and simpleServerExample.cpp.
Definition at line 35 of file ArServerModeRatioDrive.h.
|
|
Destructor.
Definition at line 128 of file ArServerModeRatioDrive.cpp. |
|
The function called when the mode is activated, subclass must provide.
Implements ArServerMode. Definition at line 143 of file ArServerModeRatioDrive.cpp. References ratioDrive(). Referenced by joyUserTask(). |
|
This adds commands that'll let you disable and enable safe driving.
Definition at line 194 of file ArServerModeRatioDrive.cpp. References ArServerHandlerCommands::addCommand(), ArLog::log(), myHandlerCommands, myServerSafeDrivingDisableCB, myServerSafeDrivingEnableCB, and myUseServerCommands. Referenced by main(). |
|
Adds to a config in a section.
Definition at line 133 of file ArServerModeRatioDrive.cpp. References ArActionMovementParameters::addToConfig(), ArActionDeceleratingLimiter::addToConfig(), ArActionRatioInput::addToConfig(), myLimiterBackward, myLimiterForward, myMovementParameters, and myRatioAction. |
|
The function called when the mode is deactivated, subclass must provide.
Implements ArServerMode. Definition at line 148 of file ArServerModeRatioDrive.cpp. References ArServerMode::baseDeactivate(), ArActionGroup::deactivate(), and myRatioDriveGroup. |
|
This function should return the action group this mode uses.
Reimplemented from ArServerMode. Definition at line 57 of file ArServerModeRatioDrive.h. References myRatioDriveGroup. |
|
Definition at line 58 of file ArServerModeRatioDrive.h. References myRatioAction. |
|
Gets whether we're driving safely or not.
Definition at line 179 of file ArServerModeRatioDrive.cpp. References myDriveSafely. Referenced by serverGetSafeDrive(). |
|
Gets whether we're using the range devices that depend on location.
Definition at line 381 of file ArServerModeRatioDrive.cpp. References myUseLocationDependentDevices. |
|
|
Sets the ratio drive action.
Definition at line 213 of file ArServerModeRatioDrive.cpp. References ArActionRatioInput::activate(), ArActionGroup::activateExclusive(), ArServerMode::baseActivate(), ArRobot::clearDirectMotion(), ArRobot::deactivateActions(), ArServerMode::isActive(), ArLog::log(), myDriveSafely, myNewDriveSafely, myPrinting, myRatioAction, myRatioDriveGroup, myRotRatio, myThrottleRatio, myTransRatio, and ArServerMode::setActivityTimeToNow(). Referenced by activate(), serverRatioDrive(), and setSafeDriving(). |
|
Definition at line 344 of file ArServerModeRatioDrive.cpp. References myPrinting, myRatioAction, myRotRatio, myThrottleRatio, myTransRatio, and ArActionRatioInput::setRatios(). |
|
Definition at line 273 of file ArServerModeRatioDrive.cpp. References client, getSafeDriving(), ArClientBase::sendPacketTcp(), and ArBasePacket::uByteToBuf(). |
|
Definition at line 248 of file ArServerModeRatioDrive.cpp. References client, ArRobot::lock(), myDriveSafely, ratioDrive(), serverSafeDrivingEnable(), and ArRobot::unlock(). |
|
Definition at line 189 of file ArServerModeRatioDrive.cpp. References setSafeDriving(). |
|
Definition at line 184 of file ArServerModeRatioDrive.cpp. References setSafeDriving(). Referenced by serverRatioDrive(). |
|
Definition at line 264 of file ArServerModeRatioDrive.cpp. References setSafeDriving(). |
|
Sets whether we're safe driving or not.
Definition at line 154 of file ArServerModeRatioDrive.cpp. References ArActionRatioInput::getRotRatio(), ArActionRatioInput::getThrottleRatio(), ArActionRatioInput::getTransRatio(), ArServerMode::isActive(), ArRobot::lock(), ArLog::log(), myDriveSafely, myNewDriveSafely, myRatioAction, ratioDrive(), and ArRobot::unlock(). Referenced by serverSafeDrivingDisable(), serverSafeDrivingEnable(), and serverSetSafeDrive(). |
|
Sets whether we're using the range devices that depend on location.
Definition at line 352 of file ArServerModeRatioDrive.cpp. References ArRobot::lock(), ArLog::log(), myLimiterBackward, myLimiterForward, myUseLocationDependentDevices, ArActionDeceleratingLimiter::setUseLocationDependentDevices(), and ArRobot::unlock(). |
|
The ArMode's user task, don't need one, subclass must provide if needed.
Reimplemented from ArServerMode. Definition at line 309 of file ArServerModeRatioDrive.cpp. References ArMath::fabs(), ArRobot::forceTryingToMove(), ArJoyHandler::getButton(), ArRobotJoyHandler::getButton1(), ArRobot::getRotVel(), ArRobot::getStallValue(), ArRobot::getVel(), ArRobotJoyHandler::gotData(), ArJoyHandler::haveJoystick(), ArRobot::isLeftMotorStalled(), ArRobot::isRightMotorStalled(), myJoyHandler, myRobotJoyHandler, myUseComputerJoystick, myUseRobotJoystick, and ArServerMode::setActivityTimeToNow(). |
|
Definition at line 98 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), getSafeDriving(), ratioDrive(), serverRatioDrive(), and setSafeDriving(). |
|
Definition at line 109 of file ArServerModeRatioDrive.h. Referenced by addControlCommands(), and ArServerModeRatioDrive(). |
|
Definition at line 93 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(). |
|
Definition at line 79 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), joyUserTask(), and userTask(). |
|
Definition at line 102 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(). |
|
Definition at line 92 of file ArServerModeRatioDrive.h. Referenced by addToConfig(), ArServerModeRatioDrive(), and setUseLocationDependentDevices(). |
|
Definition at line 91 of file ArServerModeRatioDrive.h. Referenced by addToConfig(), ArServerModeRatioDrive(), and setUseLocationDependentDevices(). |
|
Definition at line 96 of file ArServerModeRatioDrive.h. Referenced by addToConfig(), and ArServerModeRatioDrive(). |
|
Definition at line 99 of file ArServerModeRatioDrive.h. Referenced by ratioDrive(), and setSafeDriving(). |
|
Definition at line 86 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), ratioDrive(), and ratioFireCallback(). |
|
Definition at line 95 of file ArServerModeRatioDrive.h. Referenced by addToConfig(), ArServerModeRatioDrive(), getActionRatioInput(), ratioDrive(), ratioFireCallback(), and setSafeDriving(). |
|
Definition at line 97 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), deactivate(), getActionGroup(), and ratioDrive(). |
|
Definition at line 106 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(). |
|
Definition at line 94 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(). |
|
Definition at line 80 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), joyUserTask(), and userTask(). |
|
Definition at line 88 of file ArServerModeRatioDrive.h. Referenced by ratioDrive(), and ratioFireCallback(). |
|
Definition at line 104 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(). |
|
Definition at line 105 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(). |
|
Definition at line 111 of file ArServerModeRatioDrive.h. Referenced by addControlCommands(). |
|
Definition at line 110 of file ArServerModeRatioDrive.h. Referenced by addControlCommands(). |
|
Definition at line 103 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(). |
|
Definition at line 82 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), and joyUserTask(). |
|
Definition at line 89 of file ArServerModeRatioDrive.h. Referenced by ratioDrive(), and ratioFireCallback(). |
|
Definition at line 87 of file ArServerModeRatioDrive.h. Referenced by ratioDrive(), and ratioFireCallback(). |
|
Definition at line 83 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), joyUserTask(), and userTask(). |
|
Definition at line 100 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), getUseLocationDependentDevices(), and setUseLocationDependentDevices(). |
|
Definition at line 84 of file ArServerModeRatioDrive.h. Referenced by ArServerModeRatioDrive(), joyUserTask(), and userTask(). |
|
Definition at line 85 of file ArServerModeRatioDrive.h. Referenced by addControlCommands(), and ArServerModeRatioDrive(). |