ref: 0ce98c7ac7ba66acaf504be9bb042796e12f2733
src/logging/NrfLogger.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include "NrfLogger.h" #include <libraries/log/nrf_log.h> #include <libraries/log/nrf_log_ctrl.h> #include <libraries/log/nrf_log_default_backends.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!"); // Suppress endless loop diagnostic #pragma clang diagnostic push #pragma ide diagnostic ignored "EndlessLoop" while (true) { NRF_LOG_FLUSH(); vTaskDelay(100); // Not good for power consumption, it will wake up every 100ms... } // Clear diagnostic suppression #pragma clang diagnostic pop } void NrfLogger::Resume() { vTaskResume(m_logger_thread); } |