# ZephCore - Main Project Configuration # # This file contains ONLY console/logging setup and includes common configs. # Platform-specific configs are in boards/common/_common.conf # Board-specific configs (pins only) are in boards/.conf # # Include hierarchy: # prj.conf (this file - logging/console) # → boards/common/zephcore_common.conf (app features, crypto, sensors) # → boards/common/_common.conf (BLE, flash, storage) # → boards/.conf (pins, board-specific features) # ========== Console & Logging ========== CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_RING_BUFFER=y # Logging subsystem — enabled by default (prod.conf disables with CONFIG_LOG=n). # Log tuning (buffer size, backends, etc.) is in boards/common/logging.conf, # which CMake auto-includes only when prod.conf is NOT active. CONFIG_LOG=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.