Added flow control and other functionality to UDS / ISO_TP code.

This commit is contained in:
Collin Kidder
2017-08-13 17:03:11 -04:00
parent 83399ed0a7
commit c05bd2c043
10 changed files with 147 additions and 27 deletions
+4 -1
View File
@@ -11,6 +11,9 @@ ISOTP_InterpreterWindow::ISOTP_InterpreterWindow(const QVector<CANFrame> *frames
decoder = ISOTP_HANDLER::getInstance();
decoder->setReception(true);
decoder->setProcessAll(true);
connect(MainWindow::getReference(), &MainWindow::framesUpdated, this, &ISOTP_InterpreterWindow::updatedFrames);
connect(MainWindow::getReference(), &MainWindow::framesUpdated, decoder, &ISOTP_HANDLER::updatedFrames);
connect(decoder, &ISOTP_HANDLER::newISOMessage, this, &ISOTP_InterpreterWindow::newISOMessage);
@@ -123,7 +126,7 @@ void ISOTP_InterpreterWindow::showDetailView()
}
void ISOTP_InterpreterWindow::newISOMessage(ISOTP_MESSAGE &msg)
void ISOTP_InterpreterWindow::newISOMessage(ISOTP_MESSAGE msg)
{
int rowNum;
QString tempString;
+1 -1
View File
@@ -21,7 +21,7 @@ public:
void showEvent(QShowEvent*);
private slots:
void newISOMessage(ISOTP_MESSAGE &msg);
void newISOMessage(ISOTP_MESSAGE msg);
void showDetailView();
void updatedFrames(int);
+2 -1
View File
@@ -19,6 +19,7 @@ UDSScanWindow::UDSScanWindow(const QVector<CANFrame> *frames, QWidget *parent) :
waitTimer->setInterval(100);
UDS_HANDLER::getInstance()->setReception(true);
UDS_HANDLER::getInstance()->setProcessAllIDs(true);
connect(MainWindow::getReference(), SIGNAL(framesUpdated(int)), this, SLOT(updatedFrames(int)));
connect(UDS_HANDLER::getInstance(), &UDS_HANDLER::newUDSMessage, this, &UDSScanWindow::gotUDSReply);
@@ -317,7 +318,7 @@ void UDSScanWindow::updatedFrames(int numFrames)
}
}
void UDSScanWindow::gotUDSReply(UDS_MESSAGE &msg)
void UDSScanWindow::gotUDSReply(UDS_MESSAGE msg)
{
QString result;
QString serviceShortName;
+1 -1
View File
@@ -23,7 +23,7 @@ public:
private slots:
void updatedFrames(int numFrames);
void gotUDSReply(UDS_MESSAGE &msg);
void gotUDSReply(UDS_MESSAGE msg);
void scanUDS();
void saveResults();
void timeOut();