#include <TimModule.h>
Public Member Functions | |
TimModule (UINT32 baseAddr, UINT32 mapSize, VmeInterface &ourInterface) | |
This is the only constructor to use. | |
virtual | ~TimModule () |
UINT32 | getFirmware () |
UINT32 | getSerialNumber () |
VmePort * | getVmePort () |
void | initialize () |
void | reset () |
void | status () |
UINT32 | fetchL1ID () |
Read trigger number. | |
UINT16 | fetchTimID () |
Read TIM ID register. | |
void | intTrigStart (const TimMaskFrequency frequency) |
Internal Trigger. | |
void | intTrigStop () |
Stop Internal Trigger. | |
void | issueCommand (const TimBitCommand mask) |
Issue TIM command. | |
void | issueVCAL (const UINT8 pipelineDelay) |
Issue VCAL + L1A command. | |
void | loadBitClear (const TimRegister addr, const UINT16 mask) |
Clear bit. | |
void | loadBitSet (const TimRegister addr, const UINT16 mask) |
Set bit. | |
void | loadByteHi (const TimRegister addr, const UINT8 byte) |
Upper byte. | |
void | loadByteLo (const TimRegister addr, const UINT8 byte) |
Lower byte. | |
UINT16 | regFetch (const TimRegister addr) |
Read from a 16-bit VME register. | |
void | regLoad (const TimRegister addr, const UINT16 data) |
Write to a 16-bit VME register. | |
void | seqFetch (const UINT16 size, UINT16 buffer[]) |
Read sequencer. | |
void | seqLoad (const UINT16 size, const UINT16 buffer[]) |
Load sequencer. | |
void | seqRun (const UINT16 size) |
Run sequencer. | |
UINT16 | vmeFetch (const UINT32 addr) throw (VmeException &) |
Read from a 16-bit VME register. | |
void | vmeLoad (const UINT32 addr, const UINT16 data) throw (VmeException &) |
Write to a 16-bit VME register. | |
Private Attributes | |
UINT32 | m_firmware |
Firmware version number. | |
UINT32 | m_serialNumber |
Board serial number. | |
VmePort * | m_vmePort |
VME Port handle. |
This is the implementation of a TIM class derived from the VmeModule base class. It should be the sole interface for VME communication with TIM.
Contributors: John Lane <jbl@hep.ucl.ac.uk> - originator
Definition at line 76 of file TimModule.h.
|
This is the only constructor to use. Objects of this class cannot be copied or assigned. This could lead to VME conflicts. Definition at line 69 of file TimModule.cxx. References m_serialNumber, and m_vmePort. |
|
This deletes all its VME Ports. Definition at line 95 of file TimModule.cxx. References m_vmePort. |
|
Read trigger number. This method reads the last TIM L1ID value. Definition at line 154 of file TimModule.cxx. References m_firmware, and regFetch(). Referenced by status(). |
Here is the call graph for this function:
|
Read TIM ID register. This method reads the TIM ID register. Definition at line 170 of file TimModule.cxx. References m_firmware, m_serialNumber, and regFetch(). Referenced by initialize(). |
Here is the call graph for this function:
|
This method configures the TIM into its initialized state. Definition at line 110 of file TimModule.cxx. References fetchTimID(), and regLoad(). Referenced by SctApi::CrateImpl::initialiseTim(). |
Here is the call graph for this function:
|
Internal Trigger. This method Enables Internal Triggers with the given repeat frequency. Definition at line 184 of file TimModule.cxx. References loadBitSet(), loadByteLo(), and SctPixelRod::TIM_BIT_EN_INT_TRIG. |
Here is the call graph for this function:
|
Stop Internal Trigger. This method stops Internal Triggers. Definition at line 195 of file TimModule.cxx. References loadBitClear(), and SctPixelRod::TIM_BIT_EN_INT_TRIG. Referenced by SctApi::CrateImpl::stopTriggers(). |
Here is the call graph for this function:
|
Issue TIM command. This method issues a TIM command edge-mode bit - experimental! Definition at line 205 of file TimModule.cxx. References loadBitClear(), loadBitSet(), and SctPixelRod::TIM_VSPA. Referenced by issueVCAL(), and SctApi::CrateImpl::timL1A(). |
Here is the call graph for this function:
|
Issue VCAL + L1A command. This method issues a VME CAL command followed by an L1A, after the given pipeline delay. Definition at line 218 of file TimModule.cxx. References issueCommand(), loadByteLo(), and SctPixelRod::TIM_VCAL. Referenced by SctApi::CrateImpl::timCalL1A(). |
Here is the call graph for this function:
|
Clear bit. This method clears the bits set in a 16-bit bit mask into a VME register, leaving the other bits unchanged. Definition at line 242 of file TimModule.cxx. References vmeFetch(), and vmeLoad(). Referenced by intTrigStop(), issueCommand(), SctApi::CrateImpl::sendTimBurst(), and SctApi::CrateImpl::timL1A(). |
Here is the call graph for this function:
|
Set bit. This method writes the bits set in a 16-bit bit mask into a VME register, leaving the other bits unchanged. Definition at line 230 of file TimModule.cxx. References vmeFetch(), and vmeLoad(). Referenced by SctApi::CrateImpl::freeTriggers(), intTrigStart(), issueCommand(), and SctApi::CrateImpl::sendTimBurst(). |
Here is the call graph for this function:
|
Upper byte. This method writes a byte into the upper half of a 16-bit VME register, leaving the other byte unchanged. Definition at line 254 of file TimModule.cxx. References vmeFetch(), and vmeLoad(). |
Here is the call graph for this function:
|
Lower byte. This method writes a byte into the lower half of a 16-bit VME register, leaving the other byte unchanged. Definition at line 266 of file TimModule.cxx. References vmeFetch(), and vmeLoad(). Referenced by intTrigStart(), and issueVCAL(). |
Here is the call graph for this function:
|
Read from a 16-bit VME register. This method reads a 16-bit value from a VME register. Definition at line 277 of file TimModule.cxx. References vmeFetch(). Referenced by fetchL1ID(), fetchTimID(), SctApi::CrateImpl::sendTimBurst(), status(), SctApi::CrateImpl::timRegRead(), and SctApi::CrateImpl::timVerbose(). |
Here is the call graph for this function:
|
Write to a 16-bit VME register. This method writes a 16-bit value into a VME register. Definition at line 288 of file TimModule.cxx. References vmeLoad(). Referenced by initialize(), reset(), SctApi::CrateImpl::sendTimBurst(), seqRun(), SctApi::CrateImpl::timRegLoad(), and SctApi::CrateImpl::timSetFrequency(). |
Here is the call graph for this function:
|
This method issues a reset to the TIM. Definition at line 124 of file TimModule.cxx. References regLoad(). Referenced by SctApi::CrateImpl::initialiseTim(). |
Here is the call graph for this function:
|
Read sequencer. This method reads the Sequencer memory into a buffer. Definition at line 312 of file TimModule.cxx. References SctPixelRod::TIM_SEQ_ADDR, and vmeFetch(). |
Here is the call graph for this function:
|
Load sequencer. This method writes a buffer into the Sequencer memory. Definition at line 324 of file TimModule.cxx. References SctPixelRod::TIM_SEQ_ADDR, and vmeLoad(). |
Here is the call graph for this function:
|
Run sequencer. This method starts the Sequencer executing. Definition at line 298 of file TimModule.cxx. References regLoad(). |
Here is the call graph for this function:
|
This method reports the status of the TIM. For now, it simply prints to standard output. Definition at line 135 of file TimModule.cxx. References fetchL1ID(), m_firmware, m_serialNumber, and regFetch(). Referenced by SctApi::CrateImpl::initialiseTim(), and SctApi::CrateImpl::status(). |
Here is the call graph for this function:
|
Read from a 16-bit VME register. This method reads a 16-bit value from a VME register. Definition at line 338 of file TimModule.cxx. Referenced by loadBitClear(), loadBitSet(), loadByteHi(), loadByteLo(), regFetch(), and seqFetch(). |
|
Write to a 16-bit VME register. This method writes a 16-bit value into a VME register. Definition at line 357 of file TimModule.cxx. Referenced by loadBitClear(), loadBitSet(), loadByteHi(), loadByteLo(), regLoad(), and seqLoad(). |
|
Firmware version number.
Definition at line 131 of file TimModule.h. Referenced by fetchL1ID(), fetchTimID(), and status(). |
|
Board serial number.
Definition at line 132 of file TimModule.h. Referenced by fetchTimID(), status(), and TimModule(). |
|
VME Port handle.
Definition at line 133 of file TimModule.h. Referenced by TimModule(), and ~TimModule(). |