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. | |
![]() | |
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) |
![]() | |
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 |
![]() | |
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 |