Aria
2.8.0
|
Communicate with ACTS. More...
#include <ArACTS.h>
Public Types | |
enum | ActsConstants { NUM_CHANNELS = 32, MAX_BLOBS = 10, ACTS_BLOB_DATA_SIZE = 16, DATA_HEADER = NUM_CHANNELS * 4, MAX_DATA = 5300 } |
Public Member Functions | |
void | actsHandler (void) |
A function that reads information from acts and requests packets. | |
ArACTS_1_2 () | |
Constructor. | |
bool | closePort (void) |
Closes the connection. More... | |
bool | getBlob (int channel, int blobNumber, ArACTSBlob *blob) |
Gets the given blob from the given channel. More... | |
int | getNumBlobs (int channel) |
Gets the number of blobs for the given chanel. More... | |
ArRobot * | getRobot (void) |
Gets the robot this class is connected to. | |
void | invert (int width=160, int height=120) |
This will make the image stats inverted (for use with an inverted camera) More... | |
bool | isConnected (void) |
Finds out whether there is connection. | |
bool | openPort (ArRobot *robot, const char *host="localhost", int port=5001) |
Opens the connection to ACTS. More... | |
bool | receiveBlobInfo (void) |
Gets the blob information from the connection to acts. More... | |
bool | requestPacket (void) |
Requests another packet. More... | |
bool | requestQuit (void) |
Requests that ACTS quits. More... | |
void | setRobot (ArRobot *robot) |
Sets the robot this class is connected to. | |
virtual | ~ArACTS_1_2 () |
Destructor. | |
Protected Member Functions | |
int | getData (char *rawData) |
an iternal function to strip out the information from some bytes | |
int | invertX (int before) |
int | invertY (int before) |
Protected Attributes | |
int | myBlobIndex [NUM_CHANNELS] |
int | myBlobNum [NUM_CHANNELS] |
bool | myBlobsBad |
ArTcpConnection | myConn |
char | myData [MAX_DATA] |
int | myHeight |
bool | myInverted |
bool | myRequested |
ArRobot * | myRobot |
ArFunctorC< ArACTS_1_2 > | mySensorTaskCB |
int | myWidth |
Communicate with ACTS.
bool ArACTS_1_2::closePort | ( | void | ) |
Closes the connection.
Closes the port to the ACTS server.
bool ArACTS_1_2::getBlob | ( | int | channel, |
int | blobNumber, | ||
ArACTSBlob * | blob | ||
) |
Gets the given blob from the given channel.
Gets the blobNumber from the channel given, fills the information for that blob into the given blob structure.
channel | the channel to get the blob from |
blobNumber | the number of the blob to get from the given channel |
blob | the blob instance to fill in with the data about the requested blob |
int ArACTS_1_2::getNumBlobs | ( | int | channel | ) |
Gets the number of blobs for the given chanel.
void ArACTS_1_2::invert | ( | int | width = 160 , |
int | height = 120 |
||
) |
This will make the image stats inverted (for use with an inverted camera)
This inverts the image, but since ACTS doesn't tell this driver the height or width, you need to provide both of those for the image, default is 160x120.
width | the width of the images acts is grabbing (pixels) |
height | the height of the images acts is grabbing (pixels) |
bool ArACTS_1_2::openPort | ( | ArRobot * | robot, |
const char * | host = "localhost" , |
||
int | port = 5001 |
||
) |
Opens the connection to ACTS.
Opens the port to the ACTS server.
robot | the robot to attach this to, which puts a sensorInterp on the robot so that ArACTS will always have fresh data from ACTS... giving a NULL value is perfectly acceptable, in this case ArACTS will not do any processing or requesting and you'll have to use receiveBlobInfo and requestPacket (or just call actsHandler) |
port | the port the ACTS server is running on, default of 5001 |
host | the host the ACTS server is running on, default is localhost (ie this machine) |
bool ArACTS_1_2::receiveBlobInfo | ( | void | ) |
Gets the blob information from the connection to acts.
Checks the connection to the ACTS server for data, if data is there it fills in the blob information, otherwise just returns false.
bool ArACTS_1_2::requestPacket | ( | void | ) |
Requests another packet.
Requests a packet from the ACTS server, specifically it sends the request to the acts server over its connection.
bool ArACTS_1_2::requestQuit | ( | void | ) |
Requests that ACTS quits.
Sends a command to the ACTS server requesting that ACTS quit.