Skip to content

Commit 49493de

Browse files
committed
write to file added
1 parent c13a670 commit 49493de

File tree

3 files changed

+41
-6
lines changed

3 files changed

+41
-6
lines changed

logger.cpp

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,20 @@ void Logger::updateWaveValue(const QLowEnergyCharacteristic &info, const QByteAr
311311
if (doStream) {
312312
udpSocket->writeDatagram(line, QHostAddress::Broadcast, 45454);
313313
}
314+
315+
// Writes to DataLogger-(datetime in GMT).csv
316+
if (isFileOpen) {
317+
QTextStream out(file);
318+
for (int i = 0; i < realValues.length(); ++i) {
319+
if (i < realValues.length()) {
320+
out << QString("%1,").arg(QString::number(realValues.value(i)));
321+
} else {
322+
out << QString("%1").arg(QString::number(realValues.value(i)));
323+
}
324+
}
325+
out << Qt::endl;
326+
file->flush();
327+
}
314328
}
315329

316330
void Logger::confirmedDescriptorWrite(const QLowEnergyDescriptor &info, const QByteArray &value) {
@@ -322,10 +336,6 @@ void Logger::confirmedDescriptorWrite(const QLowEnergyDescriptor &info, const QB
322336
}
323337
}
324338

325-
void Logger::on_saveToFileButton_clicked() {
326-
327-
}
328-
329339
void Logger::countFrequency() {
330340
frequencyCheckDone = true;
331341
qInfo() << "frequency is " << frequencyCounter;
@@ -350,3 +360,21 @@ void Logger::errorService(QLowEnergyService::ServiceError error) {
350360
qWarning() << "Service Error: " << error;
351361
}
352362

363+
364+
void Logger::on_saveToFileButton_toggled(bool checked) {
365+
if (checked) {
366+
ui->saveToFileButton->setText("Stop Writing");
367+
auto fileName = QDir(
368+
QDir::fromNativeSeparators(QStandardPaths::writableLocation(QStandardPaths::DesktopLocation)) +
369+
QString("/DataLogger-%1.csv").arg(QDateTime::currentDateTimeUtc().toString()));
370+
file = new QFile(fileName.path());
371+
file->open(QIODevice::Append | QIODevice::Text);
372+
} else {
373+
ui->saveToFileButton->setText("Write to File");
374+
file->flush();
375+
file->close();
376+
}
377+
378+
isFileOpen = checked;
379+
}
380+

logger.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ private slots:
4949
void on_actionAbout_DataBlogger_triggered();
5050
void on_actionSettings_triggered();
5151
void on_serverButton_toggled(bool checked);
52-
void on_saveToFileButton_clicked();
52+
void on_saveToFileButton_toggled(bool checked);
5353

5454
void serviceStateChanged(QLowEnergyService::ServiceState newState);
5555
void updateWaveValue(const QLowEnergyCharacteristic &info, const QByteArray &value);
@@ -83,6 +83,10 @@ private slots:
8383
QUdpSocket *udpSocket = nullptr;
8484
bool doStream = false;
8585

86+
// For writing data to file
87+
bool isFileOpen = false;
88+
QFile *file = nullptr;
89+
8690
// get the stream frequency
8791
QTimer *timer = nullptr;
8892
quint32 frequencyCounter = 0;

logger.ui

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@
6868
<string/>
6969
</property>
7070
<property name="text">
71-
<string>Save to File</string>
71+
<string>Write to File</string>
72+
</property>
73+
<property name="checkable">
74+
<bool>true</bool>
7275
</property>
7376
</widget>
7477
</item>

0 commit comments

Comments
 (0)