Digiti Panel is not disable when ACQ started, but the value does not change
This commit is contained in:
parent
1cb60d1aa4
commit
fa2b1012dd
|
@ -258,6 +258,7 @@ int Digitizer::OpenDigitizer(int boardID, int portID, bool program, bool verbose
|
||||||
ErrorMsg("end of OpenDigitizer");
|
ErrorMsg("end of OpenDigitizer");
|
||||||
|
|
||||||
softwareDisable = false;
|
softwareDisable = false;
|
||||||
|
AcqRun = false;
|
||||||
|
|
||||||
if( isConnected ) isDummy = false;
|
if( isConnected ) isDummy = false;
|
||||||
|
|
||||||
|
@ -288,6 +289,7 @@ int Digitizer::CloseDigitizer(){
|
||||||
void Digitizer::SetRegChannelMask(uint32_t mask){
|
void Digitizer::SetRegChannelMask(uint32_t mask){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return;
|
if( softwareDisable ) return;
|
||||||
|
if( AcqRun ) return;
|
||||||
if( !isConnected ) return;
|
if( !isConnected ) return;
|
||||||
regChannelMask = mask;
|
regChannelMask = mask;
|
||||||
ret |= CAEN_DGTZ_SetChannelEnableMask(handle, regChannelMask);
|
ret |= CAEN_DGTZ_SetChannelEnableMask(handle, regChannelMask);
|
||||||
|
@ -309,6 +311,7 @@ bool Digitizer::GetInputChannelOnOff(unsigned ch) {
|
||||||
void Digitizer::SetRegChannelOnOff(unsigned short ch, bool onOff){
|
void Digitizer::SetRegChannelOnOff(unsigned short ch, bool onOff){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return;
|
if( softwareDisable ) return;
|
||||||
|
if( AcqRun ) return;
|
||||||
if( !isConnected ) return;
|
if( !isConnected ) return;
|
||||||
regChannelMask = ((regChannelMask & ~( 1 << ch) ) | ( onOff << ch)) ;
|
regChannelMask = ((regChannelMask & ~( 1 << ch) ) | ( onOff << ch)) ;
|
||||||
SetRegChannelMask(regChannelMask);
|
SetRegChannelMask(regChannelMask);
|
||||||
|
@ -316,6 +319,8 @@ void Digitizer::SetRegChannelOnOff(unsigned short ch, bool onOff){
|
||||||
|
|
||||||
void Digitizer::ProgramBoard(){
|
void Digitizer::ProgramBoard(){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
|
if( softwareDisable ) return;
|
||||||
|
if( AcqRun ) return;
|
||||||
if( DPPType == DPPTypeCode::DPP_PHA_CODE ) ProgramBoard_PHA();
|
if( DPPType == DPPTypeCode::DPP_PHA_CODE ) ProgramBoard_PHA();
|
||||||
if( DPPType == DPPTypeCode::DPP_PSD_CODE ) ProgramBoard_PSD();
|
if( DPPType == DPPTypeCode::DPP_PSD_CODE ) ProgramBoard_PSD();
|
||||||
if( DPPType == DPPTypeCode::DPP_QDC_CODE ) ProgramBoard_QDC();
|
if( DPPType == DPPTypeCode::DPP_QDC_CODE ) ProgramBoard_QDC();
|
||||||
|
@ -323,7 +328,6 @@ void Digitizer::ProgramBoard(){
|
||||||
|
|
||||||
int Digitizer::ProgramBoard_PHA(){
|
int Digitizer::ProgramBoard_PHA(){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return 0;
|
|
||||||
|
|
||||||
printf("===== Digitizer::%s\n", __func__);
|
printf("===== Digitizer::%s\n", __func__);
|
||||||
|
|
||||||
|
@ -402,8 +406,6 @@ int Digitizer::ProgramBoard_PHA(){
|
||||||
}
|
}
|
||||||
|
|
||||||
int Digitizer::ProgramBoard_PSD(){
|
int Digitizer::ProgramBoard_PSD(){
|
||||||
if( softwareDisable ) return 0;
|
|
||||||
|
|
||||||
printf("===== Digitizer::%s\n", __func__);
|
printf("===== Digitizer::%s\n", __func__);
|
||||||
|
|
||||||
//ret = CAEN_DGTZ_Reset(handle);
|
//ret = CAEN_DGTZ_Reset(handle);
|
||||||
|
@ -465,8 +467,6 @@ int Digitizer::ProgramBoard_PSD(){
|
||||||
}
|
}
|
||||||
|
|
||||||
int Digitizer::ProgramBoard_QDC(){
|
int Digitizer::ProgramBoard_QDC(){
|
||||||
if( softwareDisable ) return 0;
|
|
||||||
|
|
||||||
printf("===== Digitizer::%s\n", __func__);
|
printf("===== Digitizer::%s\n", __func__);
|
||||||
Reset();
|
Reset();
|
||||||
|
|
||||||
|
@ -727,6 +727,7 @@ void Digitizer::ReadAndPrintACQStatue(){
|
||||||
//===========================================================
|
//===========================================================
|
||||||
void Digitizer::WriteRegister (Reg registerAddress, uint32_t value, int ch, bool isSave2MemAndFile){
|
void Digitizer::WriteRegister (Reg registerAddress, uint32_t value, int ch, bool isSave2MemAndFile){
|
||||||
if( softwareDisable ) return;
|
if( softwareDisable ) return;
|
||||||
|
if( AcqRun ) return;
|
||||||
printf("WRITE|%30s[0x%04X](digi-%d,ch-%02d) [0x%04X]: 0x%08X \n", registerAddress.GetNameChar(), registerAddress.GetAddress(),GetSerialNumber(), ch, registerAddress.ActualAddress(ch), value);
|
printf("WRITE|%30s[0x%04X](digi-%d,ch-%02d) [0x%04X]: 0x%08X \n", registerAddress.GetNameChar(), registerAddress.GetAddress(),GetSerialNumber(), ch, registerAddress.ActualAddress(ch), value);
|
||||||
|
|
||||||
if( !isConnected ) {
|
if( !isConnected ) {
|
||||||
|
@ -773,6 +774,7 @@ void Digitizer::WriteRegister (Reg registerAddress, uint32_t value, int ch, bool
|
||||||
uint32_t Digitizer::ReadRegister(Reg registerAddress, unsigned short ch, bool isSave2MemAndFile, std::string str ){
|
uint32_t Digitizer::ReadRegister(Reg registerAddress, unsigned short ch, bool isSave2MemAndFile, std::string str ){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return 0;
|
if( softwareDisable ) return 0;
|
||||||
|
if( AcqRun ) return 0;
|
||||||
if( !isConnected ) return 0;
|
if( !isConnected ) return 0;
|
||||||
if( registerAddress.GetRWType() == RW::WriteONLY ) return 0;
|
if( registerAddress.GetRWType() == RW::WriteONLY ) return 0;
|
||||||
// if( registerAddress == DPP::QDC::RecordLength_W ) return 0;
|
// if( registerAddress == DPP::QDC::RecordLength_W ) return 0;
|
||||||
|
@ -861,8 +863,8 @@ Reg Digitizer::FindRegister(uint32_t address){
|
||||||
|
|
||||||
void Digitizer::ReadAllSettingsFromBoard(bool force){
|
void Digitizer::ReadAllSettingsFromBoard(bool force){
|
||||||
if( softwareDisable ) return;
|
if( softwareDisable ) return;
|
||||||
if( !isConnected ) return;
|
|
||||||
if( AcqRun ) return;
|
if( AcqRun ) return;
|
||||||
|
if( !isConnected ) return;
|
||||||
if( isSettingFilledinMemeory && !force) return;
|
if( isSettingFilledinMemeory && !force) return;
|
||||||
|
|
||||||
printf("===== Digitizer(%d)::%s \n", GetSerialNumber(), __func__);
|
printf("===== Digitizer(%d)::%s \n", GetSerialNumber(), __func__);
|
||||||
|
@ -921,6 +923,7 @@ void Digitizer::ReadAllSettingsFromBoard(bool force){
|
||||||
void Digitizer::ProgramSettingsToBoard(){
|
void Digitizer::ProgramSettingsToBoard(){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return;
|
if( softwareDisable ) return;
|
||||||
|
if( AcqRun ) return;
|
||||||
if( !isConnected || isDummy ) return;
|
if( !isConnected || isDummy ) return;
|
||||||
|
|
||||||
printf("========== %s \n", __func__);
|
printf("========== %s \n", __func__);
|
||||||
|
@ -1009,6 +1012,7 @@ void Digitizer::ProgramSettingsToBoard(){
|
||||||
}
|
}
|
||||||
|
|
||||||
void Digitizer::SetSettingToMemory(Reg registerAddress, unsigned int value, unsigned short ch ){
|
void Digitizer::SetSettingToMemory(Reg registerAddress, unsigned int value, unsigned short ch ){
|
||||||
|
if( AcqRun ) return;
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
unsigned short index = registerAddress.Index(ch);
|
unsigned short index = registerAddress.Index(ch);
|
||||||
if( index > SETTINGSIZE ) return;
|
if( index > SETTINGSIZE ) return;
|
||||||
|
@ -1304,6 +1308,7 @@ void Digitizer::ErrorMsg(std::string header){
|
||||||
void Digitizer::SetDPPAlgorithmControl(uint32_t bit, int ch){
|
void Digitizer::SetDPPAlgorithmControl(uint32_t bit, int ch){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return;
|
if( softwareDisable ) return;
|
||||||
|
if( AcqRun ) return;
|
||||||
WriteRegister( DPP::DPPAlgorithmControl, bit, ch);
|
WriteRegister( DPP::DPPAlgorithmControl, bit, ch);
|
||||||
if( ret != 0 ) ErrorMsg(__func__);
|
if( ret != 0 ) ErrorMsg(__func__);
|
||||||
}
|
}
|
||||||
|
@ -1311,6 +1316,7 @@ void Digitizer::SetDPPAlgorithmControl(uint32_t bit, int ch){
|
||||||
unsigned int Digitizer::ReadBits(Reg address, unsigned int bitLength, unsigned int bitSmallestPos, int ch ){
|
unsigned int Digitizer::ReadBits(Reg address, unsigned int bitLength, unsigned int bitSmallestPos, int ch ){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return 0;
|
if( softwareDisable ) return 0;
|
||||||
|
if( AcqRun ) return 0;
|
||||||
int tempCh = ch;
|
int tempCh = ch;
|
||||||
if (ch < 0 && address < 0x8000 ) tempCh = 0; /// take ch-0
|
if (ch < 0 && address < 0x8000 ) tempCh = 0; /// take ch-0
|
||||||
uint32_t bit = ReadRegister(address, tempCh);
|
uint32_t bit = ReadRegister(address, tempCh);
|
||||||
|
@ -1321,6 +1327,7 @@ unsigned int Digitizer::ReadBits(Reg address, unsigned int bitLength, unsigned i
|
||||||
void Digitizer::SetBits(Reg address, unsigned int bitValue, unsigned int bitLength, unsigned int bitSmallestPos, int ch){
|
void Digitizer::SetBits(Reg address, unsigned int bitValue, unsigned int bitLength, unsigned int bitSmallestPos, int ch){
|
||||||
DebugPrint("%s", "Digitizer");
|
DebugPrint("%s", "Digitizer");
|
||||||
if( softwareDisable ) return;
|
if( softwareDisable ) return;
|
||||||
|
if( AcqRun ) return;
|
||||||
///printf("address : 0x%X, value : 0x%X, len : %d, pos : %d, ch : %d \n", address, bitValue, bitLength, bitSmallestPos, ch);
|
///printf("address : 0x%X, value : 0x%X, len : %d, pos : %d, ch : %d \n", address, bitValue, bitLength, bitSmallestPos, ch);
|
||||||
uint32_t bit ;
|
uint32_t bit ;
|
||||||
uint32_t bitmask = (uint(pow(2, bitLength)-1) << bitSmallestPos);
|
uint32_t bitmask = (uint(pow(2, bitLength)-1) << bitSmallestPos);
|
||||||
|
|
|
@ -1377,6 +1377,7 @@ void DigiSettingsPanel::SetUpChannelMask(unsigned int digiID){
|
||||||
|
|
||||||
connect(bnChEnableMask[digiID][i], &QPushButton::clicked, this, [=](){
|
connect(bnChEnableMask[digiID][i], &QPushButton::clicked, this, [=](){
|
||||||
if( !enableSignalSlot) return;
|
if( !enableSignalSlot) return;
|
||||||
|
if( digi[digiID]->IsRunning() ) return;
|
||||||
|
|
||||||
if( bnChEnableMask[digiID][i]->styleSheet() == "" ){
|
if( bnChEnableMask[digiID][i]->styleSheet() == "" ){
|
||||||
bnChEnableMask[digiID][i]->setStyleSheet("background-color : green;");
|
bnChEnableMask[digiID][i]->setStyleSheet("background-color : green;");
|
||||||
|
|
|
@ -1191,7 +1191,7 @@ void FSUDAQ::StartACQ(){
|
||||||
cbAutoRun->setEnabled(false);
|
cbAutoRun->setEnabled(false);
|
||||||
bnSync->setEnabled(false);
|
bnSync->setEnabled(false);
|
||||||
|
|
||||||
if( digiSettings ) digiSettings->setEnabled(false);
|
// if( digiSettings ) digiSettings->setEnabled(false);
|
||||||
|
|
||||||
if( onlineAnalyzer ) onlineAnalyzer->StartThread();
|
if( onlineAnalyzer ) onlineAnalyzer->StartThread();
|
||||||
|
|
||||||
|
@ -1285,7 +1285,7 @@ void FSUDAQ::StopACQ(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( digiSettings ) digiSettings->setEnabled(true);
|
if( digiSettings ) digiSettings->ReadSettingsFromBoard();
|
||||||
|
|
||||||
{//^=== elog and database
|
{//^=== elog and database
|
||||||
if( influx && chkInflux->isChecked() && elogName != "" ) {
|
if( influx && chkInflux->isChecked() && elogName != "" ) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user