A142_Desktop/windowchannel.cpp

947 lines
25 KiB
C++
Raw Normal View History

2023-11-30 12:58:49 +03:00
#include "windowchannel.h"
#include "ui_windowchannel.h"
#include "customlabel.h"
//#include "customcombobox.h"
2023-11-30 12:58:49 +03:00
windowChannel::windowChannel(QWidget *parent) :
QWidget(parent),
ui(new Ui::windowChannel)
{
ui->setupUi(this);
//ДЕЛАЕМ ФОН ЧЕРНЫМ
QPalette Pal(palette());
2023-12-13 14:36:44 +03:00
Pal.setColor(QPalette::Base, Qt::black);
2023-11-30 12:58:49 +03:00
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; //инициализирую по умолчанию, что бы когда прилетит первый сэнс не было вылета из за расчетов портированных с прибора
2023-11-30 12:58:49 +03:00
thisData.IFV=Hp1;
thisData.IIN=ICP;
thisData.IKU=Ku1;
thisData.SENS=1.0;
thisData.VALUE=Accel;
connect(ui->labelSENS,SIGNAL(clicked()),this,SLOT(sendSens()));//подключаю сигнал от кастом лэйбла для вызова процедуры смены чувствительности
2023-11-30 12:58:49 +03:00
}
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);
};
}
2023-11-30 12:58:49 +03:00
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));}
//выставляем значение комбобоксов
2023-11-30 12:58:49 +03:00
switch (thisData.IIN) {
case ICP:{
ui->comboBoxIIN->setCurrentIndex(1);
2023-11-30 12:58:49 +03:00
break;
}
case CHARGE:{
ui->comboBoxIIN->setCurrentIndex(0);
2023-11-30 12:58:49 +03:00
break;
}
}//end switch
switch (thisData.IFV) {
case Hp0_2:{
ui->comboBoxVCH->setCurrentIndex(0);
2023-11-30 12:58:49 +03:00
break;
}
case Hp0_3:{
ui->comboBoxVCH->setCurrentIndex(1);
2023-11-30 12:58:49 +03:00
break;
}
case Hp1:{
ui->comboBoxVCH->setCurrentIndex(2);
2023-11-30 12:58:49 +03:00
break;
}
case Hp2:{
ui->comboBoxVCH->setCurrentIndex(3);
2023-11-30 12:58:49 +03:00
break;
}
case Hp10:{
ui->comboBoxVCH->setCurrentIndex(4);
2023-11-30 12:58:49 +03:00
break;
}
}//end switch
switch (thisData.IFN) {
case Lp200:{
ui->comboBoxNCH->setCurrentIndex(0);
2023-11-30 12:58:49 +03:00
break;
}
case Lp500:{
ui->comboBoxNCH->setCurrentIndex(1);
2023-11-30 12:58:49 +03:00
break;
}
case Lp1000:{
ui->comboBoxNCH->setCurrentIndex(2);
2023-11-30 12:58:49 +03:00
break;
}
case Lp5000:{
ui->comboBoxNCH->setCurrentIndex(3);
2023-11-30 12:58:49 +03:00
break;
}
case Lp10000:{
ui->comboBoxNCH->setCurrentIndex(4);
2023-11-30 12:58:49 +03:00
break;
}
case Lp20000:{
ui->comboBoxNCH->setCurrentIndex(5);
2023-11-30 12:58:49 +03:00
break;
}
case Lp50000:{
ui->comboBoxNCH->setCurrentIndex(6);
2023-11-30 12:58:49 +03:00
break;
}
case Lp100000:{
ui->comboBoxNCH->setCurrentIndex(7);
2023-11-30 12:58:49 +03:00
break;
}
}//end switch
switch (thisData.VALUE) {
case Accel:{
ui->comboBoxUNIT->setCurrentIndex(0);
2023-11-30 12:58:49 +03:00
break;
}
case Nython:{
ui->comboBoxUNIT->setCurrentIndex(1);
2023-11-30 12:58:49 +03:00
break;
}
case Pascal:{
ui->comboBoxUNIT->setCurrentIndex(2);
2023-11-30 12:58:49 +03:00
break;
}
}//end switch
ui->labelOUT->setText(DisplayIKUA142(thisData.SENS, thisData.IKU, thisData.VALUE));
showValue();
2023-11-30 12:58:49 +03:00
}
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();
}
2023-11-30 12:58:49 +03:00
void windowChannel::setWindowsChannel(typeCHANNEL channel)
{
this->channel = channel;
thisData.channel=channel;
ui->labelChanel->setNum((int)(channel+1)); //потому что енам с 0
2023-11-30 12:58:49 +03:00
}
typeCHANNEL windowChannel::getWindowsChannel()
{
return channel;
}
typeIKU windowChannel::maxGain(Set Data) //сверяет гейн на допусимый прибора при установке сенс
2023-11-30 12:58:49 +03:00
{
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;
}
2023-11-30 12:58:49 +03:00
typeIKU windowChannel::VerifyGainA142(Set Data) //сверяет гейн на допусимый прибора при установке сенс
{
if(Data.SENS <= 0.0010f) //0.001
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku1000)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku1000;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 0.0011f && */Data.SENS <= 10.000f) //0.002
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku1000)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku1000;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 10.001f && */Data.SENS <= 20.000f) //20
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku500)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku500;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 20.001f && */Data.SENS <= 50.000f) //50
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku200)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku200;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 50.001f && */Data.SENS <= 100.00f) //100
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku100)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku100;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 100.01f && */Data.SENS <= 200.00f) //200
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku50)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku50;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 200.01f && */Data.SENS <= 500.00f) //500
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku20)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku20;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 500.01f && */Data.SENS <= 1000.0f) //1000
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku10)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku10;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 1000.01f && */Data.SENS <= 2000.0f) //2000
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku5)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku5;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 2000.01f && */Data.SENS <= 5000.0f) //5000
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku2)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku2;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 5000.01f && */Data.SENS <= 10000.0f) //10000
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku1)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku1;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 10001.0f && */Data.SENS <= 20000.0f) //20000
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku0_5)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku0_5;
2023-11-30 12:58:49 +03:00
}
}
else
if(/*sens >= 20001.0f && */Data.SENS <= 50000.0f) //50000
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku0_2)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku0_2;
2023-11-30 12:58:49 +03:00
}
}
else
if(Data.SENS < 100000.0f) //99999
2023-11-30 12:58:49 +03:00
{
if(Data.IKU > Ku0_1)
2023-11-30 12:58:49 +03:00
{
Data.IKU = Ku0_1;
2023-11-30 12:58:49 +03:00
}
}
return Data.IKU;
2023-11-30 12:58:49 +03:00
}
QString windowChannel::DisplayIKUA142(float sens, typeIKU iku ,typeVALUE value)
{uint out;
uint offset;
2023-11-30 12:58:49 +03:00
//вбычку обьявлю тут
const char *pOUT[3][35] =
2023-11-30 12:58:49 +03:00
{
{
"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",
2023-11-30 12:58:49 +03:00
},
{
"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
2023-11-30 12:58:49 +03:00
},
{
"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
2023-11-30 12:58:49 +03:00
}
};
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
2023-11-30 12:58:49 +03:00
{
out = iku + 21;
offset=21;
2023-11-30 12:58:49 +03:00
}
// qDebug()<<"текущяя строка Ку по списку"<<out;
//qDebug()<<"смещение"<<offset;
//этот кусочек смотрит на чувствительность и
//пытается заполнить комбобобокс значениями строк соответствующим индексам КУ
//todo: добавить проверку verify Gain!!!!
ui->comboBoxOUT->clear();
uint16_t maxPlannedOut = offset+13;
2023-12-13 14:36:44 +03:00
//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;
2023-11-30 12:58:49 +03:00
}
//давай попробуем влоб запретить индексы 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);
}
2023-11-30 12:58:49 +03:00
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);
}