From e2557f811cac84037e2d8f642881687aa68a550a Mon Sep 17 00:00:00 2001 From: swym <0xfd000000@gmail.com> Date: Sat, 24 Aug 2019 07:00:09 +0000 Subject: [PATCH] feat(epicardium): Improve error logging --- epicardium/modules/hw-lock.c | 16 ++++++++++++++-- epicardium/modules/pmic.c | 6 +++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/epicardium/modules/hw-lock.c b/epicardium/modules/hw-lock.c index f02a5882..cc9986ec 100644 --- a/epicardium/modules/hw-lock.c +++ b/epicardium/modules/hw-lock.c @@ -25,13 +25,25 @@ int hwlock_acquire(enum hwlock_periph p, TickType_t wait) if (p >= _HWLOCK_MAX) { return -EINVAL; } + TaskHandle_t task = xTaskGetCurrentTaskHandle(); if (xSemaphoreTake(hwlock_mutex[p], wait) != pdTRUE) { - LOG_WARN("hwlock", "Lock %u is busy.", p); + LOG_WARN( + "hwlock", + "Lock %u is busy, held by: %s, attempt to accquire by: %s", + p, + pcTaskGetName(hwlock_tasks[p]), + pcTaskGetName(task) + ); + LOG_DEBUG( + "hwlock", + "...attempted to lock from pc %p", + __builtin_return_address(0) + ); return -EBUSY; } - hwlock_tasks[p] = xTaskGetCurrentTaskHandle(); + hwlock_tasks[p] = task; return 0; } diff --git a/epicardium/modules/pmic.c b/epicardium/modules/pmic.c index 093e97ec..89365ffb 100644 --- a/epicardium/modules/pmic.c +++ b/epicardium/modules/pmic.c @@ -16,6 +16,7 @@ #include "timers.h" #include <stdio.h> +#include <string.h> /* Task ID for the pmic handler */ static TaskHandle_t pmic_task_id = NULL; @@ -207,7 +208,10 @@ static void pmic_check_battery() res = pmic_read_amux(PMIC_AMUX_BATT_U, &u_batt); if (res < 0) { - LOG_ERR("pmic", "Failed reading battery voltage: %d", res); + LOG_ERR("pmic", + "Failed reading battery voltage: %s (%d)", + strerror(-res), + res); return; } -- GitLab