zoukankan      html  css  js  c++  java
  • 无人机sensor驱动

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

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

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

    作者:cumtchw
    出处:http://www.cnblogs.com/cumtchw/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    Linux安装.net core
    在IIS中如何配置SSL(https)
    Lambda的前世今生
    Java建造者模式
    leetcode 83 Remove Duplicates from Sorted List
    【设计】Office
    【设计】简书品牌重构
    【设计总结】
    【交互设计】
    【设计总结】
  • 原文地址:https://www.cnblogs.com/cumtchw/p/7224623.html
Copyright © 2011-2022 走看看