feat: Service Registry + Bridge 解耦架构 + 全工程代码清理
## 架构升级:Service Registry + Bridge 模式 - 新增 PluginSDK/IPluginServices.h:10 个纯虚服务接口(IDataProvider/ILinkProvider/...) - 新增 MavLinkServiceBridge:单 QObject 实现全部服务,隔离 MavLinkNode 依赖 - 升级 PluginManifest:支持 plugin.json 的 provides/consumes 声明式依赖 - 实现 ExtensionHost::autoWire():元对象自省自动连接信号槽 - 集成到 AppController:initModules() 中创建桥接器并注册到 ServiceRegistry - CockpitPlugin 演示服务发现:initialize() 中通过 PluginContext 查找服务 ## 代码清理 - Plugins/opmap:~280 行死代码(waypointsetting 100行注释块/tilematrix 54行/等27个文件) - Plugins/MavLinkNode:~200 行 GBK 乱码注释翻译为 UTF-8 + 12 行注释死代码 - Plugins/ToolsUI:~222 行死代码(ECU.cpp 82行/INS.cpp 113行/Parse/ToolsUI 等) - StatusUI/Setting/MissionUI:~65 行注释死代码 - Cockpit/leftladder.cpp:10 处 GBK 乱码翻译为中文 - 清理头文件注释掉的 #include(19 处)、空 if-else 分支、注释变量声明 ## 编译验证 - [100%] Built target GCS 零错误 - 运行时 timeout 3s 正常退出,无崩溃
This commit is contained in:
@@ -0,0 +1,243 @@
|
||||
# 已完成
|
||||
* <b>航点下载经纬度超限要处理</b>
|
||||
|
||||
# 想法
|
||||
|
||||
* 将界面拖出做成库
|
||||
* 界面内的设置做成统一的接口,也做成库
|
||||
* mavlink解析模仿nspector,做一个自动解析
|
||||
* 设置界面模仿vscode的解析,支持ui和json,并且是下滑式
|
||||
* 多航线任务
|
||||
* 声音可以配置
|
||||
* 航线平移
|
||||
|
||||
* 航点经纬度显示
|
||||
* 连接界面需要早点完善
|
||||
* 姿态显示,搞成一个一个模块,这样好响应鼠标事件
|
||||
|
||||
* 工具箱的接口采用安装的方式,这样可以导入和管理不同的工具
|
||||
* 参数出现unknown是因为*char引起的
|
||||
|
||||
|
||||
# 参数设置
|
||||
|
||||
* 串口连接
|
||||
* udp连接
|
||||
* 地面站ID设置
|
||||
* 地图选择
|
||||
* 地图缓存地址
|
||||
* 指令文件地址
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 优先
|
||||
|
||||
|
||||
* √等级告警
|
||||
* √界面全部中文(所有说明)
|
||||
* √文本显示白色,按键显示棕色
|
||||
* √导航显示
|
||||
* √小数点全部显示一位
|
||||
* √颜色饱和度降低
|
||||
* √按键颜色
|
||||
* √绿色#98FB98
|
||||
* √红色#EE9572
|
||||
* √警示:正色
|
||||
* √弹出日志界面
|
||||
* √连接界面读取上一次没有做好
|
||||
|
||||
|
||||
| xxx | cmd | par1 | par2 | par3 | par4 | par5 | par6 | par7 |
|
||||
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|
||||
| 纵向自动驾驶模式 | 180 | 1 | 1自动航线/2强制升降速率/3强制航迹角/4强制空速/5强制高度/6强制相对高度 | | | | | |
|
||||
| 速度模式选择 | 180 | 2 | 0表速/1真空速/2马赫数/3快升速度/4下滑速度 | | | | | |
|
||||
| BMU | 180 | 102 | bool | doc | doc | | | |
|
||||
| ECU | 180 | 103 | doc | doc | | | | |
|
||||
| CCM | 180 | 104 | ch | bool | time | | | |
|
||||
| DAS | 180 | 105 | NUM | | | | | |
|
||||
| SER | 180 | 106 | RA | RE | RU | LA | LE | |
|
||||
|(紧急)开伞| 180 | 107 | 107/0| | | | | |
|
||||
| 场高 | 889 | 0/1/2| | | | | | |
|
||||
| 解锁 | 400 | 1 | | | | | | |
|
||||
| 上锁 | 400 | 0 | | | | | | |
|
||||
| 速度空速 | 178 | 0 | 值 | -1 | | | | |
|
||||
| 速度地速 | 178 | 1 | 值 | -1 | | | | |
|
||||
| 速度升降速率 | 178 | 2 | 值 | -1 | | | | |
|
||||
| 设置油门 | 178 | -1 | | 油门值 | | | | |
|
||||
|
||||
| 空速管 | 20005 | mos开关(0/1) | 0/1 | 0/1 | 0/1 | | | |
|
||||
| 风标归零(standby) | 20006 | | | | | | | |
|
||||
| bit测试模式选择 | 20007 | 0舵面测试/1增稳测试/2手控测试 | | | | | | |
|
||||
| 20008 | ch | A(deg) | start/hz | stop/hz | K/(hz/s) | |
|
||||
|
||||
|
||||
舵机顺序 le la ru re ra
|
||||
|
||||
# 疑问
|
||||
|
||||
* √HUD界面,侧偏距正负,高度差正负,升降速率正负
|
||||
|
||||
* √combox设置要判断是否有数
|
||||
*
|
||||
|
||||
* √界面上
|
||||
|
||||
|
||||
1. √再飞行界面显示增加 空速管加热,发动机停车,工具界面,增加电池剩余百分比
|
||||
2. 日志显示所有操作
|
||||
|
||||
|
||||
√伺服,状态下是不对
|
||||
|
||||
|
||||
|
||||
|
||||
√舵机发送地面自检延时过大
|
||||
|
||||
|
||||
√航点显示经纬度,指令点不需要显示
|
||||
√去除真实高度显示
|
||||
状态框跟随飞行,显示速度和高度经纬度
|
||||
|
||||
×多条航线
|
||||
√舵面标定和检查
|
||||
√惯导极性
|
||||
|
||||
|
||||
√惯导和gps相关参数
|
||||
|
||||
√惯导选择,盖子不改颜色
|
||||
√加航向角
|
||||
|
||||
√航线界面,导入时,航点不对,保存和导入不对,下载不对,上传
|
||||
|
||||
|
||||
|
||||
√界面加一个舵机指令
|
||||
|
||||
√舵机显示 int16
|
||||
|
||||
√指令界面加一个航点切换的下拉框
|
||||
|
||||
√指令按键需要自己实现一下,去掉键盘响应功能
|
||||
|
||||
航迹大于1000个点,就清除航迹多余的点
|
||||
|
||||
|
||||
√ 一旦有新的设备连接就读取一次参数
|
||||
|
||||
|
||||
参数查找功能
|
||||
自动连接
|
||||
遥控器
|
||||
|
||||
无人机图片上显示无人机编号
|
||||
|
||||
√ 马赫数2位小数
|
||||
|
||||
√表速
|
||||
√真空苏
|
||||
√地速
|
||||
√马赫数
|
||||
|
||||
现在抬头显示器空速显示小于3ma,需要增加到9999米每秒
|
||||
|
||||
要求:人能够看得懂,没有隐藏操作
|
||||
|
||||
|
||||
|
||||
数据记录,要求5分钟存一次,这样内存就不会溢出(qgc存在这个溢出问题)
|
||||
|
||||
|
||||
|
||||
√scope 清除之后没有从零开始
|
||||
√纵轴自适应,底层根据当前框内最小值修改,最大值根据框内最大值修改
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
√升降速率极性,目标没有
|
||||
|
||||
|
||||
|
||||
√数据链丢失,全部红色
|
||||
|
||||
(飞控)惯导极性需要检查
|
||||
√电池显示顺序
|
||||
√舵面需要单独归零,设置时保持以前的舵面不动
|
||||
√航迹角数据来源确认
|
||||
|
||||
√状态界面复制到曲线图上
|
||||
√海拔显示百位出现10,不允许大于9
|
||||
|
||||
|
||||
|
||||
√状态-俯仰显示问题
|
||||
√状态-舵面范阔和指令有区别
|
||||
√状态-表速
|
||||
√状态-升降速率极性
|
||||
|
||||
√仪表盘有Nan 要去除
|
||||
|
||||
|
||||
|
||||
惯导:
|
||||
内部惯导,滚转俯仰位置不对,角速度不对
|
||||
SBG,需要设置坐标轴,坐标系存在问题
|
||||
√油压,剩余油量
|
||||
|
||||
|
||||
√曲线自适应,最小值无法自适应
|
||||
√数据首次输入需要跳转到当前界面
|
||||
|
||||
×曲线界面线型设置没有成功
|
||||
|
||||
√ins 角速度单位 rad。deg
|
||||
|
||||
|
||||
√曲线界面 做个checkbox 选择不同传感器
|
||||
|
||||
√曲线最大最小取整
|
||||
|
||||
指令按键位置有点奇怪
|
||||
|
||||
|
||||
mavlink 不要用科学计数法
|
||||
|
||||
|
||||
√指令界面弹出置顶
|
||||
√伺服界面
|
||||
√舵机状态显示顺序不对。
|
||||
|
||||
√舵机指令不要恢复
|
||||
|
||||
串口插入后打开界面,会导致短时间卡死,甚至死机(使用底层解决,插入时立即检查,)
|
||||
|
||||
自动连接
|
||||
|
||||
|
||||
√GPS FIX如何计算?
|
||||
√固定界面
|
||||
√航迹改成0-360
|
||||
空速管加热状态没有
|
||||
|
||||
参数清除后没有被清除
|
||||
|
||||
|
||||
编写好之后需要对一下单位
|
||||
|
||||
|
||||
|
||||
连接保存有问题,需要查一查
|
||||
|
||||
地面站设置ID
|
||||
|
||||
历史指令显示两条,
|
||||
日志里面显示所有操作
|
||||
|
||||
|
||||
自定义地图缓存
|
||||
|
||||
Reference in New Issue
Block a user