mp_flipper_logging.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <furi.h>
  2. #include <mp_flipper_logging.h>
  3. #include <mp_flipper_runtime.h>
  4. #include "mp_flipper_context.h"
  5. static inline FuriLogLevel decode_log_level(uint8_t level) {
  6. switch(level) {
  7. case MP_FLIPPER_LOG_LEVEL_TRACE:
  8. return FuriLogLevelTrace;
  9. break;
  10. case MP_FLIPPER_LOG_LEVEL_DEBUG:
  11. return FuriLogLevelDebug;
  12. break;
  13. case MP_FLIPPER_LOG_LEVEL_INFO:
  14. return FuriLogLevelInfo;
  15. break;
  16. case MP_FLIPPER_LOG_LEVEL_WARN:
  17. return FuriLogLevelWarn;
  18. break;
  19. case MP_FLIPPER_LOG_LEVEL_ERROR:
  20. return FuriLogLevelError;
  21. break;
  22. default:
  23. return FuriLogLevelDefault;
  24. break;
  25. }
  26. }
  27. uint8_t mp_flipper_log_get_level() {
  28. mp_flipper_context_t* ctx = mp_flipper_context;
  29. return ctx->log_level;
  30. }
  31. void mp_flipper_log_set_level(uint8_t level) {
  32. mp_flipper_context_t* ctx = mp_flipper_context;
  33. ctx->log_level = level;
  34. }
  35. void mp_flipper_log(uint8_t raw_level, const char* message) {
  36. FuriLogLevel level = decode_log_level(raw_level);
  37. furi_log_print_format(level, "uPython", message);
  38. }