From 7af9b7ecb4c407fbbdef5912bd47ab6b80fca6cc Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Mon, 8 Jun 2020 15:09:50 +0200 Subject: [PATCH] feat(ble): Rotate log --- epicardium/ble/ble.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/epicardium/ble/ble.c b/epicardium/ble/ble.c index e678739a6..5f5ffda19 100644 --- a/epicardium/ble/ble.c +++ b/epicardium/ble/ble.c @@ -309,7 +309,30 @@ static void ble_log_flush(void) } } } +static void ble_log_rotate(void) +{ + int i; + char filename_old[16]; + char filename_new[16]; + struct epic_stat stat; + + if (epic_file_stat("ble9.log", &stat) == 0) { + epic_file_unlink("ble9.log"); + } + for(i=8; i>0; i--) { + sprintf(filename_old, "ble%d.log", i); + sprintf(filename_new, "ble%d.log", i+1); + + if (epic_file_stat(filename_old, &stat) == 0) { + epic_file_rename(filename_old, filename_new); + } + } + + if (epic_file_stat("ble.log", &stat) == 0) { + epic_file_rename("ble.log", "ble1.log"); + } +} /*************************************************************************************************/ void vBleTask(void *pvParameters) { @@ -320,6 +343,7 @@ void vBleTask(void *pvParameters) */ vTaskDelay(pdMS_TO_TICKS(500)); + ble_log_rotate(); log_fd = epic_file_open("ble.log", "w"); epic_file_write(log_fd, log_header, sizeof(log_header)); /* We are going to execute FreeRTOS functions from callbacks -- GitLab