Public Access
Debug Builds: the console over Wi-Fi (Debug Console, TCP 2323)
cardputer-adv-debug (-DRORO_DEBUG, version +debug) adds a Debug Console: after a token line, a client gets the last 6 KB of console output, live lines (ESP-IDF logs included) and the serial commands. The socket task only queues lines; the main loop runs them. Release builds compile none of it. The token lives in ~/.config/roro9stack/debug-token, created by _docker.sh and passed into the container. All output now goes through `console`, which never waits for USB: a host that was attached but not reading stalled the main loop up to 2 s per line. New commands everywhere: info (slots with their versions from NVS, since the framework stamps its own into each image), tasks, reboot, boot other, log level, help. scripts/rdbg.py is the client; flash.sh --debug builds it; CI builds both variants. ADR 0004. Verified on the device: USB-flashed, then updated over Wi-Fi to a Debug Build that confirmed on Probation; both slots hold Debug Builds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "platform/identity.h"
|
||||
#include "platform/ota_device.h"
|
||||
#include "platform/system_info.h"
|
||||
#include "probation.h"
|
||||
#include "update_parser.h"
|
||||
#include "version.h"
|
||||
@@ -95,6 +96,7 @@ void UpdateService::bootGuard(KeyValueStore& store) {
|
||||
esp_ota_img_states_t state;
|
||||
bool probation = esp_ota_get_state_partition(esp_ota_get_running_partition(), &state) == ESP_OK &&
|
||||
state == ESP_OTA_IMG_PENDING_VERIFY;
|
||||
system_info::recordSlotVersion(store, esp_ota_get_running_partition(), versionString());
|
||||
int32_t attempts = 0;
|
||||
store.getInt("ota_attempts", attempts);
|
||||
if (Probation::rollBackAtBoot(probation, attempts)) {
|
||||
@@ -156,6 +158,7 @@ void UpdateService::install(UpdateSource& source, const char* via) {
|
||||
|
||||
if (ok) {
|
||||
store_.putString("ota_pending", parser.version());
|
||||
system_info::recordSlotVersion(store_, esp_ota_get_boot_partition(), parser.version().c_str());
|
||||
store_.putString("ota_from", versionString());
|
||||
source.reply("OK " + parser.version() + (parser.isDowngrade() ? " (older than the installed one)" : ""));
|
||||
notify("Update " + parser.version() + " installed (" + via + "), restarting", NotificationLevel::Info);
|
||||
|
||||
Reference in New Issue
Block a user