From ec653977c37466c5df7cee0eea75a02232e4aa92 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 10 May 2019 12:14:57 +0200 Subject: dfatool: temporarily enable state energy analysis --- lib/dfatool.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/dfatool.py b/lib/dfatool.py index 8f2e9e6..7705f21 100755 --- a/lib/dfatool.py +++ b/lib/dfatool.py @@ -692,8 +692,11 @@ class RawData: offline_trace_part['us'] - 20) online_trace_part['offline_aggregates']['power_std'].append( offline_trace_part['uW_std']) + # A state's energy may get quite larg -- in fact, so large that + # fitting doesn't work on pJ values. For now, we just convert -all- + # energies to µJ -- TODO only do this for states online_trace_part['offline_aggregates']['energy'].append( - offline_trace_part['uW_mean'] * (offline_trace_part['us'] - 20)) + offline_trace_part['uW_mean'] * (offline_trace_part['us'] - 20) * 1e-6) online_trace_part['offline_aggregates']['paramkeys'].append(paramkeys) online_trace_part['offline_aggregates']['param'].append(paramvalue) if online_trace_part['isa'] == 'transition': @@ -1134,7 +1137,7 @@ def _add_trace_data_to_aggregate(aggregate, key, element): for datakey in element['offline_aggregates'].keys(): aggregate[key][datakey] = [] if element['isa'] == 'state': - aggregate[key]['attributes'] = ['power'] + aggregate[key]['attributes'] = ['power', 'energy'] else: # TODO do not hardcode values aggregate[key]['attributes'] = ['duration', 'energy', 'rel_energy_prev', 'rel_energy_next'] -- cgit v1.2.3