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->cbUseFiltered->setChecked(settings.value("Main/UseFiltered", 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->rbSysClock, 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->cbUseFiltered, SIGNAL(toggled(bool)), 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/TimeMillis", ui->rbMillis->isChecked());
|
||||
settings.setValue("Main/TimeClock", ui->rbSysClock->isChecked());
|
||||
settings.setValue("Main/CSVAbsTime", ui->cbCSVAbsTime->isChecked());
|
||||
settings.setValue("Playback/SendingBus", ui->comboSendingBus->currentIndex());
|
||||
settings.setValue("Main/UseFiltered", ui->cbUseFiltered->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();
|
||||
model->setBytesPerLine(bpl);
|
||||
|
||||
CSVAbsTime = settings.value("Main/CSVAbsTime", false).toBool();
|
||||
|
||||
if (settings.value("Main/FilterLabeling", false).toBool())
|
||||
ui->listFilters->setMaximumWidth(250);
|
||||
else
|
||||
@@ -1102,9 +1104,17 @@ Data Bytes: 88 10 00 13 BB 00 06 00
|
||||
int dataStartCol = 0;
|
||||
|
||||
QString builderString;
|
||||
//time
|
||||
builderString += tr("Time") + ",";
|
||||
dataStartCol++;
|
||||
if (CSVAbsTime)
|
||||
{
|
||||
builderString += tr("Year") + "," + tr("Month") + "," + tr("Day") + "," + tr("Hour") + "," + tr("Minute") + "," + tr("Second") + "," + tr("Ms") + ",";
|
||||
dataStartCol += 7;
|
||||
}
|
||||
else
|
||||
{
|
||||
//time
|
||||
builderString += tr("Time") + ",";
|
||||
dataStartCol++;
|
||||
}
|
||||
//id
|
||||
builderString += tr("ID") + ",";
|
||||
dataStartCol++;
|
||||
@@ -1184,8 +1194,19 @@ Data Bytes: 88 10 00 13 BB 00 06 00
|
||||
dataLen = frame->payload().count();
|
||||
|
||||
QString builderString;
|
||||
builderString += QString::number((frame->timeStamp().microSeconds() / 1000000.0), 'f', 6) + ",";
|
||||
dataColumnsAdded++;
|
||||
if (CSVAbsTime)
|
||||
{
|
||||
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
|
||||
builderString += Utility::formatCANID(frame->frameId(), frame->hasExtendedFrameFormat()) + ",";
|
||||
dataColumnsAdded++;
|
||||
|
||||
@@ -148,6 +148,7 @@ private:
|
||||
bool useHex;
|
||||
bool allowCapture;
|
||||
bool ignoreDBCColors;
|
||||
bool CSVAbsTime;
|
||||
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?
|
||||
|
||||
|
||||
@@ -209,6 +209,13 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbCSVAbsTime">
|
||||
<property name="text">
|
||||
<string>Use absolute time in decoded CSV output</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user