summaryrefslogtreecommitdiff
path: root/README.md
blob: 2cbcb489ca8cc0ba7509cda5be3709e663910a99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# msp430-etv – MSP430 EnergyTrace Visualizer

msp430-etv performs, visualizes and analyzes energy measurements performed
on TI MSP430 Launchpads using the on-board EnergyTrace circuit.

It uses [energytrace-util](https://github.com/derf/energytrace-util) to start
and stop measurements using the proprietary TI MSP430 library. Measurements can
be analyzed directly or saved to a file for later analysis as well as
processing by other tools.

Analysis options include

* plots showing voltage, current, or power over time,
* data partitioning and statistics using a power threshold, and
* changepoint detectiong using the PELT algorithm.

See `bin/msp430-etv --help` for usage details. See [Automatic Energy Model
Generation with MSP430
EnergyTrace](https://ess.cs.uos.de/static/papers/Friesel-2021-CPSIoTBench.pdf)
for accuracy figures and some odds and ends.

## File Format

EnergyTrace performs measurements in intervals of about 270 µs. Each line
contains data for one measurement interval. Measurement data consists of for
readings:

* Timestamps (µs) since start of the measurement,
* Mean current (nA) over the last ten to thousand intervals,
* Mean voltage (mV) with details unknown, and
* Cumulative energy (nJ) since start of the measurement.

Note that the EnergyTrace hardware and firmware only measures time, voltage,
and energy. Current readings are calculated by the MSP430 client library. Power
readings are calculated from timestamps and energy readings by msp430-etv.

## Dependencies

* Python 3, numpy
* Taking measurements: [energytrace-util](https://github.com/derf/energytrace-util) and libmsp430.so
* Plots: python3-matplotlib
* Changepoint detection: python3-ruptures