Index: sources/canbus/frameinterface.cpp =================================================================== diff -u -r6c59703781373f33cfec27eacf1f7e4ba1374626 -reea63d68fc0fb269f8dec64d99f488bcad117220 --- sources/canbus/frameinterface.cpp (.../frameinterface.cpp) (revision 6c59703781373f33cfec27eacf1f7e4ba1374626) +++ sources/canbus/frameinterface.cpp (.../frameinterface.cpp) (revision eea63d68fc0fb269f8dec64d99f488bcad117220) @@ -76,7 +76,7 @@ { // coco begin validated: Application termination is not correctly done in coco!!! // it has been tested and works perfectly fine in normal run. - quitThread(); + quitThread(); // validated } // coco end @@ -112,7 +112,7 @@ _thread = &vThread; _thread->setObjectName(QString("%1_Thread").arg(metaObject()->className())); connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(quit())); - _thread->start(); + if (!_thread->isRunning()) _thread->start(); // In case more than one object using the same thread moveToThread(_thread); } @@ -129,7 +129,7 @@ if ( ! _thread ) return; // runs in thread - moveToThread(qApp->thread()); + moveToThread(qApp->thread()); // validated } // coco end @@ -278,11 +278,16 @@ void FrameInterface::trnsmtHead() { if ( _txFrameList.isEmpty() ) { + // coco begin validated: This is a fake data generator for CANBus missing/swapped frames Testing + // will never be executed on the product and shall be removed after the CANBus issues has been resolved. + // has been tested manually if ( gSendEmptyKeepAwake ) { transmitFrame(eChlid_LOWEST,QByteArray()); // Keep the CANBus awake. return; } - } else { + } + // coco end + else { Frame frame = _txFrameList.first(); transmitFrame(frame.can_Id, frame.data); // Test : qDebug() << _timestamp << "Tsmt #" << _txFrameList.count();