diff options
author | Kyle Repinski <repinski23@gmail.com> | 2015-10-12 18:00:22 -0500 |
---|---|---|
committer | Ziyan <jaraidaniel@gmail.com> | 2016-01-17 20:19:38 +0100 |
commit | 59acde2467e57965536cbd34ce625ad097ad13f5 (patch) | |
tree | 49c63885e86e4a268daa19ea64af1885c4dbda7e /invensense/mlsdk/mllite/mlsupervisor.h | |
parent | 058df47385dc1afe426247333560b66df334db7a (diff) | |
download | device_samsung_tuna-59acde2467e57965536cbd34ce625ad097ad13f5.zip device_samsung_tuna-59acde2467e57965536cbd34ce625ad097ad13f5.tar.gz device_samsung_tuna-59acde2467e57965536cbd34ce625ad097ad13f5.tar.bz2 |
Add invensense stuff in-tree.
Overhauled its .mk files as well as fixed some whitespace problems.
Conflicts:
libsensors/Android.mk
Diffstat (limited to 'invensense/mlsdk/mllite/mlsupervisor.h')
-rw-r--r-- | invensense/mlsdk/mllite/mlsupervisor.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/invensense/mlsdk/mllite/mlsupervisor.h b/invensense/mlsdk/mllite/mlsupervisor.h new file mode 100644 index 0000000..62b427e --- /dev/null +++ b/invensense/mlsdk/mllite/mlsupervisor.h @@ -0,0 +1,71 @@ +/* + $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: mlsupervisor.h 5629 2011-06-11 03:13:08Z mcaramello $ + * + *****************************************************************************/ + +#ifndef __INV_SUPERVISOR_H__ +#define __INV_SUPERVISOR_H__ + +#include "mltypes.h" +#ifdef INV_INCLUDE_LEGACY_HEADERS +#include "mlsupervisor_legacy.h" +#endif + +// The value of inv_get_gyro_sum_of_sqr is scaled such the (1 dps)^2 = 2^this_number +// this number must be >=0 and even. +#define GYRO_MAG_SQR_SHIFT 6 +// The value of inv_accel_sum_of_sqr is scaled such that (1g)^2 = 2^this_number +#define ACC_MAG_SQR_SHIFT 16 + +#define CAL_RUN 0 +#define CAL_RESET 1 +#define CAL_CHANGED_DATA 2 +#define CAL_RESET_TIME 3 +#define CAL_ADD_DATA 4 +#define CAL_COMBINE 5 + +#define P_INIT 100000 + +#define SF_NORMAL 0 +#define SF_DISTURBANCE 1 +#define SF_FAST_SETTLE 2 +#define SF_SLOW_SETTLE 3 +#define SF_STARTUP_SETTLE 4 +#define SF_UNCALIBRATED 5 + +struct inv_supervisor_cb_obj { + void (*accel_compass_fusion_func) (double magFB); + inv_error_t(*progressive_no_motion_supervisor_func) (unsigned long + deltaTime); + inv_error_t(*sensor_fusion_advanced_func) (double *magFB, + unsigned long deltaTime); + void (*reset_advanced_compass_func) (void); + void (*supervisor_reset_func) (void); +}; + +inv_error_t inv_reset_compass_calibration(void); +void inv_init_sensor_fusion_supervisor(void); +inv_error_t inv_accel_compass_supervisor(void); +inv_error_t inv_pressure_supervisor(void); + +#endif // __INV_SUPERVISOR_H__ + |