summaryrefslogtreecommitdiffstats
path: root/60xx/libsensors_iio/software/core/mllite/message_layer.c
diff options
context:
space:
mode:
authorScott Warner <Tortel1210@gmail.com>2015-10-11 08:30:01 -0400
committerScott Warner <Tortel1210@gmail.com>2015-10-12 09:40:33 -0400
commit901b63272e2eb758fe2f4a588e6e9f308fe50f6c (patch)
treeeefd9603dc5f829b80bc7bb116e9de5ba4297714 /60xx/libsensors_iio/software/core/mllite/message_layer.c
parente0c1691f695f828608c36315fa405db2fa8d153e (diff)
downloadandroid_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/libsensors_iio/software/core/mllite/message_layer.c')
-rw-r--r--60xx/libsensors_iio/software/core/mllite/message_layer.c59
1 files changed, 59 insertions, 0 deletions
diff --git a/60xx/libsensors_iio/software/core/mllite/message_layer.c b/60xx/libsensors_iio/software/core/mllite/message_layer.c
new file mode 100644
index 0000000..8317957
--- /dev/null
+++ b/60xx/libsensors_iio/software/core/mllite/message_layer.c
@@ -0,0 +1,59 @@
+/*
+ $License:
+ Copyright (C) 2011-2012 InvenSense Corporation, All Rights Reserved.
+ See included License.txt for License information.
+ $
+ */
+/**
+ * @defgroup Message_Layer message_layer
+ * @brief Motion Library - Message Layer
+ * Holds Low Occurance messages
+ *
+ * @{
+ * @file message_layer.c
+ * @brief Holds Low Occurance Messages.
+ */
+#include "message_layer.h"
+#include "log.h"
+
+struct message_holder_t {
+ long message;
+};
+
+static struct message_holder_t mh;
+
+/** Sets a message.
+* @param[in] set The flags to set.
+* @param[in] clear Before setting anything this will clear these messages,
+* which is useful for mutually exclusive messages such
+* a motion or no motion message.
+* @param[in] level Level of the messages. It starts at 0, and may increase
+* in the future to allow more messages if the bit storage runs out.
+*/
+void inv_set_message(long set, long clear, int level)
+{
+ if (level == 0) {
+ mh.message &= ~clear;
+ mh.message |= set;
+ }
+}
+
+/** Returns Message Flags for Level 0 Messages.
+* Levels are to allow expansion of more messages in the future.
+* @param[in] clear If set, will clear the message. Typically this will be set
+* for one reader, so that you don't get the same message over and over.
+* @return bit field to corresponding message.
+*/
+long inv_get_message_level_0(int clear)
+{
+ long msg;
+ msg = mh.message;
+ if (clear) {
+ mh.message = 0;
+ }
+ return msg;
+}
+
+/**
+ * @}
+ */