Changement à la source de données MQTT

Début codage Watchdog CAN
This commit is contained in:
2023-06-06 17:59:30 -04:00
parent 31c6287b5d
commit 48e9ca3f9c
36 changed files with 2061 additions and 160 deletions
+20 -20
View File
@@ -145,33 +145,33 @@ void CCANViewerPage::MessageSelectionChanged()
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
{
//Signal name
QTableWidgetItem *NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal)->mSignalName);
QTableWidgetItem *NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal).mSignalName);
ui->mCANSignalTableWidget->setItem(signal,0,NewItem);
//Phys value
if(Msg->mSignalsList.at(signal)->mValueType == CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT)
if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT)
{
NewItem = new QTableWidgetItem(QString("%1").arg((quint64)Msg->mSignalsList.at(signal)->mPhysicalValue));
NewItem = new QTableWidgetItem(QString("%1").arg((quint64)Msg->mSignalsList.at(signal).mPhysicalValue));
}
else if(Msg->mSignalsList.at(signal)->mValueType == CCANSignal::CAN_SIGNAL_TYPE_SIGNED_INT)
else if(Msg->mSignalsList.at(signal).mValueType == CCANSignal::CAN_SIGNAL_TYPE_SIGNED_INT)
{
NewItem = new QTableWidgetItem(QString("%1").arg((qint64)Msg->mSignalsList.at(signal)->mPhysicalValue));
NewItem = new QTableWidgetItem(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)
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)
{
NewItem = new QTableWidgetItem(QString("%1").arg(Msg->mSignalsList.at(signal)->mPhysicalValue,0,'f',1));
NewItem = new QTableWidgetItem(QString("%1").arg(Msg->mSignalsList.at(signal).mPhysicalValue,0,'f',1));
}
ui->mCANSignalTableWidget->setItem(signal,1,NewItem);
//Raw value
NewItem = new QTableWidgetItem(QString("0x%1").arg(Msg->mSignalsList.at(signal)->mRawValue,0,16));
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);
NewItem = new QTableWidgetItem(Msg->mSignalsList.at(signal).mSignalUnit);
ui->mCANSignalTableWidget->setItem(signal,3,NewItem);
}
@@ -195,28 +195,28 @@ int CCANViewerPage::UpdateSignalsTable()
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
{
//Signal name
ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal)->mSignalName);
ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal).mSignalName);
//Phys value
if(Msg->mSignalsList.at(signal)->mValueType == CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT)
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));
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)
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));
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)
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));
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));
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);
ui->mCANSignalTableWidget->item(row,0)->setText(Msg->mSignalsList.at(signal).mSignalUnit);
}
}
+11 -11
View File
@@ -223,23 +223,23 @@ int CCANbusSettingsPage::UpdateMessageInformation()
ui->mDBSignalDetailsTable->setRowCount(Message->mSignalsList.size());
for(int Sig = 0; Sig < Message->mSignalsList.size(); Sig++)
{
CCANSignal *Signal = Message->mSignalsList.at(Sig);
CCANSignal Signal = Message->mSignalsList.at(Sig);
QTableWidgetItem *NewItem;
//Signal name
NewItem = new QTableWidgetItem(Signal->mSignalName);
NewItem = new QTableWidgetItem(Signal.mSignalName);
ui->mDBSignalDetailsTable->setItem(Sig,0,NewItem);
//Bit No
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mStartBit));
NewItem = new QTableWidgetItem(QString("%1").arg(Signal.mStartBit));
ui->mDBSignalDetailsTable->setItem(Sig,1,NewItem);
//Length
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mSignalSize));
NewItem = new QTableWidgetItem(QString("%1").arg(Signal.mSignalSize));
ui->mDBSignalDetailsTable->setItem(Sig,2,NewItem);
//Type
switch(Signal->mValueType)
switch(Signal.mValueType)
{
case CCANSignal::CAN_SIGNAL_TYPE_INVALID:
{
@@ -270,27 +270,27 @@ int CCANbusSettingsPage::UpdateMessageInformation()
ui->mDBSignalDetailsTable->setItem(Sig,3,NewItem);
//Max Val
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mMaxValue));
NewItem = new QTableWidgetItem(QString("%1").arg(Signal.mMaxValue));
ui->mDBSignalDetailsTable->setItem(Sig,4,NewItem);
//Min Val
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mMinValue));
NewItem = new QTableWidgetItem(QString("%1").arg(Signal.mMinValue));
ui->mDBSignalDetailsTable->setItem(Sig,5,NewItem);
//Offset
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mValueOffset));
NewItem = new QTableWidgetItem(QString("%1").arg(Signal.mValueOffset));
ui->mDBSignalDetailsTable->setItem(Sig,6,NewItem);
//Scale Factor
NewItem = new QTableWidgetItem(QString("%1").arg(Signal->mValueFactor,0,'f',1));
NewItem = new QTableWidgetItem(QString("%1").arg(Signal.mValueFactor,0,'f',1));
ui->mDBSignalDetailsTable->setItem(Sig,7,NewItem);
//Unit
NewItem = new QTableWidgetItem(Signal->mSignalUnit);
NewItem = new QTableWidgetItem(Signal.mSignalUnit);
ui->mDBSignalDetailsTable->setItem(Sig,8,NewItem);
//Endian
switch(Signal->mEncoding)
switch(Signal.mEncoding)
{
case CCANSignal::CAN_SIGNAL_ENCODING_INTEL:
{
@@ -2,6 +2,7 @@
#define CANBUSSETTINGSPAGE_H
#include <QWidget>
#include "CANDevice.h"
class CCANDevice;
class CCANMessage;
@@ -28,7 +28,7 @@
</font>
</property>
<property name="text">
<string>Paramètres CAN de la station Otarcik</string>
<string>Paramètres des dispositifs CAN</string>
</property>
</widget>
<widget class="QListWidget" name="mDevicesList">
@@ -0,0 +1,78 @@
#include "CCANWatchdogSettingsPage.h"
#include "ui_CCANWatchdogSettingsPage.h"
#include "CANDevice.h"
CCANWatchdogSettingsPage::CCANWatchdogSettingsPage(QWidget *parent) :
QWidget(parent),
ui(new Ui::CCANWatchdogSettingsPage)
{
ui->setupUi(this);
connect(ui->mCANWatchdogChangBtn,&QPushButton::pressed,this,&CCANWatchdogSettingsPage::ChangeSettingsButtonPressed);
connect(ui->mCANWatchdogCancelBtn,&QPushButton::pressed,this,&CCANWatchdogSettingsPage::CancelButtonPressed);
ui->mCANWatchdogBaudrateComboBx->clear();
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_1M",QVariant(PCAN_BAUD_1M));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_800K",QVariant(PCAN_BAUD_800K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_500K",QVariant(PCAN_BAUD_500K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_250K",QVariant(PCAN_BAUD_250K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_125K",QVariant(PCAN_BAUD_125K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_100K",QVariant(PCAN_BAUD_100K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_95K",QVariant(PCAN_BAUD_95K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_83K",QVariant(PCAN_BAUD_83K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_50K",QVariant(PCAN_BAUD_50K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_47K",QVariant(PCAN_BAUD_47K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_33K",QVariant(PCAN_BAUD_33K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_20K",QVariant(PCAN_BAUD_20K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_10K",QVariant(PCAN_BAUD_10K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_5K",QVariant(PCAN_BAUD_5K));
ui->mCANWatchdogCancelBtn->setVisible(false);
ui->mCANWatchdogBaudrateComboBx->setEnabled(false);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(false);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(false);
mIsSettingsChangeMode = false;
}
CCANWatchdogSettingsPage::~CCANWatchdogSettingsPage()
{
delete ui;
}
void CCANWatchdogSettingsPage::CancelButtonPressed()
{
mIsSettingsChangeMode = false;
ui->mCANWatchdogCancelBtn->setVisible(false);
ui->mCANWatchdogBaudrateComboBx->setEnabled(false);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(false);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(false);
ui->mCANWatchdogChangBtn->setText("Modifier");
}
void CCANWatchdogSettingsPage::ChangeSettingsButtonPressed()
{
if(mIsSettingsChangeMode == false)
{
mIsSettingsChangeMode = true;
ui->mCANWatchdogCancelBtn->setVisible(true);
ui->mCANWatchdogBaudrateComboBx->setEnabled(true);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(true);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(true);
ui->mCANWatchdogChangBtn->setText("Sauvegarder");
}
else
{
mIsSettingsChangeMode = false;
ui->mCANWatchdogCancelBtn->setVisible(false);
ui->mCANWatchdogBaudrateComboBx->setEnabled(false);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(false);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(false);
ui->mCANWatchdogChangBtn->setText("Modifier");
}
}
@@ -0,0 +1,27 @@
#ifndef CCANWATCHDOGSETTINGSPAGE_H
#define CCANWATCHDOGSETTINGSPAGE_H
#include <QWidget>
namespace Ui {
class CCANWatchdogSettingsPage;
}
class CCANWatchdogSettingsPage : public QWidget
{
Q_OBJECT
public:
explicit CCANWatchdogSettingsPage(QWidget *parent = 0);
~CCANWatchdogSettingsPage();
bool mIsSettingsChangeMode;
private:
Ui::CCANWatchdogSettingsPage *ui;
public slots:
void ChangeSettingsButtonPressed();
void CancelButtonPressed();
};
#endif // CCANWATCHDOGSETTINGSPAGE_H
@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CCANWatchdogSettingsPage</class>
<widget class="QWidget" name="CCANWatchdogSettingsPage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1085</width>
<height>544</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QLabel" name="mCANWatchdogPageTitle">
<property name="geometry">
<rect>
<x>310</x>
<y>10</y>
<width>381</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>CAN Watchdog</string>
</property>
</widget>
<widget class="QLabel" name="mCANWatchdogDevIDLbl">
<property name="geometry">
<rect>
<x>110</x>
<y>140</y>
<width>111</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>CAN Device ID:</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QLabel" name="mCANWatchdogBaudrateLbl">
<property name="geometry">
<rect>
<x>120</x>
<y>180</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>CAN Baudrate:</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QSpinBox" name="mCANWatchdogDeviceIDSpinBx">
<property name="geometry">
<rect>
<x>230</x>
<y>140</y>
<width>61</width>
<height>21</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>255</number>
</property>
</widget>
<widget class="QComboBox" name="mCANWatchdogBaudrateComboBx">
<property name="geometry">
<rect>
<x>230</x>
<y>180</y>
<width>161</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="mCANWatchdogTimeoutLbl">
<property name="geometry">
<rect>
<x>60</x>
<y>220</y>
<width>151</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Watchdog Timeout (ms):</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QSpinBox" name="mCANWatchdogTimeoutSpinBx">
<property name="geometry">
<rect>
<x>230</x>
<y>220</y>
<width>151</width>
<height>21</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>100000</number>
</property>
</widget>
<widget class="QPushButton" name="mCANWatchdogChangBtn">
<property name="geometry">
<rect>
<x>240</x>
<y>280</y>
<width>80</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>Modifier</string>
</property>
</widget>
<widget class="QPushButton" name="mCANWatchdogCancelBtn">
<property name="geometry">
<rect>
<x>130</x>
<y>280</y>
<width>80</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>Annuler</string>
</property>
</widget>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>50</x>
<y>100</y>
<width>371</width>
<height>231</height>
</rect>
</property>
<property name="title">
<string>Paramètres de la puck Watchdog</string>
</property>
</widget>
<zorder>groupBox</zorder>
<zorder>mCANWatchdogPageTitle</zorder>
<zorder>mCANWatchdogDevIDLbl</zorder>
<zorder>mCANWatchdogBaudrateLbl</zorder>
<zorder>mCANWatchdogDeviceIDSpinBx</zorder>
<zorder>mCANWatchdogBaudrateComboBx</zorder>
<zorder>mCANWatchdogTimeoutLbl</zorder>
<zorder>mCANWatchdogTimeoutSpinBx</zorder>
<zorder>mCANWatchdogChangBtn</zorder>
<zorder>mCANWatchdogCancelBtn</zorder>
</widget>
<resources/>
<connections/>
</ui>
@@ -123,6 +123,16 @@
<string>Déconnecté</string>
</property>
</widget>
<widget class="QTableWidget" name="tableWidget">
<property name="geometry">
<rect>
<x>1200</x>
<y>20</y>
<width>371</width>
<height>441</height>
</rect>
</property>
</widget>
</widget>
<resources/>
<connections/>