Inheritance diagram for GNAT:
Public Member Functions | |
__init__ (client) | |
Initialize valid registers as Gattrs. | |
initHandle (slot, physAddr) | |
Initializes a new GNAT handle given a physical VME address. | |
clearBuffer () | |
Zero out the contents of the bundle. | |
addChannel (channelNo, itemList) | |
loadFIFO () | |
This is a combination of gBndlGetBndl() and gWritePF16v(). | |
flushPlaybackFIFO () | |
This is a combination of gFlushPF() and gEnablePF(). | |
flushRecordFIFO () | |
This is a combination of gFlushRF() and gEnableRF(). | |
writeFIFO (data) | |
A wrapper around gWritePF(). | |
writeFIFO32 (data) | |
A wrapper around gWritePF(). | |
startPlayback () | |
This is a wrapper around gStartPB(). | |
setLATpMode (mode) | |
Sets the running mode of the COMM I/O board based on the boolean value of mode. |
This node contains COMM card related functions. Each GNAT node is associated with one COMM card. A GNAT node can either be instantiated through the createGNATinstance method of GTEM, GAEM or GGLT nodes or it can be instantiated as a standalone node by creating an instance of it and calling its initHandle method with the pysical address of the COMM card. The other parameter that it needs is a slot. A slot is a placeholder for a GNAT handle. There are currently 16 slots available. When calling the createGNATinstance or initHandle methods the desired slot is passed and this is where the handle is stored for the duration of the session. Currently the GNAT node serves to major purposes:
(1) Statistics:
Contains registers for retrieving TX/RX ctrl and data cells as well as RX header parity and TX busy assert flags.
(2) Pattern generator functionality:
It is possible to use the exposed methods and registers to write bit streams to the COMM card. This functionality is available mostly for internal testing and should not be of and particular use to the subsystems.
Definition at line 35 of file gNAT.py.
|
Initialize valid registers as Gattrs. Assign default values to members Usage: gn = GNAT() |
|
Inserts data into a channel
data = [0xdeadbeefL, 0xdeadbeefL, 0xdeadbeefL] gn.addChannel(channelNo=1, itemList=data) |
|
Zero out the contents of the bundle. Calls gBndlClear( gh);
|
|
This is a combination of gFlushPF() and gEnablePF(). Flushes the playback FIFO.
|
|
This is a combination of gFlushRF() and gEnableRF(). Flushes the record FIFO.
|
|
Initializes a new GNAT handle given a physical VME address.
gn = GNAT() gn.setCmd(lat.getCmd()) gn.initHandle(0, 0x08000000) |
|
This is a combination of gBndlGetBndl() and gWritePF16v(). It transfers the data from the intermediate bundle buffer into the playback FIFO.
|
|
Sets the running mode of the COMM I/O board based on the boolean value of mode. When mode is non-zero the mode bit of the COMM I/O control register is set to 1, which puts the board in "LATp mode". When mode is zero the mode bit is cleared, which puts the board in "dumb record FIFO mode".
gn.setLATpMode(0) |
|
This is a wrapper around gStartPB(). Starts the playback.
gn.startPlayback() |
|
A wrapper around gWritePF(). So user could write a single word to the FIFO or the user could prepare their own array of words, bypassing the bundle/channel interface.
data = [0xa0a0, 0xb0b0, 0xc0c0] gn.writeFIFO(data) data = 0x1234 gn.writeFIFO(data) |
|
A wrapper around gWritePF(). So user could write a single word to the FIFO or the user could prepare their own array of words, bypassing the bundle/channel interface.
data = [0xa0a0a0a0L, 0xdeadbeefL, 0xc0c0c0c0L] gn.writeFIFO32(data) data = 0x12345678L gn.writeFIFO(data) |