void ControlerWidget::on_pushButton_2_clicked() { GetDataInput(); emit UpdateControler(m_Controler); close(); }
void UpdateDataSector(BYTE n) { BYTE in; if(n>3) return; if(digit(Ndd.PowerOld,n) == 1) // рабочий режим { SetOn(n); switch (Ndd.St1[n]) { case 1: //читаем все { SetRegim(n, REGIM_WORK); if(Ndd.Timer2[n]>10) { GetDataInput(n); Ndd.Timer2[n] = 0; Ndd.Read[n][Ndd.CurStep[n]]=~GetDataBunk(n); Ndd.St1[n]=2; } } break; case 2: // провереям можно ли в данный момент провести тест 0 { if(ReqwestTest0(n) == 1) { Ndd.St1[n]=3; Ndd.Timer2[n] = 0; } }break; case 3: //читаем тест 0 { Ndd.Test0_Last = n; // мы в последними выполнили тест 0 SetRegim(n, REGIM_TEST_0); if(Ndd.Timer2[n]>10) { Ndd.Timer2[n] = 0; Ndd.TestR[n][Ndd.CurStep[n]]=GetDataBunk(n); Ndd.CurStep[n]++; if(Ndd.CurStep[n]>2) { Ndd.CurStep[n]=0; AnalizeTestData(n); } Ndd.St1[n]=1; SetRegim(n, REGIM_WORK); Ndd.Test0_Run[n] =0; } } break; default: Ndd.St1[n] = 1; } }else // тестовый режим { SetOff(n); switch (Ndd.St1[n]) { case 1: // ждем когда можно будет провести тест 0 { if(Ndd.Timer2[n]>StartTimeOut) { StartTimeOut = 10; Ndd.Timer2[n] = 11; }else break; if(ReqwestTest0(n) == 1) { Ndd.St1[n]=2; Ndd.Timer2[n] = 0; } }break; case 2: // тест 0 { SetRegim(n, REGIM_TEST_0); // test 0 if(Ndd.Timer2[n]>StartTimeOut) { StartTimeOut=10; //============================ //in = GetDataBunk(n); //if(n<2) tmp = Ndd.test[0] & MASK_FF[n]; //else tmp = Ndd.test[1] & MASK_FF[n]; Ndd.Test_Bunk[n] = GetDataBunk(n); //if(n<2) Ndd.tmp_test[0] = tmp; //else Ndd.tmp_test[1] = tmp; //============================ Ndd.Timer2[n] = 0; Ndd.St1[n] = 3; SetRegim(n, REGIM_TEST_1); // test 1 Ndd.Test0_Run[n] =0; } } break; case 3: { SetRegim(n, REGIM_TEST_1); // test 1 if(Ndd.Timer2[n]>10) { //============================== in = GetDataBunk(n); //if(n<2) tmp = Ndd.tmp_test[0] & MASK_FF[n]; //else tmp = Ndd.tmp_test[1] & MASK_FF[n]; //if(n<2) tmp = Ndd.tmp_test[0]; //else tmp = Ndd.tmp_test[1]; Ndd.Test_Bunk[n] |= ((~in) & MASK_FF_INV[n]); if(n<2) Ndd.test[0] = (Ndd.test[0]&MASK_FF[n]) | Ndd.Test_Bunk[n]; else Ndd.test[1] = (Ndd.test[1]&MASK_FF[n]) | Ndd.Test_Bunk[n]; //============================== Ndd.Timer2[n] = 0; Ndd.St1[n] = 4; } } break; //------------------------------------------------------- case 4: { SetRegim(n, REGIM_WORK); if(Ndd.Timer2[n]>5000/*60000*/) { Ndd.Timer2[n] = 0; Ndd.St1[n] = 1; } } break; default: Ndd.St1[n] = 1; } } }