#include <crate.h>
Inheritance diagram for SctApi::Crate:
Public Types | |
enum | PLControl { C_PL_STOP, C_PL_PAUSE, C_PL_RESUME, C_PL_CANCEL } |
C_PL_STOP Abort the current primitiveList C_PL_PAUSE Pause the current primitiveList C_PL_RESUME Resume the current primitiveList C_PL_CANCEL Cancel the recently sent primitiveList (only if not started execution). More... | |
Public Member Functions | |
Crate (const Sct::UCID &ucid) | |
An empty default constructor. | |
virtual | ~Crate () |
Delete all the RodModules and VmeInterface. | |
const Sct::UCID & | ucid () const |
virtual int | initialiseCrate ()=0 |
Return number of RODs initialised. | |
virtual int | initialiseTim ()=0 |
Return 0 for success. | |
virtual int | initialiseRod (unsigned int rod)=0 |
Store object in local map. | |
virtual int | initialiseBOC (unsigned int rod)=0 |
Return 0 for success. | |
virtual int | configureBOC (unsigned int rod)=0 |
Return 0 for success. | |
virtual int | sendPrimList (unsigned int rod, boost::shared_ptr< PrimListWrapper > prim)=0 |
Return 0 for success. | |
virtual int | sendPrimListAll (boost::shared_ptr< PrimListWrapper > prim)=0 |
Return 0 for success. | |
virtual int | awaitResponse (unsigned int rod, int timeout)=0 |
Await response from a ROD within this crate. | |
virtual int | awaitResponseAll (int timeout)=0 |
Handle text messages sent by the RODs (print to stdout). | |
virtual boost::shared_ptr< SctPixelRod::RodOutList > | getResponse (unsigned int rod)=0 |
Return the response to the last primlist (a wrapped copy). | |
virtual void | setMrsStream (MRSStream *stream)=0 |
virtual bool | getRodMessage (unsigned int rod, char *buffer, unsigned long &length)=0 |
virtual int | mdspBlockRead (unsigned int rod, long dspStart, unsigned long *buffer, unsigned long numWords)=0 |
Proxy for RodModule method. | |
virtual int | slvBlockRead (unsigned int rod, long dspStart, unsigned long *buffer, unsigned long numWords, long slaveNumber)=0 |
Proxy for RodModule method. | |
virtual int | slvBlockWrite (unsigned int rod, long dspStart, unsigned long *buffer, unsigned long numWords, long dspNumber)=0 |
Proxy for RodModule method. | |
virtual int | mdspBlockWrite (unsigned int rod, long dspStart, unsigned long *buffer, unsigned long numWords)=0 |
Proxy for RodModule method. | |
virtual unsigned long | readRodStatusReg (unsigned int rod, long regNumber)=0 |
Proxy for RodModule method. | |
virtual unsigned long | readRodCommandReg (unsigned int rod, long regNumber)=0 |
Proxy for RodModule method. | |
virtual unsigned long | dspSingleRead (unsigned int rod, const unsigned long dspAddr, long dspNumber)=0 |
Proxy for RodModule method. | |
virtual int | dspSingleWrite (unsigned int rod, unsigned long dspAddr, unsigned long buffer, long dspNumber)=0 |
Proxy for RodModule method. | |
virtual std::string | status ()=0 |
Print status of rods on crate. | |
virtual std::list< unsigned > | getListOfRods () const =0 |
virtual void | primListControl (unsigned int rod, PLControl function)=0 |
Control the primitive list running on a rod (Untested). | |
virtual void | printBOCSetup (unsigned int rod)=0 |
Print all BOC paramters as set up. | |
virtual std::vector< SctConfiguration::BOCChannelConfig > | currentBOCSetup (unsigned int rod)=0 |
Return channel parameters as stored in BOC. | |
virtual void | printBOCRegisters (unsigned int rod)=0 |
Print all BOC registers. | |
virtual SctConfiguration::BOCGlobalConfig | currentBOCRegisters (unsigned int rod)=0 |
Return global registers as stored in BOC. | |
virtual void | saveBOCSetup (unsigned int rod, BankType bank)=0 |
Save BOC channel setup. | |
virtual void | saveBOCRegisters (unsigned int rod, BankType bank)=0 |
Save BOC register setup. | |
virtual void | restoreBOCSetup (unsigned int rod, BankType bank)=0 |
Restore BOC channel setup. | |
virtual void | restoreBOCRegisters (unsigned int rod, BankType bank)=0 |
Restore BOC register setup. | |
virtual bool | checkBOCLasersOn (unsigned int rod)=0 |
Check BOC laser interlock. | |
virtual void | enterBOCClockBy2Mode (unsigned int rod)=0 |
Setup BOC to sample at 20MHz. | |
virtual void | leaveBOCClockBy2Mode (unsigned int rod)=0 |
Restore BOC to 40MHz mode. | |
virtual std::vector< double > | getBOCMonitorArray (unsigned int rod)=0 |
Return 12 monitor values from BOC ADCs. | |
virtual void | modifyTIMParam (unsigned int type, unsigned int val)=0 |
Modify parameter on TIM. | |
virtual void | modifyBOCParam (unsigned int type, unsigned int val, bool raw)=0 |
virtual void | modifyBOCParam (unsigned int rod, unsigned int channel, unsigned int type, unsigned int val, bool raw)=0 |
virtual void | lasersOff ()=0 |
Turn all BOC laser currents to 0. | |
virtual void | timSetFrequency (double trigFreq, double rstFreq)=0 |
virtual double | timGetTriggerFrequency ()=0 |
get tim trig frequency (kHz) | |
virtual double | timGetResetFrequency ()=0 |
get tim reset frequency (Hz) | |
virtual void | freeTriggers ()=0 |
Start the TIM generating regular triggers. | |
virtual void | stopTriggers ()=0 |
Stop the TIM generating regular triggers. | |
virtual void | timLoadSequence (const std::vector< unsigned > &seq)=0 |
Load a TIM trigger sequence;. | |
virtual unsigned long | timRunSequence (long unsigned ntrigs, int random, bool external)=0 |
run the tim sequencer | |
virtual void | timL1A ()=0 |
Tell the TIM to send an L1A. | |
virtual void | timCalL1A (int delay)=0 |
Tell TIM to send Cal + L1A. | |
virtual void | timECR ()=0 |
virtual void | timBCR ()=0 |
virtual void | timFER ()=0 |
virtual unsigned long | sendTimBurst (unsigned long count, int random, bool external)=0 |
Tell TIM to send a burst of triggers. | |
virtual void | timVerbose ()=0 |
Print all the Tim registers. | |
virtual void | timRegLoad (int reg, UINT16 val)=0 |
Debug, load TIM register. | |
virtual UINT16 | timRegRead (int reg)=0 |
Debug, read TIM register. | |
virtual bool | slavePresent (int rod, int index) const =0 |
Check if a slave has been started. | |
virtual void | slaveStarted (int rod, int slave)=0 |
Notify that slave was started externally... | |
virtual bool | RODPresent (int rod) const =0 |
Check if a ROD has been configured. | |
virtual long | getRodSlot (int rod) const =0 |
virtual int | getRodRevision (int rod) const =0 |
Get ROD Revision. | |
virtual void | stopPolling ()=0 |
Stop the primitive list polling. | |
virtual void | resumePolling ()=0 |
Restart the primitive list polling. | |
SctPixelRod::RodModule * | getRod (unsigned int rod) const |
Private Member Functions | |
Crate (const Crate &) | |
Crate & | operator= (const Crate &) |
Private Attributes | |
const Sct::UCID | m_ucid |
This is used by SCTAPI to send commands to RodModule objects. These are stored in crate memory.
Module configuration will eventually be stored here also?
Definition at line 58 of file crate.h.
|
C_PL_STOP Abort the current primitiveList C_PL_PAUSE Pause the current primitiveList C_PL_RESUME Resume the current primitiveList C_PL_CANCEL Cancel the recently sent primitiveList (only if not started execution).
|
|
An empty default constructor.
|
|
Delete all the RodModules and VmeInterface.
|
|
Await response from a ROD within this crate. Handle text messages sent by the ROD (print to stdout) If waiting longer than timeout seconds then return anyway Implemented in SctApi::CrateImpl. Referenced by SctApi::awaitResponse(). |
|
Handle text messages sent by the RODs (print to stdout). If waiting longer than timeout seconds then return anyway Implemented in SctApi::CrateImpl. Referenced by SctApi::awaitResponseAll(). |
|
Check BOC laser interlock.
Implemented in SctApi::CrateImpl. |
|
Return 0 for success.
Implemented in SctApi::CrateImpl. Referenced by SctApi::configureBOC(). |
|
Return global registers as stored in BOC.
Implemented in SctApi::CrateImpl. Referenced by SctApi::currentBOCRegisters(), and SctApi::storeBOCConfigurations(). |
|
Return channel parameters as stored in BOC.
Implemented in SctApi::CrateImpl. Referenced by SctApi::currentBOCSetup(). |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. Referenced by SctApi::dspSingleRead(). |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. Referenced by SctApi::dspSingleWrite(). |
|
Setup BOC to sample at 20MHz.
Implemented in SctApi::CrateImpl. |
|
Start the TIM generating regular triggers.
Implemented in SctApi::CrateImpl. Referenced by SctApi::freeTriggers(). |
|
Return 12 monitor values from BOC ADCs.
Implemented in SctApi::CrateImpl. Referenced by SctApi::getBOCMonitorArray(). |
|
Return the response to the last primlist (a wrapped copy).
Implemented in SctApi::CrateImpl. Referenced by SctApi::getResponse(). |
|
Implemented in SctApi::CrateImpl. Referenced by SctApi::getRodMessage(). |
|
Get ROD Revision.
Implemented in SctApi::CrateImpl. Referenced by SctApi::getRodRevision(), and SctApi::initialiseRod(). |
|
Return 0 for success.
Implemented in SctApi::CrateImpl. |
|
Return number of RODs initialised.
Implemented in SctApi::CrateImpl. Referenced by SctApi::initialisationThread(). |
|
Store object in local map. Return 0 for success Implemented in SctApi::CrateImpl. |
|
Return 0 for success.
Implemented in SctApi::CrateImpl. |
|
Turn all BOC laser currents to 0.
Implemented in SctApi::CrateImpl. Referenced by SctApi::lasersOff(). |
|
Restore BOC to 40MHz mode.
Implemented in SctApi::CrateImpl. |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. Referenced by SctApi::dspBlockWrite(). |
|
Implemented in SctApi::CrateImpl. |
|
Implemented in SctApi::CrateImpl. Referenced by SctApi::modifyABCDVar(), and SctApi::modifyBOCParam(). |
|
Modify parameter on TIM.
Implemented in SctApi::CrateImpl. Referenced by SctApi::modifyTIMParam(). |
|
Control the primitive list running on a rod (Untested).
|
|
Print all BOC registers.
Implemented in SctApi::CrateImpl. Referenced by SctApi::printBOCRegisters(). |
|
Print all BOC paramters as set up.
Implemented in SctApi::CrateImpl. Referenced by SctApi::printBOCSetup(). |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. Referenced by SctApi::readRodCommandReg(). |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. Referenced by SctApi::readRodStatusReg(). |
|
Restore BOC register setup.
Implemented in SctApi::CrateImpl. Referenced by SctApi::restoreBOCRegisters(). |
|
Restore BOC channel setup.
Implemented in SctApi::CrateImpl. Referenced by SctApi::restoreBOCSetup(). |
|
Restart the primitive list polling.
Implemented in SctApi::CrateImpl. Referenced by SctApi::resumePolling(). |
|
Check if a ROD has been configured.
Implemented in SctApi::CrateImpl. |
|
Save BOC register setup.
Implemented in SctApi::CrateImpl. Referenced by SctApi::saveBOCRegisters(). |
|
Save BOC channel setup.
Implemented in SctApi::CrateImpl. Referenced by SctApi::saveBOCSetup(). |
|
Return 0 for success.
Implemented in SctApi::CrateImpl. Referenced by SctApi::sendPrimList(). |
|
Return 0 for success.
Implemented in SctApi::CrateImpl. Referenced by SctApi::sendPrimListAll(). |
|
Tell TIM to send a burst of triggers.
Implemented in SctApi::CrateImpl. Referenced by SctApi::sendTimBurst(). |
|
Check if a slave has been started.
Implemented in SctApi::CrateImpl. |
|
Notify that slave was started externally...
Implemented in SctApi::CrateImpl. Referenced by SctApi::initialiseRod(). |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. |
|
Proxy for RodModule method.
Implemented in SctApi::CrateImpl. Referenced by SctApi::dspBlockWrite(). |
|
Print status of rods on crate.
Implemented in SctApi::CrateImpl. Referenced by SctApi::awaitResponse(), and SctApi::status(). |
|
Stop the primitive list polling.
Implemented in SctApi::CrateImpl. Referenced by SctApi::stopPolling(). |
|
Stop the TIM generating regular triggers.
Implemented in SctApi::CrateImpl. Referenced by SctApi::stopTriggers(). |
|
Tell TIM to send Cal + L1A.
Implemented in SctApi::CrateImpl. Referenced by SctApi::timCalL1A(). |
|
get tim reset frequency (Hz)
Implemented in SctApi::CrateImpl. Referenced by SctApi::timGetResetFrequency(). |
|
get tim trig frequency (kHz)
Implemented in SctApi::CrateImpl. Referenced by SctApi::timGetTriggerFrequency(). |
|
Tell the TIM to send an L1A.
Implemented in SctApi::CrateImpl. Referenced by SctApi::timL1A(). |
|
Load a TIM trigger sequence;.
Implemented in SctApi::CrateImpl. Referenced by SctApi::timLoadSequence(). |
|
Debug, load TIM register.
Implemented in SctApi::CrateImpl. Referenced by SctApi::timWriteRegister(). |
|
Debug, read TIM register.
Implemented in SctApi::CrateImpl. Referenced by SctApi::timReadRegister(). |
|
run the tim sequencer
Implemented in SctApi::CrateImpl. Referenced by SctApi::timRunSequence(). |
|
Implemented in SctApi::CrateImpl. Referenced by SctApi::timSetFrequency(). |
|
Print all the Tim registers.
Implemented in SctApi::CrateImpl. Referenced by SctApi::timVerbose(). |