mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 10:53:17 +00:00
- `TT_LOG_*` macros are replaced by `Logger` via `#include<Tactility/Logger.h>` - Changed default timezone to Europe/Amsterdam - Fix for logic bug in unPhone hardware - Fix for init/deinit in DRV2605 driver - Other fixes - Removed optimization that broke unPhone (disabled the moving of heap-related functions to flash)
41 lines
1.3 KiB
C++
41 lines
1.3 KiB
C++
#include <Tactility/Check.h>
|
|
|
|
#include <Tactility/Logger.h>
|
|
#include <Tactility/freertoscompat/Task.h>
|
|
|
|
static const auto LOGGER = tt::Logger("kernel");
|
|
|
|
static void logMemoryInfo() {
|
|
#ifdef ESP_PLATFORM
|
|
LOGGER.error("default caps:");
|
|
LOGGER.error(" total: {}", heap_caps_get_total_size(MALLOC_CAP_DEFAULT));
|
|
LOGGER.error(" free: {}", heap_caps_get_free_size(MALLOC_CAP_DEFAULT));
|
|
LOGGER.error(" min free: {}", heap_caps_get_minimum_free_size(MALLOC_CAP_DEFAULT));
|
|
LOGGER.error("internal caps:");
|
|
LOGGER.error(" total: {}", heap_caps_get_total_size(MALLOC_CAP_INTERNAL));
|
|
LOGGER.error(" free: {}", heap_caps_get_free_size(MALLOC_CAP_INTERNAL));
|
|
LOGGER.error(" min free: {}", heap_caps_get_minimum_free_size(MALLOC_CAP_INTERNAL));
|
|
#endif
|
|
}
|
|
|
|
static void logTaskInfo() {
|
|
const char* name = pcTaskGetName(nullptr);
|
|
const char* safe_name = name ? name : "main";
|
|
LOGGER.error("Task: {}", safe_name);
|
|
LOGGER.error("Stack watermark: {}", uxTaskGetStackHighWaterMark(NULL) * 4);
|
|
}
|
|
|
|
namespace tt {
|
|
|
|
TT_NORETURN void _crash() {
|
|
logTaskInfo();
|
|
logMemoryInfo();
|
|
// TODO: Add breakpoint when debugger is attached.
|
|
#ifdef ESP_PLATFORM
|
|
esp_system_abort("System halted. Connect debugger for more info.");
|
|
#endif
|
|
__builtin_unreachable();
|
|
}
|
|
|
|
}
|