Skip to content

Commit 7d76ac5

Browse files
committed
Move SD sync into GNSS handler
1 parent 900f937 commit 7d76ac5

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

Firmware/RTK_Surveyor/Tasks.ino

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,22 @@ void handleGNSSDataTask(void *e)
302302

303303
fileSize = ubxFile->fileSize(); //Get updated filed size
304304

305+
//Force file sync every 60s
306+
if (millis() - lastUBXLogSyncTime > 60000)
307+
{
308+
if (productVariant == RTK_SURVEYOR)
309+
digitalWrite(pin_baseStatusLED, !digitalRead(pin_baseStatusLED)); //Blink LED to indicate logging activity
310+
311+
ubxFile->sync();
312+
updateDataFileAccess(ubxFile); // Update the file access time & date
313+
if (productVariant == RTK_SURVEYOR)
314+
digitalWrite(pin_baseStatusLED, !digitalRead(pin_baseStatusLED)); //Return LED to previous state
315+
316+
lastUBXLogSyncTime = millis();
317+
}
318+
319+
long endTime = millis();
320+
305321
if (settings.enablePrintBufferOverrun)
306322
{
307323
if (endTime - startTime > 150)
@@ -311,9 +327,12 @@ void handleGNSSDataTask(void *e)
311327
xSemaphoreGive(sdCardSemaphore);
312328

313329
//Account for the sent data or dropped
314-
sdTail += sdBytesToRecord;
315-
if (sdTail >= settings.gnssHandlerBufferSize)
316-
sdTail -= settings.gnssHandlerBufferSize;
330+
if (sdBytesToRecord > 0)
331+
{
332+
sdTail += sdBytesToRecord;
333+
if (sdTail >= settings.gnssHandlerBufferSize)
334+
sdTail -= settings.gnssHandlerBufferSize;
335+
}
317336
} //End sdCardSemaphore
318337
else
319338
{

0 commit comments

Comments
 (0)