aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2011-04-27 18:04:40 -0400
committerArjan van de Ven <arjan@linux.intel.com>2011-04-27 18:08:03 -0400
commita0519253b23d06b5e2aac793ae49bf82c761676e (patch)
tree337f211fb3ec563d94969afe5eaab46ddfdb9c90
parente0b2b5915ebbbea065efdf11c230b6b7b7874ae3 (diff)
downloadpowertop-a0519253b23d06b5e2aac793ae49bf82c761676e.tar.gz
more Extech integration
-rw-r--r--README14
-rw-r--r--main.cpp5
-rw-r--r--measurement/measurement.cpp20
-rw-r--r--measurement/measurement.h2
4 files changed, 33 insertions, 8 deletions
diff --git a/README b/README
index 60868d2..6dc6f40 100644
--- a/README
+++ b/README
@@ -66,3 +66,17 @@ Specifically PowerTOP contains code from
nl80211 userspace tool - Copyright 2007, 2008 Johannes Berg <johannes@sipsolutions.net>
+
+
+Extech Power Analyzer / Datalogger support
+------------------------------------------
+I use, and our analysis teams use, the Extech Power Analyzer/Datalogger
+(model number 380803) quite a lot, and PowerTOP supports using this
+device over the serial cable. Just pass the device node on the command line
+like this
+
+powertop --extech=/dev/ttyUSB0
+
+(where ttyUSB0 is the devicenode of the serial-to-usb adapter on my system)
+
+
diff --git a/main.cpp b/main.cpp
index 5c5e691..9fc358c 100644
--- a/main.cpp
+++ b/main.cpp
@@ -65,6 +65,7 @@ static const struct option long_options[] =
{"help",no_argument, NULL, 'u'}, /* u for usage */
{"calibrate",no_argument, NULL, 'c'},
{"html", optional_argument, NULL, 'h'},
+ {"extech", optional_argument, NULL, 'e'},
{NULL, 0, NULL, 0}
};
@@ -79,6 +80,7 @@ static void print_usage()
printf(_("--debug \t run in \"debug\" mode\n"));
printf(_("--version \t print version information\n"));
printf(_("--calibrate \t runs powertop in calibration mode\n"));
+ printf(_("--extech=devnode \t uses an Extech Power Analyzer for measurements\n"));
printf(_("--html[=FILENAME]\t\t generate a html report\n"));
printf(_("--help \t\t print this help menu\n"));
printf("\n");
@@ -245,6 +247,9 @@ int main(int argc, char **argv)
exit(0);
break;
+ case 'e': /* Extech power analyzer support */
+ extech_power_meter(optarg ? optarg : "/dev/ttyUSB0");
+ break;
case 'u':
print_usage();
exit(0);
diff --git a/measurement/measurement.cpp b/measurement/measurement.cpp
index 9953183..1a67363 100644
--- a/measurement/measurement.cpp
+++ b/measurement/measurement.cpp
@@ -109,14 +109,6 @@ void detect_power_meters(void)
DIR *dir;
struct dirent *entry;
- if (0) {
- class extech_power_meter *meter;
-
- meter = new class extech_power_meter("/dev/ttyUSB0");
-
- power_meters.push_back(meter);
- }
-
dir = opendir("/proc/acpi/battery");
if (!dir)
return;
@@ -136,3 +128,15 @@ void detect_power_meters(void)
closedir(dir);
}
+
+void extech_power_meter(const char *devnode)
+{
+ DIR *dir;
+ struct dirent *entry;
+
+ class extech_power_meter *meter;
+
+ meter = new class extech_power_meter(devnode);
+
+ power_meters.push_back(meter);
+}
diff --git a/measurement/measurement.h b/measurement/measurement.h
index d40fcdc..e225606 100644
--- a/measurement/measurement.h
+++ b/measurement/measurement.h
@@ -49,6 +49,8 @@ extern double global_joules_consumed(void);
extern double global_time_left(void);
extern void detect_power_meters(void);
+extern void extech_power_meter(const char *devnode);
+
extern double min_power;