Merge 23bd1b13e7 into de37174dbc
This commit is contained in:
commit
60de852e3b
2 changed files with 21 additions and 0 deletions
|
|
@ -73,6 +73,7 @@ class Program: # pylint: disable=too-few-public-methods
|
|||
instructions: List[str] = []
|
||||
sideset_count = 0
|
||||
sideset_enable = 0
|
||||
sideset_pindirs = False
|
||||
wrap = None
|
||||
wrap_target = None
|
||||
offset = -1
|
||||
|
|
@ -144,6 +145,7 @@ class Program: # pylint: disable=too-few-public-methods
|
|||
elif line.startswith(".side_set"):
|
||||
sideset_count = int(line.split()[1], 0)
|
||||
sideset_enable = "opt" in line
|
||||
sideset_pindirs = "pindirs" in line
|
||||
elif line.startswith(".fifo"):
|
||||
require_before_instruction()
|
||||
fifo_type = line.split()[1]
|
||||
|
|
@ -470,6 +472,8 @@ class Program: # pylint: disable=too-few-public-methods
|
|||
|
||||
if sideset_count != 0:
|
||||
self.pio_kwargs["sideset_pin_count"] = sideset_count
|
||||
if sideset_pindirs:
|
||||
self.pio_kwargs["sideset_pindirs"] = sideset_pindirs
|
||||
|
||||
if wrap is not None:
|
||||
self.pio_kwargs["wrap"] = wrap
|
||||
|
|
|
|||
|
|
@ -12,3 +12,20 @@ from pytest_helpers import assert_pio_kwargs, assert_assembly_fails
|
|||
def test_offset() -> None:
|
||||
assert_pio_kwargs(".origin 7", offset=7, sideset_enable=False)
|
||||
assert_assembly_fails("nop\n.origin 7")
|
||||
|
||||
|
||||
def test_sideset_pindirs() -> None:
|
||||
assert_pio_kwargs(
|
||||
".side_set 2 opt pindirs",
|
||||
sideset_pin_count=2,
|
||||
sideset_enable=True,
|
||||
sideset_pindirs=True,
|
||||
)
|
||||
assert_pio_kwargs(
|
||||
".side_set 2 pindirs",
|
||||
sideset_pin_count=2,
|
||||
sideset_enable=False,
|
||||
sideset_pindirs=True,
|
||||
)
|
||||
# Setting not emitted (as =False) for backwards compat
|
||||
assert_pio_kwargs(".side_set 2", sideset_pin_count=2, sideset_enable=False)
|
||||
|
|
|
|||
Loading…
Reference in a new issue