Home | History | Annotate | Download | only in mlutils
      1 /*
      2  $License:
      3    Copyright 2011 InvenSense, Inc.
      4 
      5  Licensed under the Apache License, Version 2.0 (the "License");
      6  you may not use this file except in compliance with the License.
      7  You may obtain a copy of the License at
      8 
      9  http://www.apache.org/licenses/LICENSE-2.0
     10 
     11  Unless required by applicable law or agreed to in writing, software
     12  distributed under the License is distributed on an "AS IS" BASIS,
     13  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  See the License for the specific language governing permissions and
     15  limitations under the License.
     16   $
     17  */
     18 /*******************************************************************************
     19  *
     20  * $Id: slave.h 5629 2011-06-11 03:13:08Z mcaramello $
     21  *
     22  *******************************************************************************/
     23 
     24 #ifndef SLAVE_H
     25 #define SLAVE_H
     26 
     27 /**
     28  *  @addtogroup SLAVEDL
     29  *
     30  *  @{
     31  *      @file     slave.h
     32  *      @brief    Top level descriptions for Accelerometer support
     33  *
     34  */
     35 
     36 #include "mltypes.h"
     37 #include "mpu.h"
     38 
     39     /* ------------ */
     40     /* - Defines. - */
     41     /* ------------ */
     42 
     43 /*--- default accel support - selection ---*/
     44 #define ACCEL_ST_LIS331                 0
     45 #define ACCEL_KIONIX_KXTF9              1
     46 #define ACCEL_BOSCH                     0
     47 #define ACCEL_ADI                       0
     48 
     49 #define ACCEL_SLAVEADDR_INVALID         0x00
     50 
     51 #define ACCEL_SLAVEADDR_LIS331          0x18
     52 #define ACCEL_SLAVEADDR_LSM303          0x18
     53 #define ACCEL_SLAVEADDR_LIS3DH          0x18
     54 #define ACCEL_SLAVEADDR_KXSD9           0x18
     55 #define ACCEL_SLAVEADDR_KXTF9           0x0F
     56 #define ACCEL_SLAVEADDR_BMA150          0x38
     57 #define ACCEL_SLAVEADDR_BMA222          0x08
     58 #define ACCEL_SLAVEADDR_BMA250          0x18
     59 #define ACCEL_SLAVEADDR_ADXL34X         0x53
     60 #define ACCEL_SLAVEADDR_ADXL34X_ALT     0x1D /* alternative addr */
     61 #define ACCEL_SLAVEADDR_MMA8450         0x1C
     62 #define ACCEL_SLAVEADDR_MMA845X         0x1C
     63 
     64 #define ACCEL_SLAVEADDR_INVENSENSE      0x68
     65 /*
     66     Define default accelerometer to use if no selection is made
     67 */
     68 #if ACCEL_ST_LIS331
     69 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_LIS331
     70 #define DEFAULT_ACCEL_ID                  ACCEL_ID_LIS331
     71 #endif
     72 
     73 #if ACCEL_ST_LSM303
     74 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_LSM303
     75 #define DEFAULT_ACCEL_ID                  ACCEL_ID_LSM303A
     76 #endif
     77 
     78 #if ACCEL_KIONIX_KXSD9
     79 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_KXSD9
     80 #define DEFAULT_ACCEL_ID                  ACCEL_ID_KXSD9
     81 #endif
     82 
     83 #if ACCEL_KIONIX_KXTF9
     84 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_KXTF9
     85 #define DEFAULT_ACCEL_ID                  ACCEL_ID_KXTF9
     86 #endif
     87 
     88 #if ACCEL_BOSCH
     89 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_BMA150
     90 #define DEFAULT_ACCEL_ID                  ACCEL_ID_BMA150
     91 #endif
     92 
     93 #if ACCEL_BMA222
     94 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_BMA222
     95 #define DEFAULT_ACCEL_ID                  ACCEL_ID_BMA222
     96 #endif
     97 
     98 #if ACCEL_BOSCH
     99 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_BMA250
    100 #define DEFAULT_ACCEL_ID                  ACCEL_ID_BMA250
    101 #endif
    102 
    103 #if ACCEL_ADI
    104 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_ADXL34X
    105 #define DEFAULT_ACCEL_ID                  ACCEL_ID_ADXL34X
    106 #endif
    107 
    108 #if ACCEL_MMA8450
    109 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_MMA8450
    110 #define DEFAULT_ACCEL_ID                  ACCEL_ID_MMA8450
    111 #endif
    112 
    113 #if ACCEL_MMA845X
    114 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_MMA845X
    115 #define DEFAULT_ACCEL_ID                  ACCEL_ID_MMA845X
    116 #endif
    117 
    118 /*--- if no default accelerometer was selected ---*/
    119 #ifndef DEFAULT_ACCEL_SLAVEADDR
    120 #define DEFAULT_ACCEL_SLAVEADDR           ACCEL_SLAVEADDR_INVALID
    121 #endif
    122 
    123 #define USE_COMPASS_AICHI                  0
    124 #define USE_COMPASS_AKM                    0
    125 #define USE_COMPASS_YAS529                 0
    126 #define USE_COMPASS_YAS530                 0
    127 #define USE_COMPASS_HMC5883                0
    128 #define USE_COMPASS_MMC314X                0
    129 #define USE_COMPASS_HSCDTD002B             0
    130 #define USE_COMPASS_HSCDTD004A             0
    131 
    132 #define COMPASS_SLAVEADDR_INVALID          0x00
    133 #define COMPASS_SLAVEADDR_AKM_BASE         0x0C
    134 #define COMPASS_SLAVEADDR_AKM              0x0E
    135 #define COMPASS_SLAVEADDR_AMI304           0x0E
    136 #define COMPASS_SLAVEADDR_AMI305           0x0F /*Slave address for AMI 305/306*/
    137 #define COMPASS_SLAVEADDR_AMI306           0x0E /*Slave address for AMI 305/306*/
    138 #define COMPASS_SLAVEADDR_YAS529           0x2E
    139 #define COMPASS_SLAVEADDR_YAS530           0x2E
    140 #define COMPASS_SLAVEADDR_HMC5883          0x1E
    141 #define COMPASS_SLAVEADDR_MMC314X          0x30
    142 #define COMPASS_SLAVEADDR_HSCDTD00XX       0x0C
    143 
    144 /*
    145     Define default compass to use if no selection is made
    146 */
    147  #if USE_COMPASS_AKM
    148  #define DEFAULT_COMPASS_TYPE              COMPASS_ID_AK8975
    149  #endif
    150 
    151  #if USE_COMPASS_AICHI
    152  #define DEFAULT_COMPASS_TYPE              COMPASS_ID_AMI30X
    153  #endif
    154 
    155  #if USE_COMPASS_YAS529
    156  #define DEFAULT_COMPASS_TYPE              COMPASS_ID_YAS529
    157  #endif
    158 
    159  #if USE_COMPASS_YAS530
    160  #define DEFAULT_COMPASS_TYPE              COMPASS_ID_YAS530
    161  #endif
    162 
    163  #if USE_COMPASS_HMC5883
    164  #define DEFAULT_COMPASS_TYPE              COMPASS_ID_HMC5883
    165  #endif
    166 
    167 #if USE_COMPASS_MMC314X
    168 #define DEFAULT_COMPASS_TYPE              COMPASS_ID_MMC314X
    169 #endif
    170 
    171 #if USE_COMPASS_HSCDTD002B
    172 #define DEFAULT_COMPASS_TYPE              COMPASS_ID_HSCDTD002B
    173 #endif
    174 
    175 #if USE_COMPASS_HSCDTD004A
    176 #define DEFAULT_COMPASS_TYPE              COMPASS_ID_HSCDTD004A
    177 #endif
    178 
    179 #ifndef DEFAULT_COMPASS_TYPE
    180 #define DEFAULT_COMPASS_TYPE               ID_INVALID
    181 #endif
    182 
    183 
    184 #endif // SLAVE_H
    185 
    186 /**
    187  *  @}
    188  */
    189