Beispiel #1
0
void CANUi::on_pushButton_getNodeState_clicked()
{
    UNS8 id = ui->spinBox_NMTnodeID->value();
    masterRequestNodeState(&master_Data, id);
    NMTThread *workerThread = new NMTThread;//new polling thread
    connect(workerThread, &NMTThread::resultReady, ui->nowNodeState, &QLineEdit::setText);
    connect(workerThread, &NMTThread::finished, workerThread, &QObject::deleteLater);
    workerThread->doPollingState(id, 1000);//start thread
}
Beispiel #2
0
UNS8 GetChangeStateResults(UNS8 node_id, UNS8 expected_state, unsigned long timeout_ms)
   {
   unsigned long start_time = 0;
   
   // reset nodes state
   win32test_Data.NMTable[node_id] = Unknown_state;

   // request node state
   masterRequestNodeState(&win32test_Data, node_id);
   
   start_time = uptime_ms_proc();
   while(uptime_ms_proc() - start_time < timeout_ms)
      {
      if (getNodeState(&win32test_Data, node_id) == expected_state)
         return 0;
      sleep_proc(1);   
      }
   return 0xFF;
   }