Added support for configurable logging on the ESP32 platform. (#10)

Because the ESP-IDF supports [runtime log level control](https://docs.espressif.com/projects/esp-idf/en/v5.5.2/esp32s3/api-reference/system/log.html#log-level-control), SystemK required some tweak to take full advantage of this.

This PR makes the following changes to SystemK:
- On the ESP32 platform, the highest logging level *compiled in* to the app is now controlable by Kconfig, as "SystemK maximum log level".
- [Protocols.c](272618d49d/Protocols/Protocols.c) was refactored, and the `DEBUG_PACKET_[EN/DE]CODE` #defines were renamed to make it clear that they now only apply to the PSoC platform.
- Some decoding warnings in the Test Protocol were downgraded to debug, since they were a nuisance most of the time.

Co-authored-by: Joe Kearney <joe@clubk.club>
Reviewed-on: #10
This commit is contained in:
Joe Kearney 2026-01-10 22:25:50 +00:00
parent f80cb59828
commit c4350ebd27
5 changed files with 75 additions and 29 deletions

30
Kconfig
View file

@ -35,4 +35,34 @@ menu "KTag SystemK"
help
Value of audio volume representing the minimum volume possible for this device.
config SYSTEMK_LOG_LEVEL
int
default 0 if SYSTEMK_LOG_LEVEL_NONE
default 1 if SYSTEMK_LOG_LEVEL_ERROR
default 2 if SYSTEMK_LOG_LEVEL_WARN
default 3 if SYSTEMK_LOG_LEVEL_INFO
default 4 if SYSTEMK_LOG_LEVEL_DEBUG
default 5 if SYSTEMK_LOG_LEVEL_VERBOSE
choice SYSTEMK_LOG_LEVEL_CHOICE
bool "SystemK maximum log level"
default SYSTEMK_LOG_LEVEL_VERBOSE
help
Set the maximum compiled log level for SystemK.
Messages at higher levels will be removed at compile time.
config SYSTEMK_LOG_LEVEL_NONE
bool "No output"
config SYSTEMK_LOG_LEVEL_ERROR
bool "Error"
config SYSTEMK_LOG_LEVEL_WARN
bool "Warning"
config SYSTEMK_LOG_LEVEL_INFO
bool "Info"
config SYSTEMK_LOG_LEVEL_DEBUG
bool "Debug"
config SYSTEMK_LOG_LEVEL_VERBOSE
bool "Verbose"
endchoice
endmenu