Intégration sur site

This commit is contained in:
2023-06-16 07:20:10 -04:00
parent c93fcf989b
commit 2d6edd0769
25 changed files with 1253 additions and 124 deletions
+81 -70
View File
@@ -7,12 +7,12 @@ CCANViewerPage::CCANViewerPage(QWidget *parent) :
ui(new Ui::CCANViewerPage)
{
mMsgList = 0;
//mMsgList = 0;
ui->setupUi(this);
ui->mCANDataTableWidget->setColumnCount(6);
ui->mCANDataTableWidget->setHorizontalHeaderLabels(QStringList() << "Time" << "Channel" << "Msg ID" << "Msg Type" << "Msg Length" << "Data");
ui->mCANDataTableWidget->setHorizontalHeaderLabels(QStringList() << "Device" << "Channel" << "Msg ID" << "Msg Type" << "Msg Length" << "Data");
ui->mCANDataTableWidget->clearContents();
ui->mCANDataTableWidget->setRowCount(0);
@@ -32,22 +32,22 @@ CCANViewerPage::~CCANViewerPage()
delete ui;
}
int CCANViewerPage::InitCANTable(QList<CCANMessage *> *MsgList)
int CCANViewerPage::InitCANTable(QList<CCANMessage *> *MsgList, QString DeviceName)
{
if(MsgList == 0)
{
return RET_GENERAL_ERROR;
}
mMsgList = MsgList;
mMsgList.append(MsgList);
int row = ui->mCANDataTableWidget->rowCount();
ui->mCANDataTableWidget->setRowCount(MsgList->size());
ui->mCANDataTableWidget->setRowCount(MsgList->size() + row);
for(int Msg = 0; Msg < MsgList->size(); Msg++)
{
QTableWidgetItem *NewItem;
NewItem = new QTableWidgetItem("Time");
NewItem = new QTableWidgetItem(DeviceName);
ui->mCANDataTableWidget->setItem(row,0,NewItem);
//Set Msg name
@@ -98,8 +98,9 @@ int CCANViewerPage::UpdateCANTable(QList<CCANMessage *> *MsgList)
int row = 0;
for(row = 0; row < ui->mCANDataTableWidget->rowCount(); row++)
{
// if(ui->mCANDataTableWidget->item(row,2)->text() == QString("0x%1").arg(MsgList->at(msg)->mCANMsgID,0,16))
if(ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt() == MsgList->at(msg)->mCANMsgID)
//Match device and message ID
if(ui->mCANDataTableWidget->item(row,0)->text() == MsgList->at(msg)->mOwnerDeviceName &&
ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt() == MsgList->at(msg)->mCANMsgID)
{
//Set message length value
ui->mCANDataTableWidget->item(row,4)->setText(QString("%1").arg(MsgList->at(msg)->mCANMsgLength));
@@ -123,7 +124,12 @@ int CCANViewerPage::UpdateCANTable(QList<CCANMessage *> *MsgList)
void CCANViewerPage::MessageSelectionChanged()
{
if(mMsgList == 0)
// if(mMsgList == 0)
// {
// return;
// }
if(mMsgList.isEmpty())
{
return;
}
@@ -133,27 +139,31 @@ void CCANViewerPage::MessageSelectionChanged()
int row = ui->mCANDataTableWidget->currentRow();
if(row == -1)
return;
for (int msg = 0; msg < mMsgList->size(); msg++)
for(int MsgList = 0; MsgList < mMsgList.size(); MsgList++)
{
unsigned int ID = ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt();
if(ID == mMsgList->at(msg)->mCANMsgID)
for (int msg = 0; msg < mMsgList.at(MsgList)->size(); msg++)
{
CCANMessage *Msg = mMsgList->at(msg);
ui->mCANSignalTableWidget->clearContents();
ui->mCANSignalTableWidget->setRowCount(Msg->mSignalsList.size());
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
unsigned int ID = ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt();
QString Device = ui->mCANDataTableWidget->item(row,0)->text();
if(Device == mMsgList.at(MsgList)->at(msg)->mOwnerDeviceName &&
ID == mMsgList.at(MsgList)->at(msg)->mCANMsgID)
{
//Signal name
QTableWidgetItem *NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal).mSignalName);
ui->mCANSignalTableWidget->setItem(signal,0,NewItem);
CCANMessage *Msg = mMsgList.at(MsgList)->at(msg);
ui->mCANSignalTableWidget->clearContents();
ui->mCANSignalTableWidget->setRowCount(Msg->mSignalsList.size());
//Phys value
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
{
//Signal name
QTableWidgetItem *NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal).mSignalName);
ui->mCANSignalTableWidget->setItem(signal,0,NewItem);
//JFM 2023-06-13 changé pour forcer toujours à float
NewItem = new QTableWidgetItem(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
//Phys value
/*
//JFM 2023-06-13 changé pour forcer toujours à float
NewItem = new QTableWidgetItem(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
/*
if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT)
{
NewItem = new QTableWidgetItem(QString("%1").arg((quint64)Msg->mSignalsList.at(signal).mPhysicalValue));
@@ -168,16 +178,17 @@ void CCANViewerPage::MessageSelectionChanged()
{
NewItem = new QTableWidgetItem(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
}*/
ui->mCANSignalTableWidget->setItem(signal,1,NewItem);
ui->mCANSignalTableWidget->setItem(signal,1,NewItem);
//Raw value
NewItem = new QTableWidgetItem(QString("0x%1").arg(Msg->mSignalsList.at(signal).mRawValue,0,16));
ui->mCANSignalTableWidget->setItem(signal,2,NewItem);
//Raw value
NewItem = new QTableWidgetItem(QString("0x%1").arg(Msg->mSignalsList.at(signal).mRawValue,0,16));
ui->mCANSignalTableWidget->setItem(signal,2,NewItem);
//Units
NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal).mSignalUnit);
ui->mCANSignalTableWidget->setItem(signal,3,NewItem);
//Units
NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal).mSignalUnit);
ui->mCANSignalTableWidget->setItem(signal,3,NewItem);
}
}
}
}
@@ -186,51 +197,51 @@ void CCANViewerPage::MessageSelectionChanged()
int CCANViewerPage::UpdateSignalsTable()
{
int row = ui->mCANDataTableWidget->currentRow();
for (int msg = 0; msg < mMsgList->size(); msg++)
{
unsigned int ID = ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt();
if(ID == mMsgList->at(msg)->mCANMsgID)
{
CCANMessage *Msg = mMsgList->at(msg);
ui->mCANSignalTableWidget->clearContents();
ui->mCANSignalTableWidget->setRowCount(Msg->mSignalsList.size());
// int row = ui->mCANDataTableWidget->currentRow();
// for (int msg = 0; msg < mMsgList->size(); msg++)
// {
// unsigned int ID = ui->mCANDataTableWidget->item(row,2)->data(Qt::UserRole).toUInt();
// if(ID == mMsgList->at(msg)->mCANMsgID)
// {
// CCANMessage *Msg = mMsgList->at(msg);
// ui->mCANSignalTableWidget->clearContents();
// ui->mCANSignalTableWidget->setRowCount(Msg->mSignalsList.size());
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
{
//Signal name
ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal).mSignalName);
// for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
// {
// //Signal name
// ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal).mSignalName);
//Phys value
//JFM 2023-06-13 changé pour forcer toujours à float
//Mais cette fonciton n'est jamais appelée et NE FONCTIONNE PAS.
//TODO: Corriger les index des colonnes des items à afficher
ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
// //Phys value
// //JFM 2023-06-13 changé pour forcer toujours à float
// //Mais cette fonciton n'est jamais appelée et NE FONCTIONNE PAS.
// //TODO: Corriger les index des colonnes des items à afficher
// ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
/*
if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT)
{
ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg((quint64)Msg->mSignalsList.at(signal).mPhysicalValue));
}
else if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_SIGNED_INT)
{
ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg((qint64)Msg->mSignalsList.at(signal).mPhysicalValue));
}
else if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_32_BIT_FLOAT ||
Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_64_BIT_DOUBLE)
{
ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
}*/
// /*
// if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT)
// {
// ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg((quint64)Msg->mSignalsList.at(signal).mPhysicalValue));
// }
// else if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_SIGNED_INT)
// {
// ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg((qint64)Msg->mSignalsList.at(signal).mPhysicalValue));
// }
// else if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_32_BIT_FLOAT ||
// Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_64_BIT_DOUBLE)
// {
// ui->mCANSignalTableWidget->item(row,0)->setText(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
// }*/
//Raw value
ui->mCANSignalTableWidget->item(row,0)->setText(QString("0x%1").arg(Msg->mSignalsList.at(signal).mRawValue,0,16));
// //Raw value
// ui->mCANSignalTableWidget->item(row,0)->setText(QString("0x%1").arg(Msg->mSignalsList.at(signal).mRawValue,0,16));
//Units
ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal).mSignalUnit);
// //Units
// ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal).mSignalUnit);
}
}
}
// }
// }
// }
return RET_OK;
}
+2 -2
View File
@@ -19,11 +19,11 @@ public:
int UpdateCANTable(QList<CCANMessage*> *MsgList);
int InitCANTable(QList<CCANMessage*> *MsgList);
int InitCANTable(QList<CCANMessage*> *MsgList, QString DeviceName);
int UpdateSignalsTable();
QList<CCANMessage*> *mMsgList;
QList<QList<CCANMessage *>*> mMsgList;
public slots:
void MessageSelectionChanged();
+11 -1
View File
@@ -41,7 +41,17 @@
<rect>
<x>720</x>
<y>60</y>
<width>831</width>
<width>451</width>
<height>411</height>
</rect>
</property>
</widget>
<widget class="QPlainTextEdit" name="mJSonSignalViewTxtEdit">
<property name="geometry">
<rect>
<x>1190</x>
<y>60</y>
<width>501</width>
<height>411</height>
</rect>
</property>
@@ -172,6 +172,7 @@ int CCANbusSettingsPage::UpdatePage()
ui->mDBMessageLengthLbl->setText("Message Length: ");
ui->mDBMessageNameLbl->setText("Message Name: ");
ui->mDBMessageNbSignalsLbl->setText("Number of signals: ");
ui->mDBMessageCommentLbl->setText("Comment: ");
}
else
{
@@ -217,6 +218,7 @@ int CCANbusSettingsPage::UpdateMessageInformation()
ui->mDBMessageLengthLbl->setText(QString("Message Length: %1").arg(Message->mCANMsgLength));
ui->mDBMessageNameLbl->setText(QString("Message Name: %1").arg(Message->mCANMsgName));
ui->mDBMessageNbSignalsLbl->setText(QString("Number of signals: %1").arg(Message->mSignalsList.size()));
ui->mDBMessageCommentLbl->setText(QString("Comment: %1").arg(Message->mCANMsgComment));
ui->mDBSignalDetailsTable->clearContents();
ui->mDBSignalDetailsTable->setRowCount(0);
+22 -4
View File
@@ -71,8 +71,8 @@
<rect>
<x>10</x>
<y>66</y>
<width>91</width>
<height>10</height>
<width>121</width>
<height>16</height>
</rect>
</property>
<property name="font">
@@ -81,7 +81,7 @@
</font>
</property>
<property name="text">
<string>CAN Device ID:</string>
<string>CAN Driver dev ID:</string>
</property>
</widget>
<widget class="QLabel" name="mCANBaudrateLbl">
@@ -243,7 +243,7 @@
<widget class="QSpinBox" name="mCANDeviceIDSpinBx">
<property name="geometry">
<rect>
<x>110</x>
<x>130</x>
<y>60</y>
<width>71</width>
<height>22</height>
@@ -379,6 +379,24 @@
</rect>
</property>
</widget>
<widget class="QLabel" name="mDBMessageCommentLbl">
<property name="geometry">
<rect>
<x>270</x>
<y>110</y>
<width>171</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Number of signals: </string>
</property>
</widget>
</widget>
<widget class="QPushButton" name="mAddDeviceBtn">
<property name="geometry">