My Project
|
#include <AntennaMaster.h>
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::AntennaControl * | AntennaControl () |
gcp::antenna::control::AntennaDrive * | AntennaDrive () |
gcp::antenna::control::AntennaMonitor * | AntennaMonitor () |
gcp::antenna::control::AntennaRx * | AntennaRx () |
gcp::antenna::control::AntennaRoach * | AntennaRoach () |
void | restartServices () |
SIGNALTASK_HANDLER_FN (doNothing) | |
void | sendDriveShutDownMessage () |
void | sendAdoptBoardMsg (unsigned short, AntennaTask::Id taskId) |
SpecificShare * | getShare () |
gcp::util::AntNum * | getAnt () |
std::string | host () |
bool | usePrio () |
bool | simPmac () |
bool | simGpib () |
bool | simLna () |
bool | simAdc () |
bool | simDlp () |
bool | simRoach1 () |
bool | simRoach2 () |
![]() | |
SpecificTask () | |
virtual | ~SpecificTask () |
SpecificShare * | getShare () |
![]() | |
GenericMasterTask () | |
virtual | ~GenericMasterTask () |
![]() | |
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 | |
![]() | |
SpecificShare * | share_ |
![]() | |
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) |
![]() | |
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) |
Thread * | getThread (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 () |
![]() | |
gcp::util::SignalTask * | signal_ |
![]() | |
Thread * | thread_ |
std::vector< Thread * > | threads_ |
PipeQ< AntennaMasterMsg > | msgq_ |
gcp::util::FdSet | fdSet_ |
std::vector< Command * > | commands_ |
struct timeval * | timeOut_ |
TimeVal | commandTimeOut_ |
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.
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
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
Exception | ....................................................................... AntennaMaster destructor method. This should cause all subsystem threads to shut down. |
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 |
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
|
inline |
A copy of the host to which we will attach
void AntennaMaster::restartServices | ( | ) |
Public interface to startThreads()
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 |
Send a message to the AntennaMaster to tell it to send out a heartbeat request to all subordinate threads.
Exception | (via MsgQ::sendMsg) |
|
static |
Send a message to the AntennaMaster to tell it to shut down
Exception | (via MsgQ::sendMsg) |
|
static |
Send a message to the monitor task that it's time to pack a data frame for transmission back to the ACC.
|
static |
Tell the Tracker task that the 1-second servo command pulse has arrived.
|
static |
Tell the Tracker task that the 1-second servo read pulse has arrived.
|
static |
Read those damn Dlp temp sensors
|
static |
Tell the Control task to attempt to connect to the host.
|
static |
Tell the Tracker to attempt to connect to the servo
|
static |
Tell the Control task to attempt to connect to the host.
|
static |
Tell the Receiver task to attempt to connect to the host.
|
static |
Tell the Receiver task to attempt to connect to the host.
|
static |
Tell the Receiver task to disconnect from the host
|
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