feat: 链路控制、延迟校准与长测工具,补全文档
构建客户端 / 检查(类型 + 单元测试) (push) Canceled after 0s
构建客户端 / Linux x64(deb + AppImage) (push) Canceled after 0s
构建客户端 / Windows x64(NSIS 安装包) (push) Canceled after 0s
构建客户端 / macOS 通用(.app + .dmg) (push) Canceled after 0s

- 固件:新增 link_control / stream_control,覆盖运行中 Wi-Fi 断线恢复、取帧节拍、
  温控与质量/帧率减载;UDP 发送增加有界重试预算与帧期限,PSRAM JPEG 直发减少拷贝。
- 协议:重组器严格校验分片布局,统计未收齐、超时与完全缺失的帧,处理帧号回绕与设备重启。
- 桌面端:视频改 latest-value 通道并前置帧时间标记,拒绝积压和慢解码的过期画面;新增
  延迟标记页与 --latency-report 校准,完善录制、服务端与退出流程。
- 文档与脚本:新增硬件、开发、延迟、功耗、实时性、稳定性文档和改动记录,重写根 README;
  新增构建、性能、延迟与串口长测脚本,以及长测客户端脚本。
- 构建:固定 esp-1.97.0.0 工具链,分区表随构建复制,更新 sdkconfig 与忽略规则。
This commit is contained in:
2026-10-19 00:19:07 +08:00
parent 4794bed2cf
commit cc6b82d7ec
60 changed files with 4347 additions and 655 deletions
+9 -5
View File
@@ -1,14 +1,18 @@
#!/usr/bin/env bash
# Builds the firmware with the credentials from .env (see .env.example).
#
# ESP-IDF location comes from .cargo/config.toml (IDF_PATH /
# ESP_IDF_TOOLS_INSTALL_DIR), so no ESP-IDF activation is needed here as long as
# those point at an installation you already have. Drop them to let esp-idf-sys
# fetch its own pinned ESP-IDF.
# esp-idf-sys downloads the pinned ESP-IDF automatically. Set IDF_PATH in the
# environment to reuse an existing installation (see README.md).
set -euo pipefail
cd "$(dirname "$0")/.."
# Resolve the SDK defaults/components from this repository even when the build
# cache is elsewhere, and copy the partition table into the CMake project.
export CARGO_WORKSPACE_DIR="$PWD"
export ESP_IDF_GLOB_BASE="$PWD"
export ESP_IDF_GLOB_PARTITIONS="partitions.csv"
if [ -f .env ]; then
set -a
# shellcheck disable=SC1091
@@ -19,4 +23,4 @@ fi
: "${WIFI_SSID:?set WIFI_SSID in .env (or export it) before building}"
export WIFI_PASS="${WIFI_PASS:-}"
cargo build --release "$@"
cargo build --release --locked "$@"