Compare commits

..

2 commits

Author SHA1 Message Date
Joe Kearney
3d87f2b530 Cleanup. 2026-01-10 15:59:31 -06:00
Joe Kearney
e62f243e86 Added log level configuration to Kconfig. 2026-01-08 21:37:49 -06:00
4 changed files with 72 additions and 21 deletions

View file

@ -72,3 +72,10 @@ idf_component_register(
"Settings"
"States"
)
# This ensures LOG_LOCAL_LEVEL is defined before any header files are included.
idf_build_set_property(COMPILE_DEFINITIONS
"-DLOG_LOCAL_LEVEL=${CONFIG_SYSTEMK_LOG_LEVEL}"
APPEND
)

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

View file

@ -24,8 +24,10 @@
#include "SystemK.h"
// #define DEBUG_PACKET_ENCODE
#define DEBUG_PACKET_DECODE
// Use these defines to enable detailed debug logging of packet encoding and decoding on the PSoC platform.
// Debug logging is always available on the ESP32 platform, and can be configured with the console.
//#define PSoC_DEBUG_PACKET_ENCODE
//#define PSoC_DEBUG_PACKET_DECODE
static const char *KLOG_TAG = "Protocols";
@ -220,10 +222,15 @@ TimedPulseTrain_T *PROTOCOLS_EncodePacket(TagPacket_T *packet)
break;
}
#ifdef DEBUG_PACKET_ENCODE
#if ((defined PSoC_DEBUG_PACKET_ENCODE) || (defined ESP_PLATFORM))
#ifdef ESP_PLATFORM
if (esp_log_level_get(KLOG_TAG) >= ESP_LOG_DEBUG)
#endif // ESP_PLATFORM
{
KLOG_DEBUG(KLOG_TAG, "\nEncoded %s packet (%u):", ProtocolNameAsString(packet->protocol), result->count);
PrintPulseTrainToConsole(result);
#endif // DEBUG_PACKET_ENCODE
}
#endif // ((defined PSoC_DEBUG_PACKET_ENCODE) || (defined ESP_PLATFORM))
return result;
}
@ -328,7 +335,13 @@ DecodedPacket_T *PROTOCOLS_MaybeDecodePacket(TimedPulseTrain_T *packet)
result = TEST_MaybeDecodePacket(packet);
}
#ifdef DEBUG_PACKET_DECODE
#if ((defined PSoC_DEBUG_PACKET_DECODE) || (defined ESP_PLATFORM))
#ifdef ESP_PLATFORM
if (esp_log_level_get(KLOG_TAG) >= ESP_LOG_DEBUG)
#endif // ESP_PLATFORM
{
vTaskDelay(pdMS_TO_TICKS(10));
if (result != NULL)
{
KLOG_DEBUG(KLOG_TAG, "Successfully decoded packet as %s: %s", DecodedPacketTypeAsString(result->Generic.type), ProtocolNameAsString(result->Generic.protocol));
@ -347,7 +360,8 @@ DecodedPacket_T *PROTOCOLS_MaybeDecodePacket(TimedPulseTrain_T *packet)
PrintPulseTrainToConsole(packet);
}
#endif // DEBUG_PACKET_DECODE
}
#endif // ((defined PSoC_DEBUG_PACKET_DECODE) || (defined ESP_PLATFORM))
// Remember which receiver saw the packet.
if (result != NULL)

View file

@ -118,12 +118,12 @@ DecodedPacket_T *TEST_MaybeDecodePacket(TimedPulseTrain_T *packet)
if (packet->bitstream[index].duration < (expected_pulse_duration_in_us - TEST_TOLERANCE_IN_us))
{
KLOG_WARN(KLOG_TAG, "Pulse %u is too short! Expected %lu; received %u.", index, expected_pulse_duration_in_us, packet->bitstream[index].duration);
KLOG_DEBUG(KLOG_TAG, "Pulse %u is too short! Expected %lu; received %u.", index, expected_pulse_duration_in_us, packet->bitstream[index].duration);
return NULL;
}
if (packet->bitstream[index].duration > (expected_pulse_duration_in_us + TEST_TOLERANCE_IN_us))
{
KLOG_WARN(KLOG_TAG, "Pulse %u is too long! Expected %lu; received %u.", index, expected_pulse_duration_in_us, packet->bitstream[index].duration);
KLOG_DEBUG(KLOG_TAG, "Pulse %u is too long! Expected %lu; received %u.", index, expected_pulse_duration_in_us, packet->bitstream[index].duration);
return NULL;
}
}