DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <WIB.hh>
Public Types | |
enum | WIB_DAQ_t { UNKNOWN , RCE , FELIX } |
Public Member Functions | |
WIB (std::string const &address, std::string const &WIBAddressTable="WIB.adt", std::string const &FEMBAddressTable="FEMB.adt", bool fullStart=true) | |
~WIB () | |
void | FullStart () |
void | InitializeWIB () |
void | ResetWIB (bool reset_udp=false) |
void | InitializeDTS (uint8_t PDTSsource=0, uint8_t clockSource=0, uint32_t PDTSAlignment_timeout=0) |
void | EnableDAQLink (uint8_t iDAQLink) |
void | EnableDAQLink_Lite (uint8_t iDAQLink, uint8_t enable) |
void | StartSyncDTS () |
void | ResetWIBAndCfgDTS (uint8_t localClock, uint8_t PDTS_TGRP, uint8_t PDTSsource=0, uint32_t PDTSAlignment_timeout=0) |
void | CheckedResetWIBAndCfgDTS (uint8_t localClock, uint8_t PDTS_TGRP, uint8_t PDTSsource=0, uint32_t PDTSAlignment_timeout=0) |
void | StartStreamToDAQ (bool l1=true, bool l2=true, bool l3=false, bool l4=false) |
void | PDTSInRunningState () |
void | EnableFEMBCNC () |
void | DisableFEMBCNC () |
void | FEMBPower (uint8_t iFEMB, bool turnOn) |
void | SourceFEMB (uint64_t iDAQLink, uint64_t real) |
void | StartEventBuilder (uint8_t mask=0xF) |
void | StopEventBuilder (uint8_t mask=0xF) |
void | WriteQSFP (uint16_t address, uint32_t value, uint8_t byte_count) |
uint32_t | ReadQSFP (uint16_t address, uint8_t byte_count) |
void | WriteDTS_CDS (uint16_t address, uint32_t value, uint8_t byte_count=4, bool ignore_error=false) |
uint32_t | ReadDTS_CDS (uint16_t address, uint8_t byte_count=4) |
float | ConfigureDTSCDS (uint8_t source=0) |
void | WriteDTS_SI5344 (uint16_t address, uint32_t value, uint8_t byte_count=4) |
uint32_t | ReadDTS_SI5344 (uint16_t address, uint8_t byte_count=4) |
void | SetDTS_SI5344Page (uint8_t page) |
uint8_t | GetDTS_SI5344Page () |
uint8_t | GetDTS_SI5344AddressPage (uint16_t address) |
void | LoadConfigDTS_SI5344 (std::string const &fileName) |
void | ResetSi5344 () |
void | SelectSI5344 (uint64_t input, bool enable) |
void | SelectSI5342 (uint64_t input, bool enable) |
void | WriteDAQ_SI5342 (uint16_t address, uint32_t value, uint8_t byte_count=4) |
uint32_t | ReadDAQ_SI5342 (uint16_t address, uint8_t byte_count=4) |
void | SetDAQ_SI5342Page (uint8_t page) |
uint8_t | GetDAQ_SI5342Page () |
uint8_t | GetDAQ_SI5342AddressPage (uint16_t address) |
void | LoadConfigDAQ_SI5342 (std::string const &fileName) |
void | ResetSi5342 () |
std::vector< uint32_t > | CaptureHistory (std::string const &address) |
std::vector< uint128_t > | CaptureHistory (std::string const &address, size_t wordCount) |
uint32_t | ReadLocalFlash (uint16_t address) |
std::vector< uint32_t > | ReadLocalFlash (uint16_t address, size_t n) |
void | WriteLocalFlash (uint16_t address, uint32_t data) |
void | WriteLocalFlash (uint16_t address, std::vector< uint32_t > const &data) |
void | FlashCheckBusy () |
void | ReadFlash (std::string const &fileName, uint8_t update_percentage=101) |
void | WriteFlash (std::vector< uint32_t > data, uint8_t update_percentage=101) |
void | ProgramFlash (std::string const &fileName, uint8_t update_percentage=101) |
void | EraseFlash (bool print_updates=false) |
void | CheckFlash (std::vector< uint32_t > data, uint8_t update_percentage=101) |
std::vector< data_8b10b_t > | ReadOutCDLinkSpyBuffer () |
std::vector< data_8b10b_t > | ReadDAQLinkSpyBuffer (uint8_t iDAQLink, uint8_t trigger_mode=0) |
void | SetupFEMBExtClock (uint8_t iFEMB) |
Setup FEMB External Clock. | |
void | WriteFEMBPhase (uint8_t iFEMB, uint16_t clk_phase_data) |
bool | TryFEMBPhases (uint8_t iFEMB, std::vector< uint16_t > phases) |
bool | HuntFEMBPhase (uint8_t iFEMB, uint16_t clk_phase_data_start) |
void | ConfigFEMB (uint8_t iFEMB, std::vector< uint32_t > fe_config, std::vector< uint16_t > clk_phases, uint8_t pls_mode=0, uint8_t pls_dac_val=0, uint8_t start_frame_mode_sel=1, uint8_t start_frame_swap=1) |
Setup FEMB in real or pulser data mode. | |
void | ConfigFEMBFakeData (uint8_t iFEMB, uint8_t fake_mode, uint32_t fake_word, uint8_t femb_number, std::vector< uint32_t > fake_samples, uint8_t start_frame_mode_sel=1, uint8_t start_frame_swap=1) |
Setup FEMB in fake data mode. | |
void | ConfigFEMBMode (uint8_t iFEMB, uint32_t pls_cs, uint32_t dac_sel, uint32_t fpga_dac, uint32_t asic_dac, uint32_t mon_cs) |
uint16_t | SetupFEMBASICs (uint8_t iFEMB, uint8_t gain, uint8_t shape, uint8_t highBaseline, bool highLeakage, bool leakagex10, bool acCoupling, bool buffer, bool useExtClock, uint8_t internalDACControl, uint8_t internalDACValue) |
Setup FEMB ASICs. | |
void | SetupFPGAPulser (uint8_t iFEMB, uint8_t dac_val) |
void | SetupInternalPulser (uint8_t iFEMB) |
uint16_t | SetupASICPulserBits (uint8_t iFEMB) |
uint16_t | SetupFEMBASICs (uint8_t iFEMB, std::vector< uint32_t > registerList) |
Setup FEMB ASICs. | |
void | ConfigWIBFakeData (bool enableFakeFEMB1, bool enableFakeFEMB2, bool enableFakeFEMB3, bool enableFakeFEMB4, bool counter) |
void | SetFEMBFakeCOLDATAMode (uint8_t iFEMB, uint8_t iCD, bool mode=0) |
uint8_t | GetFEMBFakeCOLDATAMode (uint8_t iFEMB, uint8_t iCD) |
void | SetFEMBStreamSource (uint8_t iFEMB, uint8_t iStream, bool real=true) |
uint8_t | GetFEMBStreamSource (uint8_t iFEMB, uint8_t iStream) |
void | SetEventBuilderDebugMode (uint8_t mask=0xF) |
uint8_t | GetEventBuilderDebugMode () |
char | GetFEMBChar (uint8_t iFEMB) |
char | GetDAQLinkChar (uint8_t iDAQLink) |
char | GetFEMBCDChar (uint8_t iCD) |
bool | CheckDAQLinkInRange (uint8_t iDAQLink) |
bool | CheckFEMBInRange (uint8_t iFEMB) |
bool | CheckFEMBStreamInRange (uint8_t iStream) |
bool | CheckFEMBCDInRange (uint8_t iCD) |
uint8_t | GetFEMBCount () |
WIB_DAQ_t | GetDAQMode () |
void | SetContinueOnFEMBRegReadError (bool enable) |
void | SetContinueOnFEMBSPIError (bool enable) |
void | SetContinueOnFEMBSyncError (bool enable) |
void | SetContinueIfListOfFEMBClockPhasesDontSync (bool enable) |
![]() | |
WIBBase (std::string const &address, std::string const &WIBAddressTable, std::string const &FEMBAddressTable) | |
~WIBBase () | |
std::string | GetAddress () |
uint32_t | Read (uint16_t address) |
uint32_t | ReadWithRetry (uint16_t address) |
uint32_t | Read (std::string const &address) |
uint32_t | ReadWithRetry (std::string const &address) |
void | Write (uint16_t address, uint32_t value) |
void | WriteWithRetry (uint16_t address, uint32_t value) |
void | Write (std::string const &address, uint32_t value) |
void | WriteWithRetry (std::string const &address, uint32_t value) |
void | Write (uint16_t address, std::vector< uint32_t > const &values) |
void | Write (std::string const &address, std::vector< uint32_t > const &values) |
void | Write (uint16_t address, uint32_t const *values, size_t word_count) |
void | Write (std::string const &address, uint32_t const *values, size_t word_count) |
uint32_t | ReadI2C (std::string const &base_address, uint16_t I2C_aaddress, uint8_t byte_count=4) |
void | WriteI2C (std::string const &base_address, uint16_t I2C_address, uint32_t data, uint8_t byte_count=4, bool ignore_error=false) |
std::vector< std::string > | GetNames (std::string const ®ex) |
std::vector< std::string > | GetFEMBNames (std::string const ®ex) |
std::vector< std::string > | GetAddresses (uint16_t lower, uint16_t upper) |
std::vector< std::string > | GetFEMBAddresses (uint16_t lower, uint16_t upper) |
std::vector< std::string > | GetTableNames (std::string const ®ex) |
std::vector< Item const * > | GetTagged (std::string const &tag) |
std::vector< Item const * > | GetFEMBTagged (std::string const &tag) |
uint32_t | ReadFEMB (int iFEMB, uint16_t address) |
uint32_t | ReadFEMB (int iFEMB, std::string const &address) |
void | WriteFEMB (int iFEMB, uint16_t address, uint32_t value) |
void | WriteFEMB (int iFEMB, std::string const &address, uint32_t value) |
void | WriteFEMBBits (int iFEMB, uint16_t address, uint32_t pos, uint32_t mask, uint32_t value) |
void | EnableADC (uint64_t iFEMB, uint64_t enable) |
Item const * | GetItem (std::string const &) |
Item const * | GetFEMBItem (int iFEMB, std::string const &) |
int | GetSVNVersion () |
Public Attributes | |
bool | started |
Private Member Functions | |
WIB () | |
WIB (const WIB &other) | |
WIB & | operator= (const WIB &) |
Private Attributes | |
WIB_DAQ_t | DAQMode |
uint8_t | FEMBCount |
uint8_t | FEMBStreamCount |
uint8_t | FEMBCDACount |
uint8_t | DAQLinkCount |
bool | ContinueOnFEMBRegReadError |
bool | ContinueOnFEMBSPIError |
bool | ContinueOnFEMBSyncError |
bool | ContinueIfListOfFEMBClockPhasesDontSync |
enum WIB::WIB_DAQ_t |
WIB::WIB | ( | std::string const & | address, |
std::string const & | WIBAddressTable = "WIB.adt", | ||
std::string const & | FEMBAddressTable = "FEMB.adt", | ||
bool | fullStart = true ) |
Definition at line 9 of file WIB.cpp.
|
private |
|
private |
std::vector< uint32_t > WIB::CaptureHistory | ( | std::string const & | address | ) |
Definition at line 3 of file WIB_History.cpp.
std::vector< uint128_t > WIB::CaptureHistory | ( | std::string const & | address, |
size_t | wordCount ) |
Definition at line 12 of file WIB_History.cpp.
bool WIB::CheckDAQLinkInRange | ( | uint8_t | iDAQLink | ) |
void WIB::CheckedResetWIBAndCfgDTS | ( | uint8_t | localClock, |
uint8_t | PDTS_TGRP, | ||
uint8_t | PDTSsource = 0, | ||
uint32_t | PDTSAlignment_timeout = 0 ) |
Definition at line 272 of file WIB.cpp.
bool WIB::CheckFEMBCDInRange | ( | uint8_t | iCD | ) |
bool WIB::CheckFEMBInRange | ( | uint8_t | iFEMB | ) |
bool WIB::CheckFEMBStreamInRange | ( | uint8_t | iStream | ) |
void WIB::CheckFlash | ( | std::vector< uint32_t > | data, |
uint8_t | update_percentage = 101 ) |
Definition at line 294 of file WIB_Flash.cpp.
void WIB::ConfigFEMB | ( | uint8_t | iFEMB, |
std::vector< uint32_t > | fe_config, | ||
std::vector< uint16_t > | clk_phases, | ||
uint8_t | pls_mode = 0, | ||
uint8_t | pls_dac_val = 0, | ||
uint8_t | start_frame_mode_sel = 1, | ||
uint8_t | start_frame_swap = 1 ) |
Setup FEMB in real or pulser data mode.
Sets up iFEMB (index from 1) fe_config: list of options to configure the FE ASICs: Gain: 0,1,2,3 for 4.7, 7.8, 14, 25 mV/fC, respectively Shaping Time: 0,1,2,3 for 0.5, 1, 2, 3 us, respectively High Baseline: 0 for 200 mV, 1 for 900 mV, 2 for 200 mV on collection and 900 mV on induction High Leakage: 0 for 100 pA, 1 for 500 pA Leakage x 10: if 1, multiply leakage times 10 AC Coupling : 0 for DC coupling, 1 for AC coupling (between FE and ADC) Buffer: 0 for disable and bypass, 1 for use (between FE and ADC) Use External Clock: 0 ADC use internal clock, 1 ADC use FPGA clocking (almost always want 1) clk_phases: a list of 16 bit values to try for the ADC clock phases. Tries these values until the sync check bits are all 0, and hunts for good values if these all fail. The most significant byte is ADC_ASIC_CLK_PHASE_SELECT (register 6) while the least significant byte is ADC_ASIC_CLK_PHASE_SELECT (register 15) pls_mode: pulser mode select: 0 off, 1 FE ASIC internal pulser, 2 FPGA pulser pls_dac_val: pulser DAC value (amplitude) 6-bits in ASIC test pulse mode, 5-bits in FPGA test pulse mode start_frame_mode_sel: 1 to make data frame start the way BU WIB firmware expects start_frame_swap: 1 to reverse the start bits
Definition at line 37 of file WIB_FEMB.cpp.
void WIB::ConfigFEMBFakeData | ( | uint8_t | iFEMB, |
uint8_t | fake_mode, | ||
uint32_t | fake_word, | ||
uint8_t | femb_number, | ||
std::vector< uint32_t > | fake_samples, | ||
uint8_t | start_frame_mode_sel = 1, | ||
uint8_t | start_frame_swap = 1 ) |
Setup FEMB in fake data mode.
Sets up iFEMB (index from 1) in fake data mode fake_mode: 0 for real data, 1 for fake word, 2 for fake waveform, 3 for channel indicator (FEMB, chip, channel), 4 for channel indicator (counter, chip, channel) fake_word: 12 bit wrd to use when in fake word mode femb_number: femb number to use in fake_mode 3 fake_samples: vector of samples to use in fake_mode 2
Sets up iFEMB (index from 1) in fake data mode fake_mode: 0 for real data, 1 for fake word, 2 for fake waveform, 3 for channel indicator (FEMB, chip, channel), 4 for channel indicator (counter, chip, channel) fake_word: 12 bit wrd to use when in fake word mode femb_number: femb number to use in fake_mode 3, 4 bits fake_samples: vector of samples to use in fake_mode 2
Definition at line 275 of file WIB_FEMB.cpp.
void WIB::ConfigFEMBMode | ( | uint8_t | iFEMB, |
uint32_t | pls_cs, | ||
uint32_t | dac_sel, | ||
uint32_t | fpga_dac, | ||
uint32_t | asic_dac, | ||
uint32_t | mon_cs = 0 ) |
Definition at line 1126 of file WIB_FEMB.cpp.
float WIB::ConfigureDTSCDS | ( | uint8_t | source = 0 | ) |
Definition at line 24 of file WIB_CDS.cpp.
void WIB::ConfigWIBFakeData | ( | bool | enableFakeFEMB1, |
bool | enableFakeFEMB2, | ||
bool | enableFakeFEMB3, | ||
bool | enableFakeFEMB4, | ||
bool | counter ) |
Definition at line 4 of file WIB_FAKE_CD.cpp.
void WIB::DisableFEMBCNC | ( | ) |
void WIB::EnableDAQLink | ( | uint8_t | iDAQLink | ) |
Definition at line 51 of file WIB.cpp.
void WIB::EnableDAQLink_Lite | ( | uint8_t | iDAQLink, |
uint8_t | enable ) |
Definition at line 77 of file WIB.cpp.
void WIB::EnableFEMBCNC | ( | ) |
void WIB::EraseFlash | ( | bool | print_updates = false | ) |
Definition at line 190 of file WIB_Flash.cpp.
void WIB::FEMBPower | ( | uint8_t | iFEMB, |
bool | turnOn ) |
Definition at line 456 of file WIB.cpp.
void WIB::FlashCheckBusy | ( | ) |
Definition at line 362 of file WIB_Flash.cpp.
void WIB::FullStart | ( | ) |
uint8_t WIB::GetDAQ_SI5342AddressPage | ( | uint16_t | address | ) |
Definition at line 30 of file WIB_SI5342.cpp.
uint8_t WIB::GetDAQ_SI5342Page | ( | ) |
Definition at line 26 of file WIB_SI5342.cpp.
char WIB::GetDAQLinkChar | ( | uint8_t | iDAQLink | ) |
Definition at line 518 of file WIB.cpp.
uint8_t WIB::GetDTS_SI5344AddressPage | ( | uint16_t | address | ) |
Definition at line 30 of file WIB_SI5344.cpp.
uint8_t WIB::GetDTS_SI5344Page | ( | ) |
Definition at line 26 of file WIB_SI5344.cpp.
uint8_t WIB::GetEventBuilderDebugMode | ( | ) |
char WIB::GetFEMBCDChar | ( | uint8_t | iCD | ) |
Definition at line 603 of file WIB.cpp.
char WIB::GetFEMBChar | ( | uint8_t | iFEMB | ) |
Definition at line 556 of file WIB.cpp.
uint8_t WIB::GetFEMBFakeCOLDATAMode | ( | uint8_t | iFEMB, |
uint8_t | iCD ) |
Definition at line 77 of file WIB_FAKE_CD.cpp.
uint8_t WIB::GetFEMBStreamSource | ( | uint8_t | iFEMB, |
uint8_t | iStream ) |
Definition at line 44 of file WIB_FAKE_CD.cpp.
bool WIB::HuntFEMBPhase | ( | uint8_t | iFEMB, |
uint16_t | clk_phase_data_start ) |
Definition at line 1061 of file WIB_FEMB.cpp.
void WIB::InitializeDTS | ( | uint8_t | PDTSsource = 0, |
uint8_t | clockSource = 0, | ||
uint32_t | PDTSAlignment_timeout = 0 ) |
Definition at line 12 of file WIB_DTS.cpp.
void WIB::InitializeWIB | ( | ) |
void WIB::LoadConfigDAQ_SI5342 | ( | std::string const & | fileName | ) |
Definition at line 34 of file WIB_SI5342.cpp.
void WIB::LoadConfigDTS_SI5344 | ( | std::string const & | fileName | ) |
Definition at line 34 of file WIB_SI5344.cpp.
void WIB::PDTSInRunningState | ( | ) |
Definition at line 169 of file WIB_DTS.cpp.
void WIB::ProgramFlash | ( | std::string const & | fileName, |
uint8_t | update_percentage = 101 ) |
Definition at line 209 of file WIB_Flash.cpp.
uint32_t WIB::ReadDAQ_SI5342 | ( | uint16_t | address, |
uint8_t | byte_count = 4 ) |
Definition at line 11 of file WIB_SI5342.cpp.
std::vector< data_8b10b_t > WIB::ReadDAQLinkSpyBuffer | ( | uint8_t | iDAQLink, |
uint8_t | trigger_mode = 0 ) |
Definition at line 20 of file WIB_spybuffer.cpp.
uint32_t WIB::ReadDTS_CDS | ( | uint16_t | address, |
uint8_t | byte_count = 4 ) |
Definition at line 20 of file WIB_CDS.cpp.
uint32_t WIB::ReadDTS_SI5344 | ( | uint16_t | address, |
uint8_t | byte_count = 4 ) |
Definition at line 11 of file WIB_SI5344.cpp.
void WIB::ReadFlash | ( | std::string const & | fileName, |
uint8_t | update_percentage = 101 ) |
Definition at line 126 of file WIB_Flash.cpp.
uint32_t WIB::ReadLocalFlash | ( | uint16_t | address | ) |
Definition at line 4 of file WIB_localFlash.cpp.
std::vector< uint32_t > WIB::ReadLocalFlash | ( | uint16_t | address, |
size_t | n ) |
Definition at line 21 of file WIB_localFlash.cpp.
std::vector< data_8b10b_t > WIB::ReadOutCDLinkSpyBuffer | ( | ) |
Definition at line 4 of file WIB_spybuffer.cpp.
uint32_t WIB::ReadQSFP | ( | uint16_t | address, |
uint8_t | byte_count ) |
Definition at line 10 of file WIB_QSFP.cpp.
void WIB::ResetSi5342 | ( | ) |
Definition at line 16 of file WIB_SI5342.cpp.
void WIB::ResetSi5344 | ( | ) |
Definition at line 16 of file WIB_SI5344.cpp.
void WIB::ResetWIB | ( | bool | reset_udp = false | ) |
Definition at line 138 of file WIB.cpp.
void WIB::ResetWIBAndCfgDTS | ( | uint8_t | localClock, |
uint8_t | PDTS_TGRP, | ||
uint8_t | PDTSsource = 0, | ||
uint32_t | PDTSAlignment_timeout = 0 ) |
Definition at line 197 of file WIB.cpp.
void WIB::SelectSI5342 | ( | uint64_t | input, |
bool | enable ) |
Definition at line 139 of file WIB_SI5342.cpp.
void WIB::SelectSI5344 | ( | uint64_t | input, |
bool | enable ) |
Definition at line 138 of file WIB_SI5344.cpp.
void WIB::SetContinueIfListOfFEMBClockPhasesDontSync | ( | bool | enable | ) |
Definition at line 1156 of file WIB_FEMB.cpp.
void WIB::SetContinueOnFEMBRegReadError | ( | bool | enable | ) |
Definition at line 1144 of file WIB_FEMB.cpp.
void WIB::SetContinueOnFEMBSPIError | ( | bool | enable | ) |
Definition at line 1148 of file WIB_FEMB.cpp.
void WIB::SetContinueOnFEMBSyncError | ( | bool | enable | ) |
Definition at line 1152 of file WIB_FEMB.cpp.
void WIB::SetDAQ_SI5342Page | ( | uint8_t | page | ) |
Definition at line 22 of file WIB_SI5342.cpp.
void WIB::SetDTS_SI5344Page | ( | uint8_t | page | ) |
Definition at line 22 of file WIB_SI5344.cpp.
void WIB::SetEventBuilderDebugMode | ( | uint8_t | mask = 0xF | ) |
void WIB::SetFEMBFakeCOLDATAMode | ( | uint8_t | iFEMB, |
uint8_t | iCD, | ||
bool | mode = 0 ) |
Definition at line 68 of file WIB_FAKE_CD.cpp.
void WIB::SetFEMBStreamSource | ( | uint8_t | iFEMB, |
uint8_t | iStream, | ||
bool | real = true ) |
Definition at line 52 of file WIB_FAKE_CD.cpp.
uint16_t WIB::SetupASICPulserBits | ( | uint8_t | iFEMB | ) |
Definition at line 809 of file WIB_FEMB.cpp.
uint16_t WIB::SetupFEMBASICs | ( | uint8_t | iFEMB, |
std::vector< uint32_t > | registerList ) |
Setup FEMB ASICs.
Sets up iFEMB (index from 1) ASICs
registerList is a list of 71 32bit registers to program the FE and ADC ASICs
returns adc sync status 16 bits, one for each serial link between ADC and FPGA. There are 2 per ADC
Definition at line 550 of file WIB_FEMB.cpp.
uint16_t WIB::SetupFEMBASICs | ( | uint8_t | iFEMB, |
uint8_t | gain, | ||
uint8_t | shape, | ||
uint8_t | highBaseline, | ||
bool | highLeakage, | ||
bool | leakagex10, | ||
bool | acCoupling, | ||
bool | buffer, | ||
bool | useExtClock, | ||
uint8_t | internalDACControl, | ||
uint8_t | internalDACValue ) |
Setup FEMB ASICs.
Sets up iFEMB (index from 1) ASICs
gain: 0,1,2,3 for 4.7, 7.8, 14, 25 mV/fC, respectively shaping time: 0,1,2,3 for 0.5, 1, 2, 3 us, respectively highBaseline is 900mV for 1, 200mV for 0, and appropriately for each plane for 2 highLeakage is 500pA for true, 100pA for false leakagex10 multiplies leakage x10 if true acCoupling: FE is AC coupled to ADC if true, DC if false buffer: FE to ADC buffer on if true, off and bypassed if false useExtClock: ADC uses external (FPGA) clock if true, internal if false internalDACControl: 0 for disabled, 1 for internal FE ASIC pulser, 2 for external FPGA pulser internalDACValue: 6 bit value for amplitude to use with internal pulser
returns adc sync status 16 bits, one for each serial link between ADC and FPGA. There are 2 per ADC
Definition at line 621 of file WIB_FEMB.cpp.
void WIB::SetupFEMBExtClock | ( | uint8_t | iFEMB | ) |
Setup FEMB External Clock.
Sets up iFEMB (index from 1) external clock parameters
Definition at line 375 of file WIB_FEMB.cpp.
void WIB::SetupFPGAPulser | ( | uint8_t | iFEMB, |
uint8_t | dac_val ) |
Definition at line 912 of file WIB_FEMB.cpp.
void WIB::SetupInternalPulser | ( | uint8_t | iFEMB | ) |
Definition at line 928 of file WIB_FEMB.cpp.
void WIB::SourceFEMB | ( | uint64_t | iDAQLink, |
uint64_t | real ) |
Definition at line 626 of file WIB.cpp.
void WIB::StartEventBuilder | ( | uint8_t | mask = 0xF | ) |
void WIB::StartStreamToDAQ | ( | bool | l1 = true, |
bool | l2 = true, | ||
bool | l3 = false, | ||
bool | l4 = false ) |
Definition at line 411 of file WIB.cpp.
void WIB::StartSyncDTS | ( | ) |
Definition at line 163 of file WIB_DTS.cpp.
void WIB::StopEventBuilder | ( | uint8_t | mask = 0xF | ) |
bool WIB::TryFEMBPhases | ( | uint8_t | iFEMB, |
std::vector< uint16_t > | phases ) |
Definition at line 1031 of file WIB_FEMB.cpp.
void WIB::WriteDAQ_SI5342 | ( | uint16_t | address, |
uint32_t | value, | ||
uint8_t | byte_count = 4 ) |
Definition at line 8 of file WIB_SI5342.cpp.
void WIB::WriteDTS_CDS | ( | uint16_t | address, |
uint32_t | value, | ||
uint8_t | byte_count = 4, | ||
bool | ignore_error = false ) |
Definition at line 17 of file WIB_CDS.cpp.
void WIB::WriteDTS_SI5344 | ( | uint16_t | address, |
uint32_t | value, | ||
uint8_t | byte_count = 4 ) |
Definition at line 8 of file WIB_SI5344.cpp.
void WIB::WriteFEMBPhase | ( | uint8_t | iFEMB, |
uint16_t | clk_phase_data ) |
Definition at line 943 of file WIB_FEMB.cpp.
void WIB::WriteFlash | ( | std::vector< uint32_t > | data, |
uint8_t | update_percentage = 101 ) |
Definition at line 236 of file WIB_Flash.cpp.
void WIB::WriteLocalFlash | ( | uint16_t | address, |
std::vector< uint32_t > const & | data ) |
Definition at line 49 of file WIB_localFlash.cpp.
void WIB::WriteLocalFlash | ( | uint16_t | address, |
uint32_t | data ) |
Definition at line 32 of file WIB_localFlash.cpp.
void WIB::WriteQSFP | ( | uint16_t | address, |
uint32_t | value, | ||
uint8_t | byte_count ) |
Definition at line 7 of file WIB_QSFP.cpp.