无人机sensor驱动

 

 

        无人机系统的Sensors包括六轴LSM6DS3TR,地磁传感器LIS3MDL以及气压传感器LPS25HB,LSM6DS3TR六轴传感器负责检测飞机的三维加速度以及三维角速度用来解算飞机的姿态,地磁传感器LIS3MDL通过检测地球磁场用来解算飞机偏航角,Sensor与MCU之间是以SPI总线进行数据传输, Sensor的驱动程序设计以类的形式来编写,类与类之间的继承关系如图所示:

 

        驱动程序存放于Firmware/src/driver目录下,以MPU6000为例来介绍驱动程序设计架构,通过命令mpu6000 start来启动驱动程序,程序结构如图所示

 

        驱动程序检测到的数据通过uORB来发布出去,uORB提供了一套“点对多”的跨进程广播通讯机制。“点”指的是通讯消息的“源”,“多”指的是一个源可以有多个用户来接受、处理。而源和用户的关系在于,源不需要去考虑用户是否收到某条被广播的消息或什么时候收到这条消息。它只是需要单纯的把要广播的数据推送到uORB的消息总线上。在measure()函数中会将测得的数据publisher到总线上。

 

转载于:https://www.cnblogs.com/cumtchw/p/7224623.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值