From 4fd218ad4cbb3d96cdfbf72048d99f2b2f4f323c Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Tue, 2 Jul 2013 07:25:03 -0400 Subject: [PATCH] lpc43xx/gen.py: Take YAML input --- scripts/data/lpc43xx/gen.py | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) mode change 100644 => 100755 scripts/data/lpc43xx/gen.py diff --git a/scripts/data/lpc43xx/gen.py b/scripts/data/lpc43xx/gen.py old mode 100644 new mode 100755 index a770b87f..0a46e063 --- a/scripts/data/lpc43xx/gen.py +++ b/scripts/data/lpc43xx/gen.py @@ -1,33 +1,13 @@ #!/usr/bin/env python import sys -import csv +import yaml +import yaml_odict from collections import OrderedDict from pprint import pprint -reader = csv.reader(open(sys.argv[1], 'r')) - -registers = OrderedDict() -for register_name, lsb, width, field_name, description, reset_value, access in reader: - if register_name not in registers: - registers[register_name] = { - 'fields': OrderedDict(), - } - - register = registers[register_name] - fields = register['fields'] - if field_name in fields: - raise RuntimeError('Duplicate field name "%s" in register "%s"' % - field_name, register_name) - else: - fields[field_name] = { - 'lsb': int(lsb), - 'width': int(width), - 'description': description, - 'reset_value': reset_value, - 'access': access, - } +registers = yaml.load(open(sys.argv[1], 'r')) for register_name, register in registers.iteritems(): print('/* --- %s values %s */' % (register_name, '-' * (50 - len(register_name))))