My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
gcp::antenna::control::ServoCommandSa Class Reference

Public Types

enum  Request {
  INVALID, SERVO_ENGAGE, GET_AZEL, GET_PRIOR_LOC,
  SEND_POS, SEND_POS_TRIP, LOAD_LOOP_PARAMS_A, LOAD_LOOP_PARAMS_B,
  LOAD_LOOP_PARAMS_C, LOAD_LOOP_PARAMS_D, QUERY_STATUS, AZ_BRAKE_ON,
  AZ_BRAKE_OFF, EL_BRAKE_ON, EL_BRAKE_OFF, CLUTCHES_ON,
  CLUTCHES_OFF, AZ_CONTACTORS_ON, AZ_CONTACTORS_OFF, EL_CONTACTORS_ON,
  EL_CONTACTORS_OFF, POSITION_ERRORS
}
 

Public Member Functions

void constructMap ()
 
 ServoCommandSa ()
 
 ~ServoCommandSa ()
 
void packCommand (Request req)
 
void packCommand (Request req, std::vector< float > &values)
 
void checkOneOutput ()
 
void checkTwoOutputs ()
 
void checkManyOutputs ()
 
void interpretStatusResponse (const char *response)
 
void interpretResponse ()
 
bool simpleValidityCheck ()
 
size_t responseLength ()
 
size_t size ()
 

Public Attributes

std::map< Request, std::string > commandMap_
 
unsigned char request_
 
std::string messageToSend_
 
std::string expectedResponse_
 
char responseReceived_ [SERVO_DATA_MAX_LEN]
 
unsigned short cmdSize_
 
bool expectsResponse_
 
unsigned short responseLength_
 
unsigned char readData_ [SERVO_DATA_MAX_LEN]
 
unsigned char tmpBuffer_ [SERVO_DATA_MAX_LEN]
 
bool responseValid_
 
bool responseValueValid_
 
bool ppsPresent_
 
float responseValue_ [MAX_RESPONSE_SAMPLES]
 

Friends

class ServoComms
 

Member Enumeration Documentation

Enumerate supported commands

Constructor & Destructor Documentation

ServoCommandSa::ServoCommandSa ( )

Constructor.

....................................................................... Constructor initializes request type to invalid and constructs the command map.

ServoCommandSa::~ServoCommandSa ( )

Destructor.

....................................................................... Constructor initializes request type to invalid.

Member Function Documentation

void ServoCommandSa::checkManyOutputs ( )

Check if box output is valid when many return values.

....................................................................... Check if box output is valid, and what its value is.

void ServoCommandSa::checkOneOutput ( )

Check if box output is valid when one return value.

....................................................................... Check if box output is valid, and what its value is.

void ServoCommandSa::checkTwoOutputs ( )

Check if box output is valid when two return values.

....................................................................... Check if box output is valid, and what its value is.

void ServoCommandSa::constructMap ( )

Construct the map

....................................................................... Construct our map from enums to strings to issue.

void ServoCommandSa::interpretResponse ( )

Interpret what we get back

....................................................................... Interpret Command to see if something valid happened.

void ServoCommandSa::interpretStatusResponse ( const char *  response)

Interpret our awful status response

....................................................................... Interpret our awful status response

void ServoCommandSa::packCommand ( Request  req)

General Pack Command

....................................................................... pack all our commands

size_t ServoCommandSa::responseLength ( )

Return the number of bytes read.

....................................................................... Return the response length.

bool ServoCommandSa::simpleValidityCheck ( )

Simple check that two strings match.

....................................................................... Simple Check if two strings match

size_t ServoCommandSa::size ( )

The size of the command to send.

....................................................................... Return our size as a size_t suitable for passing to write(2) or read(2).

Member Data Documentation

unsigned short gcp::antenna::control::ServoCommandSa::cmdSize_

The size of the command to send.

std::map<Request, std::string> gcp::antenna::control::ServoCommandSa::commandMap_

Command map

std::string gcp::antenna::control::ServoCommandSa::expectedResponse_

Expected Response

bool gcp::antenna::control::ServoCommandSa::expectsResponse_

True if we are expecting a response to a command

std::string gcp::antenna::control::ServoCommandSa::messageToSend_

Command to be issued

bool gcp::antenna::control::ServoCommandSa::ppsPresent_

Whether 1 PPS is present

unsigned char gcp::antenna::control::ServoCommandSa::readData_[SERVO_DATA_MAX_LEN]

A buffer into which we can read data returned by the pmac.

unsigned char gcp::antenna::control::ServoCommandSa::request_

Index pertaining to all request types.

unsigned short gcp::antenna::control::ServoCommandSa::responseLength_

If we are expecting a response, how many bytes should be received?

char gcp::antenna::control::ServoCommandSa::responseReceived_[SERVO_DATA_MAX_LEN]

Response Received

bool gcp::antenna::control::ServoCommandSa::responseValid_

Whether the response is valid

float gcp::antenna::control::ServoCommandSa::responseValue_[MAX_RESPONSE_SAMPLES]

Value of the response

bool gcp::antenna::control::ServoCommandSa::responseValueValid_

Whether the response value is valid

unsigned char gcp::antenna::control::ServoCommandSa::tmpBuffer_[SERVO_DATA_MAX_LEN]

A pointer to this buffer may be handed back via calls to unsigned int* readRegResponse(), above


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