Compare commits
2 Commits
3fc64c86cd
...
0be8c0dceb
Author | SHA1 | Date | |
---|---|---|---|
|
0be8c0dceb | ||
|
92fe99dd48 |
|
@ -535,11 +535,11 @@ uint32_t Digitizer::PrintRegister(uint32_t address, std::string msg){
|
||||||
|
|
||||||
uint32_t * value = new uint32_t[1];
|
uint32_t * value = new uint32_t[1];
|
||||||
CAEN_DGTZ_ReadRegister(handle, (uint32_t) Register::BoardConfiguration, value);
|
CAEN_DGTZ_ReadRegister(handle, (uint32_t) Register::BoardConfiguration, value);
|
||||||
printf(" %*s 32 28 24 20 16 12 8 4 0\n", msg.length(), "");
|
printf(" %*s 32 28 24 20 16 12 8 4 0\n", (int) msg.length(), "");
|
||||||
printf(" %*s | | | | | | | | |\n", msg.length(), "");
|
printf(" %*s | | | | | | | | |\n", (int) msg.length(), "");
|
||||||
printf(" %*s", msg.length(), "");
|
printf(" %*s", (int) msg.length(), "");
|
||||||
cout << " : 0b" << bitset<32>(value[0]) << endl;
|
cout << " : 0b" << bitset<32>(value[0]) << endl;
|
||||||
printf(" %*s : 0x%x\n", msg.length(), msg.c_str(), value[0]);
|
printf(" %*s : 0x%x\n", (int) msg.length(), msg.c_str(), value[0]);
|
||||||
|
|
||||||
return value[0];
|
return value[0];
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,8 @@ class Digitizer{
|
||||||
unsigned int ReadBits(uint32_t address, unsigned int bitLength, unsigned int bitSmallestPos, int ch = -1 );
|
unsigned int ReadBits(uint32_t address, unsigned int bitLength, unsigned int bitSmallestPos, int ch = -1 );
|
||||||
unsigned int GetDPPAlgorithmControl(int ch = -1) {return ReadRegister(Register::DPP::DPPAlgorithmControl, ch);}
|
unsigned int GetDPPAlgorithmControl(int ch = -1) {return ReadRegister(Register::DPP::DPPAlgorithmControl, ch);}
|
||||||
|
|
||||||
|
bool isACQRunning() {return AcqRun;}
|
||||||
|
|
||||||
uint32_t PrintRegister(uint32_t address, std::string msg);
|
uint32_t PrintRegister(uint32_t address, std::string msg);
|
||||||
|
|
||||||
void PrintBoard();
|
void PrintBoard();
|
||||||
|
|
|
@ -143,7 +143,7 @@ void DigitizerPHA::SetSetting(Setting::PHA settingName, float value, int ch){
|
||||||
|
|
||||||
case Setting::PHA::EventPreAggregate_G_max1023: input = value; WriteRegister(Register::DPP::NumberEventsPerAggregate_G, input, ch) ; break;
|
case Setting::PHA::EventPreAggregate_G_max1023: input = value; WriteRegister(Register::DPP::NumberEventsPerAggregate_G, input, ch) ; break;
|
||||||
case Setting::PHA::AggregateOrganization_board_3bit: input = value; WriteRegister(Register::DPP::AggregateOrganization , input, ch) ; break;
|
case Setting::PHA::AggregateOrganization_board_3bit: input = value; WriteRegister(Register::DPP::AggregateOrganization , input, ch) ; break;
|
||||||
case Setting::PHA::MaxAggregatePreBlockTransfer_board_10bit: input = value; WriteRegister(Register::DPP::MaxAggregatePerBlockTransfer, input, ch) ; break;
|
case Setting::PHA::MaxAggregatePerBlockTransfer_board_10bit: input = value; WriteRegister(Register::DPP::MaxAggregatePerBlockTransfer, input, ch) ; break;
|
||||||
|
|
||||||
case Setting::PHA::VetoWidth_ns:{
|
case Setting::PHA::VetoWidth_ns:{
|
||||||
unsigned int input = 0 ;
|
unsigned int input = 0 ;
|
||||||
|
@ -182,15 +182,14 @@ void DigitizerPHA::SetSetting(Setting::PHA settingName, float value, int ch){
|
||||||
case Setting::PHA::DisableExternalTrigger_bool: input = value; WriteRegister(Register::DPP::DisableExternalTrigger, input); break;
|
case Setting::PHA::DisableExternalTrigger_bool: input = value; WriteRegister(Register::DPP::DisableExternalTrigger, input); break;
|
||||||
case Setting::PHA::ExtendedVetoDelay_16bit: input = value; WriteRegister(Register::DPP::ExtendedVetoDelay, input); break;
|
case Setting::PHA::ExtendedVetoDelay_16bit: input = value; WriteRegister(Register::DPP::ExtendedVetoDelay, input); break;
|
||||||
case Setting::PHA::AnalogMonitorMode_3bit: input = value; WriteRegister(Register::DPP::AnalogMonitorMode, input); break;
|
case Setting::PHA::AnalogMonitorMode_3bit: input = value; WriteRegister(Register::DPP::AnalogMonitorMode, input); break;
|
||||||
|
case Setting::PHA::BufferOccupancyGain_4bit: input = value; WriteRegister(Register::DPP::BufferOccupancyGain, input); break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorMsg("PHA-" + std::to_string(settingName) );
|
ErrorMsg("PHA-" + std::to_string(settingName) );
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
double DigitizerPHA::GetSetting(Setting::PHA settingName, int ch){
|
double DigitizerPHA::GetSetting(Setting::PHA settingName, int ch){
|
||||||
|
|
||||||
double value = 0;
|
double value = 0;
|
||||||
|
@ -290,7 +289,7 @@ double DigitizerPHA::GetSetting(Setting::PHA settingName, int ch){
|
||||||
value = ((temp & 0x007) < 2 ? 0 : (int)pow(2, temp & 7));
|
value = ((temp & 0x007) < 2 ? 0 : (int)pow(2, temp & 7));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case Setting::PHA::MaxAggregatePreBlockTransfer_board_10bit: temp = ReadRegister(Register::DPP::MaxAggregatePerBlockTransfer , ch); value = temp; break;
|
case Setting::PHA::MaxAggregatePerBlockTransfer_board_10bit: temp = ReadRegister(Register::DPP::MaxAggregatePerBlockTransfer , ch); value = temp; break;
|
||||||
|
|
||||||
case Setting::PHA::TriggerThreshold_LSD: temp = ReadRegister(Register::DPP::PHA::TriggerThreshold , ch); value = temp; break;
|
case Setting::PHA::TriggerThreshold_LSD: temp = ReadRegister(Register::DPP::PHA::TriggerThreshold , ch); value = temp; break;
|
||||||
case Setting::PHA::TriggerHoldOffWidth_ns: temp = ReadRegister(Register::DPP::PHA::TriggerHoldOffWidth , ch); value = temp * 4 * ch2ns; break;
|
case Setting::PHA::TriggerHoldOffWidth_ns: temp = ReadRegister(Register::DPP::PHA::TriggerHoldOffWidth , ch); value = temp * 4 * ch2ns; break;
|
||||||
|
@ -312,6 +311,26 @@ double DigitizerPHA::GetSetting(Setting::PHA settingName, int ch){
|
||||||
case Setting::PHA::DisableExternalTrigger_bool: temp = ReadRegister(Register::DPP::DisableExternalTrigger); value = temp & 0x1; break;
|
case Setting::PHA::DisableExternalTrigger_bool: temp = ReadRegister(Register::DPP::DisableExternalTrigger); value = temp & 0x1; break;
|
||||||
case Setting::PHA::ExtendedVetoDelay_16bit: temp = ReadRegister(Register::DPP::ExtendedVetoDelay); value = temp & 0xffff; break;
|
case Setting::PHA::ExtendedVetoDelay_16bit: temp = ReadRegister(Register::DPP::ExtendedVetoDelay); value = temp & 0xffff; break;
|
||||||
case Setting::PHA::AnalogMonitorMode_3bit: temp = ReadRegister(Register::DPP::AnalogMonitorMode); value = temp & 0x7; break;
|
case Setting::PHA::AnalogMonitorMode_3bit: temp = ReadRegister(Register::DPP::AnalogMonitorMode); value = temp & 0x7; break;
|
||||||
|
case Setting::PHA::BufferOccupancyGain_4bit: temp = ReadRegister(Register::DPP::BufferOccupancyGain); value = temp & 0xf; break;
|
||||||
|
|
||||||
|
/// AMC Firmware Revisiion
|
||||||
|
case Setting::PHA::AMCFirmwareNumber_readOnly_8bit: temp = ReadBits(Register::DPP::AMCFirmwareRevision, 7, 0); value = temp; break;
|
||||||
|
case Setting::PHA::AMCDPPcode_readOnly_8bit: temp = ReadBits(Register::DPP::AMCFirmwareRevision, 8, 8); value = temp; break;
|
||||||
|
case Setting::PHA::AMCBuildDay_readOnly_8bit: temp = ReadBits(Register::DPP::AMCFirmwareRevision, 8, 16); value = temp; break;
|
||||||
|
case Setting::PHA::AMCBuildMonth_readOnly_4bits: temp = ReadBits(Register::DPP::AMCFirmwareRevision, 4, 24); value = temp; break;
|
||||||
|
case Setting::PHA::AMCBuildYear_readOnly_4bits: temp = ReadBits(Register::DPP::AMCFirmwareRevision, 4, 28); value = temp; break;
|
||||||
|
|
||||||
|
/// ACQ Status
|
||||||
|
case Setting::PHA::ACQStatus_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 2); value = temp; break;
|
||||||
|
case Setting::PHA::ACQEventReady_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 3); value = temp; break;
|
||||||
|
case Setting::PHA::ACQEventFull_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 4); value = temp; break;
|
||||||
|
case Setting::PHA::ACQClockSource_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 5); value = temp; break;
|
||||||
|
case Setting::PHA::ACQPLLLock_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 7); value = temp; break;
|
||||||
|
case Setting::PHA::ACQBoardReady_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 8); value = temp; break;
|
||||||
|
case Setting::PHA::ACQ_S_IN_Statue_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 15); value = temp; break;
|
||||||
|
case Setting::PHA::ACQ_TRGIN_Status_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 16); value = temp; break;
|
||||||
|
case Setting::PHA::ACQChannelShutDownStatus_readOnly_bool: temp = ReadBits(Register::DPP::AcquisitionStatus, 1, 19); value = temp; break;
|
||||||
|
case Setting::PHA::ACQTenmperatureStatus_readOnly_4bit: temp = ReadBits(Register::DPP::AcquisitionStatus, 4, 20); value = temp; break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
18
FSUDAQ.cpp
18
FSUDAQ.cpp
|
@ -69,9 +69,9 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
||||||
fMenuDigitizers->Connect("Activated(Int_t)", "MainWindow", this, "HandleMenu(Int_t)");
|
fMenuDigitizers->Connect("Activated(Int_t)", "MainWindow", this, "HandleMenu(Int_t)");
|
||||||
fMenuBar->AddPopup("&Digitizers", fMenuDigitizers, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
|
fMenuBar->AddPopup("&Digitizers", fMenuDigitizers, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
|
||||||
|
|
||||||
fMenuDigitizers->DisableEntry( M_TRIGGER_SUMMARY);
|
//fMenuDigitizers->DisableEntry( M_TRIGGER_SUMMARY);
|
||||||
fMenuDigitizers->DisableEntry( M_BOARD_SETTINGS);
|
//fMenuDigitizers->DisableEntry( M_BOARD_SETTINGS);
|
||||||
fMenuDigitizers->DisableEntry( M_CH_SETTING);
|
//fMenuDigitizers->DisableEntry( M_CH_SETTING);
|
||||||
|
|
||||||
fMenuUtility = new TGPopupMenu(gClient->GetRoot());
|
fMenuUtility = new TGPopupMenu(gClient->GetRoot());
|
||||||
fMenuUtility->AddEntry("Plot Channels Rate", M_SHOW_CHANNELS_RATE);
|
fMenuUtility->AddEntry("Plot Channels Rate", M_SHOW_CHANNELS_RATE);
|
||||||
|
@ -136,7 +136,7 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
||||||
|
|
||||||
//HandleMenu(M_DIGITIZER_SCAN);
|
//HandleMenu(M_DIGITIZER_SCAN);
|
||||||
//
|
//
|
||||||
//HandleMenu(M_BOARD_SETTINGS);
|
HandleMenu(M_BOARD_SETTINGS);
|
||||||
//HandleMenu(M_CH_SETTING);
|
//HandleMenu(M_CH_SETTING);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -230,9 +230,15 @@ void MainWindow::HandleMenu(Int_t id){
|
||||||
break;
|
break;
|
||||||
|
|
||||||
///========================= Board setting
|
///========================= Board setting
|
||||||
case M_BOARD_SETTINGS:
|
case M_BOARD_SETTINGS:{
|
||||||
|
if( boardSetting == NULL ) {
|
||||||
boardSetting = new BoardSetting(gClient->GetRoot(), 600, 600, digi, nDigi);
|
boardSetting = new BoardSetting(gClient->GetRoot(), 600, 600, digi, nDigi);
|
||||||
break;
|
}else{
|
||||||
|
if ( boardSetting->IsOpen() == false ){
|
||||||
|
boardSetting = new BoardSetting(gClient->GetRoot(), 600, 600, digi, nDigi);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}break;
|
||||||
|
|
||||||
///========================= Program setting
|
///========================= Program setting
|
||||||
case M_PROGRAM_SETTINGS:{
|
case M_PROGRAM_SETTINGS:{
|
||||||
|
|
|
@ -190,7 +190,7 @@ namespace Register {
|
||||||
namespace Setting{
|
namespace Setting{
|
||||||
|
|
||||||
enum PHA{
|
enum PHA{
|
||||||
/// board setting
|
/// board configuration
|
||||||
AutoDataFlush_board_bool,
|
AutoDataFlush_board_bool,
|
||||||
DecimateWaveForm_board_bool,
|
DecimateWaveForm_board_bool,
|
||||||
TriggerPropapation_board_bool,
|
TriggerPropapation_board_bool,
|
||||||
|
@ -261,11 +261,12 @@ namespace Setting{
|
||||||
TriggerValidationSoftwareTrigger_bool,
|
TriggerValidationSoftwareTrigger_bool,
|
||||||
|
|
||||||
/// Readout Control
|
/// Readout Control
|
||||||
//ReadoutCtrl_VMEInterruptLevel_3bit,
|
ReadoutCtrl_VMEInterruptLevel_3bit,
|
||||||
//ReadoutCtrl_OpticalLinkInterrupt_bool,
|
ReadoutCtrl_OpticalLinkInterrupt_bool,
|
||||||
//ReadoutCtrl_VMEBusError_bool,
|
ReadoutCtrl_VMEBusError_bool,
|
||||||
|
ReadoutCtrl_VMEAlign64_bool,
|
||||||
|
|
||||||
/// Registers
|
/// Registers for channel
|
||||||
RecordLength_G_ns,
|
RecordLength_G_ns,
|
||||||
PreTriggerLength_ns,
|
PreTriggerLength_ns,
|
||||||
InputDynamicRange_bool,
|
InputDynamicRange_bool,
|
||||||
|
@ -273,12 +274,12 @@ namespace Setting{
|
||||||
VetoWidth_ns,
|
VetoWidth_ns,
|
||||||
EventPreAggregate_G_max1023,
|
EventPreAggregate_G_max1023,
|
||||||
AggregateOrganization_board_3bit,
|
AggregateOrganization_board_3bit,
|
||||||
MaxAggregatePreBlockTransfer_board_10bit,
|
MaxAggregatePerBlockTransfer_board_10bit,
|
||||||
|
|
||||||
TriggerThreshold_LSD,
|
TriggerThreshold_LSD,
|
||||||
TriggerHoldOffWidth_ns,
|
TriggerHoldOffWidth_ns,
|
||||||
TriggerSmoothingFactor_5bit,
|
TriggerSmoothingFactor_5bit, /// RC-CR2 Smoothing Factor
|
||||||
TriggerOutputWidth_ns,
|
TriggerOutputWidth_ns, /// Shaped Trigger Width
|
||||||
InputRiseTime_ns,
|
InputRiseTime_ns,
|
||||||
|
|
||||||
TrapezoidRiseTime_ns,
|
TrapezoidRiseTime_ns,
|
||||||
|
@ -289,16 +290,60 @@ namespace Setting{
|
||||||
EnergyFineGain_16bit,
|
EnergyFineGain_16bit,
|
||||||
RiseTimeValidationWindow_ns,
|
RiseTimeValidationWindow_ns,
|
||||||
|
|
||||||
|
ADCTemperature_8bit,
|
||||||
|
|
||||||
/// Others
|
/// Others
|
||||||
FanSpeedControl_bool,
|
FanSpeedControl_bool,
|
||||||
RunStartStopDelay_8bit,
|
RunStartStopDelay_8bit,
|
||||||
DisableExternalTrigger_bool,
|
DisableExternalTrigger_bool,
|
||||||
ExtendedVetoDelay_16bit,
|
ExtendedVetoDelay_16bit,
|
||||||
AnalogMonitorMode_3bit
|
AnalogMonitorMode_3bit,
|
||||||
|
BufferOccupancyGain_4bit,
|
||||||
|
|
||||||
|
///==========read only
|
||||||
|
|
||||||
|
/// AMC Firmware Revisiion
|
||||||
|
AMCFirmwareNumber_readOnly_8bit,
|
||||||
|
AMCDPPcode_readOnly_8bit,
|
||||||
|
AMCBuildDay_readOnly_8bit,
|
||||||
|
AMCBuildMonth_readOnly_4bits,
|
||||||
|
AMCBuildYear_readOnly_4bits,
|
||||||
|
|
||||||
|
/// ACQ Status
|
||||||
|
ACQStatus_readOnly_bool,
|
||||||
|
ACQEventReady_readOnly_bool,
|
||||||
|
ACQEventFull_readOnly_bool,
|
||||||
|
ACQClockSource_readOnly_bool,
|
||||||
|
ACQPLLLock_readOnly_bool,
|
||||||
|
ACQBoardReady_readOnly_bool,
|
||||||
|
ACQ_S_IN_Statue_readOnly_bool,
|
||||||
|
ACQ_TRGIN_Status_readOnly_bool,
|
||||||
|
ACQChannelShutDownStatus_readOnly_bool,
|
||||||
|
ACQTenmperatureStatus_readOnly_4bit,
|
||||||
|
|
||||||
|
|
||||||
|
///========== not impletementd
|
||||||
|
DataFlush_writeOnly_any, /// any bit write, write only
|
||||||
|
ChannelStopAcq_bool,
|
||||||
|
ChannelSoftwareTrigger_writeOnly_any,
|
||||||
|
|
||||||
|
FineGain_16bit, /// this is complicated value
|
||||||
|
|
||||||
|
ADCCalibration_32bit,
|
||||||
|
|
||||||
|
ChannelsShutdown_bool,
|
||||||
|
|
||||||
|
SoftwareTrigger_writeOnly_any,
|
||||||
|
|
||||||
|
ChannelEnableMask_16bit,
|
||||||
|
|
||||||
|
/// ChannelStatus
|
||||||
|
ChannelStatus_SPI_bool,
|
||||||
|
ChannelStatus_ADCCalib_bool,
|
||||||
|
ChannelStatus_ADCPowerDown_bool
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
1059
boardSetting.cpp
1059
boardSetting.cpp
File diff suppressed because it is too large
Load Diff
|
@ -4,6 +4,7 @@
|
||||||
#include <TGNumberEntry.h>
|
#include <TGNumberEntry.h>
|
||||||
#include <TGButton.h>
|
#include <TGButton.h>
|
||||||
#include <TGComboBox.h>
|
#include <TGComboBox.h>
|
||||||
|
#include <TThread.h>
|
||||||
#include <TGLabel.h>
|
#include <TGLabel.h>
|
||||||
#include "DigitizerPHA.h"
|
#include "DigitizerPHA.h"
|
||||||
#include "DigitizerPSD.h"
|
#include "DigitizerPSD.h"
|
||||||
|
@ -18,16 +19,16 @@ class BoardSetting{
|
||||||
private:
|
private:
|
||||||
TGMainFrame * fMain;
|
TGMainFrame * fMain;
|
||||||
|
|
||||||
Pixel_t red, blue;
|
static Pixel_t red, blue;
|
||||||
|
|
||||||
TGNumberEntry * boardIDEntry;
|
static TGNumberEntry * boardIDEntry;
|
||||||
|
|
||||||
TGTextEntry * entry[NUM_BOARD_INFO];
|
TGTextEntry * entry[NUM_BOARD_INFO];
|
||||||
|
|
||||||
int nDigi;
|
int nDigi;
|
||||||
Digitizer ** digi;
|
static Digitizer ** digi;
|
||||||
DigitizerPHA * pha;
|
static DigitizerPHA * pha;
|
||||||
DigitizerPSD * psd;
|
static DigitizerPSD * psd;
|
||||||
|
|
||||||
/// board failure status
|
/// board failure status
|
||||||
TGTextEntry * enPLLStatus;
|
TGTextEntry * enPLLStatus;
|
||||||
|
@ -43,7 +44,8 @@ class BoardSetting{
|
||||||
TGCheckButton * bDualTrace;
|
TGCheckButton * bDualTrace;
|
||||||
TGComboBox * cbAP1;
|
TGComboBox * cbAP1;
|
||||||
TGComboBox * cbAP2; /// for ComboBox for analog probe 2
|
TGComboBox * cbAP2; /// for ComboBox for analog probe 2
|
||||||
TGComboBox * cbDP;
|
TGComboBox * cbDP1;
|
||||||
|
TGComboBox * cbDP2;
|
||||||
TGComboBox * cbAggOrg;
|
TGComboBox * cbAggOrg;
|
||||||
TGNumberEntry * numAggBLT; /// number of Agg pre Block transfer
|
TGNumberEntry * numAggBLT; /// number of Agg pre Block transfer
|
||||||
TGComboBox * cbFanCtrl;
|
TGComboBox * cbFanCtrl;
|
||||||
|
@ -57,6 +59,21 @@ class BoardSetting{
|
||||||
TGTextButton * bSWClockSync;
|
TGTextButton * bSWClockSync;
|
||||||
TGNumberEntry * numRunStartStopDelay;
|
TGNumberEntry * numRunStartStopDelay;
|
||||||
|
|
||||||
|
/// ACQ Status
|
||||||
|
static TGTextEntry * txtACQStatus;
|
||||||
|
static TGTextEntry * txtACQEventReady;
|
||||||
|
static TGTextEntry * txtACQEventFull;
|
||||||
|
static TGTextEntry * txtACQClockSource;
|
||||||
|
static TGTextEntry * txtACQPLLLock;
|
||||||
|
static TGTextEntry * txtACQChDown;
|
||||||
|
static TGTextEntry * txtACQSIN;
|
||||||
|
static TGTextEntry * txtACQTRIGIN;
|
||||||
|
static TGTextEntry * txtACQBoardReady;
|
||||||
|
static TGTextEntry * txtACQTemp0;
|
||||||
|
static TGTextEntry * txtACQTemp1;
|
||||||
|
static TGTextEntry * txtACQTemp2;
|
||||||
|
static TGTextEntry * txtACQTemp3;
|
||||||
|
|
||||||
/// Trigger control
|
/// Trigger control
|
||||||
TGCheckButton * cbGbTRGMskCh[8];
|
TGCheckButton * cbGbTRGMskCh[8];
|
||||||
TGCheckButton * cbTRGValMskCh[8];
|
TGCheckButton * cbTRGValMskCh[8];
|
||||||
|
@ -70,9 +87,6 @@ class BoardSetting{
|
||||||
TGNumberEntry * TRGMajorLevel;
|
TGNumberEntry * TRGMajorLevel;
|
||||||
TGNumberEntry * TRGOUTMajorLevel;
|
TGNumberEntry * TRGOUTMajorLevel;
|
||||||
|
|
||||||
TGCheckButton * bGLBLVDSTrigger;
|
|
||||||
TGCheckButton * bTRGOUTLVDSTrigger;
|
|
||||||
|
|
||||||
TGCheckButton * bGLBExtTrigger;
|
TGCheckButton * bGLBExtTrigger;
|
||||||
TGCheckButton * bTRGExtTrigger;
|
TGCheckButton * bTRGExtTrigger;
|
||||||
TGCheckButton * bTRGOUTExtTrigger;
|
TGCheckButton * bTRGOUTExtTrigger;
|
||||||
|
@ -89,43 +103,76 @@ class BoardSetting{
|
||||||
/// Front Panel IO Control
|
/// Front Panel IO Control
|
||||||
TGComboBox * cbLEMOIO;
|
TGComboBox * cbLEMOIO;
|
||||||
TGComboBox * cbTRGOUTmode;
|
TGComboBox * cbTRGOUTmode;
|
||||||
TGCheckButton * bTRGOUTImp;
|
//TGCheckButton * bTRGOUTImp;
|
||||||
|
|
||||||
TGComboBox * cbTRGINCtrl;
|
TGComboBox * cbTRGINCtrl;
|
||||||
TGComboBox * cbTRGINMezzanines;
|
TGComboBox * cbTRGINMezzanines;
|
||||||
|
|
||||||
TGComboBox * cbAnaMonitor;
|
TGComboBox * cbAnaMonitor;
|
||||||
TGNumberEntry * numBufferOccpGain;
|
TGNumberEntry * numBufferOccpGain;
|
||||||
|
|
||||||
|
/// Readout Control
|
||||||
|
TGComboBox * cbVMEInterrupLevel;
|
||||||
|
TGCheckButton * bOpticalLinkInterrupt;
|
||||||
|
TGCheckButton * bEventAligned;
|
||||||
|
TGCheckButton * bVMEAlogn64Mode;
|
||||||
|
TGCheckButton * bInteruptReleaseMode;
|
||||||
|
TGCheckButton * bEnableExtendedBlockTransfer;
|
||||||
|
|
||||||
|
/// Redaout Status
|
||||||
|
static TGTextEntry * txtEventReady;
|
||||||
|
static TGTextEntry * txtBusError;
|
||||||
|
static TGTextEntry * txtVMEFIFO;
|
||||||
|
|
||||||
|
TThread * readStatusThread;
|
||||||
|
static bool isOpened;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
BoardSetting(const TGWindow *p, UInt_t w, UInt_t h, Digitizer ** digi, int nBoard);
|
BoardSetting(const TGWindow *p, UInt_t w, UInt_t h, Digitizer ** digi, int nBoard);
|
||||||
virtual ~BoardSetting();
|
virtual ~BoardSetting();
|
||||||
|
|
||||||
|
bool IsOpen() {return isOpened;}
|
||||||
|
|
||||||
void CloseWindow() {
|
void CloseWindow() {
|
||||||
printf("close BoardSetting window\n");
|
|
||||||
for( int i = 0; i < nDigi; i++) digi[i] = NULL;
|
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
void ChangeBoard();
|
void ChangeBoard();
|
||||||
|
|
||||||
|
static void * ReadStatus(void * ptr); /// thread.
|
||||||
|
|
||||||
|
///=== Button
|
||||||
|
void ResetSettingToDefault();
|
||||||
|
void ClearBuffer();
|
||||||
|
|
||||||
///=== Board Configure
|
///=== Board Configure
|
||||||
void SetAutoDataFlush();
|
void SetBoardConfiguration();
|
||||||
void SetDecimateWF();
|
|
||||||
void SetWaveFormRecord();
|
|
||||||
void SetDualTrace();
|
|
||||||
void SetTriggerPropagation();
|
|
||||||
void SetEnableExtra2();
|
|
||||||
void SetAnalogProbe1();
|
|
||||||
void SetAnalogProbe2();
|
|
||||||
void SetDigitalProbe();
|
|
||||||
void SoftwareReset();
|
|
||||||
|
|
||||||
void SetAggregateOrganization();
|
void SetAggregateOrganization();
|
||||||
void SetReadOutAggregate();
|
void SetReadOutAggregate();
|
||||||
|
void SetFanSpeedControl();
|
||||||
|
|
||||||
|
///=== ACQ Control
|
||||||
|
void SetACQControl();
|
||||||
|
|
||||||
|
void SendSoftwareTriggerSignal();
|
||||||
|
void SendSoftwareClockSyncSignal();
|
||||||
|
void SetRunStartStopDelay();
|
||||||
|
|
||||||
|
///==== Trigger
|
||||||
|
void SetGlobalTriggerMask();
|
||||||
|
void SetTriggerValidMask();
|
||||||
|
void SetTRGOUTMask();
|
||||||
|
|
||||||
|
void SetEnableExternalTrigger();
|
||||||
|
void SetExtendedVetoDelay();
|
||||||
|
|
||||||
|
///==== FrontPanelIO
|
||||||
|
void SetFrontPanelIO();
|
||||||
void SetAnalogMonitorMode();
|
void SetAnalogMonitorMode();
|
||||||
|
|
||||||
bool isOpened;
|
///==== Readout Control
|
||||||
|
void SetReadOutControl();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user