5 Commits
Author SHA1 Message Date
crosstyan 6a578ebbe4 docs: capitalize the Mcwhirter project name
Use the current Mcwhirter codename in the shared fleet overview while preserving the upstream Bannister and Brasher rename.
2026-08-03 18:47:50 +08:00
crosstyan 9200088b2f docs: rename fleet repos to Iffley Road codenames
bannister (band), brasher (radio hub), mcwhirter (gateway),
chataway (track core), iffley (LED node).
2026-07-30 19:07:01 +08:00
crosstyan 87e11418a8 refactor(utils): include <cstddef>/<type_traits> used by as_bytes
The as_bytes overloads use std::byte/std::size_t (<cstddef>) and
std::is_trivially_copyable_v (<type_traits>); after the earlier include trim
these compiled only via transitive <span> includes on the fleet's libstdc++.
Include them directly (include-what-you-use).
2026-07-16 00:49:40 +08:00
crosstyan 1da86dd657 refactor(utils): trim unused helpers, make deferrer allocation-free
Remove app::utils helpers with zero fleet call sites after the app_common
merge (as_u8s, hexdump, add_overflow/overflow_error, try_get/try_get_ref,
constrain_value_in_range_static — a template-bounds reimplementation of
std::clamp) and the unused app_clock milliseconds alias. This drops several
heavy includes from a header every consumer compiles.

Rewrite deferrer as a stdlib scope guard that owns the callable directly
(template<F>, non-copyable/non-movable) instead of type-erasing through
std::move_only_function/std::function, so it never heap-allocates. The 3
call sites (band max32664d) are unchanged via CTAD.
2026-07-15 22:32:04 +08:00
crosstyanandClaude Fable 5 c948c7565c feat: unify app_utils/app_clock headers shared by the fleet
Merged from the three drifted hand-copies in TrackBackFwd, healthy-band-nrf
and zephyr_gateway_fwd:
- as_u8s(T&) overloads and deferrer (band/hub side)
- hexdump, add_overflow, constrain_value_in_range_static, to_mac_string
  (TrackBackFwd side)
- add_overflow now returns std::expected directly instead of the app_result
  alias; to_mac_string guarded by __cpp_lib_format for GCC 12 toolchains
- app_clock.hpp now() selects k_uptime_ticks / esp_timer_get_time via
  __ZEPHYR__ / ESP_PLATFORM; fixed doc comment (microseconds, not ms)
- dropped vestigial esp_err.h/esp_system.h/FreeRTOS.h includes

Dual build glue: ESP-IDF component (root CMakeLists) + Zephyr module (zephyr/).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 15:30:28 +08:00