目录

MP高级功能​

主界面基本修改

1、菜单名称背景修改​

2、主窗体语言修改

3、主要窗体目录位置​

4、菜单栏删除

5、入口函数​

6、参数配置函数

定制修改步骤

1、主题环境修改

2、菜单精简(去掉冗余菜单按键)

3、功能按键添加(新建按钮实现解锁,前后左右功能键的实现),在无人车上做演示效果

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


MP高级功能

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

主界面基本修改


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

1、菜单名称背景修改

2、主窗体语言修改

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

3、主要窗体目录位置

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

4、菜单栏删除

5、入口函数

6、参数配置函数

代码运行流程及其主要类

  1. 入口函数Program(完成基本控件的初始化)
  2. 创建Splash启动窗体并且启动
  3. 实例化MainV2主窗体(public MainV2()这个构造函数,初始化类和控件,实例化FlightData()和FlightPlanner()类。
  4. 创建 MainSwitcher窗体切换类
  5. 窗体显示,通过 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 backgroundControlBGColor = Color.FromArgb(0x43, 0x44, 0x45);              // This changes the colour of the sub menu backgroundsTextColor = Color.White;                                        // This changes the colour of textBGColorTextBox = Color.FromArgb(0x43, 0x44, 0x45);              // This changes the colour of the background of textboxesButtonTextColor = Color.FromArgb(64, 87, 4);                    // This changes the colour of button textButBG = 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 barsProgressBarColorBot = 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 configurationBannerColor2 = Color.FromArgb(0x94, 0xC1, 0x1F);ColorNotEnabled = Color.FromArgb(150, 43, 58, 3);               // This changes the background color of buttons when not enabledColorMouseOver = Color.FromArgb(73, 43, 58, 3);                 // This changes the background color of buttons when the mouse is hovering over a buttonColorMouseDown = Color.FromArgb(73, 43, 58, 3);                 // This changes the background color of buttons when the mouse is clicked down on a buttonCurrentPPMBackground = Color.Green;                             // This changes the background colour of the current PPM setting in the flight modes tabZedGraphChartFill = Color.FromArgb(0x1F, 0x1F, 0x20);           // These three variables change the fill colours of Zed GraphsZedGraphPaneFill = Color.FromArgb(0x37, 0x37, 0x38);ZedGraphLegendFill = Color.FromArgb(0x85, 0x84, 0x83);RTBForeColor = Color.WhiteSmoke;                                // This changes the colour of text in rich text boxesBSVButtonAreaBGColor = Color.Black;                             // This changes the colour of a backstageview button areaUnselectedTextColour = Color.WhiteSmoke;                        // This changes the colour of unselected text in a BSV buttonHorizontalPBValueColor = Color.FromArgb(148, 193, 31);          // This changes the colour of the horizontal progressbar

2、菜单精简(去掉冗余菜单按键)

注意观察编译报错,把对应的报错注释掉即可。

3、功能按键添加(新建按钮实现解锁,前后左右功能键的实现),在无人车上做演示效果

这个是涉及地面站控制飞控系统,要注意的是Ardupilot的控制系统中,遥控器控制和地面站数传链路控制,不能同时存在。一旦启动了地面站控制,遥控器链路是被直接切断的。同一时刻,要不然地面站控制,要不然遥控器控制。

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

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

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

图传目前分为几大类,WiFi局域网图传利用 路由器组建的局域网,在局域网内利用TCP/IP通讯,一般用RTSP/RTMP或者UDP等网络协议完成的视频传输。特点是只能在局域网观看视频,传输距离受到局域网的限制。但是可以实时传输高清视频,同时成本和造价非常低廉。

模拟图传淘宝很常见的模拟图传,造价很低,延时也很小,但是分辨率很低一般是 320 或者 640的分辨率,采用雪花屏作为图像接收。

高清数码图传COFDM方案的高清图传,可以加大功率实现720P/1080P的5公里,10公里,20公里,50公里甚至上百公里的高清实时图传。是目前专业行业应用上的无人机大多采用的方案,同时满足高清,远距离的图传,缺点是造价比较贵。5千到上10万不等。

4G图传,4G图传的技术是基于WIFi/IP 摄像头发展而来,只不过利用了一个处于公网IP的网络视频转发服务器来转发视频流,优点是只要有网的地方就可以实现图像传输,缺点是网络转发的延迟不可控,时好时坏,还有在高度250米以上的4G信号不好的地方,基本不能工作。必须要架设一个视频流转发服务器,来实现视频流的转发。

图像的传输必须具备一定的TCP/IP网络服务器的知识,大功率的图传有时候会影响舵机工作,或者无人机本身无线的数据链路复杂的话也会干扰图传的工作,视频 传输的流量费也比较可观。下面是我们课堂上实现的高清图传链路

MP地面站二次开发教程(二)MP的框架与修改相关推荐

  1. qgc开发文档_QGC地面站二次开发教程二

    上一次带大家进行了ubuntu下的Q Ground Control安装与编译,这次教大家对地面站的页面进行修改,对按钮或者页面进行删减,如何添加下次再说吧,我还没研究明白. 一开始打开qgroundc ...

  2. 来自damon的zencart二次开发教程-2.2登录模块分析

    我们在制作zencart的模板时,经常会遇到需要将zencart的登陆页面与注册账户页面分离的情况(在 默认情况下,点击"Login"按钮会进入登陆页面与注册账号页面,登录zenc ...

  3. 来自damon的zencart二次开发教程-3.2复制模板(仿站)操作教程

    用zencart来复制别人的网站成本低,效率高.前面我发了一篇有关开发自己的zencat模板的文章(<来自damon的zencart二次开发教程-3.1开发自己的zencart模板>),里 ...

  4. shopify二次开发教程_详细教程:如何将Shopify的Storefront API与React和Redux结合使用...

    shopify二次开发教程 by Chris Frewin 克里斯·弗里温(Chris Frewin) 详细教程:如何将Shopify的Storefront API与React和Redux结合使用 ( ...

  5. MIP开发教程(二) 使用MIP-CLI工具调试MIP网页

    初始化 MIP 配置 新建一个 MIP 网页 编写 MIP 网页代码 校验 MIP 网页 调试 MIP 网页 1. 初始化 MIP 配置 首先在html目录下进行初始化 MIP 配置: $ mip i ...

  6. HyperMesh二次开发教程 - 前言

    HyperMesh二次开发教程 前言   笔者从事HyperMesh开发有近5年时间,最初由于兴趣和工作需要自学HyperMesh二次开发,也完成了从仿真工程师到商业CAE仿真软件二次开发工程师的职位 ...

  7. UG二次开发教程(基于NX12.0/VS2015版本)

    ** UG二次开发教程(基于NX12.0/VS2015版本) 安装教程 ** UG NX12.0安装 NX12.0 安装包下载地址: 链接:https://pan.baidu.com/s/1I0CCF ...

  8. pythoncad二次开发视频_revit二次开发|bim软件二次开发|revit二次开发教程|Revit二次开发技术文档...

    二次开发 revit二次开发|bim软件二次开发|revit二次开发教程|Revit二次开发技术文档2019-07-08赞( 0 ) 记录一下CAD二次开发的一些简单实例. 1.helloworld ...

  9. 来自damon的zencart二次开发教程-3.1开发自己的zencart模板

    转载自:http://www.yunxiu.org/blog/ 今天在网上FQ看到一篇老外写的,关于制作zencart模板的文章.<Creating a new Zen Cart Templat ...

  10. Revit二次开发教程提纲

    本文提供Revit二次开发教程提纲,教程内容包括下列部分 前言--BIM开发需要用到的技术 .NET及C#的基本介绍 1.1 基本语法 1.2 版本介绍 1.3 Visual Studio 1.4 C ...

最新文章

  1. MyEclipse2014安装svn插件
  2. DevOps笔记-06:什么是CI/CD?它们与敏捷开发和devops的关系?
  3. ASP.NET页面刷新的几种实现方法
  4. bgi::detail::is_valid用法的测试程序
  5. Altium Designer 20,新功能有哪些?
  6. windows7修改双系统启动项名称、先后顺序、等待时间
  7. OSSIM中快速部署HIDS
  8. 观察者模式--java jdk中提供的支持
  9. 云端调用android函数,【探坑】Bmob的云端逻辑
  10. 安装软件,竟然把UOS装崩溃了
  11. spss选择主要特征_SPSS统计作图教程:一维箱线图
  12. 易语言 html替换,易语言教程文本替换和子文本替换
  13. 不知道华为手机识别图片文字怎么弄?2个识别方法收好了
  14. 微服务启动报错:Shutting down DiscoveryClient
  15. 腾讯的内外社区实践及未来开源布局
  16. 蝴蝶网络 Butterfly network
  17. 什么是Capability
  18. 最酷网学习,如何做一个轮播
  19. TCP/IP 之蓟辽督师
  20. 27页 PPT 看懂麦肯锡的分析方式和沟通法则!

热门文章

  1. 【HTML】3.Form表单
  2. redirect_uri 域名与后配置不一致是什么意思_中科三方DNS专家手把手教学——定位域名解析不生效问题...
  3. 调查问卷反馈数据收集、分析过程
  4. fast路由器服务器未响应,迅捷(FAST)无线路由器设置好了上不了网的解决方法
  5. 工欲善其事,必先利其器-程序员工具推荐
  6. mybatis存mysql没有时分秒_mybatis存入数据库后没有时分秒时间不全只有年月日
  7. 软件测试人力面试题(含答案)
  8. 【Java】根据生日计算年龄
  9. Vuex的基本使用及总结(超详细)
  10. VB中如何声明及使用多维数组,多层数组及动态数组