| /* |
| $License: |
| Copyright 2011 InvenSense, Inc. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| $ |
| */ |
| /******************************************************************************* |
| * |
| * $Id: slave.h 5629 2011-06-11 03:13:08Z mcaramello $ |
| * |
| *******************************************************************************/ |
| |
| #ifndef SLAVE_H |
| #define SLAVE_H |
| |
| /** |
| * @addtogroup SLAVEDL |
| * |
| * @{ |
| * @file slave.h |
| * @brief Top level descriptions for Accelerometer support |
| * |
| */ |
| |
| #include "mltypes.h" |
| #include "mpu.h" |
| |
| /* ------------ */ |
| /* - Defines. - */ |
| /* ------------ */ |
| |
| /*--- default accel support - selection ---*/ |
| #define ACCEL_ST_LIS331 0 |
| #define ACCEL_KIONIX_KXTF9 1 |
| #define ACCEL_BOSCH 0 |
| #define ACCEL_ADI 0 |
| |
| #define ACCEL_SLAVEADDR_INVALID 0x00 |
| |
| #define ACCEL_SLAVEADDR_LIS331 0x18 |
| #define ACCEL_SLAVEADDR_LSM303 0x18 |
| #define ACCEL_SLAVEADDR_LIS3DH 0x18 |
| #define ACCEL_SLAVEADDR_KXSD9 0x18 |
| #define ACCEL_SLAVEADDR_KXTF9 0x0F |
| #define ACCEL_SLAVEADDR_BMA150 0x38 |
| #define ACCEL_SLAVEADDR_BMA222 0x08 |
| #define ACCEL_SLAVEADDR_BMA250 0x18 |
| #define ACCEL_SLAVEADDR_ADXL34X 0x53 |
| #define ACCEL_SLAVEADDR_ADXL34X_ALT 0x1D /* alternative addr */ |
| #define ACCEL_SLAVEADDR_MMA8450 0x1C |
| #define ACCEL_SLAVEADDR_MMA845X 0x1C |
| |
| #define ACCEL_SLAVEADDR_INVENSENSE 0x68 |
| /* |
| Define default accelerometer to use if no selection is made |
| */ |
| #if ACCEL_ST_LIS331 |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_LIS331 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_LIS331 |
| #endif |
| |
| #if ACCEL_ST_LSM303 |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_LSM303 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_LSM303A |
| #endif |
| |
| #if ACCEL_KIONIX_KXSD9 |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_KXSD9 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_KXSD9 |
| #endif |
| |
| #if ACCEL_KIONIX_KXTF9 |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_KXTF9 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_KXTF9 |
| #endif |
| |
| #if ACCEL_BOSCH |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_BMA150 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_BMA150 |
| #endif |
| |
| #if ACCEL_BMA222 |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_BMA222 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_BMA222 |
| #endif |
| |
| #if ACCEL_BOSCH |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_BMA250 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_BMA250 |
| #endif |
| |
| #if ACCEL_ADI |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_ADXL34X |
| #define DEFAULT_ACCEL_ID ACCEL_ID_ADXL34X |
| #endif |
| |
| #if ACCEL_MMA8450 |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_MMA8450 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_MMA8450 |
| #endif |
| |
| #if ACCEL_MMA845X |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_MMA845X |
| #define DEFAULT_ACCEL_ID ACCEL_ID_MMA845X |
| #endif |
| |
| /*--- if no default accelerometer was selected ---*/ |
| #ifndef DEFAULT_ACCEL_SLAVEADDR |
| #define DEFAULT_ACCEL_SLAVEADDR ACCEL_SLAVEADDR_INVALID |
| #endif |
| |
| #define USE_COMPASS_AICHI 0 |
| #define USE_COMPASS_AKM 0 |
| #define USE_COMPASS_YAS529 0 |
| #define USE_COMPASS_YAS530 0 |
| #define USE_COMPASS_HMC5883 0 |
| #define USE_COMPASS_MMC314X 0 |
| #define USE_COMPASS_HSCDTD002B 0 |
| #define USE_COMPASS_HSCDTD004A 0 |
| |
| #define COMPASS_SLAVEADDR_INVALID 0x00 |
| #define COMPASS_SLAVEADDR_AKM_BASE 0x0C |
| #define COMPASS_SLAVEADDR_AKM 0x0E |
| #define COMPASS_SLAVEADDR_AMI304 0x0E |
| #define COMPASS_SLAVEADDR_AMI305 0x0F /*Slave address for AMI 305/306*/ |
| #define COMPASS_SLAVEADDR_AMI306 0x0E /*Slave address for AMI 305/306*/ |
| #define COMPASS_SLAVEADDR_YAS529 0x2E |
| #define COMPASS_SLAVEADDR_YAS530 0x2E |
| #define COMPASS_SLAVEADDR_HMC5883 0x1E |
| #define COMPASS_SLAVEADDR_MMC314X 0x30 |
| #define COMPASS_SLAVEADDR_HSCDTD00XX 0x0C |
| |
| /* |
| Define default compass to use if no selection is made |
| */ |
| #if USE_COMPASS_AKM |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_AK8975 |
| #endif |
| |
| #if USE_COMPASS_AICHI |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_AMI30X |
| #endif |
| |
| #if USE_COMPASS_YAS529 |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_YAS529 |
| #endif |
| |
| #if USE_COMPASS_YAS530 |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_YAS530 |
| #endif |
| |
| #if USE_COMPASS_HMC5883 |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_HMC5883 |
| #endif |
| |
| #if USE_COMPASS_MMC314X |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_MMC314X |
| #endif |
| |
| #if USE_COMPASS_HSCDTD002B |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_HSCDTD002B |
| #endif |
| |
| #if USE_COMPASS_HSCDTD004A |
| #define DEFAULT_COMPASS_TYPE COMPASS_ID_HSCDTD004A |
| #endif |
| |
| #ifndef DEFAULT_COMPASS_TYPE |
| #define DEFAULT_COMPASS_TYPE ID_INVALID |
| #endif |
| |
| |
| #endif // SLAVE_H |
| |
| /** |
| * @} |
| */ |