首页 > 其他分享 >MP地面站二次开发教程MP的框架与修改

MP地面站二次开发教程MP的框架与修改

时间:2024-12-24 11:43:29浏览次数:8  
标签:Color colour 地面站 修改 窗体 MP FromArgb 二次开发 changes

MP高级功能

 

高级功能,完成图传,Follow ME功能,地面站take off,在temp.cs窗体里面。要实现VLC的视频直播功能要安装vlc-3.0.2-win64。

主界面基本修改

 

在missionplanner项目下双击MainV2.cs这个主窗体类,可以看到主窗体设计选项

1、菜单名称背景修改

 

2、主窗体语言修改
这个设计界面,我们可以修改主窗体的一些菜单名字,修改这个窗体控件我们可以修改窗体语言,窗体图标。点击具体的窗体上面的控件,我们还可以修改对应控件的名称。

 


3、主要窗体目录位置

界面的几个主要的窗体的项目目录

4、菜单栏删除


5、入口函数

6、参数配置函数


代码运行流程及其主要类

入口函数Program(完成基本控件的初始化)
创建Splash启动窗体并且启动
实例化MainV2主窗体(public MainV2()这个构造函数,初始化类和控件,实例化FlightData()和FlightPlanner()类。
创建 MainSwitcher窗体切换类
窗体显示,通过 MainSwitcher,ShowScreen的事件完成窗体切换操作。
定制修改步骤
1、主题环境修改
在MissionPlanner-MissionPlanner1.3.49\Utilities\ThemeManager.cs 这个类里面是主题颜色修改的类,我们可以通过这个类的修改,把MP的主题背景修改了,达到更换颜色风格的目的。主要的界面颜色配置函数

 

 

BGColor = Color.FromArgb(0x26, 0x27, 0x28); // This changes the colour of the main menu background
ControlBGColor = Color.FromArgb(0x43, 0x44, 0x45); // This changes the colour of the sub menu backgrounds
TextColor = Color.White; // This changes the colour of text
BGColorTextBox = Color.FromArgb(0x43, 0x44, 0x45); // This changes the colour of the background of textboxes

ButtonTextColor = Color.FromArgb(64, 87, 4); // This changes the colour of button text

ButBG = Color.FromArgb(148, 193, 31); // This changes the colour of button backgrounds (Top)

ButBGBot = Color.FromArgb(205, 226, 150); // This changes the colour of button backgrounds (Bot)

ProgressBarColorTop = Color.FromArgb(102, 139, 26); // These three variables change the colours of progress bars

ProgressBarColorBot = Color.FromArgb(124, 164, 40);

ProgressBarOutlineColor = Color.FromArgb(150, 174, 112);

BannerColor1 = Color.FromArgb(0x40, 0x57, 0x04); // These two variables change the colours of banners such as "planner" umder configuration

BannerColor2 = Color.FromArgb(0x94, 0xC1, 0x1F);

ColorNotEnabled = Color.FromArgb(150, 43, 58, 3); // This changes the background color of buttons when not enabled

ColorMouseOver = Color.FromArgb(73, 43, 58, 3); // This changes the background color of buttons when the mouse is hovering over a button

ColorMouseDown = Color.FromArgb(73, 43, 58, 3); // This changes the background color of buttons when the mouse is clicked down on a button

CurrentPPMBackground = Color.Green; // This changes the background colour of the current PPM setting in the flight modes tab

ZedGraphChartFill = Color.FromArgb(0x1F, 0x1F, 0x20); // These three variables change the fill colours of Zed Graphs

ZedGraphPaneFill = Color.FromArgb(0x37, 0x37, 0x38);

ZedGraphLegendFill = Color.FromArgb(0x85, 0x84, 0x83);

RTBForeColor = Color.WhiteSmoke; // This changes the colour of text in rich text boxes

BSVButtonAreaBGColor = Color.Black; // This changes the colour of a backstageview button area

UnselectedTextColour = Color.WhiteSmoke; // This changes the colour of unselected text in a BSV button

HorizontalPBValueColor = Color.FromArgb(148, 193, 31); // This changes the colour of the horizontal progressbar

AI助手
2、菜单精简(去掉冗余菜单按键)
注意观察编译报错,把对应的报错注释掉即可。

3、功能按键添加(新建按钮实现解锁,前后左右功能键的实现),在无人车上做演示效果
这个是涉及地面站控制飞控系统,要注意的是Ardupilot的控制系统中,遥控器控制和地面站数传链路控制,不能同时存在。一旦启动了地面站控制,遥控器链路是被直接切断的。同一时刻,要不然地面站控制,要不然遥控器控制。

HUD界面修改添加自定义按键(注意VS的BUG)
MAVLINK协议的指令发送的初步理解
控制系统的参数配置,来适应于地面站控制控制系统的要求


在飞行数据子窗体添加功能按钮,分别对应遥控器的横滚和油门(试用于无人车),四轴无人机的功能类似,可以根据意义来修改。

 

4、4G/Wifi/图像传输的实现
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Neil_Chris/article/details/121404264

标签:Color,colour,地面站,修改,窗体,MP,FromArgb,二次开发,changes
From: https://www.cnblogs.com/shiyh/p/18627033

相关文章

  • 2.3T算力,真的强!1分钟学会NPU开发,基于NXP i.MX 8MP平台!
    科技飞速发展,人工智能与工业领域的融合日益深入。NXP旗下的i.MX8MPlus作为一款高端工业处理器,NPU算力高达2.3TOPS,正引领着工业智能化的浪潮,为众多工业场景带来了前所未有的变革潜力。图1 i.MX8MPlusNPU特性i.MX8MPlus的NPU支持INT16/INT32/FP16/FP32等多种数据类型,......
  • numpy实现cnn, rnn, lstm, gru
    CNN#coding:utf8importtorchimporttorch.nnasnnimportnumpyasnp"""使用pytorch实现CNN手动实现CNN对比"""#一个二维卷积classTorchCNN(nn.Module):def__init__(self,in_channel,out_channel,kernel):super(TorchCNN,......
  • computed计算属性
    computed计算属性作用:根据已有数据计算出新数据(和Vue2中的computed作用一致),其也是一个ref类型的变量。参考代码:<template><divclass="person">姓:<inputtype="text"v-model="firstName"><br>名:<inputtype="text"v-mode......
  • Docker-compose 实战
    一、以下是一个使用Docker-compose启动Flask应用的示例:项目结构:app/|--app.py|--requirements.txt|--Dockerfile|--docker-compose.ymlapp.py文件内容:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello_world():retur......
  • 梳理你的思路(从OOP到架构设计)_设计模式Composite模式
    Composite模式此模式能建立多层级的包含关系(即多层级Whole-part关系)。在自然界中常见这种关系,例如,树叶是树的一部分,但树叶又是个整体,其内含着叶脉、叶绿素等「部分」对象。从这图形中,可看出这些对象可依其角色而分为两类:Leaf物件:如上图里的「白色」类别之对象,它们不具有W......
  • 能生成BMP
    能生成BMP|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-------------|-------------......
  • 记录---uniapp 安卓端实现录音功能,保存为amr/mp3文件
    ......
  • 【YashanDB知识库】YMP迁移过程中报错YAS-02143或YAS-02193
    本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7802944.html?templateId=1718516【标题】YMP迁移过程中报错accountlock【关键字】YMP迁移accountlockopenssl【问题描述】YMP所在机器的openssl版本低于1.1.1,在安装YMP及内置库时使用了--deps将......
  • CS305 Computer Networks
    CS305ComputerNetworksProject:RemoteMeetingIntroductionVideomeetingshavebecomeessentialintoday’sdigitallandscape,transforminghowpeopleconnect,collaborate,andcommunicate.Withtheriseofremotework,onlinelearning,andglobalpartne......
  • 思源笔记 Docker-Compose 一键部署及解锁付费功能教程
    思源笔记Docker-Compose一键部署及解锁付费功能教程官方开源版本version:"3.9"services:siyuan:image:b3log/siyuancontainer_name:siyuanuser:rootcommand:['--workspace=/siyuan/workspace/','--accessAuthCode=Qsxzxc123@']......