69 lines
2.2 KiB
C++
69 lines
2.2 KiB
C++
#include "CANViewerPage.h"
|
|
#include "ui_CANViewerPage.h"
|
|
#include "defines.h"
|
|
|
|
CCANViewerPage::CCANViewerPage(QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::CCANViewerPage)
|
|
{
|
|
ui->setupUi(this);
|
|
ui->mCANDataTableWidget->setColumnCount(6);
|
|
ui->mCANDataTableWidget->setHorizontalHeaderLabels(QStringList() << "Time" << "Channel" << "Msg ID" << "Msg Type" << "Msg Length" << "Data");
|
|
|
|
}
|
|
|
|
CCANViewerPage::~CCANViewerPage()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
int CCANViewerPage::UpdateCANTable(QList<CCANMessage *> MsgList)
|
|
{
|
|
for(int Col = 0; Col < ui->mCANDataTableWidget->columnCount(); Col++)
|
|
{
|
|
for(int Row = 0; Row < ui->mCANDataTableWidget->rowCount(); Row++)
|
|
{
|
|
delete ui->mCANDataTableWidget->item(Row,Col);
|
|
}
|
|
}
|
|
ui->mCANDataTableWidget->clearContents();
|
|
ui->mCANDataTableWidget->setRowCount(0);
|
|
|
|
ui->mCANDataTableWidget->setRowCount(MsgList.size());
|
|
for(int Msg = 0; Msg < MsgList.size(); Msg++)
|
|
{
|
|
QTableWidgetItem *NewItem;
|
|
|
|
NewItem = new QTableWidgetItem("Time");
|
|
ui->mCANDataTableWidget->setItem(Msg,0,NewItem);
|
|
|
|
//Set chanel value
|
|
NewItem = new QTableWidgetItem(QString("%1").arg(MsgList.at(Msg)->mCANChannel));
|
|
ui->mCANDataTableWidget->setItem(Msg,1,NewItem);
|
|
|
|
//Set message ID value
|
|
NewItem = new QTableWidgetItem(QString("0x%1").arg(MsgList.at(Msg)->mCANMsgID,0,16));
|
|
ui->mCANDataTableWidget->setItem(Msg,2,NewItem);
|
|
|
|
//Set message type value
|
|
NewItem = new QTableWidgetItem(QString("0x%1").arg(MsgList.at(Msg)->mCANMsgType,0,16));
|
|
ui->mCANDataTableWidget->setItem(Msg,3,NewItem);
|
|
|
|
//Set message length value
|
|
NewItem = new QTableWidgetItem(QString("%1").arg(MsgList.at(Msg)->mCANMsgLength));
|
|
ui->mCANDataTableWidget->setItem(Msg,4,NewItem);
|
|
|
|
//Set data value
|
|
QString Data;
|
|
for(int i = 0; i < MsgList.at(Msg)->mCANMsgLength; i++)
|
|
{
|
|
unsigned char DataByte = MsgList.at(Msg)->mCANMsgData.at(i);
|
|
Data.append(QString("%1 ").arg(DataByte,2,16,QLatin1Char('0')));
|
|
}
|
|
NewItem = new QTableWidgetItem(Data);
|
|
ui->mCANDataTableWidget->setItem(Msg,5,NewItem);
|
|
}
|
|
|
|
return RET_OK;
|
|
}
|