Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: client/site_tests/hardware_tsl2563/src/tsl2563tst.c

Issue 3064043: Update the tsl2563 test. (Closed) Base URL: ssh://git@chromiumos-git/autotest.git
Patch Set: Changes per testing and review. Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: client/site_tests/hardware_tsl2563/src/tsl2563tst.c
diff --git a/client/site_tests/hardware_tsl2563/src/tsl2563tst.c b/client/site_tests/hardware_tsl2563/src/tsl2563tst.c
deleted file mode 100644
index 2aa859bd6527e3cc7fd86a061a377e6f6369faf3..0000000000000000000000000000000000000000
--- a/client/site_tests/hardware_tsl2563/src/tsl2563tst.c
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright (c) 2010 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.
-
-/*
- * TSL2563 light sensor functional test
- *
- * When I spoof an I2C device on i2c adapter 0, I see these files show
- * up in /sys/devices/pci0000:00/0000:00:02.0/i2c-0/0-0029/iio/device0:
- * -r--r--r-- 1 root root 4096 Mar 25 17:21 adc0
- * -r--r--r-- 1 root root 4096 Mar 25 17:21 adc1
- * -rw-r--r-- 1 root root 4096 Mar 25 17:21 calib0
- * -rw-r--r-- 1 root root 4096 Mar 25 17:21 calib1
- * lrwxrwxrwx 1 root root 0 Mar 25 17:21 device -> ../../../0-0029
- * -r--r--r-- 1 root root 4096 Mar 25 17:21 lux
- * drwxr-xr-x 2 root root 0 Mar 25 17:21 power
- * lrwxrwxrwx 1 root root 0 Mar 25 17:21 subsystem -> ../../../../../../../class/iio
- * -rw-r--r-- 1 root root 4096 Mar 25 17:21 uevent
- * This is done with:
- * echo tsl2563 0x29 > /sys/class/i2c-adapter/i2c-0/new_device
- *
- * Raw and calibrated ADC data come from adc{0|1} and calib{0|1}, but
- * it is probably best to use the lux file because it gives the calibrated
- * ADC translated to luminescence.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#define _GNU_SOURCE
-#include <getopt.h>
-
-
-/*
- * The "lux" sysfs file gives luminescence data with a "%d" printf.
- * I do not yet know the range of expected values.
- */
-int lux_read(FILE *lux_fp, int *luxp)
-{
- int rval;
-
- rval = fscanf(lux_fp, "%d", luxp);
-
- if (rval != 1) {
- printf("Failed to read an integer from the lux file.\n");
- return -1;
- }
- return 0;
-}
-
-void repeated_lux_read(FILE *lux_fp, int us_period)
-{
- int lux;
-
- while (lux_read(lux_fp, &lux) == 0) {
- printf("lux: %d\n", lux);
- usleep(us_period);
- }
-}
-
-struct option long_options[] = {
- {"file", 1, 0, 'f'},
- {"repeat", 0, 0, 'r'},
- {"period", 1, 0, 'p'},
- {"help", 0, 0, 'h'},
- {0, 0, 0, 0}
-};
-
-int opt_repeat = 0;
-int opt_period_usecs = 500000;
-char *opt_file = "/sys/devices/pci0000:00/0000:00:02.0/i2c-0/0-0029/iio/device0/lux";
-
-void print_help(void)
-{
- printf("Usage: tsl2563tst [options]\n");
- printf(" will read the tsl2563 light sensor sysfs file.\n");
- printf(" options:\n");
- printf(" --file <file>: explicitly specify the sysfs light sensor file\n");
- printf(" --repeat: repeatedly read light sensor data\n");
- printf(" --period <usecs>: set the period between repeated reads\n");
- printf(" --help: print this help message\n");
-}
-
-
-int main(int argc, char *argv[])
-{
- int c;
-
- while ((c = getopt_long(argc, argv, "hf:p:r", long_options, NULL)) != -1) {
- switch (c) {
- case 'h':
- print_help();
- exit(0);
- case 'f':
- opt_file = optarg;
- break;
- case 'p':
- opt_period_usecs = atoi(optarg);
- break;
- case 'r':
- opt_repeat = 1;
- break;
- case '?':
- print_help();
- exit(1);
- default:
- printf("Unknown parameter 0x%x.\n", c);
- exit(1);
- }
- }
-
- FILE *lux_fp;
- lux_fp = fopen(opt_file, "r");
- if (lux_fp == NULL) {
- perror("open device file");
- fprintf(stderr, "Cannot open %s.\n", opt_file);
- fprintf(stderr, "Perhaps the tsl2563 module is not loaded.\n"
- "Or perhaps the kernel needs to be told where to find the device.\n"
- "(eg, 'echo tsl2563 0x29 > /sys/class/i2c-adapter/i2c-0/new_device'\n");
- exit(1);
- }
-
- if (opt_repeat) {
- repeated_lux_read(lux_fp, opt_period_usecs);
- } else {
- int lux;
- if (lux_read(lux_fp, &lux) != 0)
- exit(1);
- printf("lux: %d\n", lux);
- }
- return 0;
-}

Powered by Google App Engine
This is Rietveld 408576698