2026-08-27 调试完成版本

- FC 控制指令域修正:payload 14→18 字节,纵倾/横倾姿态拆分为数据1/数据2
- WebServer 广播改为待发队列模式,修复 mongoose 跨线程调用问题
- build-board.sh 增加板卡组网说明(/23 掩码方案)、pCCU 服务部署与 mission 同步
- 同步 0824 协议文档更新
This commit is contained in:
zjk
2026-08-27 21:51:36 +08:00
parent 54c32a180a
commit c8becd1f6c
13 changed files with 162 additions and 67 deletions
+38 -2
View File
@@ -23,6 +23,31 @@
#
# 前置: 板卡已配免密 SSH,且有编译环境(cmake/g++/MOOS/jsoncpp),
# 源码已能本地编译(本脚本只负责同步+板卡编译)。
#
# !!!! 板卡网络配置(2026-08-26 联调定型,勿随意修改) !!!!
#
# 板卡与 FC 的组网为"单网卡 + /23 掩码"方案(依据《超滑FC和复合管控器
# 通讯协议-0821》1.1.1:CCU 192.168.0.140/23 <-> FC 192.168.1.162):
#
# enP3p49s0 192.168.0.223/23 (255.255.254.0) <- 唯一业务网口,接交换机
# /23 使 192.168.0.x 与 192.168.1.x 同子网直达,
# FC(192.168.1.162) 无需网关即可互通。
# NM 配置档案: "有线连接 1"(静态 manual,已持久化)
# enP4p65s0 已弃用(旧双网卡方案的 FC 专口,物理链路已断)
# 回环 lo pPowerManger(5001) <-> pCCU(7000) 同机 UDP 互通
#
# 关联端口:
# FC 状态: FC:7000 -> 板卡:6000 (pCCU 监听)
# FC 控制: 板卡:6000 -> FC:7000 (pCCU 发送)
# PM 指令: pPowerManger:5001 -> pCCU:7000 (127.0.0.1,见 PowerManger.h CCUHOST)
# PM 状态: pCCU:7000 -> pPowerManger:5001 (127.0.0.1)
#
# 排障提示:
# - 若收不到 FC 状态,先在板卡上 `ethtool enP3p49s0` 看 Link detected,
# 再 `ping 192.168.1.162`;ping 不通通常是物理链路/交换机问题,
# 不要改回 /24 掩码或启用 enP4p65s0 来"修"网络。
# - 改 IP/掩码须用 `nmcli con mod "有线连接 1" ...` 持久化,
# 并保持掩码 /23。
#=======================================================================
set -uo pipefail
@@ -38,7 +63,7 @@ JOBS=""
DO_START=0
DO_CLEAN=0
SERVICES=(moosdb pPowerManger pPowerMangerHost)
SERVICES=(moosdb pPowerManger pPowerMangerHost pCCU)
info() { printf '\033[1;36m[build-board]\033[0m %s\n' "$*"; }
ok() { printf '\033[1;32m[build-board]\033[0m %s\n' "$*"; }
@@ -92,6 +117,9 @@ rsync -az --delete \
--exclude='bin/' \
--exclude='.git/' \
--exclude='.cache/' \
--exclude='.kilo/' \
--exclude='.vscode/' \
--exclude='docs/' \
--exclude='reports/' \
--exclude='*.log' \
--exclude='*.db' \
@@ -99,6 +127,13 @@ rsync -az --delete \
"${PROJECT_ROOT}/" "${SSH_TARGET}:${BOARD_SRC}/" || { err "rsync 源码失败"; exit 1; }
ok "源码已同步"
if [ -f "${PROJECT_ROOT}/missions/h100.moos" ]; then
info "同步 mission h100.moos ..."
rsync -az "${PROJECT_ROOT}/missions/h100.moos" \
"${SSH_TARGET}:/root/work/h100/missions/" || { err "rsync mission 失败"; exit 1; }
ok "mission 已同步"
fi
#-------------------------------------------------------------------
# 3. 板卡原生编译
#-------------------------------------------------------------------
@@ -137,7 +172,8 @@ info "部署产物到 ${BOARD_BIN}/ ..."
${SSH} "${SSH_TARGET}" "mkdir -p ${BOARD_BIN} && \
cp -f ${BOARD_SRC}/bin/pPowerManger ${BOARD_BIN}/pPowerManger && \
cp -f ${BOARD_SRC}/bin/pPowerMangerHost ${BOARD_BIN}/pPowerMangerHost && \
chmod +x ${BOARD_BIN}/pPowerManger ${BOARD_BIN}/pPowerMangerHost" \
cp -f ${BOARD_SRC}/bin/pCCU ${BOARD_BIN}/pCCU && \
chmod +x ${BOARD_BIN}/pPowerManger ${BOARD_BIN}/pPowerMangerHost ${BOARD_BIN}/pCCU" \
|| { err "部署产物失败"; exit 1; }
ok "产物已部署"