Skip to content

Commit 36cb671

Browse files
committed
Use shared unit constants in debug stack
Add `common::units::k1KiB` to centralize KiB conversion and update stack debug output to use shared unit constants (`k1KiB`, `kMsPerSecond`) instead of literals. This also corrects the assertion-gated print branch so detailed stack address output is shown when assertions are enabled.
1 parent a77371a commit 36cb671

3 files changed

Lines changed: 8 additions & 5 deletions

File tree

common/include/common/utils/utils_units.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ inline constexpr uint32_t kUsPerSecond = 1'000'000U;
3636
inline constexpr uint32_t kNsPerUs = 1'000U;
3737
inline constexpr uint32_t kNsPerMs = 1'000'000U;
3838
inline constexpr uint32_t kNsPerSecond = 1'000'000'000U;
39+
40+
inline constexpr uint32_t k1KiB = 1024;
41+
3942
} // namespace common::units
4043

4144
#endif // COMMON_UTILS_UTILS_UNITS_H_

common/include/firmware/debug/debug_stack.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
#include "timing.h"
3434
#include "firmware/debug/debug_config.h"
35+
#include "common/utils/utils_units.h"
3536

3637
extern unsigned char stack_low;
3738
extern unsigned char _sp; // NOLINT
@@ -78,11 +79,11 @@ inline void Print() {
7879
printf("\x1b[34m");
7980
}
8081

81-
if constexpr (!config::kAssertionsEnabled) {
82-
printf("Stack: Size %uKB, [%p:%p:%p], Used: %u, Free: %u [%u]", static_cast<unsigned>(kSizeBytes / 1024U), reinterpret_cast<const void*>(start_address), reinterpret_cast<const void*>(ptr),
82+
if constexpr (config::kAssertionsEnabled) {
83+
printf("Stack: Size %uKB, [%p:%p:%p], Used: %u, Free: %u [%u]", static_cast<unsigned>(kSizeBytes / common::units::k1KiB), reinterpret_cast<const void*>(start_address), reinterpret_cast<const void*>(ptr),
8384
reinterpret_cast<const void*>(end_address), static_cast<unsigned>(kUsedBytes), static_cast<unsigned>(kFreeBytes), static_cast<unsigned>(kFreePct));
8485
} else {
85-
printf("Stack: Size %uKB, Used: %u, Free: %u", static_cast<unsigned>(kSizeBytes / 1024U), static_cast<unsigned>(kUsedBytes), static_cast<unsigned>(kFreeBytes));
86+
printf("Stack: Size %uKB, Used: %u, Free: %u", static_cast<unsigned>(kSizeBytes / common::units::k1KiB), static_cast<unsigned>(kUsedBytes), static_cast<unsigned>(kFreeBytes));
8687
}
8788
printf("\x1b[39m\n");
8889
}
@@ -95,7 +96,7 @@ inline void Run() {
9596

9697
static uint32_t s_millis_previous;
9798
const auto kMillis = timing::Millis();
98-
if (kMillis - s_millis_previous >= 1000U) {
99+
if (kMillis - s_millis_previous >= common::units::kMsPerSecond) {
99100
s_millis_previous = kMillis;
100101
Print();
101102
}

gd32_emac_bootloader/.clangd

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)