libs/utils/energy: adapt ACME energy meter to the generic API
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
diff --git a/ipynb/examples/energy_meter/EnergyMeter_ACME.ipynb b/ipynb/examples/energy_meter/EnergyMeter_ACME.ipynb
index 8dc705b..13fc942 100644
--- a/ipynb/examples/energy_meter/EnergyMeter_ACME.ipynb
+++ b/ipynb/examples/energy_meter/EnergyMeter_ACME.ipynb
@@ -92,10 +92,10 @@
" \"conf\" : {\n",
" #'iio-capture' : '/usr/bin/iio-capture',\n",
" #'ip_address' : 'baylibre-acme.local',\n",
- " 'channels' : {\n",
- " 'Device0' : 0,\n",
- " 'Device1' : 1,\n",
- " }\n",
+ " },\n",
+ " 'channel_map' : {\n",
+ " 'Device0' : 0,\n",
+ " 'Device1' : 1,\n",
" }\n",
" },\n",
" \n",
@@ -235,7 +235,7 @@
"rtapp.run(out_dir=te.res_dir)\n",
"\n",
"# EnergyMeter Stop and samples collection\n",
- "channels_nrg, nrg_file = te.emeter.report(te.res_dir)"
+ "nrg_report = te.emeter.report(te.res_dir)"
]
},
{
@@ -299,7 +299,7 @@
],
"source": [
"logging.info(\"Measured channels energy:\")\n",
- "logging.info(\"%s\", channels_nrg)"
+ "logging.info(\"%s\", nrg_report.channels)"
]
},
{
@@ -330,8 +330,8 @@
],
"source": [
"logging.info(\"Returned energy file:\")\n",
- "logging.info(\" %s\", nrg_file)\n",
- "!cat $nrg_file"
+ "logging.info(\" %s\", nrg_report.report_file)\n",
+ "!cat $nrg_report.report_file"
]
},
{
@@ -377,7 +377,7 @@
}
],
"source": [
- "stats_file = nrg_file.replace('.json', '_stats.json')\n",
+ "stats_file = nrg_report.report_file.replace('.json', '_stats.json')\n",
"logging.info(\"Complete energy stats:\")\n",
"logging.info(\" %s\", stats_file)\n",
"!cat $stats_file"
diff --git a/libs/utils/energy.py b/libs/utils/energy.py
index 3518531..4b21b20 100644
--- a/libs/utils/energy.py
+++ b/libs/utils/energy.py
@@ -119,7 +119,7 @@
elif emeter['instrument'] == 'aep':
EnergyMeter._meter = AEP(target, emeter['conf'], res_dir)
elif emeter['instrument'] == 'acme':
- EnergyMeter._meter = ACME(target, emeter['conf'], res_dir)
+ EnergyMeter._meter = ACME(target, emeter, res_dir)
logging.debug('%14s - Results dir: %s', 'EnergyMeter', res_dir)
return EnergyMeter._meter
@@ -324,9 +324,9 @@
super(ACME, self).__init__(target)
# Assume iio-capture is available in PATH
- self._iiocapturebin = conf.get('iio-capture', 'iio-capture')
- self._hostname = conf.get('ip_address', 'baylibre-acme.local')
- self._channels = conf.get('channels', {
+ self._iiocapturebin = conf['conf'].get('iio-capture', 'iio-capture')
+ self._hostname = conf['conf'].get('ip_address', 'baylibre-acme.local')
+ self._channels = conf.get('channel_map', {
'CH0': '0'
})
self._iio = [None] * len(self._channels)
@@ -473,7 +473,7 @@
nrg = {}
for kv_pair in out.split():
key, val = kv_pair.partition('=')[::2]
- nrg[key] = val
+ nrg[key] = float(val)
channels_stats[channel] = nrg
logging.info('%14s - %s', 'ACME', self._str(channel))
@@ -498,6 +498,6 @@
with open(nrg_stats_file, 'w') as ofile:
json.dump(channels_stats, ofile, sort_keys=True, indent=4)
- return (channels_nrg, nrg_file)
+ return EnergyReport(channels_nrg, nrg_file)
# vim :set tabstop=4 shiftwidth=4 expandtab