当前位置: 首页 > article >正文

从零开始学习PX4源码6(uORB)

目录

文章目录

  • 目录
  • 摘要
  • 1.uORB简介
  • 2.自定义uORB消息
    • 2.1 定义msg文件
    • 2.2 uORB消息发布和订阅
    • 2.3 修改飞控.cmake文件

摘要

本节主要讲义px4-uorb的原理及如何添加一个自定义的uorb消息,并发布出和订阅查看信息。
后续所用到的软硬件资源:固件版本1.14.2,硬件赫星:cubeorange

1.uORB简介

uORB(Micro Object Request Broker,微对象请求代理器)是PX4/Pixhawk系统中非常重要且关键的一个模块,它肩负了整个系统的数据传输任务,所有的传感器数据、GPS、PPM信号、遥控器、姿态控制等等都要从芯片获取后通过uORB进行传输到各个模块进行计算处理。uORB实际上是一套跨「进程」 的IPC(Interprocess Communication-进程间通信))异步 publish()/subscribe() 的消息传递 API通讯模块。
作为很多应用程序依赖的uORB,很早便会在启动过程中自动启动。 使用命令 uorb start启动。 单元测试可以使用uorb_tests启动。


飞控内部使用NuttX实时ARM系统, 而uORB对于NuttX而言,它仅仅是一个普通的文件设备对象,这个设备支持Open、Close、Read、Write、Ioctl以及Poll机制。通过这些接口的实现,uORB提供了一套“点对多”的跨进程广播通讯机制


http://www.kler.cn/news/342302.html

相关文章:

  • MySQL 读写分离
  • DevExpress WPF中文教程:如何解决数据更新的常见问题?
  • C语言 | Leetcode C语言题解之第472题连接词
  • Vxe UI vue vxe-table select 下拉框选项列表数据量超大过大时卡顿解决方法
  • Ruby脚本:自动化网页图像下载的实践案例
  • MVS海康工业相机达不到标称最大帧率
  • React 为什么 “虚拟 DOM 顶部有很多 provider“?
  • Halcon OCR字符识别
  • 探索Semantic Kernel:开启AI编程新篇章(入门篇)
  • java连接mysql查询数据(基础版,无框架)
  • 【idea】切换多个仓库到一个分支
  • django中wsgi.py 和 manage.py有什么区别
  • 汽车3d动效的作用!云渲染实现3d动效
  • GC1277和灿瑞的OCH477优势分析 可以用于电脑散热风扇,视频监控和图像处理的图像信号处理器中
  • LlamaIndex 结构化数据库交互指南增强(text2sql)
  • 自动化测试 | 窗口截图
  • 如何设计一个低成本数据归档及查询的架构
  • Cursor AI编辑器:开发效率提升利器
  • Unity网络开发 - C#开源网络通信库PESocket的使用
  • crossover和虚拟机哪个好用?Mac电脑玩游戏用哪个软件?