204 lines
8.6 KiB
C
Executable File
204 lines
8.6 KiB
C
Executable File
/**
|
|
* Configuration header file of the core driver API @file yas_cfg.h
|
|
*
|
|
* Copyright (c) 2013-2015 Yamaha Corporation
|
|
*
|
|
* This software is provided 'as-is', without any express or implied
|
|
* warranty. In no event will the authors be held liable for any damages
|
|
* arising from the use of this software.
|
|
*
|
|
* Permission is granted to anyone to use this software for any purpose,
|
|
* including commercial applications, and to alter it and redistribute it
|
|
* freely, subject to the following restrictions:
|
|
*
|
|
* 1. The origin of this software must not be misrepresented; you must not
|
|
* claim that you wrote the original software. If you use this software
|
|
* in a product, an acknowledgment in the product documentation would be
|
|
* appreciated but is not required.
|
|
* 2. Altered source versions must be plainly marked as such, and must not be
|
|
* misrepresented as being the original software.
|
|
* 3. This notice may not be removed or altered from any source distribution.
|
|
*/
|
|
#ifndef __YAS_CFG_H__
|
|
#define __YAS_CFG_H__
|
|
|
|
#define YAS_MAG_DRIVER_NONE (0) /*!< No Magnetometer */
|
|
#define YAS_MAG_DRIVER_YAS529 (1) /*!< YAS 529 (MS-3C) */
|
|
#define YAS_MAG_DRIVER_YAS530 (2) /*!< YAS 530 (MS-3E) */
|
|
#define YAS_MAG_DRIVER_YAS532 (3) /*!< YAS 532 (MS-3R) */
|
|
#define YAS_MAG_DRIVER_YAS533 (4) /*!< YAS 533 (MS-3F) */
|
|
#define YAS_MAG_DRIVER_YAS535 (5) /*!< YAS 535 (MS-6C) */
|
|
#define YAS_MAG_DRIVER_YAS536 (6) /*!< YAS 536 (MS-3W) */
|
|
#define YAS_MAG_DRIVER_YAS537 (7) /*!< YAS 537 (MS-3T) */
|
|
#define YAS_MAG_DRIVER_YAS539 (8) /*!< YAS 539 (MS-3S) */
|
|
#define YAS_MAG_DRIVER_YAS53x (0x7fff) /*!< YAS XXX */
|
|
|
|
#define YAS_ACC_DRIVER_NONE (0) /*!< No Accelerometer */
|
|
#define YAS_ACC_DRIVER_ADXL345 (1) /*!< ADXL 345 */
|
|
#define YAS_ACC_DRIVER_ADXL346 (2) /*!< ADXL 346 */
|
|
#define YAS_ACC_DRIVER_BMA150 (3) /*!< BMA 150 */
|
|
#define YAS_ACC_DRIVER_BMA222 (4) /*!< BMA 222 */
|
|
#define YAS_ACC_DRIVER_BMA222E (5) /*!< BMA 222E */
|
|
#define YAS_ACC_DRIVER_BMA250 (6) /*!< BMA 250 */
|
|
#define YAS_ACC_DRIVER_BMA250E (7) /*!< BMA 250E */
|
|
#define YAS_ACC_DRIVER_BMA254 (8) /*!< BMA 254 */
|
|
#define YAS_ACC_DRIVER_BMA255 (9) /*!< BMA 255 */
|
|
#define YAS_ACC_DRIVER_BMI055 (10) /*!< BMI 055 */
|
|
#define YAS_ACC_DRIVER_BMI058 (11) /*!< BMI 058 */
|
|
#define YAS_ACC_DRIVER_DMARD08 (12) /*!< DMARD08 */
|
|
#define YAS_ACC_DRIVER_KXSD9 (13) /*!< KXSD9 */
|
|
#define YAS_ACC_DRIVER_KXTE9 (14) /*!< KXTE9 */
|
|
#define YAS_ACC_DRIVER_KXTF9 (15) /*!< KXTF9 */
|
|
#define YAS_ACC_DRIVER_KXTI9 (16) /*!< KXTI9 */
|
|
#define YAS_ACC_DRIVER_KXTJ2 (17) /*!< KXTJ2 */
|
|
#define YAS_ACC_DRIVER_KXUD9 (18) /*!< KXUD9 */
|
|
#define YAS_ACC_DRIVER_LIS331DL (19) /*!< LIS331DL */
|
|
#define YAS_ACC_DRIVER_LIS331DLH (20) /*!< LIS331DLH */
|
|
#define YAS_ACC_DRIVER_LIS331DLM (21) /*!< LIS331DLM */
|
|
#define YAS_ACC_DRIVER_LIS3DH (22) /*!< LIS3DH */
|
|
#define YAS_ACC_DRIVER_LSM330DLC (23) /*!< LSM330DLC */
|
|
#define YAS_ACC_DRIVER_LSM6DS3 (24) /*!< LSM6DS3 */
|
|
#define YAS_ACC_DRIVER_MMA8452Q (25) /*!< MMA8452Q */
|
|
#define YAS_ACC_DRIVER_MMA8453Q (26) /*!< MMA8453Q */
|
|
#define YAS_ACC_DRIVER_STK8313 (27) /*!< STK8313 */
|
|
#define YAS_ACC_DRIVER_U2DH (28) /*!< U2DH */
|
|
#define YAS_ACC_DRIVER_YAS535 (29) /*!< YAS 535 (MS-6C) */
|
|
#define YAS_ACC_DRIVER_YAS53x (0x7fff) /*!< YAS XXX */
|
|
|
|
#define YAS_GYRO_DRIVER_NONE (0) /*!< No Gyroscope */
|
|
#define YAS_GYRO_DRIVER_BMG160 (1) /*!< BMG160 */
|
|
#define YAS_GYRO_DRIVER_BMI055 (2) /*!< BMI055 */
|
|
#define YAS_GYRO_DRIVER_BMI058 (3) /*!< BMI058 */
|
|
#define YAS_GYRO_DRIVER_EWTZMU (4) /*!< EWTZMU */
|
|
#define YAS_GYRO_DRIVER_ITG3200 (5) /*!< ITG3200 */
|
|
#define YAS_GYRO_DRIVER_ITG3500 (6) /*!< ITG3500 */
|
|
#define YAS_GYRO_DRIVER_L3G3200D (7) /*!< L3G3200D */
|
|
#define YAS_GYRO_DRIVER_L3G4200D (8) /*!< L3G4200D */
|
|
#define YAS_GYRO_DRIVER_LSM330DLC (9) /*!< LSM330DLC */
|
|
#define YAS_GYRO_DRIVER_LSM6DS3 (10) /*!< LSM6DS3 */
|
|
#define YAS_GYRO_DRIVER_MPU3050 (11) /*!< MPU3050 */
|
|
#define YAS_GYRO_DRIVER_MPU6050 (12) /*!< MPU6050 */
|
|
#define YAS_GYRO_DRIVER_YAS53x (0x7fff) /*!< YAS XXX */
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Configuration
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
#define YAS_ACC_DRIVER (YAS_ACC_DRIVER_BMI055)
|
|
#define YAS_MAG_DRIVER (YAS_MAG_DRIVER_YAS539)
|
|
#define YAS_GYRO_DRIVER (YAS_GYRO_DRIVER_BMI055)
|
|
|
|
/*! Magnetic driver interrupt enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_DRIVER_INTERRUPT_ENABLE (0)
|
|
/*! Magnetic driver interrupt active HIGH (0:active LOW, 1: active HIGH) */
|
|
#define YAS_MAG_DRIVER_ACTIVE_HIGH (0)
|
|
|
|
/*! Magnetic minimum calibration enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_CALIB_MINI_ENABLE (0)
|
|
/*! Magnetic floating point calibration enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_CALIB_FLOAT_ENABLE (0)
|
|
/*! Magnetic sphere calibration enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_CALIB_SPHERE_ENABLE (1)
|
|
/*! Magnetic ellipsoid calibration enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_CALIB_ELLIPSOID_ENABLE (1)
|
|
/*! Magnetic calibration with gyroscope enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_CALIB_WITH_GYRO_ENABLE (1)
|
|
#define YAS_MAG_CALIB_ACC1_EASY (0)
|
|
|
|
#if YAS_MAG_CALIB_MINI_ENABLE
|
|
#undef YAS_MAG_CALIB_FLOAT_ENABLE
|
|
#undef YAS_MAG_CALIB_SPHERE_ENABLE
|
|
#undef YAS_MAG_CALIB_ELLIPSOID_ENABLE
|
|
#undef YAS_MAG_CALIB_WITH_GYRO_ENABLE
|
|
#define YAS_MAG_CALIB_FLOAT_ENABLE (0)
|
|
#define YAS_MAG_CALIB_SPHERE_ENABLE (0)
|
|
#define YAS_MAG_CALIB_ELLIPSOID_ENABLE (0)
|
|
#define YAS_MAG_CALIB_WITH_GYRO_ENABLE (0)
|
|
|
|
#elif YAS_MAG_CALIB_FLOAT_ENABLE
|
|
#undef YAS_MAG_CALIB_WITH_GYRO_ENABLE
|
|
#define YAS_MAG_CALIB_WITH_GYRO_ENABLE (0)
|
|
#endif
|
|
/*! Magnetic calibration enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_CALIB_ENABLE (YAS_MAG_CALIB_FLOAT_ENABLE | \
|
|
YAS_MAG_CALIB_MINI_ENABLE | \
|
|
YAS_MAG_CALIB_SPHERE_ENABLE | \
|
|
YAS_MAG_CALIB_ELLIPSOID_ENABLE | \
|
|
YAS_MAG_CALIB_WITH_GYRO_ENABLE)
|
|
|
|
/*! Gyroscope calibration enable (0:Disable, 1: Enable) */
|
|
#define YAS_GYRO_CALIB_ENABLE (1)
|
|
/*! Magnetic filter enable (0:Disable, 1: Enable) */
|
|
#define YAS_MAG_FILTER_ENABLE (1)
|
|
/*! Fusion with gyroscope enable (0:Disable, 1: Enable) */
|
|
#define YAS_AMG_FUSION_ENABLE (1)
|
|
/*! Quaternion (gyroscope) enable (0:Disable, 1: Enable) */
|
|
#define YAS_AG_FUSION_ENABLE (1)
|
|
/*! step counter enable (0:Disable, 1:Enable) */
|
|
#define YAS_STEPCOUNTER_ENABLE (0)
|
|
/*! Significant motion enable (0:Disable, 1:Enable) */
|
|
#define YAS_SIGNIFICANT_MOTION_ENABLE (0)
|
|
/*! acc&mag-6-axis fusion enable (0:Disable, 1:Enable) */
|
|
#define YAS_AM_FUSION_ENABLE (1)
|
|
/*! Old acc&mag-6-axis fusion enable (0:Disable, 1:Enable) */
|
|
#define YAS_AM_OLD_FUSION_ENABLE (1)
|
|
/*! Log enable (0:Disable, 1:Enable) */
|
|
#define YAS_LOG_ENABLE (0)
|
|
/*! Orientation enable (0:Disable, 1:Enable) */
|
|
#define YAS_ORIENTATION_ENABLE (1)
|
|
#define YAS_FUSION_ENABLE (YAS_AM_FUSION_ENABLE | \
|
|
YAS_AG_FUSION_ENABLE | \
|
|
YAS_AMG_FUSION_ENABLE)
|
|
|
|
/*! Mangetic vdd in mV */
|
|
#define YAS_MAG_VCORE (1800)
|
|
|
|
/*! No sleep version of YAS532 driver */
|
|
#define YAS532_DRIVER_NO_SLEEP (0)
|
|
|
|
/* ----------------------------------------------------------------------------
|
|
* Driver Configuration
|
|
*--------------------------------------------------------------------------- */
|
|
/*! Default sensor delay in [msec] */
|
|
#define YAS_DEFAULT_SENSOR_DELAY (50)
|
|
|
|
/* ----------------------------------------------------------------------------
|
|
* Geomagnetic Filter Configuration
|
|
*--------------------------------------------------------------------------- */
|
|
|
|
/*! Geomagnetic adaptive filter noise threshold (dispersion in [nT]) */
|
|
#define YAS_MAG_DEFAULT_FILTER_NOISE (1800)
|
|
/*! Geomagnetic adaptive filter length */
|
|
#define YAS_MAG_DEFAULT_FILTER_LEN (30)
|
|
|
|
/* ----------------------------------------------------------------------------
|
|
* Other Configuration
|
|
*--------------------------------------------------------------------------- */
|
|
|
|
#if YAS_LOG_ENABLE
|
|
#ifdef __KERNEL__
|
|
#undef YAS_LOG_ENABLE
|
|
#define YAS_LOG_ENABLE (0)
|
|
#else
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#endif
|
|
#endif
|
|
|
|
/*! yas magnetometer name */
|
|
#define YAS_MAG_NAME "yas_magnetometer"
|
|
/*! yas accelerometer name */
|
|
#define YAS_ACC_NAME "yas_accelerometer"
|
|
/*! yas accelerometer and magnetometer 6axis sensor name */
|
|
#define YAS_ACC_MAG_NAME "yas_acc_mag_6axis"
|
|
/*! yas accelerometer and gyroscope 6axis sensor name */
|
|
#define YAS_ACC_GYRO_NAME "yas_acc_gyro_6axis"
|
|
/*! yas accelerometer and gyroscope 6axis sensor name */
|
|
#define YAS_ACC_GYRO_NAME_A "yas_acc_gyro_6axis_a"
|
|
/*! yas accelerometer and gyroscope 6axis sensor name */
|
|
#define YAS_ACC_GYRO_NAME_G "yas_acc_gyro_6axis_g"
|
|
/*! yas gyroscope name */
|
|
#define YAS_GYRO_NAME "yas_gyroscope"
|
|
|
|
#endif
|