summaryrefslogtreecommitdiff
path: root/src/logging/NrfLogger.cpp
diff options
context:
space:
mode:
authorAvamander <avamander@gmail.com>2020-10-02 18:45:51 (GMT)
committerAvamander <avamander@gmail.com>2020-10-02 18:45:51 (GMT)
commit30c261028e27dab0e30aec19b9c21c37cc74e92b (patch)
treec31a59c2481dd54c7372bab618ff83fa08b3271f /src/logging/NrfLogger.cpp
parente25c4edbcf64a62b6a0555722b289a94aea506d1 (diff)
Renamed Logging/ to logging/
Diffstat (limited to 'src/logging/NrfLogger.cpp')
-rw-r--r--src/logging/NrfLogger.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/logging/NrfLogger.cpp b/src/logging/NrfLogger.cpp
new file mode 100644
index 0000000..7ccacc8
--- /dev/null
+++ b/src/logging/NrfLogger.cpp
@@ -0,0 +1,32 @@
+#include <libraries/log/nrf_log_ctrl.h>
+#include <libraries/log/nrf_log_default_backends.h>
+#include <FreeRTOS.h>
+#include <task.h>
+#include <libraries/log/nrf_log.h>
+#include "NrfLogger.h"
+
+using namespace Pinetime::Logging;
+
+void NrfLogger::Init() {
+ auto result = NRF_LOG_INIT(nullptr);
+ APP_ERROR_CHECK(result);
+
+ NRF_LOG_DEFAULT_BACKENDS_INIT();
+
+ if (pdPASS != xTaskCreate(NrfLogger::Process, "LOGGER", 200, this, 0, &m_logger_thread))
+ APP_ERROR_HANDLER(NRF_ERROR_NO_MEM);
+}
+
+void NrfLogger::Process(void*) {
+ NRF_LOG_INFO("Logger task started!");
+ while (1) {
+ NRF_LOG_FLUSH();
+ vTaskDelay(100); // Not good for power consumption, it will wake up every 100ms...
+ }
+}
+
+void NrfLogger::Resume() {
+ vTaskResume(m_logger_thread);
+}
+
+