一、相关API

1、begin:需要在其他CUIREIMU前调用

//*********************************************************************************************
//函数名称:CurieImu.begin()
//输入参数:无
//函数返回:无
//函数功能:开六轴传感器,必须第一个调用
//*********************************************************************************************
CurieIMU.begin();

2、得到陀螺仪的采样频率

//*********************************************************************************************
//函数名称:CurieImu.getGyroRate()
//输入参数:无
//函数返回:25 50 100 200 400 800 1600 3200(Hz)
//函数功能:得到陀螺仪的采样频率
//*********************************************************************************************
CurieIMU.getGyroRate();

3、设置陀螺仪的采样频率

他的数据速率也是采样频率,并影响读数的带宽。

//*********************************************************************************************
//函数名称:CurieImu.setGyroRate(int rate)
//输入参数:rate 采样频率 25 50 100 200 400 800 1600 3200(Hz)
//函数返回:无
//函数功能:无
//*********************************************************************************************
CurieImu.setGyroRate(int rate);

4、得到加速度计的采样频率

//*********************************************************************************************
//函数名称:CurieImu.getAccelerometerRate()
//输入参数:无
//函数返回:rate 采样频率 12.5 25 50 100 200 400 800 1600 
//函数功能:返回加速度计的采样频率
//*********************************************************************************************
CurieIMU.getAccelerometerRate()

5、设置加速度计的采样频率

//*********************************************************************************************
//函数名称:CurieImu.setAccelerometerRate(float rate)
//输入参数:rate 采样频率 12.5 25 50 100 200 400 800 1600
//函数返回:无
//函数功能:返回加速度计的采样频率
//*********************************************************************************************
CurieIMU.setAccelerometerRate(float rate)

6、返回陀螺仪测量范围

//*********************************************************************************************
//函数名称:CurieImu.getGyroRange()
//输入参数:无
//函数返回:2000 (+/-2000°/s)
// 1000 (+/-1000°/s)
// 500 (+/-500°/s)
// 250 (+/-250°/s)
// 125 (+/-125°/s)
//函数功能:返回陀螺仪的测量范围
//*********************************************************************************************
CurieIMU.getGyroRange()

7、设置陀螺仪测量范围

//*********************************************************************************************
//函数名称:CurieImu.setGyroRange()
//输入参数:2000 (+/-2000°/s)
// 1000 (+/-1000°/s)
// 500 (+/-500°/s)
// 250 (+/-250°/s)
// 125 (+/-125°/s)
//函数返回:无
//函数功能:返回陀螺仪的测量范围
//*********************************************************************************************
CurieIMU.setGyroRange()

8、得到加速度计的测量范围

//*********************************************************************************************
//函数名称:CurieImu.getAccelerometerRange()
//输入参数:无
//函数返回:2 (+/- 2g)
// 4 (+/- 4g)
// 8 (+/- 8g)
// 16 (+/- 16g)
//函数功能:返回陀螺仪的测量范围
//*********************************************************************************************
CurieIMU.getAccelerometerRange()

9、设置加速度计的测量范围

//*********************************************************************************************
//函数名称:CurieImu.setAccelerometerRange(int range)
//输入参数:2 (+/- 2g)
// 4 (+/- 4g)
// 8 (+/- 8g)
// 16 (+/- 16g)
//函数返回:无
//函数功能:返回陀螺仪的测量范围
//*********************************************************************************************
CurieIMU.setAccelerometerRange(int range)

10、自动进行陀螺仪偏移计算

//*********************************************************************************************
//函数名称:CurieImu.autoCalibrateGyroOffset()
//输入参数:无
//函数返回:无
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.autoCalibrateGyroOffset()

11、自动进行加速计偏移计算

//*********************************************************************************************
//函数名称:CurieImu.autoCalibrateAccelerometerOffset(int, axis, int target)
//输入参数:axis: X_AXIS
// Y_AXIS
// Z_AXIS
// target: it can be 0 or 1. 1表示要取消重力的影响,即平躺时Z轴应该写1
//函数返回:无
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.autoCalibrateAccelerometerOffset(int, axis, int target)

12、偏移修正开关

//关闭
CurieIMU.noGyroOffset();
CurieIMU.noAccelerometerOffset(); //打开
CurieIMU.gyroOffsetEnabled();
CurieIMU.accelerometerOffsetEnabled();

13、得到陀螺仪偏移修正的数值

//*********************************************************************************************
//函数名称:CurieImu.getGyroOffset(int axis)
//输入参数:axis: X_AXIS
// Y_AXIS
// Z_AXIS
//函数返回:修正的偏移值,The returned value is from -31.25 °/s to +31.25 °/s in discrete steps of 0.061 °/s.
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.getGyroOffset(int axis)

14、设置陀螺仪偏移

//*********************************************************************************************
//函数名称:CurieImu.setGyroOffset(int axis, int offset)
//输入参数:axis: X_AXIS
// Y_AXIS
// Z_AXIS
// offset 偏移
//函数返回:
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.setGyroOffset(int axis, int offset)

15、得到陀螺仪偏移

//*********************************************************************************************
//函数名称:CurieImu.getAccelerometerOffset(int axis)
//输入参数:axis: X_AXIS
// Y_AXIS
// Z_AXIS
//函数返回:
//函数功能:
//*********************************************************************************************
CurieIMU.getAccelerometerOffset(int axis)

16、设置陀螺仪偏移

//*********************************************************************************************
//函数名称:CurieImu.setAccelerometerOffset(int axis, int offset)
//输入参数:axis: X_AXIS
// Y_AXIS
// Z_AXIS
// offset 偏移
//函数返回:
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.setAccelerometerOffset(int axis, int offset)

17、得到检测阈值

//*********************************************************************************************
//函数名称:CurieImu.getDetectionThreshold(int feature)
//输入参数:feature: the requested feature. It can assume one of these values:
// CURIE_IMU_FREEFALL
// CURIE_IMU_SHOCK
// CURIE_IMU_MOTION
// CURIE_IMU_ZERO_MOTION
// CURIE_IMU_TAP
//函数返回:
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.getDetectionThreshold(int feature)

18、设置检测阈值

//*********************************************************************************************
//函数名称:CurieImu.setDetectionThreshold(int feature, float value)
//输入参数:feature: the requested feature. It can assume one of these values:
// CURIE_IMU_FREEFALL
// CURIE_IMU_SHOCK
// CURIE_IMU_MOTION
// CURIE_IMU_ZERO_MOTION
// CURIE_IMU_TAP
//函数返回:
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.setDetectionThreshold(int feature, float value)

19、得到检测的持续时间

//*********************************************************************************************
//函数名称:CurieImu.getDetectionDuration(int feature)
//输入参数:feature: the requested feature. It can assume one of these values:
  • CURIE_IMU_TAP

  • CURIE_IMU_TAP_QUIET
  • CURIE_IMU_DOUBLE_TAP
  • CURIE_IMU_ZERO_MOTION
//函数返回:
//函数功能:检测持续时间
//*********************************************************************************************
CurieIMU.getDetectionDuration(int feature)

20、设置检测的持续时间

//*********************************************************************************************
//函数名称:CurieImu.setDetectionDuration(int feature, float value)
//输入参数:feature: the requested feature. It can assume one of these values:
// CURIE_IMU_FREEFALL
// CURIE_IMU_SHOCK
// CURIE_IMU_MOTION
// CURIE_IMU_ZERO_MOTION
// CURIE_IMU_DOUBLE_TAP
// CURIE_IMU_TAP_SHOCK
// CURIE_IMU_TAP_QUIET P
//函数返回:
//函数功能:检测持续时间
//*********************************************************************************************
CurieIMU.setDetectionDuration(int feature, float value)

21、允许某个特征产生中断

//*********************************************************************************************
//函数名称:CurieImu.interrupts(int feature)
//输入参数:feature: the requested feature. It can assume one of these values:
// CURIE_IMU_FREEFALL
// CURIE_IMU_SHOCK
// CURIE_IMU_MOTION
// CURIE_IMU_ZERO_MOTION
// CURIE_IMU_STEP
// CURIE_IMU_TAP
// CURIE_IMU_TAP_SHOCK
// CURIE_IMU_TAP_QUIET
// CURIE_IMU_DOUBLE_TAP
//函数返回:
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.interrupts(int feature)

22、关闭某个特征产生中断

//*********************************************************************************************
//函数名称:CurieImu.noInterrupts(int feature)
//输入参数:feature: the requested feature. It can assume one of these values:
// CURIE_IMU_FREEFALL
// CURIE_IMU_SHOCK
// CURIE_IMU_MOTION
// CURIE_IMU_ZERO_MOTION
// CURIE_IMU_STEP
// CURIE_IMU_TAP
// CURIE_IMU_TAP_SHOCK
// CURIE_IMU_TAP_QUIET
// CURIE_IMU_DOUBLE_TAP
//函数返回:
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.noInterrupts(int feature)

23、返回某个特征是否开了中断

//*********************************************************************************************
//函数名称:CurieImu.interruptEnabled(int feature)
//输入参数:feature: the requested feature. It can assume one of these values:
// CURIE_IMU_FREEFALL
// CURIE_IMU_SHOCK
// CURIE_IMU_MOTION
// CURIE_IMU_ZERO_MOTION
// CURIE_IMU_STEP
// CURIE_IMU_TAP
// CURIE_IMU_TAP_SHOCK
// CURIE_IMU_TAP_QUIET
// CURIE_IMU_DOUBLE_TAP
//函数返回:TURE FALSE
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.interruptEnabled(int feature)

24、检测是否进入中断状态

//*********************************************************************************************
//函数名称:CurieImu.getInterruptStatus(int feature)
//输入参数:feature: the requested feature. It can assume one of these values:
// CURIE_IMU_FREEFALL
// CURIE_IMU_SHOCK
// CURIE_IMU_MOTION
// CURIE_IMU_ZERO_MOTION
// CURIE_IMU_STEP
// CURIE_IMU_TAP
// CURIE_IMU_TAP_SHOCK
// CURIE_IMU_TAP_QUIET
// CURIE_IMU_DOUBLE_TAP
//函数返回:TURE FALSE
//函数功能:进行陀螺仪偏移计算
//*********************************************************************************************
CurieIMU.getInterruptStatus(int feature)

25、返回步进检测模式的值

//*********************************************************************************************
//函数名称:CurieImu.getStepDetectionMode()
//输入参数:CURIE_IMU_STEP_MODE_NORMAL
// CURIE_IMU_STEP_MODE_SENSITIVE
// CURIE_IMU_STEP_MODE_ROBUST
// CURIE_IMU_STEP_MODE_UNKNOWN
//函数返回:TURE FALSE
//*********************************************************************************************
CurieIMU.getStepDetectionMode()

26、设置步进检测模式的值

//*********************************************************************************************
//函数名称:CurieImu.setStepDetectionMode(int mode)
//输入参数:CURIE_IMU_STEP_MODE_NORMAL
// CURIE_IMU_STEP_MODE_SENSITIVE
// CURIE_IMU_STEP_MODE_ROBUST
// CURIE_IMU_STEP_MODE_UNKNOWN
//函数返回:TURE FALSE
//*********************************************************************************************
CurieIMU.setStepDetectionMode(in mode)

27、读取6轴传感器的数值

//*********************************************************************************************
//函数名称:CurieImu.readMotionSensor(int ax, int ay, int az, int gx, int gy, int gz)
//输入参数:ax: a variable in which the accelerometer's value along x will be stored.
// ay: a variable in which the accelerometer's value along y will be stored.
// az: a variable in which the accelerometer's value along z will be stored.
// gx: a variable in which the gyro's value along x will be stored.
// gy: a variable in which the gyro's value along y will be stored.
// gz: a variable in which the gyro's value along z will be stored.
//函数返回:
//*********************************************************************************************
CurieIMU.readMotionSensor(int ax, int ay, int az, int gx, int gy, int gz)

28、读取加速度的数值

//*********************************************************************************************
//函数名称:CurieImu.readAccelerometer(int ax, int ay, int az)
//输入参数:ax: a variable in which the accelerometer's value along x will be stored.
// ay: a variable in which the accelerometer's value along y will be stored.
// az: a variable in which the accelerometer's value along z will be stored.
//函数返回:
//*********************************************************************************************
CurieIMU.readAccelerometer(int ax, int ay, int az)

29、读取陀螺仪的数值

//*********************************************************************************************
//函数名称:CurieImu.readGyro(int gx, int gy, int gz)
//输入参数:
// gx: a variable in which the gyro's value along x will be stored.
// gy: a variable in which the gyro's value along y will be stored.
// gz: a variable in which the gyro's value along z will be stored.
//函数返回:
//*********************************************************************************************
CurieIMU.readGyro(int gx, int gy, int gz)

30、读取温度值

//*********************************************************************************************
//函数名称:CurieImu.readTemperature()
//输入参数:
//函数返回:Celsius=(raw/32767.0)+23 16位的
//*********************************************************************************************
CurieIMU.readTemperature()

31、检测晃动

//*********************************************************************************************
//函数名称:CurieIMU.shockDetected(int axis, int direction)
//输入参数:axis: the axis to check for shock detection. It must have one of these values:
// X_AXIS
// Y_AXIS
// Z_AXIS
// direction: the direction to check for shock detection. It must have one of these values:
// POSITIVE from zero to positive axis values
// NEGATIVE from zero to negative axis values
//函数返回:Ture False
//*********************************************************************************************
CurieIMU.shockDetected(int axis, int direction)

32、检测动作

//*********************************************************************************************
//函数名称:CurieImu.motionDetected(int axis, int direction)
//输入参数:axis: the axis to check for shock detection. It must have one of these values:
// X_AXIS
// Y_AXIS
// Z_AXIS
// direction: the direction to check for shock detection. It must have one of these values:
// POSITIVE from zero to positive axis values
// NEGATIVE from zero to negative axis values
//函数返回:Ture False
//*********************************************************************************************
CurieIMU.motionDetected(int axis, int direction)

33、其他检测

CurieIMU.tapDetected(int axis, int direction)

CurieIMU.stepsDetected()

34、注册中断函数

//*********************************************************************************************
//函数名称:CurieIMU.attachInterrupt(voidFuncPtr callback)
//输入参数:注册中断函数
//函数返回:无
//*********************************************************************************************
CurieIMU.attachInterrupt(voidFuncPtr callback)

35、取消注册中断函数

CurieIMU.detachInterrupt()

二、

Arduino101学习笔记(十三)—— 101六轴传感器的更多相关文章

  1. 20145213《Java程序设计学习笔记》第六周学习总结

    20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...

  2. python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容

    python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...

  3. 【Unity Shaders】学习笔记——SurfaceShader(六)混合纹理

    [Unity Shaders]学习笔记——SurfaceShader(六)混合纹理 转载请注明出处:http://www.cnblogs.com/-867259206/p/5619810.html 写 ...

  4. java之jvm学习笔记十三(jvm基本结构)

    java之jvm学习笔记十三(jvm基本结构) 这一节,主要来学习jvm的基本结构,也就是概述.说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成 ...

  5. Nodejs学习笔记(十六)--- Pomelo介绍&入门

    目录 前言&介绍 安装Pomelo 创建项目并启动 创建项目 项目结构说明 启动 测试连接 聊天服务器 新建gate和chat服务器 配置master.json 配置servers.json ...

  6. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  7. Go语言学习笔记十三: Map集合

    Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...

  8. Nodejs学习笔记(十六)—Pomelo介绍&入门

    前言&介绍 Pomelo:一个快速.可扩展.Node.js分布式游戏服务器框架 从三四年前接触Node.js开始就接触到了Pomelo,从Pomelo最初的版本到现在,总的来说网易出品还算不错 ...

  9. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第六章:在Direct3D中绘制

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第六章:在Direct3D中绘制 代码工程地址: https://gi ...

随机推荐

  1. appium + python 环境搭建

    所需:JDK.Android SDK.Appium服务程序.Appium客户端程序 1. 安装最新的JDK,并配置环境变量. JAVA_HOME=C:\Program Files (x86)\Java ...

  2. ubuntu14.04和win7共享文件夹

    环境:vmware12 问题:安装了vmware-tools,但是在/mnt/hgfs下面看不到共享的文件夹. 按照网上的一些经验和教程使用如下命令: mount -t vmhgfs .host:/ ...

  3. 使用mysqladmin ext了解MySQL运行状态【转】

    摘要: mysqladmin是 MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态.进程信息.进程杀死等.本文介绍一下如何使用 mysqladmin e ...

  4. ABAP 内表的行列转换-发货通知单-打印到Excel里-NEW-(以运单号为单位显示ALV然后保存输出)

    *********************************************************************** * Title           : ZSDF003  ...

  5. ASM:《X86汇编语言-从实模式到保护模式》第13章:保护模式下内核的加载,程序的动态加载和执行

    ★PART1:32位保护模式下内核简易模型 1. 内核的结构,功能和加载 每个内核的主引导程序都会有所不同,因为内核都会有不同的结构.有时候主引导程序的一些段和内核段是可以共用的(事实上加载完内核以后 ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 什么是ORACLEASM

    最直观的用途:共享一块磁盘,各个服务器做oracleasm即可共享 一.     ASM(自动存储管理)的来由: ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功 ...

  8. GridView如何合并同类项

    /// <summary>     /// 合并GridView中某列相同信息的行(单元格)     /// </summary>     /// <param name ...

  9. 微信支付官方.net版之坑你没商量

    最近开始弄支付这块,先是支付宝手机网站支付,也是坑了我许久,不过还好,问题不大. 让我们看看微信支付有多少坑 微信商户平台,你们知道么(我前天才知道,别笑我) 登录地址:https://mch.wei ...

  10. Tmux的安装、使用与配置

    tmux 安装.使用.配置 因上线需求,故需要使用tumx,方便上线 tmux功能 提供了强大的.易于使用的命令行界面 可横向.纵向分割窗口 窗格可以自由移动和调整大小,或者直接利用四个预设布局之一 ...