#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(). |
1.4.0