diff options
author | Scott Warner <Tortel1210@gmail.com> | 2015-10-11 08:30:01 -0400 |
---|---|---|
committer | Scott Warner <Tortel1210@gmail.com> | 2015-10-12 09:40:33 -0400 |
commit | 901b63272e2eb758fe2f4a588e6e9f308fe50f6c (patch) | |
tree | eefd9603dc5f829b80bc7bb116e9de5ba4297714 /60xx/mlsdk/mllite/compass.h | |
parent | e0c1691f695f828608c36315fa405db2fa8d153e (diff) | |
download | android_hardware_invensense-901b63272e2eb758fe2f4a588e6e9f308fe50f6c.tar.gz android_hardware_invensense-901b63272e2eb758fe2f4a588e6e9f308fe50f6c.tar.bz2 android_hardware_invensense-901b63272e2eb758fe2f4a588e6e9f308fe50f6c.zip |
Revert "Remove files for unsupported devices."
This reverts commit f5f584ee173faef40f226c6e0e8580a2ecbe079b.
Change-Id: I4e1b41922b5ccaac2314dac7f43df5740e2e9361
Diffstat (limited to '60xx/mlsdk/mllite/compass.h')
-rw-r--r-- | 60xx/mlsdk/mllite/compass.h | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/60xx/mlsdk/mllite/compass.h b/60xx/mlsdk/mllite/compass.h new file mode 100644 index 0000000..f0bdb58 --- /dev/null +++ b/60xx/mlsdk/mllite/compass.h @@ -0,0 +1,92 @@ +/* + $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: compass.h 5629 2011-06-11 03:13:08Z mcaramello $ + * + *******************************************************************************/ + +#ifndef COMPASS_H +#define COMPASS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "mltypes.h" +#include "mpu.h" +#ifdef INV_INCLUDE_LEGACY_HEADERS +#include "compass_legacy.h" +#endif + /* ------------ */ + /* - Defines. - */ + /* ------------ */ + +#define YAS_MAX_FILTER_LEN (20) +#define YAS_DEFAULT_FILTER_LEN (20) +#define YAS_DEFAULT_FILTER_THRESH (300) /* 300 nT */ +#define YAS_DEFAULT_FILTER_NOISE (2000 * 2000) /* standard deviation 2000 nT */ + + /* --------------- */ + /* - Structures. - */ + /* --------------- */ + +struct yas_adaptive_filter { + int num; + int index; + int len; + float noise; + float sequence[YAS_MAX_FILTER_LEN]; +}; + +struct yas_thresh_filter { + float threshold; + float last; +}; + +typedef struct { + struct yas_adaptive_filter adap_filter[3]; + struct yas_thresh_filter thresh_filter[3]; +} yas_filter_handle_t; + +typedef struct { + int (*init)(yas_filter_handle_t *t); + int (*update)(yas_filter_handle_t *t, float *input, float *output); +} yas_filter_if_s; + + /* --------------------- */ + /* - Function p-types. - */ + /* --------------------- */ + + unsigned char inv_compass_present(void); + unsigned char inv_get_compass_slave_addr(void); + inv_error_t inv_get_compass_data(long *data); + inv_error_t inv_set_compass_bias(long *bias); + unsigned short inv_get_compass_id(void); + inv_error_t inv_set_compass_offset(void); + inv_error_t inv_compass_check_range(void); + inv_error_t inv_compass_write_reg(unsigned char reg, unsigned char val); + inv_error_t inv_compass_read_reg(unsigned char reg, unsigned char *val); + inv_error_t inv_compass_read_scale(long *val); + + int yas_filter_init(yas_filter_if_s *f); + +#ifdef __cplusplus +} +#endif +#endif // COMPASS_H |