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

#include <Share.h>

Inheritance diagram for gcp::antenna::control::SpecificShare:
gcp::util::AntennaDataFrameManager gcp::util::RegMapDataFrameManager gcp::util::DataFrameManager

Classes

struct  Block
 
struct  DataPtr
 
class  ExpstubAstrom
 
class  ExpstubClock
 
class  ExpstubRegDb
 
struct  HostAddress
 
class  SpecificAstrom
 
class  SpecificClock
 
class  SpecificPmacLock
 
class  SpecificRegDb
 

Public Types

enum  TimeOut { NO_WAIT, WAIT_FOREVER, NO_WAIT, WAIT_FOREVER }
 
enum  Type {
  CHAR, UCHAR, SHORT, USHORT,
  INT, UINT, LONG, ULONG,
  FLOAT, DOUBLE
}
 
enum  TimeOut { NO_WAIT, WAIT_FOREVER, NO_WAIT, WAIT_FOREVER }
 

Public Member Functions

 SpecificShare (std::string host)
 
 ~SpecificShare ()
 
void readReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned *value)
 
void readRawReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, signed char *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned char *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, signed short *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned short *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, int *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned int *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, long *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned long *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, float *value)
 
void writeReg (RegMapBlock *blk, unsigned first, unsigned nreg, double *value)
 
void writeRawReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned char *value)
 
void writeRawReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned short *value)
 
void writeRawReg (RegMapBlock *blk, unsigned first, unsigned nreg, unsigned *value)
 
void writeRawReg (RegMapBlock *blk, unsigned first, unsigned nreg, float *value)
 
void writeRawReg (RegMapBlock *blk, unsigned first, unsigned nreg, double *value)
 
void grabRegs (TimeOut timeout)
 
void ungrabRegs ()
 
void flagBoard (int board)
 
void unflagBoard (int board)
 
bool verifyBoard (int board)
 
double getLst (double utc)
 
double getTt (double lst)
 
double getUtc ()
 
void setClock (unsigned long mjd, unsigned long sec, unsigned long nanoSeconds)
 
void setClock (gcp::util::TimeVal &time)
 
void setClock ()
 
void setSite (double longitude, double latitude, double altitude)
 
double getUt1Utc (double utc)
 
double getEqnEqx (double tt)
 
void extendUt1Utc (double utc, double ut1utc)
 
void extendEqnEqx (double tt, double eqneqx)
 
RegMapBoard * findRegMapBoard (std::string boardName)
 
unsigned int getNboard ()
 
unsigned int getNarchived ()
 
void packFrame (gcp::util::DataFrameManager *frame)
 
 SpecificShare (std::string host)
 
 ~SpecificShare ()
 
void grabRegs (TimeOut timeout)
 
void ungrabRegs ()
 
void flagBoard (int board)
 
void unflagBoard (int board)
 
bool verifyBoard (int board)
 
double getLst (double utc)
 
double getTt (double lst)
 
double getUtc ()
 
void setClock (unsigned long mjd, unsigned long sec, unsigned long nanoSeconds)
 
void setClock (gcp::util::TimeVal &time)
 
void setClock ()
 
void setSite (double longitude, double latitude, double altitude)
 
double getUt1Utc (double utc)
 
double getEqnEqx (double tt)
 
void extendUt1Utc (double utc, double ut1utc)
 
void extendEqnEqx (double tt, double eqneqx)
 
RegMapBoard * findRegMapBoard (std::string boardName)
 
void freezePmacReadout ()
 
void unfreezePmacReadout ()
 
unsigned int getNboard ()
 
unsigned int getNarchived ()
 
unsigned int getNreg ()
 
unsigned int getNbyte ()
 
void packFrame (gcp::util::DataFrameManager *frame)
 
void debugTrigger ()
 
void setNewFramePending ()
 
void clearNewFramePending ()
 
bool isNewFramePending ()
 
BlockaddBufferedBlock (char *boardName, char *blockName)
 
void copyBufferedBlocksToFrame ()
 
void switchBuffers ()
 
- Public Member Functions inherited from gcp::util::AntennaDataFrameManager
 AntennaDataFrameManager (bool archivedOnly=false)
 
 AntennaDataFrameManager (const gcp::util::AntNum &antNum, bool archivedOnly=false)
 
 AntennaDataFrameManager (gcp::util::AntNum *antNum, bool archivedOnly=false)
 
 AntennaDataFrameManager (AntennaDataFrameManager &fm)
 
virtual ~AntennaDataFrameManager ()
 
void setAnt (gcp::util::AntNum::Id antennaId)
 
unsigned int getAntIntId ()
 
AntNum getAnt ()
 
void initialize (bool archivedOnly=false)
 
void operator= (RegMapDataFrameManager &fm)
 
void operator= (AntennaDataFrameManager &fm)
 
- Public Member Functions inherited from gcp::util::RegMapDataFrameManager
virtual ~RegMapDataFrameManager ()
 
void operator= (DataFrameManager &manager)
 
void writeBoard (BoardDataFrameManager &fm, bool lockFrame)
 
void writeReg (std::string board, std::string name, unsigned char *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, signed char *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, bool *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, unsigned short *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, signed short *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, unsigned int *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, signed int *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, float *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, double *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, RegDate::Data *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, Complex< float >::Data *data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, unsigned char data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, signed char data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, bool data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, unsigned short data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, signed short data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, unsigned int data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, signed int data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, float data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, double data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, RegDate::Data data, CoordRange *range=0)
 
void writeReg (std::string board, std::string name, Complex< float >::Data data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, unsigned char *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, signed char *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, bool *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, unsigned short *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, signed short *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, unsigned int *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, signed int *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, float *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, double *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, RegDate::Data *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, Complex< float >::Data *data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, unsigned char data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, signed char data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, bool data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, unsigned short data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, signed short data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, unsigned int data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, signed int data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, float data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, double data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, RegDate::Data data, CoordRange *range=0)
 
void writeRegNoLock (std::string board, std::string name, Complex< float >::Data data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, unsigned char *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, signed char *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, unsigned short *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, signed short *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, unsigned int *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, signed int *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, float *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, double *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, RegDate::Data *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, Complex< float >::Data *data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, unsigned char data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, signed char data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, bool data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, unsigned short data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, signed short data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, unsigned int data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, signed int data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, float data, CoordRange *range=0)
 
void writeDcReg (RegMapBlock *blk, float data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, double data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, RegDate::Data data, CoordRange *range=0)
 
void writeReg (RegMapBlock *blk, Complex< float >::Data data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, unsigned char *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, signed char *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, bool *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, unsigned short *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, signed short *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, unsigned int *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, signed int *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, float *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, double *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, RegDate::Data *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, Complex< float >::Data *data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, unsigned char data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, signed char data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, bool data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, unsigned short data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, signed short data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, unsigned int data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, signed int data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, float data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, double data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, RegDate::Data data, CoordRange *range=0)
 
void writeRegNoLock (RegMapBlock *blk, Complex< float >::Data data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, unsigned char *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, signed char *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, bool *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, unsigned short *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, signed short *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, unsigned int *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, signed int *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, float *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, double *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, RegDate::Data *data, CoordRange *range=0)
 
void readReg (std::string board, std::string name, Complex< float >::Data *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, unsigned char *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, signed char *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, bool *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, unsigned short *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, signed short *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, unsigned int *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, signed int *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, float *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, double *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, RegDate::Data *data, CoordRange *range=0)
 
void readRegNoLock (std::string board, std::string name, Complex< float >::Data *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, unsigned char *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, signed char *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, bool *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, unsigned short *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, signed short *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, unsigned int *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, signed int *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, float *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, double *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, RegDate::Data *data, CoordRange *range=0)
 
void readReg (RegMapBlock *blk, Complex< float >::Data *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, unsigned char *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, signed char *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, bool *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, unsigned short *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, signed short *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, unsigned int *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, signed int *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, float *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, double *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, RegDate::Data *data, CoordRange *range=0)
 
void readRegNoLock (RegMapBlock *blk, Complex< float >::Data *data, CoordRange *range=0)
 
bool archivedOnly ()
 
unsigned int getId (unsigned nanoSecondInterval)
 
void setMjd ()
 
void setMjd (RegDate &regDate)
 
void setMjd (TimeVal &mjd)
 
void setMjd (double mjd)
 
void incrementRecord ()
 
void setRecord (unsigned record)
 
void setReceived (bool received)
 
RegMapBlock * findReg (char *boardName, char *blockName)
 
RegMapBoard * findRegMapBoard (std::string boardName)
 
int byteOffsetInFrameOf (RegMapBlock *blk, Coord *coord=0)
 
int byteOffsetInFrameOf (std::string board, std::string block, Coord *coord=0)
 
int byteOffsetInFrameOf (RegMapBlock *blk, CoordRange *range)
 
int byteOffsetInFrameOf (std::string board, std::string block, CoordRange *range)
 
int byteOffsetInFrameOf (RegMapBoard *brd, RegMapBlock *blk)
 
int byteOffsetInFrameOf (RegMapBoard *brd)
 
int byteOffsetInFrameOf (std::string board)
 
char * getCharPtr (char *boardName, char *blockName)
 
unsigned char * getUcharPtr (char *boardName, char *blockName)
 
short * getShortPtr (char *boardName, char *blockName)
 
unsigned short * getUshortPtr (char *boardName, char *blockName)
 
unsigned int * getUintPtr (char *boardName, char *blockName)
 
int * getIntPtr (char *boardName, char *blockName)
 
float * getFloatPtr (char *boardName, char *blockName)
 
double * getDoublePtr (char *boardName, char *blockName)
 
RegDate::DatagetDatePtr (char *boardName, char *blockName)
 
- Public Member Functions inherited from gcp::util::DataFrameManager
 DataFrameManager ()
 
 DataFrameManager (unsigned nBuffer)
 
 DataFrameManager (DataFrameManager &fm)
 
 DataFrameManager (DataFrame *frame)
 
virtual ~DataFrameManager ()
 
void resize (unsigned int nBuffer)
 
void pack (unsigned int *data, unsigned int ndata, int startIndex=-1)
 
void pack (unsigned long *data, unsigned int ndata, int startIndex=-1)
 
void pack (float *data, unsigned int ndata, int startIndex=-1)
 
void pack (DataFrame *frame, int startIndex)
 
void fillBuffer (unsigned char val, unsigned int ndata)
 
void fillBuffer (unsigned char val)
 
void setErrorStatus (bool wasError)
 
DataFrameframe ()
 
void unpack (unsigned char *data, unsigned int ndata)
 
void unpack (unsigned char *data)
 
void advance (unsigned ndata)
 
virtual void reinitialize ()
 
void lock ()
 
void unlock ()
 
virtual unsigned int getId ()
 
unsigned byteOffsetInFrameOfData ()
 
unsigned sizeInBytes ()
 
unsigned sizeInBytesOfData ()
 

Static Public Member Functions

static std::string hostIpAddress (std::string host)
 
static std::string hostIpAddress (std::string host)
 
static void pciBusErrorHandler (int sig)
 
static void pciSegvErrorHandler (int sig)
 

Static Public Attributes

static SpecificShareshare_
 
static HostAddress host_address []
 
static const unsigned int NANOSECONDS_PER_POSITION = 10000000
 
static SpecificShareshare = 0
 

Additional Inherited Members

- Protected Member Functions inherited from gcp::util::RegMapDataFrameManager
int byteOffsetInRegMapOf (RegMapBlock *blk, Coord *coord=0)
 
int byteOffsetInRegMapOf (std::string board, std::string block, Coord *coord=0)
 
int byteOffsetInRegMapOf (RegMapBlock *blk, CoordRange *range)
 
int byteOffsetInRegMapOf (std::string board, std::string block, CoordRange *range)
 
void packData (RegMapBlock *blk, void *data, CoordRange *range, DataType::Type type, bool lock=true)
 
void packData (std::string board, std::string block, void *data, CoordRange *range, DataType::Type type, bool lock=true)
 
void packValue (RegMapBlock *blk, void *data, CoordRange *range, DataType::Type type, bool lock=true)
 
void packDcValue (RegMapBlock *blk, void *data, CoordRange *range, DataType::Type type, bool lock=true)
 
void packValue (std::string board, std::string block, void *data, CoordRange *range, DataType::Type type, bool lock=true)
 
void unpackData (RegMapBlock *blk, void *data, CoordRange *range, DataType::Type type, bool lock=true)
 
void unpackData (std::string board, std::string block, void *data, CoordRange *range, DataType::Type type, bool lock=true)
 
 RegMapDataFrameManager (std::string regmap, bool archivedOnly=false)
 
 RegMapDataFrameManager (bool archivedOnly=false)
 
void checkType (std::string board, std::string block, DataType::Type type, CoordRange *range=0)
 
void checkType (RegMapBlock *blk, DataType::Type type, CoordRange *range=0)
 
DataType::Type typeOf (RegMapBlock *blk)
 
RegMapBlock * getReg (std::string board, std::string block)
 
bool boardIsPresent (RegMapBoard *brd)
 
bool blockIsPresent (RegMapBlock *blk)
 
bool boardIsFlagged (RegMapBoard *brd)
 
- Protected Attributes inherited from gcp::util::RegMapDataFrameManager
ArrayMaparrayMap_
 
RegMap * regMap_
 
bool archivedOnly_
 
- Protected Attributes inherited from gcp::util::DataFrameManager
gcp::util::DataFrameframe_
 
bool dataIsInitialized_
 
unsigned currentIndex_
 
unsigned nBuffer_
 
unsigned nUsed_
 

Detailed Description

An instance of this class is created by AntennaMaster and passed to the constructors of other tasks. It contains resources that are shared between all SZA tasks.

An instance of this class is created by AntennaMaster and passed to the constructors of other tasks. It contains resources that are shared between all antenna tasks.

Member Enumeration Documentation

Enumerate supported timeouts.

Enumerate supported timeouts.

Enumerate valid data types

Constructor & Destructor Documentation

gcp::antenna::control::SpecificShare::SpecificShare ( std::string  host)

Constructor.

Exceptions
Exception
SpecificShare::~SpecificShare ( )

Destructor.

....................................................................... Delete a SZA shared resource object.

gcp::antenna::control::SpecificShare::SpecificShare ( std::string  host)

Constructor.

Exceptions
Exception
gcp::antenna::control::SpecificShare::~SpecificShare ( )

Destructor.

Member Function Documentation

SpecificShare::Block * SpecificShare::addBufferedBlock ( char *  boardName,
char *  blockName 
)

....................................................................... Method to add an element to the list of registers being buffered

void SpecificShare::copyBufferedBlocksToFrame ( )

....................................................................... Method to copy buffered data to the frame

void gcp::antenna::control::SpecificShare::extendEqnEqx ( double  tt,
double  eqneqx 
)

Extend the quadratic interpolation table of the equation of the equinoxes versus Terrestrial Time (as a Modified Julian Date).

Exceptions
Exception
void SpecificShare::extendEqnEqx ( double  tt,
double  eqneqx 
)

Extend the quadratic interpolation table of the equation of the equinoxes versus Terrestrial Time (as a Modified Julian Date).

Exceptions
Exception....................................................................... Extend the quadratic interpolation table of the equation of the equinoxes versus Terrestrial Time (as a Modified Julian Date).
void gcp::antenna::control::SpecificShare::extendUt1Utc ( double  utc,
double  ut1utc 
)

Extend the quadratic interpolation table of ut1 - utc versus MJD UTC.

Exceptions
Exception
void SpecificShare::extendUt1Utc ( double  utc,
double  ut1utc 
)

Extend the quadratic interpolation table of ut1 - utc versus MJD UTC.

Exceptions
Exception....................................................................... Extend the quadratic interpolation table of ut1 - utc versus MJD UTC.
RegMapBoard* gcp::antenna::control::SpecificShare::findRegMapBoard ( std::string  boardName)

Return a pointer to the requested register

RegMapBoard* gcp::antenna::control::SpecificShare::findRegMapBoard ( std::string  boardName)

Return a pointer to the requested register

void SpecificShare::flagBoard ( int  board)

....................................................................... A public wrapper around SpecificRegDb::flagBoard()

void gcp::antenna::control::SpecificShare::freezePmacReadout ( )

Freeze the pmac readout

Exceptions
Exception
double gcp::antenna::control::SpecificShare::getEqnEqx ( double  tt)

Get the value of the equation of the equinoxes for a given terrestrial time.

Exceptions
Exception
double SpecificShare::getEqnEqx ( double  tt)

Get the value of the equation of the equinoxes for a given terrestrial time.

Exceptions
Exception....................................................................... Get the value of the equation of the equinoxes for a given terrestrial time.
double gcp::antenna::control::SpecificShare::getLst ( double  utc)

Get the Local Sidereal Time that corresponds to a given MJD UTC.

Exceptions
Exception
double SpecificShare::getLst ( double  utc)

Get the Local Sidereal Time that corresponds to a given MJD UTC.

Exceptions
Exception....................................................................... Return the local sidereal time that corresponds to a given UTC. Note that the current UTC can be acquired by calling getUtc().

Input: utc double The UTC expressed as a Modified Julian Date.

Output: return double The Local Sidereal Time (radians)

unsigned int gcp::antenna::control::SpecificShare::getNarchived ( )

Return the number of archived registers in the register map

unsigned int SpecificShare::getNarchived ( )

Return the number of archived registers in the register map

....................................................................... Return the number of archived registers in the register map

unsigned int gcp::antenna::control::SpecificShare::getNboard ( )

Return the number of boards in the register map

unsigned int SpecificShare::getNboard ( )

Return the number of boards in the register map

....................................................................... Return the number of boards in the register map

unsigned int SpecificShare::getNbyte ( )

Return the number of bytes

....................................................................... Return the number of archived registers in the register map

unsigned int SpecificShare::getNreg ( )

Return the total number of registers in the register map

....................................................................... Return the total number of registers in the register map

double gcp::antenna::control::SpecificShare::getTt ( double  lst)

Get the terrestrial time as MJD

double SpecificShare::getTt ( double  utc)

Get the terrestrial time as MJD

....................................................................... Return the Terestrial time (aka Ephemeris Time), corresponding to a given UTC (expressed as a Modified Julian date).

double gcp::antenna::control::SpecificShare::getUt1Utc ( double  utc)

Get the value of UT1-UTC for a given UTC.

Exceptions
Exception
double SpecificShare::getUt1Utc ( double  utc)

Get the value of UT1-UTC for a given UTC.

Exceptions
Exception....................................................................... Get the value of UT1-UTC for a given UTC.
double gcp::antenna::control::SpecificShare::getUtc ( )

Return the Utc as MJD

Exceptions
Exception
double SpecificShare::getUtc ( )

Return the Utc as MJD

Exceptions
Exception....................................................................... Get the current UTC as a Modified Julian Date.
void gcp::antenna::control::SpecificShare::grabRegs ( TimeOut  timeout)

Acquire exlusive use of the register database. The following grab and ungrab calls can be used to bracket multiple calls to (raw_)read_sza_reg() and/or (raw_)write_sza_reg() to prevent other tasks from gaining access to the specific registers between calls. These functions must be called by users of the raw_ read and write functions.

Exceptions
Exception
void SpecificShare::grabRegs ( TimeOut  timeout)

Acquire exlusive use of the register database. The following grab and ungrab calls can be used to bracket multiple calls to (raw_)read_sza_reg() and/or (raw_)write_sza_reg() to prevent other tasks from gaining access to the SZA registers between calls. These functions must be called by users of the raw_ read and write functions.

Exceptions
Exception....................................................................... Acquire exclusive access to the database.

Input: timeout int How long to wait for the database to become available. This is one of the following special values:

NO_WAIT - Return immediately if another task is using the database. WAIT_FOREVER - Don't timeout.

static std::string gcp::antenna::control::SpecificShare::hostIpAddress ( std::string  host)
static

Validate a specified IP address or host-name alias, and return a malloc'd copy of the resulting IP address.

returns char * The IP address of the host, or NULL on error. This should be free'd when no longer required.

Parameters
hostchar * The IP address or host-name alias of the host.
static std::string gcp::antenna::control::SpecificShare::hostIpAddress ( std::string  host)
static

Validate a specified IP address or host-name alias, and return a malloc'd copy of the resulting IP address.

returns char * The IP address of the host, or NULL on error. This should be free'd when no longer required.

Parameters
hostchar * The IP address or host-name alias of the host.
void gcp::antenna::control::SpecificShare::packFrame ( gcp::util::DataFrameManager frame)

Public method to pack a frame

Exceptions
Exception
void SpecificShare::packFrame ( gcp::util::DataFrameManager frame)

Public method to pack a frame

Exceptions
Exception....................................................................... Function to pack a frame into a DataFrame object.

We do not call grabRegs() explicitly in this function, since it is called in verifyBoard() and packRegBoard()

static void gcp::antenna::control::SpecificShare::pciBusErrorHandler ( int  sig)
static

This is a signal handler for trapping bus and address errors while readReg() and writeReg() access PCI registers. It simply calls longjmp to abort the I/O operation and return to an error catching part of the originating function.

static void gcp::antenna::control::SpecificShare::pciSegvErrorHandler ( int  sig)
static

This is a signal handler for trapping bus and address errors while readReg() and writeReg() access PCI registers. It simply calls longjmp to abort the I/O operation and return to an error catching part of the originating function.

void gcp::antenna::control::SpecificShare::readRawReg ( RegMapBlock *  blk,
unsigned  first,
unsigned  nreg,
unsigned *  value 
)

The same as readReg() but mutual exclusion and exception handling are left up to the caller.

Parameters
blkRegMapBlock * The register-map description of the register block to be read.
firstunsigned The index of the first element of the register to be read (0..blk->nreg-1).
nregunsigned The number of elements to be read.
valueunsigned * An array of 'nreg' elements into which to read the reg.
Exceptions
Exception
void gcp::antenna::control::SpecificShare::readReg ( RegMapBlock *  blk,
unsigned  first,
unsigned  nreg,
unsigned *  value 
)

Read one or more elements of a given register from the register database. This function allocates the database before proceding, arranges to catch PCI bus and address exceptions, and deallocates the database when finished. If large numbers of registers are to be read, the per-register overhead of allocating the database and setting up * exception handlers may be significant. In such cases * readRawReg() may be better suited, albeit more difficult to use.

Parameters
blkRegMapBlock * The register-map description of the register block to be read.
firstunsigned The index of the first element of the register to be read (0..blk->nreg-1).
nregunsigned The number of elements to be read.
valueunsigned * An array of 'nreg' elements into which to read the data.
Exceptions
Exception
void gcp::antenna::control::SpecificShare::setClock ( unsigned long  mjd,
unsigned long  sec,
unsigned long  nanoSeconds 
)

Set the current time.

Exceptions
Exception
void gcp::antenna::control::SpecificShare::setClock ( gcp::util::TimeVal time)

Set the current time via a TimeVal ref.

Exceptions
Exception
void gcp::antenna::control::SpecificShare::setClock ( )

Set the current time.

Exceptions
Exception
void SpecificShare::setClock ( unsigned long  mjd,
unsigned long  sec,
unsigned long  nanoSeconds 
)

Set the current time.

Exceptions
Exception....................................................................... Set the current time.
void SpecificShare::setClock ( gcp::util::TimeVal time)

Set the current time via a TimeVal ref.

Exceptions
Exception....................................................................... Set the current time.
void SpecificShare::setClock ( )

Set the current time.

Exceptions
Exception....................................................................... Set the current time.
void gcp::antenna::control::SpecificShare::setSite ( double  longitude,
double  latitude,
double  altitude 
)

Public function to set the site parameters

Exceptions
Exception
void SpecificShare::setSite ( double  longitude,
double  latitude,
double  altitude 
)

Public function to set the site parameters

Exceptions
Exception....................................................................... Record new site-location details in share->site.
void SpecificShare::switchBuffers ( )

....................................................................... Method to switch buffers

void SpecificShare::unflagBoard ( int  board)

....................................................................... A wrapper around SpecificRegDb::unflagBoard()

void gcp::antenna::control::SpecificShare::unfreezePmacReadout ( )

Un-freeze the pmac readout

Exceptions
Exception
void gcp::antenna::control::SpecificShare::ungrabRegs ( )

Relinquish exclusive use to the register database.

Exceptions
Exception
void SpecificShare::ungrabRegs ( )

Relinquish exclusive use to the register database.

Exceptions
Exception....................................................................... Relinquish exclusive access to the database.
bool gcp::antenna::control::SpecificShare::verifyBoard ( int  board)

Return false if a board is flagged as unreachable.

Exceptions
Exception
bool SpecificShare::verifyBoard ( int  board)

Return false if a board is flagged as unreachable.

Exceptions
Exception....................................................................... A wrapper around SpecificRegDb::verifyBoard()
void gcp::antenna::control::SpecificShare::writeRawReg ( RegMapBlock *  blk,
unsigned  first,
unsigned  nreg,
unsigned char *  value 
)

The same as writeReg() but mutual exclusion and exception handling are left up to the caller.

Parameters
blkRegMapBlock * The register-map description of the register block to be written.
firstunsigned The index of the first element of the register to be written (0..blk->nreg-1).
nregunsigned The number of elements to be written.
valueunsigned * An array of 'nreg' elements to be written.
Exceptions
Exception
void gcp::antenna::control::SpecificShare::writeReg ( RegMapBlock *  blk,
unsigned  first,
unsigned  nreg,
signed char *  value 
)

Write one or more elements of a given SZA PCI register, with mutual exlusion and exception handling.

Parameters
blkRegMapBlock * The register-map description of the register block to be written.
firstunsigned The index of the first element of the register to be written (0..blk->nreg-1).
nregunsigned The number of elements to be written.
valueunsigned * An array of 'nreg' elements to be written.
Exceptions
Exception

Member Data Documentation

static HostAddress gcp::antenna::control::SpecificShare::host_address
static
Initial value:
=
{
{"polestar.uchicago.edu", "127.0.0.1"},
}

An array of trusted hosts.

....................................................................... List the IP addresses of trusted hosts by name. Note that VxWorks doesn't support gethostbyname() so this is the only way to provide name-service support.

SpecificShare * SpecificShare::share = 0
static

Static pointer for use in signal handlers.

SpecificShare* gcp::antenna::control::SpecificShare::share_
static

Static pointer for use in signal handlers.


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