Skip to content

Commit

Permalink
sim: fix pin parsing mismatch
Browse files Browse the repository at this point in the history
  • Loading branch information
anuejn committed Nov 16, 2023
1 parent e812386 commit 2882966
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions software/glasgow/access/simulation/arguments.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,27 @@ def _add_pin_argument(self, parser, name, default, required):
def _pin_set(self, width, arg):
if re.match(r"^[0-9]+:[0-9]+$", arg):
first, last = map(int, arg.split(":"))
numbers = list(range(first, last))
numbers = list(range(first, last + 1))
elif re.match(r"^[0-9]+(,[0-9]+)*$", arg):
numbers = list(map(int, arg.split(",")))
else:
self._arg_error("{} is not a valid pin number set", arg)
if len(numbers) != width:
if len(numbers) not in width:
if len(width) == 1:
width_desc = str(width[0])
else:
width_desc = "{}..{}".format(width.start, width.stop - 1)
self._arg_error("set {} includes {} pins, but {} pins are required",
arg, len(numbers), width)
arg, len(numbers), width_desc)
return numbers

def _add_pin_set_argument(self, parser, name, width, default, required):
help = f"bind the applet I/O lines {self._applet_name!r} to pins SET"
help = f"bind the applet I/O lines {name!r} to pins SET"
if default is not None:
help += " (default: %(default)s)"
if default:
help += " (default: %(default)s)"
else:
help += " (default is empty)"

opt_name = "--pins-" + name.lower().replace("_", "-")
parser.add_argument(
Expand All @@ -58,8 +65,10 @@ def add_pin_argument(self, parser, name, default=None, required=False):
self._add_pin_argument(parser, name, default, required)

def add_pin_set_argument(self, parser, name, width, default=None, required=False):
if isinstance(width, int):
width = range(width, width + 1)
if default is True:
default = ",".join([str(next(self._pin_iter)) for _ in range(width)])
default = ",".join([str(next(self._pin_iter)) for _ in width])
self._add_pin_set_argument(parser, name, width, default, required)

def add_run_arguments(self, parser):
Expand Down

0 comments on commit 2882966

Please sign in to comment.