Aria  2.8.0
ArAMPTU Class Reference

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 ArDeviceConnectiongetDeviceConnection (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...
 
ArRobotgetRobot ()
 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 ArBasePacketreadPacket (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
 
ArRobotmyRobot
 
double myTilt
 
double myTiltSlew
 
int myUnitNumber
 
- Protected Attributes inherited from ArPTZ
int myAuxPort
 
ArCommands::Commands myAuxRxCmd
 
ArCommands::Commands myAuxTxCmd
 
ArDeviceConnectionmyConn
 
ArFunctorC< ArPTZmyConnectCB
 
bool myInverted
 
double myMaxNegPan
 
double myMaxNegTilt
 
double myMaxPosPan
 
double myMaxPosTilt
 
int myMaxZoom
 
int myMinZoom
 
ArRobotmyRobot
 
ArRetFunctor1C< bool, ArPTZ, ArRobotPacket * > myRobotPacketHandlerCB
 
ArFunctorC< ArPTZmySensorInterpCB
 

Detailed Description

Driver for the AMPTU.

Constructor & Destructor Documentation

◆ ArAMPTU()

ArAMPTU::ArAMPTU ( ArRobot robot,
int  unitNumber = 0 
)

Constructor.

Parameters
robotthe robot to attach to
unitNumberthe unit number for this packet, this needs to be 0-7

The documentation for this class was generated from the following files: