Merge pull request #723 from esaulenka/fix/MinorFixes
Several minor fixes
This commit is contained in:
+10
-17
@@ -13,21 +13,13 @@ CANBus::CANBus()
|
||||
}
|
||||
|
||||
|
||||
CANBus::CANBus(const CANBus& pBus) :
|
||||
speed(pBus.speed),
|
||||
listenOnly(pBus.listenOnly),
|
||||
singleWire(pBus.singleWire),
|
||||
active(pBus.active),
|
||||
canFD(pBus.canFD),
|
||||
dataRate(pBus.dataRate){}
|
||||
|
||||
|
||||
bool CANBus::operator==(const CANBus& bus) const{
|
||||
return speed == bus.speed &&
|
||||
listenOnly == bus.listenOnly &&
|
||||
singleWire == bus.singleWire &&
|
||||
active == bus.active &&
|
||||
canFD == bus.canFD;
|
||||
canFD == bus.canFD &&
|
||||
dataRate == bus.dataRate;
|
||||
}
|
||||
|
||||
void CANBus::setSpeed(int newSpeed){
|
||||
@@ -55,11 +47,11 @@ void CANBus::setCanFD(bool mode){
|
||||
canFD = mode;
|
||||
}
|
||||
|
||||
int CANBus::getSpeed(){
|
||||
int CANBus::getSpeed() const {
|
||||
return speed;
|
||||
}
|
||||
|
||||
int CANBus::getDataRate(){
|
||||
int CANBus::getDataRate() const {
|
||||
return dataRate;
|
||||
}
|
||||
|
||||
@@ -68,29 +60,30 @@ void CANBus::setDataRate(int newSpeed){
|
||||
dataRate = newSpeed;
|
||||
}
|
||||
|
||||
bool CANBus::isListenOnly(){
|
||||
bool CANBus::isListenOnly() const {
|
||||
return listenOnly;
|
||||
}
|
||||
|
||||
bool CANBus::isSingleWire(){
|
||||
bool CANBus::isSingleWire() const {
|
||||
return singleWire;
|
||||
}
|
||||
|
||||
bool CANBus::isActive(){
|
||||
bool CANBus::isActive() const {
|
||||
return active;
|
||||
}
|
||||
|
||||
bool CANBus::isCanFD(){
|
||||
bool CANBus::isCanFD() const {
|
||||
return canFD;
|
||||
}
|
||||
|
||||
|
||||
QDataStream& operator<<( QDataStream & pStream, const CANBus& pCanBus )
|
||||
QDataStream& operator<<(QDataStream & pStream, const CANBus& pCanBus)
|
||||
{
|
||||
pStream << pCanBus.speed;
|
||||
pStream << pCanBus.listenOnly;
|
||||
pStream << pCanBus.singleWire;
|
||||
pStream << pCanBus.active;
|
||||
// FIXME CANFD settings missing
|
||||
return pStream;
|
||||
}
|
||||
|
||||
|
||||
+17
-16
@@ -5,13 +5,6 @@
|
||||
|
||||
class CANBus
|
||||
{
|
||||
public:
|
||||
CANBus();
|
||||
CANBus(const CANBus&);
|
||||
bool operator==(const CANBus&) const;
|
||||
CANBus& operator=(const CANBus& other) = default;
|
||||
//virtual ~CANBus(){}
|
||||
|
||||
int speed;
|
||||
bool listenOnly;
|
||||
bool singleWire;
|
||||
@@ -19,28 +12,36 @@ public:
|
||||
bool canFD;
|
||||
int dataRate;
|
||||
|
||||
friend QDataStream& operator<<(QDataStream & pStream, const CANBus& pCanBus);
|
||||
friend QDataStream& operator>>(QDataStream & pStream, CANBus& pCanBus);
|
||||
public:
|
||||
CANBus();
|
||||
|
||||
bool operator==(const CANBus&) const;
|
||||
|
||||
void setSpeed(int); // new speed
|
||||
void setListenOnly(bool); //bool for whether to only listen
|
||||
void setSingleWire(bool); //bool for whether to use single wire mode
|
||||
void setActive(bool); //whether this bus should be enabled or not.
|
||||
void setCanFD(bool); // enable or disable CANFD support
|
||||
int getSpeed();
|
||||
int getDataRate();
|
||||
void setDataRate(int newSpeed);
|
||||
bool isListenOnly();
|
||||
bool isSingleWire();
|
||||
bool isActive();
|
||||
bool isCanFD();
|
||||
|
||||
int getSpeed() const;
|
||||
int getDataRate() const;
|
||||
bool isListenOnly() const;
|
||||
bool isSingleWire() const;
|
||||
bool isActive() const;
|
||||
bool isCanFD() const;
|
||||
};
|
||||
|
||||
QDataStream& operator<<( QDataStream & pStream, const CANBus& pCanBus );
|
||||
QDataStream & operator>>(QDataStream & pStream, CANBus& pCanBus);
|
||||
QDataStream& operator<<(QDataStream & pStream, const CANBus& pCanBus);
|
||||
QDataStream& operator>>(QDataStream & pStream, CANBus& pCanBus);
|
||||
|
||||
Q_DECLARE_METATYPE(CANBus);
|
||||
|
||||
struct BusData {
|
||||
CANBus mBus;
|
||||
bool mConfigured;
|
||||
bool mConfigured = {};
|
||||
QVector<CANFltObserver> mTargettedFrames;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,11 +13,11 @@ CANConnection::CANConnection(QString pPort,
|
||||
int pQueueLen,
|
||||
bool pUseThread) :
|
||||
mNumBuses(pNumBuses),
|
||||
mSerialSpeed(pSerialSpeed),
|
||||
mQueue(),
|
||||
mPort(pPort),
|
||||
mDriver(pDriver),
|
||||
mType(pType),
|
||||
mSerialSpeed(pSerialSpeed),
|
||||
mIsCapSuspended(false),
|
||||
mStatus(CANCon::NOT_CONNECTED),
|
||||
mStarted(false),
|
||||
|
||||
@@ -94,7 +94,7 @@ void SerialBusConnection::piSetBusSettings(int pBusIdx, CANBus bus)
|
||||
setBusConfig(0, bus);
|
||||
|
||||
/* if bus is not active we are done */
|
||||
if(!bus.active)
|
||||
if(!bus.isActive())
|
||||
return;
|
||||
|
||||
/* set configuration */
|
||||
@@ -105,10 +105,10 @@ void SerialBusConnection::piSetBusSettings(int pBusIdx, CANBus bus)
|
||||
|
||||
//You cannot set the speed of a socketcan interface, it has to be set with console commands.
|
||||
//But, you can probabaly set the speed of many of the other serialbus devices so go ahead and try
|
||||
mDev_p->setConfigurationParameter(QCanBusDevice::BitRateKey, bus.speed);
|
||||
mDev_p->setConfigurationParameter(QCanBusDevice::CanFdKey, bus.canFD);
|
||||
mDev_p->setConfigurationParameter(QCanBusDevice::BitRateKey, bus.getSpeed());
|
||||
mDev_p->setConfigurationParameter(QCanBusDevice::CanFdKey, bus.isCanFD());
|
||||
|
||||
if(bus.listenOnly)
|
||||
if(bus.isListenOnly())
|
||||
sbusconfig |= EN_SILENT_MODE;
|
||||
mDev_p->setConfigurationParameter(QCanBusDevice::UserKey, sbusconfig);
|
||||
|
||||
@@ -188,6 +188,7 @@ void SerialBusConnection::framesReceived()
|
||||
|
||||
/* check frame */
|
||||
//if (recFrame.payload().length() <= 8) {
|
||||
if (true) {
|
||||
CANFrame* frame_p = getQueue().get();
|
||||
if(frame_p) {
|
||||
frame_p->setPayload(recFrame.payload());
|
||||
@@ -206,7 +207,7 @@ void SerialBusConnection::framesReceived()
|
||||
frame_p->setTimeStamp(recFrame.timeStamp());
|
||||
frame_p->setFrameType(recFrame.frameType());
|
||||
frame_p->setError(recFrame.error());
|
||||
/* If recorded frame has a local echo, it is a Tx message, and thus should not be marked as Rx */
|
||||
/* If recorded frame has a local echo, it is a Tx message, and thus should not be marked as Rx */
|
||||
frame_p->isReceived = !recFrame.hasLocalEcho();
|
||||
|
||||
if (useSystemTime) {
|
||||
@@ -218,11 +219,9 @@ void SerialBusConnection::framesReceived()
|
||||
|
||||
/* enqueue frame */
|
||||
getQueue().queue();
|
||||
//}
|
||||
#if 0
|
||||
}
|
||||
else
|
||||
qDebug() << "can't get a frame, ERROR";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,8 +219,8 @@ void SocketCANd::connectDevice()
|
||||
void SocketCANd::deviceConnected(int busNum)
|
||||
{
|
||||
sendDebug("Opening CAN on Kayak Device!");
|
||||
const char* openCanCmd = ("< open " + hostCanIDs[busNum] + " >").toStdString().c_str();
|
||||
sendStringToTCP(openCanCmd, busNum);
|
||||
QString openCanCmd("< open " % hostCanIDs[busNum] % " >");
|
||||
sendStringToTCP(openCanCmd.toUtf8().data(), busNum);
|
||||
|
||||
QCoreApplication::processEvents();
|
||||
}
|
||||
@@ -383,8 +383,6 @@ void SocketCANd::procRXData(QString data, int busNum)
|
||||
mTimer.stop();
|
||||
mTimer.start();
|
||||
}
|
||||
QByteArray output;
|
||||
|
||||
switch (rx_state.at(busNum))
|
||||
{
|
||||
case IDLE:
|
||||
|
||||
@@ -1054,8 +1054,6 @@ void FrameSenderWindow::processCellChange(int line, int col)
|
||||
}
|
||||
break;
|
||||
case ST_COLS::SENDTAB_COL_DATA: //Data bytes
|
||||
for (int i = 0; i < 8; i++) sendingData[line].payload().data()[i] = 0;
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK( 5, 14, 0 )
|
||||
tokens = ui->tableSender->item(line, ST_COLS::SENDTAB_COL_DATA)->text().split(" ", Qt::SkipEmptyParts);
|
||||
#else
|
||||
|
||||
@@ -222,8 +222,8 @@ void DBCComparatorWindow::calculateDetails()
|
||||
|
||||
ui->treeDetails->addTopLevelItem(msgDiffRoot);
|
||||
|
||||
QTreeWidgetItem *msgItem;
|
||||
QTreeWidgetItem *sigTemp;
|
||||
QTreeWidgetItem *msgItem {};
|
||||
QTreeWidgetItem *sigTemp {};
|
||||
|
||||
for (int i = 0; i < firstDBC->messageHandler->getCount(); i++)
|
||||
{
|
||||
@@ -257,7 +257,8 @@ void DBCComparatorWindow::calculateDetails()
|
||||
msgItem->setText(0, msgName + " (" + Utility::formatCANID(thisMsg->ID) + ")");
|
||||
sigDiffTwo->addChild(msgItem);
|
||||
}
|
||||
msgItem->addChild(missingSigItem);
|
||||
if (msgItem)
|
||||
msgItem->addChild(missingSigItem);
|
||||
}
|
||||
else //signal exists on both sides. See if it as changed position or length
|
||||
{
|
||||
@@ -301,7 +302,8 @@ void DBCComparatorWindow::calculateDetails()
|
||||
sigTemp->setText(0, msgName + " (" + Utility::formatCANID(thisMsg->ID) + ")");
|
||||
sigModifiedRoot->addChild(sigTemp);
|
||||
}
|
||||
sigTemp->addChild(sigItem);
|
||||
if (sigTemp)
|
||||
sigTemp->addChild(sigItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -851,7 +851,7 @@ void FlowViewWindow::updatePosition(bool forward)
|
||||
int maxVal = qMin(chunk * 8 + 8, frameCache.at(currentPosition).payload().length());
|
||||
for (int i = chunk * 8; i < maxVal; i++)
|
||||
{
|
||||
unsigned char thisByte = static_cast<unsigned char>(frameCache.at(currentPosition).payload().data()[i]);
|
||||
unsigned char thisByte = static_cast<unsigned char>(frameCache.at(currentPosition).payload()[i]);
|
||||
cngByte = currBytes[i] ^ thisByte;
|
||||
changedBits |= (uint64_t)cngByte << (8ull * (i & 7));
|
||||
}
|
||||
|
||||
+96
-104
@@ -39,7 +39,7 @@ GraphingWindow::GraphingWindow(const QVector<CANFrame> *frames, QWidget *parent)
|
||||
|
||||
if (Utility::timeStyle == TS_CLOCK)
|
||||
{
|
||||
QSharedPointer<QCPAxisTickerTime> timeTicker(new QCPAxisTickerTime);
|
||||
QSharedPointer timeTicker = QSharedPointer<QCPAxisTickerTime>::create();
|
||||
timeTicker->setTimeFormat("%h:%m:%s.%z");
|
||||
ui->graphingView->xAxis->setTicker(timeTicker);
|
||||
}
|
||||
@@ -571,7 +571,7 @@ void GraphingWindow::removeSelectedGraph()
|
||||
int idx = -1;
|
||||
for (int i = 0; i < graphParams.count(); i++)
|
||||
{
|
||||
if (graphParams[i].ref == ui->graphingView->selectedGraphs().first())
|
||||
if (graphParams[i].ref == ui->graphingView->selectedGraphs().constFirst())
|
||||
{
|
||||
idx = i;
|
||||
break;
|
||||
@@ -590,7 +590,7 @@ void GraphingWindow::removeSelectedGraph()
|
||||
|
||||
graphParams.removeAt(idx);
|
||||
|
||||
ui->graphingView->removeGraph(ui->graphingView->selectedGraphs().first());
|
||||
ui->graphingView->removeGraph(ui->graphingView->selectedGraphs().constFirst());
|
||||
|
||||
if (graphParams.count() == 0) needScaleSetup = true;
|
||||
|
||||
@@ -605,7 +605,7 @@ void GraphingWindow::editSelectedGraph()
|
||||
int idx = -1;
|
||||
for (int i = 0; i < graphParams.count(); i++)
|
||||
{
|
||||
if (graphParams[i].ref == ui->graphingView->selectedGraphs().first())
|
||||
if (graphParams[i].ref == ui->graphingView->selectedGraphs().constFirst())
|
||||
{
|
||||
idx = i;
|
||||
break;
|
||||
@@ -701,7 +701,6 @@ void GraphingWindow::contextMenuRequest(QPoint pos)
|
||||
|
||||
void GraphingWindow::saveGraphs()
|
||||
{
|
||||
QString filename;
|
||||
QFileDialog dialog(this);
|
||||
QSettings settings;
|
||||
|
||||
@@ -718,7 +717,7 @@ void GraphingWindow::saveGraphs()
|
||||
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
{
|
||||
filename = dialog.selectedFiles()[0];
|
||||
QString filename = dialog.selectedFiles().constFirst();
|
||||
settings.setValue("Graphing/LoadSaveDirectory", dialog.directory().path());
|
||||
|
||||
if (dialog.selectedNameFilter() == filters[0])
|
||||
@@ -741,7 +740,6 @@ void GraphingWindow::saveGraphs()
|
||||
|
||||
void GraphingWindow::saveSpreadsheet()
|
||||
{
|
||||
QString filename;
|
||||
QFileDialog dialog(this);
|
||||
QSettings settings;
|
||||
|
||||
@@ -756,14 +754,14 @@ void GraphingWindow::saveSpreadsheet()
|
||||
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
{
|
||||
filename = dialog.selectedFiles()[0];
|
||||
QString filename = dialog.selectedFiles().constFirst();
|
||||
settings.setValue("Graphing/LoadSaveDirectory", dialog.directory().path());
|
||||
|
||||
if (!filename.contains('.')) filename += ".csv";
|
||||
|
||||
QFile *outFile = new QFile(filename);
|
||||
QFile outFile(filename);
|
||||
|
||||
if (!outFile->open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
if (!outFile.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
return;
|
||||
|
||||
/*
|
||||
@@ -779,12 +777,12 @@ void GraphingWindow::saveSpreadsheet()
|
||||
QList<GraphParams>::iterator iter;
|
||||
double xMin = std::numeric_limits<double>::max(),
|
||||
xMax = std::numeric_limits<double>::min();
|
||||
size_t maxCount = 0;
|
||||
size_t numGraphs = graphParams.length();
|
||||
int maxCount = 0;
|
||||
int numGraphs = graphParams.length();
|
||||
for (auto && graph : graphParams) {
|
||||
xMin = std::min(xMin, graph.x[0]);
|
||||
xMax = std::max(xMax, graph.x[graph.x.count() - 1]);
|
||||
maxCount = std::max(maxCount, static_cast<size_t>(graph.x.count()));
|
||||
maxCount = std::max(maxCount, graph.x.count());
|
||||
}
|
||||
qDebug() << "xMin: " << xMin;
|
||||
qDebug() << "xMax: " << xMax;
|
||||
@@ -795,27 +793,25 @@ void GraphingWindow::saveSpreadsheet()
|
||||
double xSize = xMax - xMin;
|
||||
double sliceSize = xSize / ((double)maxCount);
|
||||
double equivValue = sliceSize / 100.0;
|
||||
double currentX;
|
||||
double value;
|
||||
QList<int> indices;
|
||||
indices.reserve(numGraphs);
|
||||
|
||||
outFile->write("TimeStamp");
|
||||
outFile.write("TimeStamp");
|
||||
for (auto && graph : graphParams) {
|
||||
indices.append(0);
|
||||
outFile->putChar(',');
|
||||
outFile->write(graph.graphName.toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(graph.graphName.toUtf8());
|
||||
}
|
||||
outFile->write("\n");
|
||||
outFile.write("\n");
|
||||
|
||||
for (size_t j = 1; j < (maxCount - 1); j++)
|
||||
for (int j = 1; j < (maxCount - 1); j++)
|
||||
{
|
||||
currentX = xMin + (j * sliceSize);
|
||||
double currentX = xMin + (j * sliceSize);
|
||||
qDebug() << "X: " << currentX;
|
||||
outFile->write(QString::number(currentX, 'f').toUtf8());
|
||||
for (size_t k = 0; k < numGraphs; k++)
|
||||
outFile.write(QString::number(currentX, 'f').toUtf8());
|
||||
for (int k = 0; k < numGraphs; k++)
|
||||
{
|
||||
value = 0.0;
|
||||
double value = 0.0;
|
||||
|
||||
// move cursor to last sample before currentX
|
||||
while (graphParams[k].x[indices[k]+1] < currentX)
|
||||
@@ -849,27 +845,26 @@ void GraphingWindow::saveSpreadsheet()
|
||||
else
|
||||
{
|
||||
// find index, where x >= currentX
|
||||
size_t cursor = indices[k];
|
||||
int cursor = indices[k];
|
||||
double span = graphParams[k].x[cursor+1] - graphParams[k].x[cursor];
|
||||
double progress = (currentX - graphParams[k].x[cursor]) / span;
|
||||
Q_ASSERT(progress >= 0.0 && progress <= 1.0);
|
||||
value = Utility::Lerp(graphParams[k].y[cursor], graphParams[k].y[cursor+1], progress);
|
||||
qDebug() << "Span: " << span << " Prog: " << progress << " Value: " << value;
|
||||
}
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(value).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(value).toUtf8());
|
||||
}
|
||||
outFile->write("\n");
|
||||
outFile.write("\n");
|
||||
}
|
||||
|
||||
outFile->close();
|
||||
outFile.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void GraphingWindow::saveDefinitions()
|
||||
{
|
||||
QString filename;
|
||||
QFileDialog dialog(this);
|
||||
QSettings settings;
|
||||
|
||||
@@ -884,79 +879,78 @@ void GraphingWindow::saveDefinitions()
|
||||
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
{
|
||||
filename = dialog.selectedFiles()[0];
|
||||
QString filename = dialog.selectedFiles().constFirst();
|
||||
settings.setValue("Graphing/LoadSaveDirectory", dialog.directory().path());
|
||||
|
||||
if (!filename.contains('.')) filename += ".gdf";
|
||||
|
||||
QFile *outFile = new QFile(filename);
|
||||
QFile outFile(filename);
|
||||
|
||||
if (!outFile->open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
if (!outFile.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
return;
|
||||
|
||||
QList<GraphParams>::iterator iter;
|
||||
for (iter = graphParams.begin(); iter != graphParams.end(); ++iter)
|
||||
{
|
||||
outFile->write("Z,");
|
||||
outFile->write(QString::number(iter->ID, 16).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->mask, 16).toUtf8());
|
||||
outFile->putChar(',');
|
||||
if (iter->intelFormat) outFile->write(QString::number(iter->startBit).toUtf8());
|
||||
else outFile->write(QString::number(iter->startBit * -1).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->numBits).toUtf8());
|
||||
outFile->putChar(',');
|
||||
if (iter->isSigned) outFile->putChar('Y');
|
||||
else outFile->putChar('N');
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->bias).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->scale).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->stride).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->bus).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->lineColor.red()).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->lineColor.green()).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->lineColor.blue()).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(iter->graphName.toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->fillColor.red()).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->fillColor.green()).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->fillColor.blue()).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->fillColor.alpha()).toUtf8());
|
||||
outFile->putChar(',');
|
||||
if (iter->drawOnlyPoints) outFile->putChar('Y');
|
||||
else outFile->putChar('N');
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->pointType).toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(QString::number(iter->lineWidth).toUtf8());
|
||||
outFile.write("Z,");
|
||||
outFile.write(QString::number(iter->ID, 16).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->mask, 16).toUtf8());
|
||||
outFile.putChar(',');
|
||||
if (iter->intelFormat) outFile.write(QString::number(iter->startBit).toUtf8());
|
||||
else outFile.write(QString::number(iter->startBit * -1).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->numBits).toUtf8());
|
||||
outFile.putChar(',');
|
||||
if (iter->isSigned) outFile.putChar('Y');
|
||||
else outFile.putChar('N');
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->bias).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->scale).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->stride).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->bus).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->lineColor.red()).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->lineColor.green()).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->lineColor.blue()).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(iter->graphName.toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->fillColor.red()).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->fillColor.green()).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->fillColor.blue()).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->fillColor.alpha()).toUtf8());
|
||||
outFile.putChar(',');
|
||||
if (iter->drawOnlyPoints) outFile.putChar('Y');
|
||||
else outFile.putChar('N');
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->pointType).toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(QString::number(iter->lineWidth).toUtf8());
|
||||
if (iter->associatedSignal)
|
||||
{
|
||||
outFile->putChar(',');
|
||||
outFile->write(iter->associatedSignal->parentMessage->name.toUtf8());
|
||||
outFile->putChar(',');
|
||||
outFile->write(iter->associatedSignal->name.toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(iter->associatedSignal->parentMessage->name.toUtf8());
|
||||
outFile.putChar(',');
|
||||
outFile.write(iter->associatedSignal->name.toUtf8());
|
||||
}
|
||||
|
||||
outFile->write("\n");
|
||||
outFile.write("\n");
|
||||
}
|
||||
outFile->close();
|
||||
outFile.close();
|
||||
}
|
||||
}
|
||||
|
||||
void GraphingWindow::loadDefinitions()
|
||||
{
|
||||
QString filename;
|
||||
QFileDialog dialog;
|
||||
QSettings settings;
|
||||
|
||||
@@ -973,17 +967,17 @@ void GraphingWindow::loadDefinitions()
|
||||
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
{
|
||||
filename = dialog.selectedFiles()[0];
|
||||
QString filename = dialog.selectedFiles().constFirst();
|
||||
settings.setValue("Graphing/LoadSaveDirectory", dialog.directory().path());
|
||||
|
||||
QFile *inFile = new QFile(filename);
|
||||
QFile inFile(filename);
|
||||
QByteArray line;
|
||||
|
||||
if (!inFile->open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
if (!inFile.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
return;
|
||||
|
||||
while (!inFile->atEnd()) {
|
||||
line = inFile->readLine().simplified();
|
||||
while (!inFile.atEnd()) {
|
||||
line = inFile.readLine().simplified();
|
||||
if (line.length() > 2)
|
||||
{
|
||||
GraphParams gp;
|
||||
@@ -1205,7 +1199,7 @@ void GraphingWindow::loadDefinitions()
|
||||
}
|
||||
}
|
||||
}
|
||||
inFile->close();
|
||||
inFile.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1325,10 +1319,8 @@ void GraphingWindow::createGraph(GraphParams ¶ms, bool createGraphParam)
|
||||
double yminval=10000000.0, ymaxval = -1000000.0;
|
||||
double xminval=10000000000.0, xmaxval = -10000000000.0;
|
||||
GraphParams *refParam = ¶ms;
|
||||
int sBit, bits;
|
||||
bool intelFormat, isSigned;
|
||||
QString tempStr;
|
||||
double x,y;
|
||||
double x{}, y{};
|
||||
|
||||
qDebug() << "New Graph ID: " << params.ID;
|
||||
qDebug() << "Start bit: " << params.startBit;
|
||||
@@ -1365,10 +1357,10 @@ void GraphingWindow::createGraph(GraphParams ¶ms, bool createGraphParam)
|
||||
//params.x.fill(0, numEntries);
|
||||
//params.y.fill(0, numEntries);
|
||||
|
||||
sBit = params.startBit;
|
||||
bits = params.numBits;
|
||||
intelFormat = params.intelFormat;
|
||||
isSigned = params.isSigned;
|
||||
int sBit = params.startBit;
|
||||
int bits = params.numBits;
|
||||
bool intelFormat = params.intelFormat;
|
||||
bool isSigned = params.isSigned;
|
||||
|
||||
for (int j = 0; j < numEntries; j++)
|
||||
{
|
||||
@@ -1558,16 +1550,16 @@ void GraphingWindow::createGraph(GraphParams ¶ms, bool createGraphParam)
|
||||
void GraphingWindow::moveLegend()
|
||||
{
|
||||
qDebug() << "moveLegend";
|
||||
if (QAction* contextAction = qobject_cast<QAction*>(sender())) // make sure this slot is really called by a context menu action, so it carries the data we need
|
||||
{
|
||||
bool ok;
|
||||
int dataInt = contextAction->data().toInt(&ok);
|
||||
if (ok)
|
||||
if (QAction* contextAction = qobject_cast<QAction*>(sender())) // make sure this slot is really called by a context menu action, so it carries the data we need
|
||||
{
|
||||
ui->graphingView->axisRect()->insetLayout()->setInsetAlignment(0, (Qt::Alignment)dataInt);
|
||||
ui->graphingView->replot();
|
||||
bool ok;
|
||||
int dataInt = contextAction->data().toInt(&ok);
|
||||
if (ok)
|
||||
{
|
||||
ui->graphingView->axisRect()->insetLayout()->setInsetAlignment(0, (Qt::Alignment)dataInt);
|
||||
ui->graphingView->replot();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GraphParams::GraphParams()
|
||||
|
||||
@@ -361,7 +361,6 @@ void NewGraphDialog::loadNodes()
|
||||
void NewGraphDialog::loadMessages(int idx)
|
||||
{
|
||||
int numFiles = 0;
|
||||
DBC_MESSAGE *msg;
|
||||
ui->cbMessages->clear();
|
||||
if (dbcHandler == nullptr) return;
|
||||
if ((numFiles = dbcHandler->getFileCount()) == 0) return;
|
||||
|
||||
@@ -181,7 +181,7 @@ void SnifferWindow::notchTick()
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->lblNotch->setBackgroundRole(QPalette::Background);
|
||||
ui->lblNotch->setBackgroundRole(QPalette::Window);
|
||||
ui->lblNotch->repaint();
|
||||
//qDebug() << "Tock";
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<widget class="QWidget" name="layoutWidget_2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="2,0,2">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridUpper"/>
|
||||
|
||||
Reference in New Issue
Block a user