- 博客(35)
- 收藏
- 关注
原创 通过给PX4飞控发送MAVLINK消息控制飞控切换飞行模式
例如,无人机有自主飞行相关功能如自主起飞、自主降落,那么这个自主表示了一类模式的总和故可以表示为一级主模式,使用宏MAV_CUSTOM_MAIN_MODE_AUTO来表示,而自主模式下更细分为起飞、降落等二级模式,使用宏MAV_CUSTOM_SUB_MODE_AUTO_TAKEOFF等来表示。在PX4飞控中,定义的模式包括了两个部分,一个是主模式(main_mode),一个是子模式(sub_mode),从分层概念来讲可以将主模式叫做一级模式,子模式叫做二级模式。在QGC地面站查看MAV_SYS_ID为1。
2025-04-10 10:48:33
336
原创 PX4飞控-接收MAVLINK消息(3)-改mavlink_receiver.cpp和mavlink_receiver.h文件,用来接收对应的MAVLINK_MSG_ID消息
首先我们直接进入正题,第一节的command_control.msg文件编译后在PX4-Autopolite/bulid/zhty_norax_default/uORB/topics中生成了一个command_control.h文件。而同样在第二节中的修改的的common.xml文件编译以后也生成了一个mavlink_msg_command_control.h文件,其中也有一个名为。即可监听MAVLINK_MSG_ID_COMMAND_CONTROL这个ID的消息。则在PX4内部oURB的订阅中使用。
2025-03-27 16:30:57
481
原创 PX4飞控-接收MAVLINK消息(2)-生成MAVLINK_MSG_ID_***.h文件
进行通信,其中使用的C库和其他依赖文件,例如common文件夹均为从飞控源码中获取,文件获取位置为px4-Autopolite/bulid/mavlink中,因为PX4源码中自带MAVLINK的依赖项在编译过程中会自动处理common.xml文件,所以不需要再把common.xml文件导入生成MAVLINk的C库(不需要执行下图的操作)在编译生成的目录中Autopolite/bulid/mavlink/common/中可以找到生成的mavlink_msg_id_command_control.h文件。
2025-03-26 18:07:05
221
原创 PX4飞控-接收MAVLINK消息(1)-新建Msg文件
然后在编译生成的文件夹bulid/zhty_norax_default /uORB/topics中生成了一个Command_control.h文件。打开该文件可以看到根据.msg文件自动生成的结构体,生成的结构体会对结构体参数进行排序,是经过字节对齐后最节约内存空间的排布。自己新建个.msg文件,我这里新建了个Command_control.msg文件。一定要注意左边数据类型的拼写不然在编译源码时会报错!Command_control.msg文件。在该位置添加刚才新建的.msg文件(编译)
2025-03-26 17:39:31
289
原创 Px4-Autopolite编译环境搭建过程
不建议更改bootloader部分的配置,因为飞控跑bootloader的部分时间非常的短,会马上jump到default固件的程序。最好使用M国节点,克隆源码和安装依赖项,依赖项看PX4官方手册的步骤即可在这里不赘述,依赖项缺少的话可以根据编译时的提示进行补充。下载完成后会发现有一些submodule会failed,所以需要再更新下载子固件模块(源码的.gitmodules文件)列表里的就是可以更换的其他版本,不同的版本会影响在QGC地面站配置时的参数,所以按个人需求。完成后,编译一下看能不能编译通过。
2024-12-04 11:18:12
591
原创 QTCreator修改.exe软件图标
在阿里巴巴矢量图标库中,找到合适的图标,然后网页找个把图标文件转为.ico文件。.pro代码中添加RC_ICONS = test.ico。test.ico加到.pro文件同一目录。
2024-12-04 10:54:30
265
原创 组装一个空气净化器
自己 DIY 拼装了一个空气净化器,感觉性价比还是比较高的 主要组成为电机驱动的风扇+滤芯+外壳+过滤棉总计成本:76+8.29+32.2+4.48=120.97 元 风扇电机为 220V 供电 38W(360m³风量)(内径 200mm、外径 205mm) 绿色双层加强版(煤触活性炭滤芯)(去甲醛、除尘和 Pm2.5、去味)(外径 200mm、高 293mm) 镂空垃圾桶作为外壳(底部内径 210mm、顶部内径 240mm、高 290mm) 过滤棉:即时更换,增加滤芯使用
2024-12-03 14:45:44
239
1
原创 QT按下两次按钮,保存这期间内变换的QtextEdit控件内的数据
这个功能在项目中很常见,对界面里某个控件的数据进行记录,我这个是每秒记录5次,实际就是每200ms触发一次定时器,来满足需求。
2024-11-28 14:35:55
297
原创 NMEA协议的GPS组合导航模块应用在PX4飞控中
如果想将这个组合导航模块接入到雷迅的nora+飞控中,雷迅飞控板设计的UART4(GPS2)接口是TTL电平没有RS232芯片,所以需要将组合导航模块的232输出端转为TTL信号再接入飞控中,否则定位数据到飞控段无法被解析。首先先通过RS232转USB连接电脑打开串口助手,配置波特率为115200,再将232接到组合导航的232接口上向组合导航模块配置发送对应协议数据的指令。支持双天线定位,数据输出方式为通过RS232接口输出NMEA协议的定位数据,飞控板使用的是雷迅的nora+
2024-11-28 12:12:47
472
原创 【PX4_Autopolite飞控源码】中飞控板初始化过程中的引脚IO控制(拉低/拉高)
找到board_config.h文件,打开nora后再往下去找Desktop/px4/PX4-Autopilot/boards/zhty/nora/src/borad_config.h。打开对应的路径我的是Desktop/px4/PX4-Autopilot/boards/zhty/nora。修改后再对固件进行重新编译 make_nora_default ,再将生成的PX4文件烧入飞控板即可。然后在初始化列表中添加该定义,即为init.c文件会按照列表执行该初始化操作。再将这两个添加到初始化列表中。
2024-11-26 17:16:01
562
原创 基于使用Stm32 ST—Link V2下载器进行STM32H7系列飞控板刷写bootloader的新方法
因为当我们把飞控里面的程序全部擦除后,我们就无法通过USB连接地面站,也就无法使用地面站进行固件的烧写了,所以为了让地面站识别到我们的设备,我们需要先将bootloader.bin通过STM32V2下载器的SWD连接Nora+飞控板上的JTAG。首先我们需要在PX4-Aultopolite(PX4飞控源码)中对一款飞控进行编译,因为我使用的是雷迅推出的nora+飞控,所以这里选择Boards/CUAV/Nora。编译成功以后,会在bulid里面生成一个cuav_nora_bootloader.bin文件。
2024-11-12 11:40:54
557
原创 (最有效)解决Vmware中打开Ubuntu系统蓝屏或报错VM 与 Device/Credential Guard 不兼容的方法
把VMware换成最新的版本再打开虚拟机!
2024-11-12 11:02:41
570
原创 STM32H7的EMMC存储器(XPF73EA0I芯盛智能)
Parameter Settings:(这里注意倒数第二行的分频为1,之前由于不明原因分频为0时SDMMC2的初始化无法通过)本文中使用STM32CubeMX生成的针对STM32H743芯片的HAL库对emmc进行读、写、擦除操作。点击SDMMC2配置为【MMC 8 bits Wide bus】(根据自己需求)先对SDMMC2初始化,这部分可完全使用STM32自动生成的不用去改变。测试使用时调用如下函数:(同样根据自己的需求,更改即可)初始化成功后加入下面的擦除-读-写测试函数。都配置好以后重新生成代码。
2024-06-17 17:13:20
1861
原创 如何在QT中开发软件定时执行一个操作的功能
最后总结,Qthread.msleep()线程延时时间过长容易导致软件卡死,但是他的时效性较高,级别也更高。所以可以将两部分混合使用,延时时间短时用Qthread.sleep(),在延时时间较长时使用QTime控件。QTimer可以避免软件延时时间过长会卡死,但是它的时效性较低。我分别使用了Qthread.msleep()和QTimer。比如在时间间隔比较长的情况下如何保证,周期执行不会出错。
2024-06-13 14:58:16
441
原创 Stm32H7系列定时中断设置HAL库
Stm32定时中断配置,在我们的日常调试中,想要以一个固定的时钟频率对传感器定时周期采样时往往会直接在main.c函数的While(1)中进行,通过HAL_Delay()来控制采样频率,但是如果多传感器同时采样的话由于HAL_Delay()的方法时效性不是很准确往往会出现一系列的问题,而使用定时中断的话,只需要进入中断并执行该传感器采集数据函数(或其他你想要以固定频率去做一些事情),采集完成后退出中断,所以在这里我们就来学学如何使用【定时中断】。我的time6时钟周期为1s/1Mhz=(1/10^6)s。
2024-05-30 12:24:04
1067
6
原创 在压缩文件时,压缩文件的格式该如何进行选择呢
ZIP 是一种常见的文件压缩格式,可以通过多种工具进行压缩和解压缩,如WinZip、7-Zip、WinRAR等。在大多数情况下,ZIP 格式提供了不错的压缩率和广泛的兼容性。:对于文本文件和一些特定类型的数据,Gzip 和 Bzip2 是常用的压缩工具。:7z 是一种高效的压缩格式,通常比传统的ZIP格式压缩率更高。:RAR 是另一种常见的压缩格式,提供了较高的压缩率。WinRAR 是一个流行的工具,可以创建和解压RAR格式的压缩文件。:XZ 是一种高效的压缩格式,通常提供比较好的压缩率。
2024-05-24 10:21:31
2238
原创 WMware虚拟机设置中共享文件夹无法配置(灰色)
是暂时挂起的状态,那么如果我们要想将共享文件打开,只需要再次进入虚拟机将其关机即可。是暂时挂起的状态,那么如果我们要想将共享文件打开,只需要再次进入虚拟机将其关机即可。那么此时可以看到文件夹共享是灰色的无法配置的,这其实是因为虚拟机没有关闭。再次进入【设置】——【选项】——【共享文件夹】中可以看到,可以配置了。再次进入【设置】——【选项】——【共享文件夹】中可以看到,可以配置了。鼠标停在虚拟机点击【鼠标右键】进入【设置】鼠标停在虚拟机点击【鼠标右键】进入【设置】这是我们可以看到图标发生了变化。
2024-05-20 17:25:17
3834
1
原创 解决Keil5中写中文注释显示乱码??的方法
点击 [Edit] 的Configuration在弹出的对话框中选择Editor—>Encoding-----> Chinese GB2312(Simplified)再次编辑,发现输入中文正常了。
2024-05-18 13:57:56
959
原创 PX4_PixHawk2.4.8飞控板二次开发(USB烧写不起作用的情况下使用)
PX4使用Keil5进行二次开发时不知道如何对成品板烧写软件,其实需要对飞控板进行一次小DIY,如下图(PCB图):两个STM32处理器的背面都需要焊线(画红圈部分)然后根据所需的连接方式(PCB中有接口定义)进行焊线接线。
2024-05-18 10:41:36
1182
1
原创 QT获取当前界面的下拉框选项的记忆功能
需要先新建两个按钮,分别是【加载配置】按钮和【保存配置】按钮,下拉框选项按钮部分自己设置即可,可以参考下面的代码进行替换即可,完成后点击【保存配置】即可将当前界面中配置的信息保存为.XML格式的文件,点击【加载配置】可以复现配置内容。本功能旨在添加一个保存下拉框选项控件(QComboBox)的配置和加载配置功能,以达到下拉框选项记忆的功能。
2024-05-18 10:22:13
532
原创 使用光驱刻光盘
不过用的时候需要注意一下,光盘中的数据删除以后,删除部分被擦除,光盘的存储空间也很跟随着减小,也就是说删除光盘中的文件对光盘的存储空间是不可逆的。在有些项目交付的时候需要把项目资料刻成光盘交给客户。光盘都知道是什么,它有不同的存储大小。这里我们选择② ,具体还要看个人需求了。1.先将光盘名称修改为自己想要的名字。3.然后就可以像u盘一样使用了。光驱就是这种读光盘的东西。①作为视频音乐等资料使用。2.然后初始化双击打开。
2024-05-17 11:10:59
567
原创 网线连接电脑配置NI的LINUX系统开发环境
首先将控制电脑和Linux系统的电脑(这里使用的NI公司的PXIe-1084机箱)线进行连接,网段要设置相同,Linux系统的电脑机箱端先插上网线,再把网线另一端插在控制电脑的网口上,控制电脑根据所连接的网口,更改适配器选项,属性中将ip地址改为自动获取。本配置开发环境需要两台脑,一台电脑通过网线连接另外一台Linux系统的电脑来配置LInux的开环境(NI可以控制安装/卸载软件),IP需要提前设好,一台电脑运行Linux系统无需设置,另一台控制电脑需要把IP设置为获取对端IP。
2024-05-17 10:35:13
601
原创 Visual Studio 2015 软件过期处理
我的是已经激活了的,未激活的话界面会显示填写一个激活码,以下激活码亲测可用,填写激活即可。有时在使用VS进行开发的过程中偶尔会提示VS需要激活的情况,否则无法使用。激活码:HMGNV-WCYXV-X7G9W-YCX63-B98R2。点击上面菜单栏中的【帮助】选择【注册产品】
2024-05-17 10:19:40
2308
原创 如何修改电脑的MAC物理地址
选择【网络地址】编辑后面对应的数值即为MAC地址,修改好MAC地址后点击确定,MAC地址修改成功。选择先要更改MAC地址的网络连接,点击右键。选择【打开“网络和Internet“设置】进入到设置界面,选择【更改适配器选项】更改笔记本电脑的MAC地址。首先鼠标右键点击【网络】
2024-05-17 10:09:15
3720
XW-GI5610惯性/卫星组合导航系统的技术规格与操作手册
2024-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人