Add ability to save decoded CSV with absolute timestamp
This commit is contained in:
@@ -85,6 +85,7 @@ MainSettingsDialog::MainSettingsDialog(QWidget *parent) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->cbCSVAbsTime->setChecked(settings.value("Main/CSVAbsTime", false).toBool());
|
||||||
ui->comboSendingBus->setCurrentIndex(settings.value("Playback/SendingBus", 4).toInt());
|
ui->comboSendingBus->setCurrentIndex(settings.value("Playback/SendingBus", 4).toInt());
|
||||||
ui->cbUseFiltered->setChecked(settings.value("Main/UseFiltered", false).toBool());
|
ui->cbUseFiltered->setChecked(settings.value("Main/UseFiltered", false).toBool());
|
||||||
ui->cbUseOpenGL->setChecked(settings.value("Main/UseOpenGL", false).toBool());
|
ui->cbUseOpenGL->setChecked(settings.value("Main/UseOpenGL", false).toBool());
|
||||||
@@ -120,6 +121,7 @@ MainSettingsDialog::MainSettingsDialog(QWidget *parent) :
|
|||||||
connect(ui->rbMicros, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
connect(ui->rbMicros, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
||||||
connect(ui->rbSysClock, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
connect(ui->rbSysClock, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
||||||
connect(ui->rbMillis, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
connect(ui->rbMillis, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
||||||
|
connect(ui->cbCSVAbsTime, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
||||||
connect(ui->comboSendingBus, SIGNAL(currentIndexChanged(int)), this, SLOT(updateSettings()));
|
connect(ui->comboSendingBus, SIGNAL(currentIndexChanged(int)), this, SLOT(updateSettings()));
|
||||||
connect(ui->cbUseFiltered, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
connect(ui->cbUseFiltered, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
||||||
connect(ui->lineClockFormat, SIGNAL(editingFinished()), this, SLOT(updateSettings()));
|
connect(ui->lineClockFormat, SIGNAL(editingFinished()), this, SLOT(updateSettings()));
|
||||||
@@ -190,6 +192,7 @@ void MainSettingsDialog::updateSettings()
|
|||||||
settings.setValue("Main/TimeSeconds", ui->rbSeconds->isChecked());
|
settings.setValue("Main/TimeSeconds", ui->rbSeconds->isChecked());
|
||||||
settings.setValue("Main/TimeMillis", ui->rbMillis->isChecked());
|
settings.setValue("Main/TimeMillis", ui->rbMillis->isChecked());
|
||||||
settings.setValue("Main/TimeClock", ui->rbSysClock->isChecked());
|
settings.setValue("Main/TimeClock", ui->rbSysClock->isChecked());
|
||||||
|
settings.setValue("Main/CSVAbsTime", ui->cbCSVAbsTime->isChecked());
|
||||||
settings.setValue("Playback/SendingBus", ui->comboSendingBus->currentIndex());
|
settings.setValue("Playback/SendingBus", ui->comboSendingBus->currentIndex());
|
||||||
settings.setValue("Main/UseFiltered", ui->cbUseFiltered->isChecked());
|
settings.setValue("Main/UseFiltered", ui->cbUseFiltered->isChecked());
|
||||||
settings.setValue("Main/UseOpenGL", ui->cbUseOpenGL->isChecked());
|
settings.setValue("Main/UseOpenGL", ui->cbUseOpenGL->isChecked());
|
||||||
|
|||||||
+26
-5
@@ -405,6 +405,8 @@ void MainWindow::readUpdateableSettings()
|
|||||||
int bpl = settings.value("Main/BytesPerLine", 8).toInt();
|
int bpl = settings.value("Main/BytesPerLine", 8).toInt();
|
||||||
model->setBytesPerLine(bpl);
|
model->setBytesPerLine(bpl);
|
||||||
|
|
||||||
|
CSVAbsTime = settings.value("Main/CSVAbsTime", false).toBool();
|
||||||
|
|
||||||
if (settings.value("Main/FilterLabeling", false).toBool())
|
if (settings.value("Main/FilterLabeling", false).toBool())
|
||||||
ui->listFilters->setMaximumWidth(250);
|
ui->listFilters->setMaximumWidth(250);
|
||||||
else
|
else
|
||||||
@@ -1102,9 +1104,17 @@ Data Bytes: 88 10 00 13 BB 00 06 00
|
|||||||
int dataStartCol = 0;
|
int dataStartCol = 0;
|
||||||
|
|
||||||
QString builderString;
|
QString builderString;
|
||||||
//time
|
if (CSVAbsTime)
|
||||||
builderString += tr("Time") + ",";
|
{
|
||||||
dataStartCol++;
|
builderString += tr("Year") + "," + tr("Month") + "," + tr("Day") + "," + tr("Hour") + "," + tr("Minute") + "," + tr("Second") + "," + tr("Ms") + ",";
|
||||||
|
dataStartCol += 7;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//time
|
||||||
|
builderString += tr("Time") + ",";
|
||||||
|
dataStartCol++;
|
||||||
|
}
|
||||||
//id
|
//id
|
||||||
builderString += tr("ID") + ",";
|
builderString += tr("ID") + ",";
|
||||||
dataStartCol++;
|
dataStartCol++;
|
||||||
@@ -1184,8 +1194,19 @@ Data Bytes: 88 10 00 13 BB 00 06 00
|
|||||||
dataLen = frame->payload().count();
|
dataLen = frame->payload().count();
|
||||||
|
|
||||||
QString builderString;
|
QString builderString;
|
||||||
builderString += QString::number((frame->timeStamp().microSeconds() / 1000000.0), 'f', 6) + ",";
|
if (CSVAbsTime)
|
||||||
dataColumnsAdded++;
|
{
|
||||||
|
QDateTime dt = QDateTime::fromMSecsSinceEpoch(frame->timeStamp().microSeconds() / 1000);
|
||||||
|
builderString += QString::number(dt.date().year()) + "," + QString::number(dt.date().month()) + ",";
|
||||||
|
builderString += QString::number(dt.date().day()) + "," + QString::number(dt.time().hour()) + ",";
|
||||||
|
builderString += QString::number(dt.time().minute()) + "," + QString::number(dt.time().second()) + ",";
|
||||||
|
builderString += QString::number(dt.time().msec()) + ",";
|
||||||
|
dataColumnsAdded += 7;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
builderString += QString::number((frame->timeStamp().microSeconds() / 1000000.0), 'f', 6) + ",";
|
||||||
|
dataColumnsAdded++;
|
||||||
|
}
|
||||||
//id
|
//id
|
||||||
builderString += Utility::formatCANID(frame->frameId(), frame->hasExtendedFrameFormat()) + ",";
|
builderString += Utility::formatCANID(frame->frameId(), frame->hasExtendedFrameFormat()) + ",";
|
||||||
dataColumnsAdded++;
|
dataColumnsAdded++;
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ private:
|
|||||||
bool useHex;
|
bool useHex;
|
||||||
bool allowCapture;
|
bool allowCapture;
|
||||||
bool ignoreDBCColors;
|
bool ignoreDBCColors;
|
||||||
|
bool CSVAbsTime;
|
||||||
bool bDirty; //have frames been added or subtracted since the last save/load?
|
bool bDirty; //have frames been added or subtracted since the last save/load?
|
||||||
bool useFiltered; //should sub-windows use the unfiltered or filtered frames list?
|
bool useFiltered; //should sub-windows use the unfiltered or filtered frames list?
|
||||||
|
|
||||||
|
|||||||
@@ -209,6 +209,13 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="cbCSVAbsTime">
|
||||||
|
<property name="text">
|
||||||
|
<string>Use absolute time in decoded CSV output</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
Reference in New Issue
Block a user