Files
OpenCellular/common/als.c
Bill Richardson f23e68d721 Add ALS driver for light sensors connected to EC
This adds the driver and a console command to read an Intersil ISL29305
light sensor connected to the EC.

BUG=chrome-os-partner:23380
BRANCH=samus
TEST=manual

Run the "als" command from the EC console, while pointing the sensor in
various directions. It should give higher numbers when facing a light
source.  If you get "Error 1", it means the ALS isn't powered.

Change-Id: I855ed64dab7fc60e29126ab3e97669be24dc6a64
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/176056
2013-11-07 23:42:56 +00:00

46 lines
963 B
C

/* 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);