947 lines
25 KiB
C++
947 lines
25 KiB
C++
#include "windowchannel.h"
|
||
#include "ui_windowchannel.h"
|
||
#include "customlabel.h"
|
||
//#include "customcombobox.h"
|
||
|
||
|
||
windowChannel::windowChannel(QWidget *parent) :
|
||
QWidget(parent),
|
||
ui(new Ui::windowChannel)
|
||
{
|
||
ui->setupUi(this);
|
||
|
||
|
||
|
||
//ДЕЛАЕМ ФОН ЧЕРНЫМ
|
||
QPalette Pal(palette());
|
||
Pal.setColor(QPalette::Base, Qt::black);
|
||
this->setAutoFillBackground(true);
|
||
this->setPalette(Pal);
|
||
this->show();
|
||
|
||
ui->comboBoxIIN->addItem("Заряд"); //индекс 0
|
||
ui->comboBoxIIN->addItem("IEPE");//индекс 1
|
||
|
||
ui->comboBoxVCH->addItem("0.2Гц"); //индекс 0
|
||
ui->comboBoxVCH->addItem("0.3Гц");//индекс 1
|
||
ui->comboBoxVCH->addItem("1Гц"); //индекс 2
|
||
ui->comboBoxVCH->addItem("2Гц");//индекс 3
|
||
ui->comboBoxVCH->addItem("10Гц"); //индекс 4
|
||
|
||
|
||
ui->comboBoxNCH->addItem("200Гц"); //индекс 0
|
||
ui->comboBoxNCH->addItem("500Гц");//индекс 1
|
||
ui->comboBoxNCH->addItem("1кГц"); //индекс 2
|
||
ui->comboBoxNCH->addItem("5кГц");//индекс 3
|
||
ui->comboBoxNCH->addItem("10кГц"); //индекс 4
|
||
ui->comboBoxNCH->addItem("20кГц");//индекс 5
|
||
ui->comboBoxNCH->addItem("50кГц"); //индекс 6
|
||
ui->comboBoxNCH->addItem("100кГц");//индекс 7
|
||
|
||
|
||
|
||
// QStringList stringList;
|
||
// ui->comboBoxOUT->addItems(stringList);
|
||
// ui->comboBoxOUT->insertItems(1,stringList);
|
||
|
||
thisData.IFN=Lp200; //инициализирую по умолчанию, что бы когда прилетит первый сэнс не было вылета из за расчетов портированных с прибора
|
||
thisData.IFV=Hp1;
|
||
thisData.IIN=ICP;
|
||
thisData.IKU=Ku1;
|
||
thisData.SENS=1.0;
|
||
thisData.VALUE=Accel;
|
||
|
||
connect(ui->labelSENS,SIGNAL(clicked()),this,SLOT(sendSens()));//подключаю сигнал от кастом лэйбла для вызова процедуры смены чувствительности
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
windowChannel::~windowChannel()
|
||
{
|
||
delete ui;
|
||
}
|
||
|
||
void windowChannel::sendSens()
|
||
{
|
||
Set dataToSend=thisData;
|
||
bool ok;
|
||
dataToSend.SENS = QInputDialog::getDouble(this, tr("Введите значение"),
|
||
tr("Введите значение чувствительности датчика"), thisData.SENS, 0.0001, 99999, 4, &ok,
|
||
Qt::WindowFlags(), 1);
|
||
|
||
|
||
|
||
if (ok){emit ReadyToSend(dataToSend, SENS);}
|
||
if(thisData.IKU!=VerifyGainA142(thisData)){
|
||
thisData.IKU=VerifyGainA142(thisData);
|
||
emit ReadyToSend(thisData, IKU);
|
||
|
||
};
|
||
|
||
}
|
||
|
||
|
||
void windowChannel::setSens(Set data)
|
||
{
|
||
if(data.channel==this->channel){
|
||
thisData.SENS=data.SENS;
|
||
reDraw();
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
void windowChannel::setState(Set data)
|
||
{
|
||
if(data.channel==this->channel){
|
||
thisData.IKU=data.IKU;
|
||
thisData.IIN=data.IIN;
|
||
thisData.IFV=data.IFV;
|
||
thisData.IFN=data.IFN;
|
||
thisData.VALUE=data.VALUE;
|
||
reDraw();
|
||
}
|
||
}
|
||
|
||
void windowChannel::reDraw()
|
||
{
|
||
if(thisData.SENS<100000&&thisData.SENS>=10000) { ui->labelSENS->setText(QString::number(thisData.SENS,'f', 0));}
|
||
else if(thisData.SENS<10000&&thisData.SENS>=1000) { ui->labelSENS->setText(QString::number(thisData.SENS,'f', 1));}
|
||
else if(thisData.SENS<1000&&thisData.SENS>=100) {ui->labelSENS->setText(QString::number(thisData.SENS,'f', 2));}
|
||
else if(thisData.SENS<100&&thisData.SENS>=10){ui->labelSENS->setText(QString::number(thisData.SENS,'f', 3));}
|
||
else {ui->labelSENS->setText(QString::number(thisData.SENS,'f', 4));}
|
||
|
||
//выставляем значение комбобоксов
|
||
switch (thisData.IIN) {
|
||
case ICP:{
|
||
|
||
ui->comboBoxIIN->setCurrentIndex(1);
|
||
break;
|
||
}
|
||
case CHARGE:{
|
||
|
||
ui->comboBoxIIN->setCurrentIndex(0);
|
||
break;
|
||
}
|
||
}//end switch
|
||
|
||
switch (thisData.IFV) {
|
||
case Hp0_2:{
|
||
|
||
ui->comboBoxVCH->setCurrentIndex(0);
|
||
break;
|
||
}
|
||
case Hp0_3:{
|
||
|
||
ui->comboBoxVCH->setCurrentIndex(1);
|
||
break;
|
||
}
|
||
case Hp1:{
|
||
|
||
ui->comboBoxVCH->setCurrentIndex(2);
|
||
break;
|
||
}
|
||
case Hp2:{
|
||
|
||
ui->comboBoxVCH->setCurrentIndex(3);
|
||
break;
|
||
}
|
||
case Hp10:{
|
||
|
||
ui->comboBoxVCH->setCurrentIndex(4);
|
||
break;
|
||
}
|
||
}//end switch
|
||
|
||
|
||
switch (thisData.IFN) {
|
||
case Lp200:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(0);
|
||
break;
|
||
}
|
||
case Lp500:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(1);
|
||
break;
|
||
}
|
||
case Lp1000:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(2);
|
||
break;
|
||
}
|
||
case Lp5000:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(3);
|
||
break;
|
||
}
|
||
case Lp10000:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(4);
|
||
break;
|
||
}
|
||
case Lp20000:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(5);
|
||
break;
|
||
}
|
||
case Lp50000:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(6);
|
||
break;
|
||
}
|
||
case Lp100000:{
|
||
|
||
ui->comboBoxNCH->setCurrentIndex(7);
|
||
break;
|
||
}
|
||
}//end switch
|
||
|
||
switch (thisData.VALUE) {
|
||
case Accel:{
|
||
ui->comboBoxUNIT->setCurrentIndex(0);
|
||
|
||
break;
|
||
}
|
||
case Nython:{
|
||
ui->comboBoxUNIT->setCurrentIndex(1);
|
||
|
||
break;
|
||
}
|
||
case Pascal:{
|
||
ui->comboBoxUNIT->setCurrentIndex(2);
|
||
|
||
break;
|
||
}
|
||
}//end switch
|
||
|
||
ui->labelOUT->setText(DisplayIKUA142(thisData.SENS, thisData.IKU, thisData.VALUE));
|
||
|
||
showValue();
|
||
}
|
||
|
||
|
||
void windowChannel::hideValue()
|
||
{
|
||
ui->comboBoxIIN->hide();
|
||
ui->comboBoxNCH->hide();
|
||
ui->comboBoxOUT->hide();
|
||
ui->comboBoxVCH->hide();
|
||
ui->comboBoxIIN->hide();
|
||
ui->comboBoxUNIT->hide();
|
||
ui->labelSENS->hide();
|
||
|
||
}
|
||
|
||
void windowChannel::showValue()
|
||
{
|
||
ui->comboBoxIIN->show();
|
||
ui->comboBoxNCH->show();
|
||
ui->comboBoxOUT->show();
|
||
ui->comboBoxVCH->show();
|
||
ui->comboBoxIIN->show();
|
||
ui->comboBoxUNIT->show();
|
||
ui->labelSENS->show();
|
||
|
||
}
|
||
|
||
void windowChannel::setWindowsChannel(typeCHANNEL channel)
|
||
{
|
||
this->channel = channel;
|
||
thisData.channel=channel;
|
||
ui->labelChanel->setNum((int)(channel+1)); //потому что енам с 0
|
||
|
||
}
|
||
|
||
typeCHANNEL windowChannel::getWindowsChannel()
|
||
{
|
||
return channel;
|
||
}
|
||
|
||
|
||
|
||
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(Data.SENS <= 0.0010f) //0.001
|
||
{
|
||
if(Data.IKU > Ku1000)
|
||
{
|
||
Data.IKU = Ku1000;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 0.0011f && */Data.SENS <= 10.000f) //0.002
|
||
{
|
||
if(Data.IKU > Ku1000)
|
||
{
|
||
Data.IKU = Ku1000;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 10.001f && */Data.SENS <= 20.000f) //20
|
||
{
|
||
if(Data.IKU > Ku500)
|
||
{
|
||
Data.IKU = Ku500;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 20.001f && */Data.SENS <= 50.000f) //50
|
||
{
|
||
if(Data.IKU > Ku200)
|
||
{
|
||
Data.IKU = Ku200;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 50.001f && */Data.SENS <= 100.00f) //100
|
||
{
|
||
if(Data.IKU > Ku100)
|
||
{
|
||
Data.IKU = Ku100;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 100.01f && */Data.SENS <= 200.00f) //200
|
||
{
|
||
if(Data.IKU > Ku50)
|
||
{
|
||
Data.IKU = Ku50;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 200.01f && */Data.SENS <= 500.00f) //500
|
||
{
|
||
if(Data.IKU > Ku20)
|
||
{
|
||
Data.IKU = Ku20;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 500.01f && */Data.SENS <= 1000.0f) //1000
|
||
{
|
||
if(Data.IKU > Ku10)
|
||
{
|
||
Data.IKU = Ku10;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 1000.01f && */Data.SENS <= 2000.0f) //2000
|
||
{
|
||
if(Data.IKU > Ku5)
|
||
{
|
||
Data.IKU = Ku5;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 2000.01f && */Data.SENS <= 5000.0f) //5000
|
||
{
|
||
if(Data.IKU > Ku2)
|
||
{
|
||
Data.IKU = Ku2;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 5000.01f && */Data.SENS <= 10000.0f) //10000
|
||
{
|
||
if(Data.IKU > Ku1)
|
||
{
|
||
Data.IKU = Ku1;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 10001.0f && */Data.SENS <= 20000.0f) //20000
|
||
{
|
||
if(Data.IKU > Ku0_5)
|
||
{
|
||
Data.IKU = Ku0_5;
|
||
}
|
||
}
|
||
else
|
||
if(/*sens >= 20001.0f && */Data.SENS <= 50000.0f) //50000
|
||
{
|
||
if(Data.IKU > Ku0_2)
|
||
{
|
||
Data.IKU = Ku0_2;
|
||
}
|
||
}
|
||
else
|
||
if(Data.SENS < 100000.0f) //99999
|
||
{
|
||
if(Data.IKU > Ku0_1)
|
||
{
|
||
Data.IKU = Ku0_1;
|
||
}
|
||
}
|
||
return Data.IKU;
|
||
}
|
||
|
||
QString windowChannel::DisplayIKUA142(float sens, typeIKU iku ,typeVALUE value)
|
||
|
||
{uint out;
|
||
uint offset;
|
||
//вбычку обьявлю тут
|
||
|
||
const char *pOUT[3][35] =
|
||
{
|
||
{
|
||
"0.0001 мВ/м/c2",
|
||
"0.0002 мВ/м/c2",
|
||
"0.0005 мВ/м/c2",
|
||
"0.001 мВ/м/c2",
|
||
"0.002 мВ/м/c2",
|
||
"0.005 мВ/м/c2",
|
||
"0.01 мВ/м/c2",
|
||
"0.02 мВ/м/c2",
|
||
"0.05 мВ/м/c2",
|
||
"0.1 мВ/м/c2",
|
||
"0.2 мВ/м/c2",
|
||
"0.5 мВ/м/c2",
|
||
"1 мВ/м/c2",
|
||
"2 мВ/м/c2",
|
||
"5 мВ/м/c2",
|
||
"10 мВ/м/c2",
|
||
"20 мВ/м/c2",
|
||
"50 мВ/м/c2",
|
||
"100 мВ/м/c2",
|
||
"200 мВ/м/c2",
|
||
"500 мВ/м/c2",
|
||
"1 В/м/c2",
|
||
"2 В/м/c2",
|
||
"5 В/м/c2",
|
||
"10 В/м/c2",
|
||
"20В/м/c2",
|
||
"50В/м/c2",
|
||
"100В/м/c2",
|
||
"200В/м/c2",
|
||
"500В/м/c2",
|
||
"1000В/м/c2",
|
||
"2000В/м/c2",
|
||
"5000В/м/c2",
|
||
"10000В/м/c2",
|
||
|
||
},
|
||
{
|
||
"0.0001 мВ/Па",
|
||
"0.0002 мВ/Па",
|
||
"0.0005 мВ/Па",
|
||
"0.001 мВ/Па",
|
||
"0.002 мВ/Па",
|
||
"0.005 мВ/Па",
|
||
"0.01 мВ/Па",
|
||
"0.02 мВ/Па",
|
||
"0.05 мВ/Па",
|
||
"0.1 мВ/Па",
|
||
"0.2 мВ/Па",
|
||
"0.5 мВ/Па",
|
||
"1 мВ/Па",
|
||
"2 мВ/Па",
|
||
"5 мВ/Па",
|
||
"10 мВ/Па",
|
||
"20 мВ/Па",
|
||
"50 мВ/Па",
|
||
"100 мВ/Па",
|
||
"200 мВ/Па",
|
||
"500 мВ/Па",
|
||
"1 В/Па",
|
||
"2 В/Па",
|
||
"5 В/Па",
|
||
"10 В/Па",
|
||
"20В/Па",
|
||
"50В/Па",
|
||
"100В/Па",//27
|
||
"200В/Па",
|
||
"500В/Па",
|
||
"1000В/Па", //30
|
||
"2000В/Па",
|
||
"5000В/Па",
|
||
"10000В/Па", //33
|
||
},
|
||
{
|
||
"0.0001 мВ/Н",
|
||
"0.0002 мВ/Н",
|
||
"0.0005 мВ/Н",
|
||
"0.001 мВ/Н",
|
||
"0.002 мВ/Н",
|
||
"0.005 мВ/Н",
|
||
"0.01 мВ/Н",
|
||
"0.02 мВ/Н",
|
||
"0.05 мВ/Н",
|
||
"0.1 мВ/Н",
|
||
"0.2 мВ/Н",
|
||
"0.5 мВ/Н",
|
||
"1 мВ/Н",
|
||
"2 мВ/Н",
|
||
"5 мВ/Н",
|
||
"10 мВ/Н",
|
||
"20 мВ/Н",
|
||
"50 мВ/Н",
|
||
"100 мВ/Н",
|
||
"200 мВ/Н",
|
||
"500 мВ/Н",
|
||
"1 В/Н",
|
||
"2 В/Н",
|
||
"5 В/Н",
|
||
"10 В/Н",
|
||
"20В/Н",
|
||
"50В/Н",
|
||
"100В/Н",//27
|
||
"200В/Н",
|
||
"500В/Н",
|
||
"1000В/Н", //30
|
||
"2000В/Н",
|
||
"5000В/Н",
|
||
"10000В/Н", //33
|
||
}
|
||
};
|
||
|
||
|
||
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 + 21;
|
||
offset=21;
|
||
}
|
||
|
||
|
||
// qDebug()<<"текущяя строка Ку по списку"<<out;
|
||
//qDebug()<<"смещение"<<offset;
|
||
|
||
//этот кусочек смотрит на чувствительность и
|
||
//пытается заполнить комбобобокс значениями строк соответствующим индексам КУ
|
||
//todo: добавить проверку verify Gain!!!!
|
||
ui->comboBoxOUT->clear();
|
||
uint16_t maxPlannedOut = offset+13;
|
||
//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]);
|
||
}
|
||
|
||
|
||
|
||
void windowChannel::on_comboBoxIIN_currentIndexChanged(int index) //если это делать в индекс активэйтэд то не обновляется единицы датчика с первого раза
|
||
{ //int currentIndex=ui->comboBoxUNIT->currentIndex();
|
||
ui->comboBoxUNIT->clear();
|
||
|
||
if(index==0) {thisData.IIN=CHARGE;
|
||
ui->comboBoxUNIT->addItem("пКл/м/с2");
|
||
ui->comboBoxUNIT->addItem("пКл/Н");
|
||
|
||
ui->comboBoxUNIT->addItem("пКл/Па");
|
||
|
||
//ui->comboBoxUNIT->setCurrentIndex(currentIndex);
|
||
|
||
}
|
||
else {thisData.IIN=ICP;
|
||
ui->comboBoxUNIT->addItem("мВ/м/c2");
|
||
ui->comboBoxUNIT->addItem("мВ/Н");
|
||
ui->comboBoxUNIT->addItem("мВ/Па");
|
||
// ui->comboBoxUNIT->setCurrentIndex(currentIndex);
|
||
}
|
||
|
||
emit ReadyToSend(thisData, IIN);
|
||
}
|
||
|
||
void windowChannel::on_comboBoxVCH_activated(int index)
|
||
{
|
||
if(index==0) thisData.IFV=Hp0_2;
|
||
else if(index==1) thisData.IFV=Hp0_3;
|
||
else if(index==2) thisData.IFV=Hp1;
|
||
else if(index==3) thisData.IFV=Hp2;
|
||
else if(index==4) thisData.IFV=Hp10;
|
||
emit ReadyToSend(thisData, IFV);
|
||
}
|
||
|
||
void windowChannel::on_comboBoxNCH_activated(int index)
|
||
{
|
||
if(index==0) thisData.IFN=Lp200;
|
||
else if(index==1) thisData.IFN=Lp500;
|
||
else if(index==2) thisData.IFN=Lp1000;
|
||
else if(index==3) thisData.IFN=Lp5000;
|
||
else if(index==4) thisData.IFN=Lp10000;
|
||
else if(index==5) thisData.IFN=Lp20000;
|
||
else if(index==6) thisData.IFN=Lp50000;
|
||
else if(index==7) thisData.IFN=Lp100000;
|
||
emit ReadyToSend(thisData, IFN);
|
||
}
|
||
|
||
void windowChannel::on_comboBoxUNIT_currentIndexChanged(int index)
|
||
{
|
||
}
|
||
|
||
|
||
|
||
void windowChannel::on_comboBoxUNIT_activated(int index)
|
||
{
|
||
if(index==0) thisData.VALUE=Accel;
|
||
|
||
|
||
else if(index==1) thisData.VALUE=Nython;
|
||
else if(index==2) thisData.VALUE=Pascal;
|
||
emit ReadyToSend(thisData, VAL);
|
||
}
|
||
|
||
void windowChannel::on_comboBoxIIN_activated(int index)
|
||
{
|
||
|
||
}
|
||
|
||
QStringList windowChannel::avalibleKuList(Set thisData)
|
||
{
|
||
QStringList result;
|
||
uint startIndex;
|
||
|
||
//вбычку обьявлю тут
|
||
|
||
const char *pOUT[3][25] =
|
||
{
|
||
{
|
||
"0.0001 мВ/м/c2",
|
||
"0.0002 мВ/м/c2",
|
||
"0.0005 мВ/м/c2",
|
||
"0.001 мВ/м/c2",
|
||
"0.002 мВ/м/c2",
|
||
"0.005 мВ/м/c2",
|
||
"0.01 мВ/м/c2",
|
||
"0.02 мВ/м/c2",
|
||
"0.05 мВ/м/c2",
|
||
"0.1 мВ/м/c2",
|
||
"0.2 мВ/м/c2",
|
||
"0.5 мВ/м/c2",
|
||
"1 мВ/м/c2",
|
||
"2 мВ/м/c2",
|
||
"5 мВ/м/c2",
|
||
"10 мВ/м/c2",
|
||
"20 мВ/м/c2",
|
||
"50 мВ/м/c2",
|
||
"100 мВ/м/c2",
|
||
"200 мВ/м/c2",
|
||
"500 мВ/м/c2",
|
||
"1 В/м/c2",
|
||
"2 В/м/c2",
|
||
"5 В/м/c2",
|
||
"10 В/м/c2"
|
||
},
|
||
{
|
||
"0.0001 мВ/Па",
|
||
"0.0002 мВ/Па",
|
||
"0.0005 мВ/Па",
|
||
"0.001 мВ/Па",
|
||
"0.002 мВ/Па",
|
||
"0.005 мВ/Па",
|
||
"0.01 мВ/Па",
|
||
"0.02 мВ/Па",
|
||
"0.05 мВ/Па",
|
||
"0.1 мВ/Па",
|
||
"0.2 мВ/Па",
|
||
"0.5 мВ/Па",
|
||
"1 мВ/Па",
|
||
"2 мВ/Па",
|
||
"5 мВ/Па",
|
||
"10 мВ/Па",
|
||
"20 мВ/Па",
|
||
"50 мВ/Па",
|
||
"100 мВ/Па",
|
||
"200 мВ/Па",
|
||
"500 мВ/Па",
|
||
"1 В/Па",
|
||
"2 В/Па",
|
||
"5 В/Па",
|
||
"10 В/Па"
|
||
},
|
||
{
|
||
"0.0001 мВ/Н",
|
||
"0.0002 мВ/Н",
|
||
"0.0005 мВ/Н",
|
||
"0.001 мВ/Н",
|
||
"0.002 мВ/Н",
|
||
"0.005 мВ/Н",
|
||
"0.01 мВ/Н",
|
||
"0.02 мВ/Н",
|
||
"0.05 мВ/Н",
|
||
"0.1 мВ/Н",
|
||
"0.2 мВ/Н",
|
||
"0.5 мВ/Н",
|
||
"1 мВ/Н",
|
||
"2 мВ/Н",
|
||
"5 мВ/Н",
|
||
"10 мВ/Н",
|
||
"20 мВ/Н",
|
||
"50 мВ/Н",
|
||
"100 мВ/Н",
|
||
"200 мВ/Н",
|
||
"500 мВ/Н",
|
||
"1 В/Н",
|
||
"2 В/Н",
|
||
"5 В/Н",
|
||
"10 В/Н"
|
||
}
|
||
};
|
||
|
||
if(thisData.SENS <= 0.0010f) //0.001
|
||
{
|
||
startIndex = thisData.IKU;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.0011f && */thisData.SENS <= 0.0020f) //0.002
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 1;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.0021f && */thisData.SENS <= 0.0050f) //0.005
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 2;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.0051f && */thisData.SENS <= 0.0100f) //0.01
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 3;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.0101f && */thisData.SENS <= 0.0200f) //0.02
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 4;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.0201f && */thisData.SENS <= 0.0500f) //0.05
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 5;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.0501f && */thisData.SENS <= 0.1000f) //0.1
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 6;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.1001f && */thisData.SENS <= 0.2000f) //0.2
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 7;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.2001f && */thisData.SENS <= 0.5000f) //0.5
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 8;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 0.5001f && */thisData.SENS <= 1.0000f) //1
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 9;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 1.0001f && */thisData.SENS <= 2.0000f) //2
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 10;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 2.0001f && */thisData.SENS <= 5.0000f) //5
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 11;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 5.0001f && */thisData.SENS <= 10.000f) //10
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 12;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 10.001f && */thisData.SENS <= 20.000f) //20
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 13;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 20.001f && */thisData.SENS <= 50.000f) //50
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 14;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 50.001f && */thisData.SENS <= 100.00f) //100
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 15;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 100.01f && */thisData.SENS <= 200.00f) //200
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 16;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 200.01f && */thisData.SENS <= 500.00f) //500
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 17;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 500.01f && */thisData.SENS <= 1000.0f) //1000
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 18;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 1000.1f && */thisData.SENS <= 2000.0f) //2000
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 19;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 2000.1f && */thisData.SENS <= 5000.0f) //2000
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 20;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 5000.1f && */thisData.SENS <= 10000.0f) //10000
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 21;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 10001 && */thisData.SENS <= 20000.0f) //20000
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 22;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 20001 && */thisData.SENS <= 50000.0f) //50000
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 23;
|
||
}
|
||
else
|
||
if(/*thisData.SENS >= 50001 && */thisData.SENS <= 100000) //100000
|
||
{
|
||
startIndex = (uint16_t)thisData.IKU + 24;
|
||
}
|
||
|
||
qDebug()<<"стартовый индекс для расчета "<<startIndex;
|
||
}
|
||
|
||
void windowChannel::on_comboBoxOUT_activated(int index)
|
||
{
|
||
thisData.IKU=(typeIKU)index;
|
||
emit ReadyToSend(thisData, IKU);
|
||
}
|