summaryrefslogtreecommitdiff
path: root/60xx/libsensors_iio/software/core/mllite/results_holder.h
diff options
context:
space:
mode:
authorVineeta Srivastava <vsrivastava@google.com>2013-06-04 14:28:40 -0700
committerVineeta Srivastava <vsrivastava@google.com>2013-06-04 16:03:11 -0700
commit501aae5c0464eab71924aa4e382e5f3c8885aece (patch)
tree8c7f402a6bfe9d18c75efdb73a919b915e9ddb35 /60xx/libsensors_iio/software/core/mllite/results_holder.h
parent60c042a376b34a7f4343752b96c1bc0bf4da31cc (diff)
downloadinvensense-501aae5c0464eab71924aa4e382e5f3c8885aece.tar.gz
Prepare for commiting 6515 chip specifc drop.
Split /hardware/invensesnse code to chip specific 60xx and 65xx directories. Moved 6050 chip specific stuff into 60xx directory. Manta uses that. This will allow 6515 chip specific stuff go in 65xx directoryi which will be used by hammerhead. Change-Id: If7ae097cba5376bbc68c644f14fdb2689dee2da5
Diffstat (limited to '60xx/libsensors_iio/software/core/mllite/results_holder.h')
-rw-r--r--60xx/libsensors_iio/software/core/mllite/results_holder.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/60xx/libsensors_iio/software/core/mllite/results_holder.h b/60xx/libsensors_iio/software/core/mllite/results_holder.h
new file mode 100644
index 0000000..09da24e
--- /dev/null
+++ b/60xx/libsensors_iio/software/core/mllite/results_holder.h
@@ -0,0 +1,81 @@
+/*
+ $License:
+ Copyright (C) 2011-2012 InvenSense Corporation, All Rights Reserved.
+ See included License.txt for License information.
+ $
+ */
+#include "mltypes.h"
+
+#ifndef INV_RESULTS_HOLDER_H__
+#define INV_RESULTS_HOLDER_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define INV_MOTION 0x0001
+#define INV_NO_MOTION 0x0002
+
+ /**************************************************************************/
+ /* The value of inv_get_gyro_sum_of_sqr is scaled such the (1 dps)^2 = */
+ /* 2^GYRO_MAG_SQR_SHIFT. This number must be >=0 and even. */
+ /* The value of inv_accel_sum_of_sqr is scaled such that (1g)^2 = */
+ /* 2^ACC_MAG_SQR_SHIFT */
+ /**************************************************************************/
+#define ACC_MAG_SQR_SHIFT 16
+
+void inv_store_gaming_quaternion(const long *quat, inv_time_t timestamp);
+
+// States
+#define SF_NORMAL 0
+#define SF_UNCALIBRATED 1
+#define SF_STARTUP_SETTLE 2
+#define SF_FAST_SETTLE 3
+#define SF_DISTURBANCE 4
+#define SF_SLOW_SETTLE 5
+
+int inv_get_acc_state();
+void inv_set_acc_state(int state);
+int inv_get_motion_state(unsigned int *cntr);
+void inv_set_motion_state(unsigned char state);
+inv_error_t inv_get_gravity(long *data);
+inv_error_t inv_get_6axis_quaternion(long *data);
+inv_error_t inv_get_quaternion(long *data);
+inv_error_t inv_get_quaternion_float(float *data);
+void inv_get_quaternion_set(long *data, int *accuracy, inv_time_t *timestamp);
+
+inv_error_t inv_enable_results_holder();
+inv_error_t inv_init_results_holder(void);
+
+/* Magnetic Field Parameters*/
+void inv_set_local_field(const long *data);
+void inv_get_local_field(long *data);
+void inv_set_mag_scale(const long *data);
+void inv_get_mag_scale(long *data);
+void inv_set_compass_correction(const long *data, inv_time_t timestamp);
+void inv_get_compass_correction(long *data, inv_time_t *timestamp);
+int inv_got_compass_bias();
+void inv_set_compass_bias_found(int state);
+int inv_get_large_mag_field();
+void inv_set_large_mag_field(int state);
+void inv_set_compass_state(int state);
+int inv_get_compass_state();
+void inv_set_compass_bias_error(const long *bias_error);
+void inv_get_compass_bias_error(long *bias_error);
+inv_error_t inv_get_linear_accel(long *data);
+inv_error_t inv_get_accel(long *data);
+inv_error_t inv_get_accel_float(float *data);
+inv_error_t inv_get_gyro_float(float *data);
+inv_error_t inv_get_linear_accel_float(float *data);
+void inv_set_heading_confidence_interval(float ci);
+float inv_get_heading_confidence_interval(void);
+
+int inv_got_accel_bias();
+void inv_set_accel_bias_found(int state);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // INV_RESULTS_HOLDER_H__