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