from pyparsing import Literal, Word, ZeroOrMore, Group, Dict, Optional, \
printables, ParseException, restOfLine
from getopt import getopt, GetoptError
from pyparsing import Literal, Word, ZeroOrMore, Group, Dict, Optional, \
printables, ParseException, restOfLine
from getopt import getopt, GetoptError
def add_value(self, value, description):
self.values[int(value, 0)] = description
def add_value(self, value, description):
self.values[int(value, 0)] = description
- for out_bit in range(0, out_len):
- in_bit = self.bits[out_bit]
+
+ if reg.bit_order == reg.bit_0_is_msb:
+ bit_pairs = zip(self.bits, range(0, out_len))
+ else:
+ bit_pairs = zip(self.bits, range(out_len - 1, -1, -1))
+
+ for (in_bit, out_bit) in bit_pairs:
- start = reg.bit_number(int(start))
- end = reg.bit_number(int(end))
- bits.extend(range(start, end + 1, 1))
+ bits.extend(range(start, end - 1, -1))
self.fields.append(field)
def decode(self, value, ignore_zero):
self.fields.append(field)
def decode(self, value, ignore_zero):
name_width = max(map(lambda f: len(f.name), self.fields))
str = "0x%0*lx [%d]\n" % (field_width, value, value)
for field in self.fields:
name_width = max(map(lambda f: len(f.name), self.fields))
str = "0x%0*lx [%d]\n" % (field_width, value, value)
for field in self.fields:
def bit_number(self, number):
if self.bit_order == self.bit_0_is_lsb:
def bit_number(self, number):
if self.bit_order == self.bit_0_is_lsb:
- for (id, r) in regs.iteritems():
- print "%18s : %s" % (id, r.name)
+ for (id, r) in regs.items():
+ print("%18s : %s" % (id, r.name))
def search_regs(regs, str):
return dict((k, regs[k]) for k in regs \
def search_regs(regs, str):
return dict((k, regs[k]) for k in regs \
raise ConfigurationError(file,
"Register %s is already defined" % id)
raise ConfigurationError(file,
"Register %s is already defined" % id)
- os.path.walk(conf, parse_config_dir, conf_data)
+ for c in os.walk(conf):
+ parse_config_dir(conf_data, c[0], c[2])
- except ConfigurationError, e:
- print "Error parsing configuration file %s:\n\t%s" % \
- (e.file, e.message)
+ except ConfigurationError as e:
+ print("Error parsing configuration file %s:\n\t%s" % \
+ (e.file, e.message))