soc_log.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * SPDX-FileCopyrightText: 2016-2021 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include "esp_rom_sys.h"
  8. /**
  9. * @file soc_log.h
  10. * @brief SOC library logging functions
  11. *
  12. * To make SOC library compatible with environments which don't use ESP-IDF,
  13. * this header file provides wrappers for logging functions.
  14. */
  15. #ifdef ESP_PLATFORM
  16. #include "esp_log.h"
  17. #define SOC_LOGE(tag, fmt, ...) ESP_EARLY_LOGE(tag, fmt, ##__VA_ARGS__)
  18. #define SOC_LOGW(tag, fmt, ...) ESP_EARLY_LOGW(tag, fmt, ##__VA_ARGS__)
  19. #define SOC_LOGI(tag, fmt, ...) ESP_EARLY_LOGI(tag, fmt, ##__VA_ARGS__)
  20. #define SOC_LOGD(tag, fmt, ...) ESP_EARLY_LOGD(tag, fmt, ##__VA_ARGS__)
  21. #define SOC_LOGV(tag, fmt, ...) ESP_EARLY_LOGV(tag, fmt, ##__VA_ARGS__)
  22. #else
  23. #include "sdkconfig.h"
  24. #ifdef CONFIG_IDF_TARGET_ESP32
  25. #include "esp32/rom/ets_sys.h" // will be removed in idf v5.0
  26. #elif CONFIG_IDF_TARGET_ESP32S2
  27. #include "esp32s2/rom/ets_sys.h"
  28. #elif CONFIG_IDF_TARGET_ESP32S3
  29. #include "esp32s3/rom/ets_sys.h"
  30. #elif CONFIG_IDF_TARGET_ESP32C3
  31. #include "esp32c3/rom/ets_sys.h"
  32. #elif CONFIG_IDF_TARGET_ESP32H2
  33. #include "esp32h2/rom/ets_sys.h"
  34. #endif
  35. #define SOC_LOGE(tag, fmt, ...) esp_rom_printf("%s(err): " fmt, tag, ##__VA_ARGS__)
  36. #define SOC_LOGW(tag, fmt, ...) esp_rom_printf("%s(warn): " fmt, tag, ##__VA_ARGS__)
  37. #define SOC_LOGI(tag, fmt, ...) esp_rom_printf("%s(info): " fmt, tag, ##__VA_ARGS__)
  38. #define SOC_LOGD(tag, fmt, ...) esp_rom_printf("%s(dbg): " fmt, tag, ##__VA_ARGS__)
  39. #define SOC_LOGV(tag, fmt, ...) esp_rom_printf("%s: " fmt, tag, ##__VA_ARGS__)
  40. #endif //ESP_PLATFORM