summaryrefslogtreecommitdiff
path: root/common/als.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/als.c')
-rw-r--r--common/als.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/common/als.c b/common/als.c
new file mode 100644
index 0000000000..bb2854132f
--- /dev/null
+++ b/common/als.c
@@ -0,0 +1,45 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* This provides the interface for any Ambient Light Sensors that are connected
+ * to the EC instead of the AP.
+ */
+
+#include "als.h"
+#include "common.h"
+#include "console.h"
+#include "host_command.h"
+#include "util.h"
+
+int als_read(enum als_id id, int *lux)
+{
+ return als[id].read(lux);
+}
+
+/*****************************************************************************/
+/* Console commands */
+
+static int command_als(int argc, char **argv)
+{
+ int i, rv, val;
+
+ for (i = 0; i < ALS_COUNT; i++) {
+ ccprintf("%s: ", als[i].name);
+ rv = als_read(i, &val);
+ switch (rv) {
+ case EC_SUCCESS:
+ ccprintf("%d lux\n", val);
+ break;
+ default:
+ ccprintf("Error %d\n", rv);
+ }
+ }
+
+ return EC_SUCCESS;
+}
+DECLARE_CONSOLE_COMMAND(als, command_als,
+ NULL,
+ "Print ALS values",
+ NULL);