diff --git a/include/ardulator/containers/clock.h b/include/ardulator/containers/clock.h index 2858145..11110f2 100644 --- a/include/ardulator/containers/clock.h +++ b/include/ardulator/containers/clock.h @@ -5,6 +5,7 @@ #include +#include #include #include "avr/config.h" diff --git a/src/vee-cmd.py b/src/vee-cmd.py index 93891e5..4009662 100644 --- a/src/vee-cmd.py +++ b/src/vee-cmd.py @@ -32,7 +32,10 @@ def main(options, args): with open(args[0], 'r') as f: settings = load(f) print(settings) - signals = {pin_id: generate_signal(settings[pin_id]) for pin_id in settings} + signals = {} + for pin_id in settings: + signals[pin_id] = generate_signal(settings[pin_id]) + # signals = {pin_id: generate_signal(settings[pin_id]) for pin_id in settings} print("signals:", signals) a = PyArdulator(options.runtime, signals) # a.length = 50.0 # Another way of setting the secnario length diff --git a/src/vee/ardulator.py b/src/vee/ardulator.py index 2eb7414..f5799a4 100644 --- a/src/vee/ardulator.py +++ b/src/vee/ardulator.py @@ -23,7 +23,13 @@ if 'VEE_ROOT' in os.environ: veelib = c.cdll.LoadLibrary(find_library(os.environ['VEE_ROOT'] + '/build/libvee')) else: - veelib = c.cdll.LoadLibrary(find_library('build/libvee')) + if find_library('build/libvee') == None: + if os.uname()[0] == 'Linux': + veelib = c.cdll.LoadLibrary('build/libvee.so') + else: + veelib = c.cdll.LoadLibrary('build/libvee.dylib') + else: + veelib = c.cdll.LoadLibrary(find_library('build/libvee')) if not veelib: raise ImportError("Could not load the libvee library. Please check your installation.") @@ -208,16 +214,20 @@ def _generate_signal_data(self): ## Generates a report for each pin. def generate_reports(self, display_graph=False): + import itertools as i colors = i.cycle(['blue', 'green', 'black']) offset = 0 - for s in self.signals: - l = list(self._data[s]) - j = {i : v.hist.caught_at for i, v in enumerate(l) - if v.hist.caught_at > 0} - print('Pin:', s, len(j), 'of', len(l),) - print('data: [', ', '.join([str(z) for z in l]), ']', "\n") + for signal_name in self.signals: + pin_history = list(self._data[signal_name]) + caught_signals = dict() + for i, v in enumerate(pin_history): + if v.hist.caught_at > 0: + caught_signals[i] = v.hist.caught_at + print('Pin:', signal_name, len(caught_signals), 'of', + len(pin_history),) + print('data: [', ', '.join([str(change) for change in pin_history]), ']', "\n") if display_graph: - changes = format_data(s, l, offset) + changes = format_data(signal_name, pin_history, offset) xs, ys = zip(*changes) p.plot(xs, ys, color=colors.next()) offset += 1.5