finished boardSetting, not tested

This commit is contained in:
carina@hades 2022-09-21 16:05:51 -04:00
parent 92fe99dd48
commit 0be8c0dceb
5 changed files with 820 additions and 524 deletions

View File

@ -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 ;
@ -289,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;

View File

@ -230,9 +230,15 @@ void MainWindow::HandleMenu(Int_t id){
break; break;
///========================= Board setting ///========================= Board setting
case M_BOARD_SETTINGS: case M_BOARD_SETTINGS:{
boardSetting = new BoardSetting(gClient->GetRoot(), 600, 600, digi, nDigi); if( boardSetting == NULL ) {
break; boardSetting = new BoardSetting(gClient->GetRoot(), 600, 600, digi, nDigi);
}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:{

View File

@ -274,7 +274,7 @@ 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,

File diff suppressed because it is too large Load Diff

View File

@ -44,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;
@ -86,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;
@ -105,7 +103,7 @@ 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;
@ -125,38 +123,56 @@ class BoardSetting{
static TGTextEntry * txtVMEFIFO; static TGTextEntry * txtVMEFIFO;
TThread * readStatusThread; 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. 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