|
Aria
2.8.0
|
Driver for the AMPTU. More...
#include <ArAMPTU.h>
Inherits ArPTZ.
Public Types | |
| enum | { MIN_SLEW = 15, MAX_TILT_SLEW = 200, MAX_PAN_SLEW = 120 } |
Public Member Functions | |
| ArAMPTU (ArRobot *robot, int unitNumber=0) | |
| Constructor. More... | |
| virtual bool | canPanTiltSlew () |
| virtual bool | canZoom (void) const |
| virtual double | getPan_i (void) const |
| Gets the angle the camera is panned to. | |
| virtual double | getTilt_i (void) const |
| Gets the angle the camera is tilted to. | |
| virtual const char * | getTypeName () |
| virtual bool | init (void) |
| bool | panSlew (double deg) |
| Sets the rate that the camera pans at. | |
| bool | pause (void) |
| Stops current pan/tilt, can be resumed later. | |
| bool | purge (void) |
| Stops motion and purges last command. | |
| bool | requestStatus (void) |
| Retrieves the camera status. | |
| bool | resume (void) |
| Resumes a previously paused pan/tilt. | |
| bool | tiltSlew (double deg) |
| Sets the rate the camera tilts at. | |
| virtual | ~ArAMPTU () |
| Destructor. | |
Public Member Functions inherited from ArPTZ | |
| ArPTZ (ArRobot *robot) | |
| virtual bool | canGetFOV (void) |
| Whether we can get the FOV (field of view) or not. | |
| virtual bool | canGetRealPanTilt (void) const |
| Whether getPan() hand getTilt() return the device's real position, or last commanded position. | |
| virtual bool | canGetRealZoom (void) const |
| Whether getZoom() returns the device's real zoom amount, or last commanded zoom position. | |
| virtual bool | canSetFocus (void) const |
| If the driver can set the focus on the camera, or not. | |
| virtual bool | canSetGain (void) const |
| If the driver can set gain on the camera, or not. | |
| virtual void | connectHandler (void) |
| Internal, attached to robot, inits the camera when robot connects. | |
| virtual int | getAuxPort (void) |
| Gets the port the device is set to communicate on. | |
| virtual ArDeviceConnection * | getDeviceConnection (void) |
| Gets the device connection used by this PTZ camera. | |
| virtual double | getFocus (double focus) const |
| Get the focus the camera is set to. 0 if not supported. | |
| virtual double | getFOVAtMaxZoom (void) |
| Gets the field of view at maximum zoom. | |
| virtual double | getFOVAtMinZoom (void) |
| Gets the field of view at minimum zoom. | |
| virtual double | getGain (double gain) const |
| Get the gain the camera is set to. 0 if not supported. | |
| bool | getInverted () |
| Get whether the camera is inverted (upside down). If true, pan and tilt axes will be reversed. | |
| virtual double | getMaxNegPan (void) const |
| Gets the lowest negative degree the camera can pan to (inverted if camera is inverted) | |
| virtual double | getMaxNegTilt (void) const |
| Gets the lowest negative degree the camera can tilt to (inverted if camera is inverted) | |
| double | getMaxPan () const |
| Gets the highest positive degree the camera can pan to (inverted if camera is inverted) More... | |
| virtual double | getMaxPosPan (void) const |
| Gets the highest positive degree the camera can pan to (inverted if camera is inverted) | |
| virtual double | getMaxPosTilt (void) const |
| Gets the highest positive degree the camera can tilt to (inverted if camera is inverted) | |
| double | getMaxTilt () const |
| Gets the highest positive degree the camera can tilt to (inverted if camera is inverted) More... | |
| virtual int | getMaxZoom (void) const |
| Gets the maximum value for the zoom on this camera. | |
| double | getMinPan () const |
| Gets the lowest negative degree the camera can pan to (inverted if camera is inverted) More... | |
| double | getMinTilt () const |
| Gets the lowest negative degree the camera can tilt to (inverted if camera is inverted) More... | |
| virtual int | getMinZoom (void) const |
| Gets the lowest value for the zoom on this camera. | |
| virtual double | getPan (void) const |
| The angle the camera is panned to (or last commanded value sent, if unable to obtain real pan position) More... | |
| ArRobot * | getRobot () |
| Return ArRobot object this PTZ is associated with. May be NULL. | |
| virtual double | getTilt (void) const |
| The angle the camera is tilted to (or last commanded value sent, if unable to obtain real pan position) More... | |
| virtual int | getZoom (void) const |
| The amount the camera is zoomed to (or last commanded value sent, if unable to obtain real pan position) More... | |
| virtual bool | haltPanTilt () |
| Halt any pan/tilt movement, if device supports it. | |
| virtual bool | haltZoom () |
| Halt any zoom movement, if device supports that. | |
| virtual bool | packetHandler (ArBasePacket *packet) |
| Handles a packet that was read from the device. More... | |
| virtual bool | pan (double degrees) |
| Pans to the given degrees. 0 is straight ahead, - is to the left, + to the right. | |
| virtual bool | panRel (double degrees) |
| Pans relative to current position by given degrees. | |
| virtual bool | panTilt (double degreesPan, double degreesTilt) |
| Pans and tilts to the given degrees. | |
| virtual bool | panTiltRel (double degreesPan, double degreesTilt) |
| Pans and tilts relatives to the current position by the given degrees. | |
| virtual ArBasePacket * | readPacket (void) |
| Reads a packet from the device connection, MUST NOT BLOCK. More... | |
| virtual void | reset (void) |
| Resets the camera. More... | |
| virtual bool | robotPacketHandler (ArRobotPacket *packet) |
| Handles a packet that was read by the robot. More... | |
| virtual bool | sendPacket (ArBasePacket *packet) |
| Sends a given packet to the camera (via robot or serial port, depending) More... | |
| virtual void | sensorInterpHandler (void) |
| Internal, for attaching to the robots sensor interp to read serial port. | |
| virtual bool | setAuxPort (int auxPort) |
| Sets the aux port on the robot to be used to communicate with this device. More... | |
| virtual bool | setDeviceConnection (ArDeviceConnection *connection, bool driveFromRobotLoop=true) |
| Sets the device connection to be used by this PTZ camera, if set this camera will send commands via this connection, otherwise its via robot aux. More... | |
| virtual bool | setFocus (double focus) const |
| Set focus on camera, range of 1-100. More... | |
| virtual bool | setGain (double gain) const |
| Set gain on camera, range of 1-100. More... | |
| void | setInverted (bool inv) |
| Set whether the camera is inverted (upside down). If true, pan and tilt axes will be reversed. | |
| virtual bool | tilt (double degrees) |
| Tilts to the given degrees. 0 is middle, - is downward, + is upwards. | |
| virtual bool | tiltRel (double degrees) |
| Tilts relative to the current position by given degrees. | |
| virtual bool | zoom (int zoomValue) |
| Zooms to the given value. | |
| virtual bool | zoomRel (int zoomValue) |
| Zooms relative to the current value, by the given value. | |
| virtual | ~ArPTZ () |
| Destructor. | |
Protected Member Functions | |
| virtual bool | pan_i (double deg) |
| virtual bool | panRel_i (double deg) |
| virtual bool | panTilt_i (double panDeg, double tiltDeg) |
| virtual bool | panTiltRel_i (double panDeg, double tiltDeg) |
| virtual bool | tilt_i (double deg) |
| virtual bool | tiltRel_i (double deg) |
Protected Member Functions inherited from ArPTZ | |
| void | setLimits (double maxPosPan, double maxNegPan, double maxPosTilt, double maxNegTilt, int maxZoom=0, int minZoom=0) |
| Subclasses call this to set extents (limits) returned by getMaxPosPan(), getMaxNegPan(), getMaxPosTilt(), getMaxNegTilt(), getMaxZoom(), and getMinZoom(). More... | |
| virtual double | getMaxPosPan_i (void) const |
| Versions of the pan and tilt limit accessors where inversion is not applied, for use by subclasses to check when given pan/tilt commands. More... | |
| double | getMaxPan_i () const |
| virtual double | getMaxPosTilt_i (void) const |
| double | getMinPan_i () const |
| virtual double | getMaxNegPan_i (void) const |
| double | getMaxTilt_i () const |
| virtual double | getMaxNegTilt_i (void) const |
| double | getMinTilt_i () const |
Protected Attributes | |
| ArAMPTUPacket | myPacket |
| double | myPan |
| double | myPanSlew |
| ArRobot * | myRobot |
| double | myTilt |
| double | myTiltSlew |
| int | myUnitNumber |
Protected Attributes inherited from ArPTZ | |
| int | myAuxPort |
| ArCommands::Commands | myAuxRxCmd |
| ArCommands::Commands | myAuxTxCmd |
| ArDeviceConnection * | myConn |
| ArFunctorC< ArPTZ > | myConnectCB |
| bool | myInverted |
| double | myMaxNegPan |
| double | myMaxNegTilt |
| double | myMaxPosPan |
| double | myMaxPosTilt |
| int | myMaxZoom |
| int | myMinZoom |
| ArRobot * | myRobot |
|
ArRetFunctor1C< bool, ArPTZ, ArRobotPacket * > | myRobotPacketHandlerCB |
| ArFunctorC< ArPTZ > | mySensorInterpCB |
Driver for the AMPTU.
| ArAMPTU::ArAMPTU | ( | ArRobot * | robot, |
| int | unitNumber = 0 |
||
| ) |
Constructor.
| robot | the robot to attach to |
| unitNumber | the unit number for this packet, this needs to be 0-7 |