parent
fa0d4f3db9
commit
ba4b85ef47
|
@ -267,123 +267,173 @@ typeCHANNEL windowChannel::getWindowsChannel()
|
|||
}
|
||||
|
||||
|
||||
typeIKU windowChannel::VerifyGainA142(Set thisData) //сверяет гейн на допусимый прибора при установке сенс
|
||||
|
||||
typeIKU windowChannel::maxGain(Set Data) //сверяет гейн на допусимый прибора при установке сенс
|
||||
{
|
||||
typeIKU maxGain;
|
||||
if(Data.SENS <= 0.0010f) //0.001
|
||||
maxGain= Ku1000;
|
||||
else
|
||||
if(/*sens >= 0.0011f && */Data.SENS <= 10.000f) //0.002
|
||||
maxGain= Ku1000;
|
||||
else
|
||||
if(/*sens >= 10.001f && */Data.SENS <= 20.000f) //20
|
||||
maxGain= Ku500;
|
||||
else
|
||||
if(/*sens >= 20.001f && */Data.SENS <= 50.000f) //50
|
||||
maxGain= Ku200;
|
||||
else
|
||||
if(/*sens >= 50.001f && */Data.SENS <= 100.00f) //100
|
||||
maxGain= Ku100;
|
||||
else
|
||||
if(/*sens >= 100.01f && */Data.SENS <= 200.00f) //200
|
||||
maxGain= Ku50;
|
||||
else
|
||||
if(/*sens >= 200.01f && */Data.SENS <= 500.00f) //500
|
||||
maxGain= Ku20;
|
||||
else
|
||||
if(/*sens >= 500.01f && */Data.SENS <= 1000.0f) //1000
|
||||
maxGain= Ku10;
|
||||
else
|
||||
if(/*sens >= 1000.01f && */Data.SENS <= 2000.0f) //2000
|
||||
maxGain= Ku5;
|
||||
else
|
||||
if(/*sens >= 2000.01f && */Data.SENS <= 5000.0f) //5000
|
||||
maxGain= Ku2;
|
||||
else
|
||||
if(/*sens >= 5000.01f && */Data.SENS <= 10000.0f) //10000
|
||||
maxGain= Ku1;
|
||||
else
|
||||
if(/*sens >= 10001.0f && */Data.SENS <= 20000.0f) //20000
|
||||
maxGain= Ku0_5;
|
||||
else
|
||||
if(/*sens >= 20001.0f && */Data.SENS <= 50000.0f) //50000
|
||||
maxGain= Ku0_2;
|
||||
else
|
||||
if(Data.SENS < 100000.0f) //99999
|
||||
maxGain= Ku0_1;
|
||||
return maxGain;
|
||||
}
|
||||
|
||||
|
||||
|
||||
typeIKU windowChannel::VerifyGainA142(Set Data) //сверяет гейн на допусимый прибора при установке сенс
|
||||
{
|
||||
|
||||
|
||||
|
||||
if(thisData.SENS <= 0.0010f) //0.001
|
||||
if(Data.SENS <= 0.0010f) //0.001
|
||||
{
|
||||
if(thisData.IKU > Ku1000)
|
||||
if(Data.IKU > Ku1000)
|
||||
{
|
||||
thisData.IKU = Ku1000;
|
||||
Data.IKU = Ku1000;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.0011f && */thisData.SENS <= 10.000f) //0.002
|
||||
if(/*sens >= 0.0011f && */Data.SENS <= 10.000f) //0.002
|
||||
{
|
||||
if(thisData.IKU > Ku1000)
|
||||
if(Data.IKU > Ku1000)
|
||||
{
|
||||
thisData.IKU = Ku1000;
|
||||
Data.IKU = Ku1000;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 10.001f && */thisData.SENS <= 20.000f) //20
|
||||
if(/*sens >= 10.001f && */Data.SENS <= 20.000f) //20
|
||||
{
|
||||
if(thisData.IKU > Ku500)
|
||||
if(Data.IKU > Ku500)
|
||||
{
|
||||
thisData.IKU = Ku500;
|
||||
Data.IKU = Ku500;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 20.001f && */thisData.SENS <= 50.000f) //50
|
||||
if(/*sens >= 20.001f && */Data.SENS <= 50.000f) //50
|
||||
{
|
||||
if(thisData.IKU > Ku200)
|
||||
if(Data.IKU > Ku200)
|
||||
{
|
||||
thisData.IKU = Ku200;
|
||||
Data.IKU = Ku200;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 50.001f && */thisData.SENS <= 100.00f) //100
|
||||
if(/*sens >= 50.001f && */Data.SENS <= 100.00f) //100
|
||||
{
|
||||
if(thisData.IKU > Ku100)
|
||||
if(Data.IKU > Ku100)
|
||||
{
|
||||
thisData.IKU = Ku100;
|
||||
Data.IKU = Ku100;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 100.01f && */thisData.SENS <= 200.00f) //200
|
||||
if(/*sens >= 100.01f && */Data.SENS <= 200.00f) //200
|
||||
{
|
||||
if(thisData.IKU > Ku50)
|
||||
if(Data.IKU > Ku50)
|
||||
{
|
||||
thisData.IKU = Ku50;
|
||||
Data.IKU = Ku50;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 200.01f && */thisData.SENS <= 500.00f) //500
|
||||
if(/*sens >= 200.01f && */Data.SENS <= 500.00f) //500
|
||||
{
|
||||
if(thisData.IKU > Ku20)
|
||||
if(Data.IKU > Ku20)
|
||||
{
|
||||
thisData.IKU = Ku20;
|
||||
Data.IKU = Ku20;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 500.01f && */thisData.SENS <= 1000.0f) //1000
|
||||
if(/*sens >= 500.01f && */Data.SENS <= 1000.0f) //1000
|
||||
{
|
||||
if(thisData.IKU > Ku10)
|
||||
if(Data.IKU > Ku10)
|
||||
{
|
||||
thisData.IKU = Ku10;
|
||||
Data.IKU = Ku10;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 1000.01f && */thisData.SENS <= 2000.0f) //2000
|
||||
if(/*sens >= 1000.01f && */Data.SENS <= 2000.0f) //2000
|
||||
{
|
||||
if(thisData.IKU > Ku5)
|
||||
if(Data.IKU > Ku5)
|
||||
{
|
||||
thisData.IKU = Ku5;
|
||||
Data.IKU = Ku5;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 2000.01f && */thisData.SENS <= 5000.0f) //5000
|
||||
if(/*sens >= 2000.01f && */Data.SENS <= 5000.0f) //5000
|
||||
{
|
||||
if(thisData.IKU > Ku2)
|
||||
if(Data.IKU > Ku2)
|
||||
{
|
||||
thisData.IKU = Ku2;
|
||||
Data.IKU = Ku2;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 5000.01f && */thisData.SENS <= 10000.0f) //10000
|
||||
if(/*sens >= 5000.01f && */Data.SENS <= 10000.0f) //10000
|
||||
{
|
||||
if(thisData.IKU > Ku1)
|
||||
if(Data.IKU > Ku1)
|
||||
{
|
||||
thisData.IKU = Ku1;
|
||||
Data.IKU = Ku1;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 10001.0f && */thisData.SENS <= 20000.0f) //20000
|
||||
if(/*sens >= 10001.0f && */Data.SENS <= 20000.0f) //20000
|
||||
{
|
||||
if(thisData.IKU > Ku0_5)
|
||||
if(Data.IKU > Ku0_5)
|
||||
{
|
||||
thisData.IKU = Ku0_5;
|
||||
Data.IKU = Ku0_5;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(/*sens >= 20001.0f && */thisData.SENS <= 50000.0f) //50000
|
||||
if(/*sens >= 20001.0f && */Data.SENS <= 50000.0f) //50000
|
||||
{
|
||||
if(thisData.IKU > Ku0_2)
|
||||
if(Data.IKU > Ku0_2)
|
||||
{
|
||||
thisData.IKU = Ku0_2;
|
||||
Data.IKU = Ku0_2;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(thisData.SENS < 100000.0f) //99999
|
||||
if(Data.SENS < 100000.0f) //99999
|
||||
{
|
||||
if(thisData.IKU > Ku0_1)
|
||||
if(Data.IKU > Ku0_1)
|
||||
{
|
||||
thisData.IKU = Ku0_1;
|
||||
Data.IKU = Ku0_1;
|
||||
}
|
||||
}
|
||||
return thisData.IKU;
|
||||
return Data.IKU;
|
||||
}
|
||||
|
||||
QString windowChannel::DisplayIKUA142(float sens, typeIKU iku ,typeVALUE value)
|
||||
|
@ -392,7 +442,7 @@ QString windowChannel::DisplayIKUA142(float sens, typeIKU iku ,typeVALUE value)
|
|||
uint offset;
|
||||
//вбычку обьявлю тут
|
||||
|
||||
const char *pOUT[3][25] =
|
||||
const char *pOUT[3][35] =
|
||||
{
|
||||
{
|
||||
"0.0001 мВ/м/c2",
|
||||
|
@ -419,7 +469,17 @@ QString windowChannel::DisplayIKUA142(float sens, typeIKU iku ,typeVALUE value)
|
|||
"1 В/м/c2",
|
||||
"2 В/м/c2",
|
||||
"5 В/м/c2",
|
||||
"10 В/м/c2"
|
||||
"10 В/м/c2",
|
||||
"20В/м/c2",
|
||||
"50В/м/c2",
|
||||
"100В/м/c2",
|
||||
"200В/м/c2",
|
||||
"500В/м/c2",
|
||||
"1000В/м/c2",
|
||||
"2000В/м/c2",
|
||||
"5000В/м/c2",
|
||||
"10000В/м/c2",
|
||||
|
||||
},
|
||||
{
|
||||
"0.0001 мВ/Па",
|
||||
|
@ -446,7 +506,16 @@ QString windowChannel::DisplayIKUA142(float sens, typeIKU iku ,typeVALUE value)
|
|||
"1 В/Па",
|
||||
"2 В/Па",
|
||||
"5 В/Па",
|
||||
"10 В/Па"
|
||||
"10 В/Па",
|
||||
"20В/Па",
|
||||
"50В/Па",
|
||||
"100В/Па",//27
|
||||
"200В/Па",
|
||||
"500В/Па",
|
||||
"1000В/Па", //30
|
||||
"2000В/Па",
|
||||
"5000В/Па",
|
||||
"10000В/Па", //33
|
||||
},
|
||||
{
|
||||
"0.0001 мВ/Н",
|
||||
|
@ -473,174 +542,109 @@ QString windowChannel::DisplayIKUA142(float sens, typeIKU iku ,typeVALUE value)
|
|||
"1 В/Н",
|
||||
"2 В/Н",
|
||||
"5 В/Н",
|
||||
"10 В/Н"
|
||||
"10 В/Н",
|
||||
"20В/Н",
|
||||
"50В/Н",
|
||||
"100В/Н",//27
|
||||
"200В/Н",
|
||||
"500В/Н",
|
||||
"1000В/Н", //30
|
||||
"2000В/Н",
|
||||
"5000В/Н",
|
||||
"10000В/Н", //33
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
if(sens <= 0.0010f) //0.001
|
||||
if((sens>=0.0001f)&&(sens<0.001f)) //0.001
|
||||
{
|
||||
out = iku;
|
||||
offset=0;
|
||||
}
|
||||
else
|
||||
if((sens >= 0.0010f)&&(sens < 0.010f)) //0.01
|
||||
{
|
||||
out = iku;
|
||||
offset=0;
|
||||
}
|
||||
else
|
||||
if((sens>=0.01f)&&(sens<0.1f)) //0.01
|
||||
{
|
||||
out = iku + 3;
|
||||
offset=3;
|
||||
}
|
||||
else
|
||||
if((sens>=0.1f)&&(sens<1.0f)) //0.1
|
||||
{
|
||||
out = iku + 6;
|
||||
offset=6;
|
||||
}
|
||||
else
|
||||
if((sens>=1.0f)&&(sens<10.0f)) //1
|
||||
{
|
||||
out = iku + 9;
|
||||
offset=9;
|
||||
}
|
||||
else
|
||||
if((sens>=10.0f)&&(sens<100.0f)) //10
|
||||
{
|
||||
out = iku + 12;
|
||||
offset=12;
|
||||
}
|
||||
else
|
||||
if((sens>=100.0f)&&(sens<1000.0f)) //100
|
||||
{
|
||||
out = iku + 15;
|
||||
offset=15;
|
||||
}
|
||||
else
|
||||
if((sens >= 1000.0f)&&(sens<10000.0f)) //1000
|
||||
{
|
||||
out = iku + 18;
|
||||
offset=18;
|
||||
}
|
||||
if((sens >= 10000.0f)&&(sens < 100000.0f)) //1000
|
||||
{
|
||||
out = iku;
|
||||
offset=0;
|
||||
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.0011f && */sens <= 0.0020f) //0.002
|
||||
{
|
||||
out = (uint16_t)iku + 1;
|
||||
offset=1;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.0021f && */sens <= 0.0050f) //0.005
|
||||
{
|
||||
out = (uint16_t)iku + 2;
|
||||
offset=2;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.0051f && */sens <= 0.0100f) //0.01
|
||||
{
|
||||
out = (uint16_t)iku + 3;
|
||||
offset=3;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.0101f && */sens <= 0.0200f) //0.02
|
||||
{
|
||||
out = (uint16_t)iku + 4;
|
||||
offset=4;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.0201f && */sens <= 0.0500f) //0.05
|
||||
{
|
||||
out = (uint16_t)iku + 5;
|
||||
offset=5;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.0501f && */sens <= 0.1000f) //0.1
|
||||
{
|
||||
out = (uint16_t)iku + 6;
|
||||
offset=6;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.1001f && */sens <= 0.2000f) //0.2
|
||||
{
|
||||
out = (uint16_t)iku + 7;
|
||||
offset=7;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.2001f && */sens <= 0.5000f) //0.5
|
||||
{
|
||||
out = (uint16_t)iku + 8;
|
||||
offset=8;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 0.5001f && */sens <= 1.0000f) //1
|
||||
{
|
||||
out = (uint16_t)iku + 9;
|
||||
offset=9;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 1.0001f && */sens <= 2.0000f) //2
|
||||
{
|
||||
out = (uint16_t)iku + 10;
|
||||
offset=10;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 2.0001f && */sens <= 5.0000f) //5
|
||||
{
|
||||
out = (uint16_t)iku + 11;
|
||||
offset=11;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 5.0001f && */sens <= 10.000f) //10
|
||||
{
|
||||
out = (uint16_t)iku + 12;
|
||||
offset=12;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 10.001f && */sens <= 20.000f) //20
|
||||
{
|
||||
out = (uint16_t)iku + 13;
|
||||
offset=13;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 20.001f && */sens <= 50.000f) //50
|
||||
{
|
||||
out = (uint16_t)iku + 14;
|
||||
offset=14;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 50.001f && */sens <= 100.00f) //100
|
||||
{
|
||||
out = (uint16_t)iku + 15;
|
||||
offset=15;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 100.01f && */sens <= 200.00f) //200
|
||||
{
|
||||
out = (uint16_t)iku + 16;
|
||||
offset=16;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 200.01f && */sens <= 500.00f) //500
|
||||
{
|
||||
out = (uint16_t)iku + 17;
|
||||
offset=17;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 500.01f && */sens <= 1000.0f) //1000
|
||||
{
|
||||
out = (uint16_t)iku + 18;
|
||||
offset=18;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 1000.1f && */sens <= 2000.0f) //2000
|
||||
{
|
||||
out = (uint16_t)iku + 19;
|
||||
offset=19;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 2000.1f && */sens <= 5000.0f) //2000
|
||||
{
|
||||
out = (uint16_t)iku + 20;
|
||||
offset=20;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 5000.1f && */sens <= 10000.0f) //10000
|
||||
{
|
||||
out = (uint16_t)iku + 21;
|
||||
out = iku + 21;
|
||||
offset=21;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 10001 && */sens <= 20000.0f) //20000
|
||||
{
|
||||
out = (uint16_t)iku + 22;
|
||||
offset=22;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 20001 && */sens <= 50000.0f) //50000
|
||||
{
|
||||
out = (uint16_t)iku + 23;
|
||||
offset=23;
|
||||
}
|
||||
else
|
||||
if(/*sens >= 50001 && */sens <= 100000) //100000
|
||||
{
|
||||
out = (uint16_t)iku + 24;
|
||||
offset=24;
|
||||
}
|
||||
|
||||
|
||||
// qDebug()<<"текущяя строка Ку по списку"<<out;
|
||||
//qDebug()<<"смещение"<<offset;
|
||||
|
||||
//этот кусочек смотрит на чувствительность и
|
||||
//пытается заполнить комбобобокс значениями строк соответствующим индексам КУ
|
||||
//todo: добавить проверку verify Gain!!!!
|
||||
ui->comboBoxOUT->clear();
|
||||
uint16_t maxPlannedOut = offset+13;
|
||||
for (uint offsetToWork=offset;((offsetToWork<25)&&(offsetToWork<maxPlannedOut));offsetToWork++) {
|
||||
ui->comboBoxOUT->addItem(pOUT[(uint16_t)value][offsetToWork]);
|
||||
qDebug()<< "max gain"<< thisData.channel<< maxGain(thisData);
|
||||
for (uint offsetToWork=offset;((offsetToWork<34)&&
|
||||
(offsetToWork<maxPlannedOut)&&
|
||||
((maxGain(thisData)+offset)>=offsetToWork)); //проверяем на максиимально возможный для данного сенса
|
||||
offsetToWork++) {
|
||||
|
||||
ui->comboBoxOUT->addItem(pOUT[(uint16_t)value][offsetToWork]);
|
||||
ui->comboBoxOUT->setCurrentIndex(iku);
|
||||
//qDebug()<<"добавлено смещние"<<offsetToWork;
|
||||
}
|
||||
|
||||
//давай попробуем влоб запретить индексы 0-2 для IEPE
|
||||
// Get the index of the value to disable
|
||||
|
||||
if(thisData.IIN==ICP){
|
||||
//todo: сделать функцию для отключения пунктов меню
|
||||
QModelIndex index0 = ui->comboBoxOUT->model()->index(0,0);
|
||||
QVariant v0(0);
|
||||
ui->comboBoxOUT->model()->setData( index0, v0, Qt::UserRole -1);
|
||||
QModelIndex index1 = ui->comboBoxOUT->model()->index(1,0);
|
||||
QVariant v1(0);
|
||||
ui->comboBoxOUT->model()->setData( index1, v1, Qt::UserRole -1);
|
||||
QModelIndex index2 = ui->comboBoxOUT->model()->index(2,0);
|
||||
QVariant v2(0);
|
||||
ui->comboBoxOUT->model()->setData( index2, v2, Qt::UserRole -1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
return QString::fromStdString(pOUT[(uint16_t)value][out]);
|
||||
|
|
|
@ -24,6 +24,7 @@ public:
|
|||
typeCHANNEL getWindowsChannel();
|
||||
typeIKU VerifyGainA142(Set thisData);
|
||||
QString DisplayIKUA142(float sens,typeIKU iku, typeVALUE value);
|
||||
typeIKU maxGain(Set Data);
|
||||
|
||||
explicit windowChannel(QWidget *parent = nullptr);
|
||||
~windowChannel();
|
||||
|
|
Loading…
Reference in New Issue