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

#include <AntennaMaster.h>

Inheritance diagram for gcp::antenna::control::AntennaMaster:
gcp::antenna::control::SpecificTask gcp::util::GenericMasterTask< AntennaMasterMsg > gcp::util::GenericTask< AntennaMasterMsg >

Public Member Functions

 AntennaMaster (std::string host, bool simPmac=false, bool simGpib=false, bool simDlp=false, bool priv=true, bool simLna=false, bool simAdc=false, bool simRoach1=false, bool simRoach2=false)
 
 ~AntennaMaster ()
 
gcp::antenna::control::AntennaControlAntennaControl ()
 
gcp::antenna::control::AntennaDriveAntennaDrive ()
 
gcp::antenna::control::AntennaMonitorAntennaMonitor ()
 
gcp::antenna::control::AntennaRxAntennaRx ()
 
gcp::antenna::control::AntennaRoachAntennaRoach ()
 
void restartServices ()
 
 SIGNALTASK_HANDLER_FN (doNothing)
 
void sendDriveShutDownMessage ()
 
void sendAdoptBoardMsg (unsigned short, AntennaTask::Id taskId)
 
SpecificSharegetShare ()
 
gcp::util::AntNumgetAnt ()
 
std::string host ()
 
bool usePrio ()
 
bool simPmac ()
 
bool simGpib ()
 
bool simLna ()
 
bool simAdc ()
 
bool simDlp ()
 
bool simRoach1 ()
 
bool simRoach2 ()
 
- Public Member Functions inherited from gcp::antenna::control::SpecificTask
 SpecificTask ()
 
virtual ~SpecificTask ()
 
SpecificSharegetShare ()
 
- Public Member Functions inherited from gcp::util::GenericMasterTask< AntennaMasterMsg >
 GenericMasterTask ()
 
virtual ~GenericMasterTask ()
 
- Public Member Functions inherited from gcp::util::GenericTask< AntennaMasterMsg >
void sendRestartMsg ()
 
void sendStopMsg ()
 
void sendHeartBeatMsg ()
 
virtual void fwdTaskMsg (AntennaMasterMsg *msg)
 

Static Public Member Functions

static SIGNALTASK_HANDLER_FN (sendSendHeartBeatMsg)
 
static SIGNALTASK_HANDLER_FN (sendShutDownMsg)
 
static SIGNALTASK_HANDLER_FN (sendPackDataFrameMsg)
 
static SIGNALTASK_HANDLER_FN (sendDriveTickMsg)
 
static SIGNALTASK_HANDLER_FN (sendDriveReadMsg)
 
static SIGNALTASK_HANDLER_FN (sendDlpTempRequestMsg)
 
static SIGNALTASK_HANDLER_FN (sendConnectControlMsg)
 
static SIGNALTASK_HANDLER_FN (sendConnectDriveMsg)
 
static SIGNALTASK_HANDLER_FN (sendConnectScannerMsg)
 
static SIGNALTASK_HANDLER_FN (sendReadoutGpibMsg)
 
static SIGNALTASK_HANDLER_FN (sendConnectRxMsg)
 
static SIGNALTASK_HANDLER_FN (sendConnectRoachMsg)
 
static SIGNALTASK_HANDLER_FN (sendDisconnectRxMsg)
 
static SIGNALTASK_HANDLER_FN (sendDisconnectRoachMsg)
 
static SIGNALTASK_HANDLER_FN (sendReadoutRoachMsg)
 
static SIGNALTASK_HANDLER_FN (sendWriteRoachMsg)
 
static SIGNALTASK_HANDLER_FN (sendReadoutRxMsg)
 
static SIGNALTASK_HANDLER_FN (sendWriteRxMsg)
 
static SIGNALTASK_HANDLER_FN (sendReadLnaMsg)
 
static SIGNALTASK_HANDLER_FN (sendReadAdcMsg)
 
static ANTENNAMASTER_TASK_FWD_FN (forwardMasterMsg)
 

Additional Inherited Members

- Public Attributes inherited from gcp::antenna::control::SpecificTask
SpecificShareshare_
 
- Protected Member Functions inherited from gcp::util::GenericMasterTask< AntennaMasterMsg >
void processTaskMsg (bool *stop)
 
void sendInstallTimerMsg (std::string name, int sigNo, unsigned long intervalSec, unsigned long intervalNsec, SIGNALTASK_HANDLER_FN(*handler))
 
void sendInstallTimerMsg (std::string name, int sigNo, unsigned long initSec, unsigned long initNsec, unsigned long intervalSec, unsigned long intervalNsec, SIGNALTASK_HANDLER_FN(*handler))
 
void installTimer (AntennaMasterMsg *msg)
 
void sendInstallSignalMsg (int sigNo, SIGNALTASK_HANDLER_FN(*handler))
 
void installSignal (AntennaMasterMsg *msg)
 
void sendEnableTimerMsg (std::string name, bool enable)
 
void enableTimer (AntennaMasterMsg *msg)
 
void sendAddHandlerMsg (std::string name, SIGNALTASK_HANDLER_FN(*handler), bool add)
 
void addHandler (AntennaMasterMsg *msg)
 
- Protected Member Functions inherited from gcp::util::GenericTask< AntennaMasterMsg >
 GenericTask ()
 
 GenericTask (Thread *thread)
 
virtual ~GenericTask ()
 
void sendTaskMsg (AntennaMasterMsg *msg)
 
void startThreads (void *arg)
 
void startThread (void *arg, unsigned order)
 
unsigned getMinStartOrder ()
 
bool threadsNeedStarting ()
 
void cancelThreads ()
 
void cancelThread (unsigned order)
 
unsigned getMinCancelOrder ()
 
bool threadsNeedCancelling ()
 
void pingThreads (void *arg)
 
void raise (std::string name, int sigNo)
 
ThreadgetThread (std::string name)
 
bool threadsAreRunning ()
 
void shutdownConnection (int fd)
 
virtual void serviceMsgQ (void)
 
virtual void restart (void)
 
virtual void run (void)
 
virtual void processMsg (AntennaMasterMsg *msg)
 
virtual void respondToHeartBeat ()
 
void stepCommands ()
 
- Protected Attributes inherited from gcp::util::GenericMasterTask< AntennaMasterMsg >
gcp::util::SignalTasksignal_
 
- Protected Attributes inherited from gcp::util::GenericTask< AntennaMasterMsg >
Threadthread_
 
std::vector< Thread * > threads_
 
PipeQ< AntennaMasterMsg > msgq_
 
gcp::util::FdSet fdSet_
 
std::vector< Command * > commands_
 
struct timeval * timeOut_
 
TimeVal commandTimeOut_
 

Detailed Description

Define a class to encapsulate the entire Antenna control system. Instantiating this object will spawn all subsystem threads of the Antenna control system, which currently include a receiver task, a drive system task and a monitoring task.

Constructor & Destructor Documentation

AntennaMaster::AntennaMaster ( std::string  host,
bool  simPmac = false,
bool  simGpib = false,
bool  simDlp = false,
bool  priv = true,
bool  simLna = false,
bool  simAdc = false,
bool  simRoach1 = false,
bool  simRoach2 = false 
)

Constructor

Exceptions
Exception;....................................................................... Constructor method. This should start up all subsystem threads

Input:

host string The name of the host we are running on. simDrive bool true if ACU should be simulated

AntennaMaster::~AntennaMaster ( )

Destructor

Exceptions
Exception....................................................................... AntennaMaster destructor method. This should cause all subsystem threads to shut down.

Member Function Documentation

AntennaControl * AntennaMaster::AntennaControl ( )

Return a pointer to the Control task resources

....................................................................... Accessor method for the AntennaControl subsystem

AntennaDrive * AntennaMaster::AntennaDrive ( )

Return a pointer to the Drive control task resources

....................................................................... AntennaDrive subsystem accessor

static gcp::antenna::control::AntennaMaster::ANTENNAMASTER_TASK_FWD_FN ( forwardMasterMsg  )
static

Public method by which other tasks can forward message to us.

AntennaMonitor * AntennaMaster::AntennaMonitor ( )

Return a pointer to the Monitor task resources

....................................................................... Accessor method for AntennaMonitor subsystem

AntennaRoach * AntennaMaster::AntennaRoach ( )

Return a pointer to the Receiver task resources

....................................................................... Accessor method for the AntennaRoach subsystem

AntennaRx * AntennaMaster::AntennaRx ( )

Return a pointer to the Receiver task resources

....................................................................... Accessor method for the AntennaRx subsystem

AntNum * AntennaMaster::getAnt ( )

Public method to get a reference to our antenna enumerator.

....................................................................... Public method to get access to our antenna enumerator.

SpecificShare * AntennaMaster::getShare ( )

Public method to get a reference to our shared resource object.

....................................................................... Public method to get access to our shared resource object

std::string gcp::antenna::control::AntennaMaster::host ( )
inline

A copy of the host to which we will attach

void AntennaMaster::restartServices ( )

Public interface to startThreads()

Exceptions
Exception

....................................................................... Restart subsystem threads

void gcp::antenna::control::AntennaMaster::sendAdoptBoardMsg ( unsigned  short,
AntennaTask::Id  taskId 
)

Method by which other tasks can ask us for control of boards.

void AntennaMaster::sendDriveShutDownMessage ( )

Send message to drive telling it to shut down ACU interface

gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( doNothing  )

A no-op signal handler for signals we wish to explicitly disable.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendSendHeartBeatMsg  )
static

Send a message to the AntennaMaster to tell it to send out a heartbeat request to all subordinate threads.

Exceptions
Exception(via MsgQ::sendMsg)
static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendShutDownMsg  )
static

Send a message to the AntennaMaster to tell it to shut down

Exceptions
Exception(via MsgQ::sendMsg)
static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendPackDataFrameMsg  )
static

Send a message to the monitor task that it's time to pack a data frame for transmission back to the ACC.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendDriveTickMsg  )
static

Tell the Tracker task that the 1-second servo command pulse has arrived.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendDriveReadMsg  )
static

Tell the Tracker task that the 1-second servo read pulse has arrived.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendDlpTempRequestMsg  )
static

Read those damn Dlp temp sensors

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendConnectControlMsg  )
static

Tell the Control task to attempt to connect to the host.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendConnectDriveMsg  )
static

Tell the Tracker to attempt to connect to the servo

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendConnectScannerMsg  )
static

Tell the Control task to attempt to connect to the host.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendConnectRxMsg  )
static

Tell the Receiver task to attempt to connect to the host.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendConnectRoachMsg  )
static

Tell the Receiver task to attempt to connect to the host.

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendDisconnectRxMsg  )
static

Tell the Receiver task to disconnect from the host

static gcp::antenna::control::AntennaMaster::SIGNALTASK_HANDLER_FN ( sendDisconnectRoachMsg  )
static

Tell the Receiver task to disconnect from the host

bool AntennaMaster::usePrio ( )

A copy of the boolean flag specifying whether or not to use thread prioritizing


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