Files
H100PowerManger/src/pCCU/CMakeLists.txt
T
zjk 0639b5904d pCCU 新增真实CCU配电桥接(rcu链路原帧透传+网页显示)并适配板卡端口拓扑
- protocol/DisProtocol: 配电协议8条消息(指令0x0001~4/反馈0x0005~8, Sum8),复用pmSysvariable结构体+static_assert核对
- ChecksumPolicy 新增 Sum8;Frame 支持 1 字节校验和
- MessageRegistry 支持 (id+帧总长) 二维查找:配电指令与PM操控指令共用id按帧长区分(帧头length字段不可信)
- LinkManager: 按实际帧长分发 + sendRaw原帧透传 + 非本协议帧头落库节流告警;UdpEndpoint sendTo 加锁
- comm/RcuLinkManager: 真实CCU链路;core/DisBridge: 配电桥接器(反馈转pPowerManger+解码显示,指令转真实CCU,0x0004仅显示不转发)
- 网页新增"真实CCU"页签全字段展示;SnapshotBuilder realCcu 节 + rcu 链路描述
- h100.moos: 端口腾挪(真实CCU固定上报5001归pCCU,pPowerManger iport=5002),rcu_remote=192.168.0.140:7000
- 测试: pccuTest 新增配电/Sum8/长度分发/RCU注册表用例(176项);集成测试新增桥接字节一致+不误转发用例
2026-09-01 15:06:11 +08:00

81 lines
1.4 KiB
CMake

#--------------------------------------------------------
# The CMakeLists.txt for: pCCU
# 复合管控器网关:FC <-> pPowerManger,配电桥接 <-> 真实CCU
#--------------------------------------------------------
if (${WIN32})
SET(SYSTEM_LIBS wsock32)
else (${WIN32})
SET(SYSTEM_LIBS m pthread)
endif (${WIN32})
# 复用仓库内 pPowerManger 的公共源码(相对路径引用,避免重复维护)
SET(PM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../pPowerManger)
SET(SHARED_SRC
${PM_DIR}/logc/loguru.cpp
${PM_DIR}/sqlit3/sqlite3.c
${PM_DIR}/httpserver/mongoose.c
)
SET(CCU_PROTOCOL_SRC
protocol/Frame.cpp
protocol/Message.cpp
protocol/MessageRegistry.cpp
protocol/FcProtocol.cpp
protocol/PmProtocol.cpp
protocol/DisProtocol.cpp
protocol/CanBms.cpp
)
SET(CCU_COMM_SRC
comm/UdpEndpoint.cpp
comm/LinkManager.cpp
)
SET(CCU_CORE_SRC
core/SnapshotBuilder.cpp
core/PowerCoordinator.cpp
core/CoordFsm.cpp
core/DisBridge.cpp
)
SET(CCU_STORE_SRC
store/DbStore.cpp
)
SET(CCU_WEB_SRC
web/WebServer.cpp
)
SET(SRC
${SHARED_SRC}
${CCU_PROTOCOL_SRC}
${CCU_COMM_SRC}
${CCU_CORE_SRC}
${CCU_STORE_SRC}
${CCU_WEB_SRC}
CCU.cpp
CCU_Info.cpp
main.cpp
)
ADD_EXECUTABLE(pCCU ${SRC})
TARGET_INCLUDE_DIRECTORIES(pCCU PRIVATE
${PM_DIR}
${PM_DIR}/sqlit3
${PM_DIR}/httpserver
${PM_DIR}/logc
)
TARGET_LINK_LIBRARIES(pCCU
${MOOS_LIBRARIES}
apputil
mbutil
m
pthread
jsoncpp
dl
${SYSTEM_LIBS}
)