summaryrefslogtreecommitdiffstats
path: root/libsensors/mlsdk/mllite/mlstates.h
diff options
context:
space:
mode:
Diffstat (limited to 'libsensors/mlsdk/mllite/mlstates.h')
-rw-r--r--libsensors/mlsdk/mllite/mlstates.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/libsensors/mlsdk/mllite/mlstates.h b/libsensors/mlsdk/mllite/mlstates.h
new file mode 100644
index 0000000..cbaa610
--- /dev/null
+++ b/libsensors/mlsdk/mllite/mlstates.h
@@ -0,0 +1,58 @@
+/*
+ $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: mlstates.h 5629 2011-06-11 03:13:08Z mcaramello $
+ *
+ *******************************************************************************/
+
+#ifndef INV_STATES_H__
+#define INV_STATES_H__
+
+#include "mltypes.h"
+#ifdef INV_INCLUDE_LEGACY_HEADERS
+#include "mlstates_legacy.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* See inv_state_transition for the transition mask */
+#define INV_STATE_SERIAL_CLOSED (0)
+#define INV_STATE_SERIAL_OPENED (1)
+#define INV_STATE_DMP_OPENED (2)
+#define INV_STATE_DMP_STARTED (3)
+#define INV_STATE_DMP_STOPPED (INV_STATE_DMP_OPENED)
+#define INV_STATE_DMP_CLOSED (INV_STATE_SERIAL_OPENED)
+
+#define INV_STATE_NAME(x) (#x)
+
+ typedef inv_error_t(*state_change_callback_t) (unsigned char newState);
+
+ char *inv_state_name(unsigned char x);
+ inv_error_t inv_state_transition(unsigned char newState);
+ unsigned char inv_get_state(void);
+ inv_error_t inv_register_state_callback(state_change_callback_t callback);
+ inv_error_t inv_unregister_state_callback(state_change_callback_t callback);
+ inv_error_t inv_run_state_callbacks(unsigned char newState);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // INV_STATES_H__