版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UORB,另一个进程订阅前一个进程发布的,还有就是订阅到的通过mavlink消息发送到地面站。走了一个完整的飞控数据链路(UORB链路和MAVLINK链路)。roll,pitch,yaw,横滚速度,俯仰速度等msg文件夹下面添加添加一个具体的消息,比如的消息是Msg文件里面的成员如下 相当于把消字添加到这个Cmakelist里面,在编译源码的是就把这个消息相应的.h头文件自动写好了,不要自己写。到这里makepx4fun-v2_default一把。然后在源码的~/src/Firmware/build_px4fmu-v2_default/src/modules/uORB/topics这个文件夹下面可以看到自定义消息的头文件。 lude lude<unistd.h> lude<stdlib.h>#lude<string.h>#lude<stdbool.h>#lude<errno.h>#lude<drivers/drv_hrt.h>#lude<systemlib/err.h>#lude<fcntl.h> staticboolthread_should_exit=false;staticboolthread_running=staticintEXPORTintlaser_gun_main(intargc,char*argv[]);intlaser_gun_thread_main(intargc,char*argv[]);staticintuart_init(constchar*uart_name); staticintset_uart_baudrate(constintfd,unsignedintbaud);//staticstaticvoidusage(constchar*reason); staticint{intspeed;casespeed=casespeed=casespeed=casespeed=case115200:speed=B115200;break;return-EINVAL;}structtermiosuart_config;inttermios_state;uart_config.c_oflag&=~ONLCR;if((termios_state=cfsetispeed(&uart_config,speed))<{warnx("ERR:%d(cfsetispeed)\n",termios_state);returnfalse;}{warnx("ERR:%d(cfsetospeed)\n",termios_state);returnfalse;}{warnx("ERR:%d(tcsetattr)\n",termios_state);returnfalse;}}intuart_init(constchar*{intserial_fd=open(uart_name,O_RDWR|if(serial_fd<0)err(1,"failedtoopenport:%s",uart_name);returnfalse;}}staticvoidusage(constchar{if(reason)}}intlaser_gun_main(intargc,char{if(argc<2)}{if(thread_running){}thread_should_exit=false;//初始化这个进程(argv)?(char*const*)&argv[2]:(char*const}if(!strcmp(argv[1],{thread_should_exit=true;}{if(thread_running){}else}}}{if(argc<2)errx(1,"[YCM]needaserialportnameasargument");}constchar*uart_name=argv[1];chardata='0';if(false==uart_read)return-1;if(false==}shoot_total=0;structlaser_gun_slasergundate;//定义消息结构体memset(&lasergundate,0sizeof(lasergundate));//结构体orb_advert_tlaser_gun_puborb_advertise(ORB_ID(laser_gun&lasergundate)公告这个,同一个进程只用公告一次。{lasergundaaser_gun_shoot_total=data;//}} lude lude<unistd.h> lude<stdlib.h> lude<string.h> #lude<errno.h> lude<systemlib/err.h> lude<fcntl.h> lude<uORB/topics/laser_gun.h>staticboolthread_running=false;staticintdaemon_task;staticintEXPORTintlaser_gun_shoot_main(intargc,char*argv[]);intlaser_gun_shoot_thread_main(intargc,char*argv[]);staticintuart_init(constchar*uart_name); staticintset_uart_baudrate(constintfd,unsignedintbaud);//staticstaticvoidusage(constchar*reason); {intspeed;casespeed=casespeed=casespeed=casespeed=case115200:speed=B115200;break;return-EINVAL;}inttermios_state;uart_config.c_oflag&=~ONLCR;if((termios_state=cfsetispeed(&uart_config,speed))<{warnx("ERR:%d(cfsetispeed)\n",}{warnx("ERR:%d(cfsetospeed)\n",termios_state);returnfalse;}{warnx("ERR:%d(tcsetattr)\n",termios_state);returnfalse;}}intuart_init(constchar*{intserial_fd=open(uart_name,O_RDWR|O_NOCTTY);if(serial_fd<0){err(1,"failedtoopenport:%s",uart_name);returnfalse;}}staticvoidusage(constchar{if(reason)}}{if(argc<2)}{if(thread_running){}(argv)?(char*const*)&argv[2]:(char*const}if(!strcmp(argv[1],{thread_should_exit=true;}{if(thread_running){}else}}}{if(argc<2)errx(1,"[YCM]needaserialportnameasargument");}constchar*uart_name=argv[1];chardata[5];if(false==uart_read)return-1;if(false==}thread_running=true;intstructlaser_gun_slasergundate;{bool{data[0]=lasergunda }}return0;}
要在飞控添加,可执行应用,就是要修改编译,把自己的应用代码编linux下的开发 laser_gun.cCmakeList.txt这个编辑脚本是要自己添加的,它会指导makefilenuttx系统中可以运行的可执行程序了,其中CMakeLists.txt内容如下:就是向编译系统说明了,模块名字,栈大小,源文件名字等。编译makefile就会更据中cmakelist.txt说明来编译这个可执行程序。nuttx_px4fmu-v2_default.cmake这个文件 makepx4fmu-v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版建筑工程主体承包合同(含建筑垃圾资源化处理)范本6篇
- 二零二五年度食堂服务员派遣合同2篇
- 二零二五年度二手搅拌设备二手交易碳排放交易合同3篇
- 二零二五年进出口货物检验检疫合同3篇
- 二零二五版房屋抵押贷款合同样本编制指南6篇
- 石场生产线承包合同2025年度规范文本6篇
- 标题14:2025年度网络安全监测与预警服务合同2篇
- 二零二五年技术转让合同具体条款2篇
- 二零二五年度酒吧经营场所租赁合同范本(专业解析版)2篇
- 二零二五年度建筑工地环境监测与节能管理系统合同3篇
- EPC总承包项目中的质量管理体系
- 沪教版小学语文古诗(1-4)年级教材
- 外科医生年终述职总结报告
- 横格纸A4打印模板
- CT设备维保服务售后服务方案
- 重症血液净化血管通路的建立与应用中国专家共识(2023版)
- 儿科课件:急性细菌性脑膜炎
- 柜类家具结构设计课件
- 陶瓷瓷砖企业(陶瓷厂)全套安全生产操作规程
- 煤炭运输安全保障措施提升运输安全保障措施
- JTGT-3833-2018-公路工程机械台班费用定额
评论
0/150
提交评论