mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-09-01 23:08:19 +00:00
553b71c made production the default but broke configure+link:
- ZEPHCORE_COMPANION_USB sat inside the role choice (recursive dep)
- CONFIG_RESET_ON_FATAL_ERROR was an undefined, unimplemented symbol
- USB companion sources still gated on CONFIG_LOG, not ZEPHCORE_USB_STACK
Move the USB toggle out of the choice, add a real
ZEPHCORE_RESET_ON_FATAL_ERROR Kconfig + k_sys_fatal_error_handler that
cold-reboots, and match the CMake USB guard to ZEPHCORE_USB_STACK.
37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
# ZephCore - Main Project Configuration
|
|
#
|
|
# This file contains ONLY console/logging setup and includes common configs.
|
|
# Platform-specific configs are in boards/common/<platform>_common.conf
|
|
# Board-specific configs (pins only) are in boards/<board>.conf
|
|
#
|
|
# Include hierarchy:
|
|
# prj.conf (this file - logging/console)
|
|
# → boards/common/zephcore_common.conf (app features, crypto, sensors)
|
|
# → boards/common/<platform>_common.conf (BLE, flash, storage)
|
|
# → boards/<board>.conf (pins, board-specific features)
|
|
|
|
# ========== Console & Logging ==========
|
|
CONFIG_CONSOLE=y
|
|
CONFIG_UART_CONSOLE=y
|
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
|
CONFIG_RING_BUFFER=y
|
|
|
|
# Production by default — add boards/common/debug.conf to enable logging.
|
|
CONFIG_LOG=n
|
|
CONFIG_ASSERT=n
|
|
CONFIG_USE_SEGGER_RTT=n
|
|
CONFIG_THREAD_NAME=n
|
|
|
|
# Reboot on any fatal error (stack overflow, hard fault, etc.) instead of
|
|
# spinning forever. Asserts are disabled so they won't reach here, but all
|
|
# other fatal paths (k_panic, CPU exceptions) still get a clean reboot.
|
|
CONFIG_ZEPHCORE_RESET_ON_FATAL_ERROR=y
|
|
|
|
# ========== Power Management ==========
|
|
# Note: nRF52840 automatically uses WFI (Wait For Interrupt) in idle thread.
|
|
# Power savings come from event-driven design: CPU sleeps in WFI whenever
|
|
# k_event_wait() blocks. GPS standby uses GPIO power control (not PM_DEVICE).
|
|
# CONFIG_PM_DEVICE intentionally DISABLED — it enables SYSTEM_MANAGED PM which
|
|
# auto-suspends all devices (including GNSS) during idle, calling modem_chat
|
|
# from an unexpected context and potentially deadlocking the system.
|