Commit graph

24 commits

Author SHA1 Message Date
4deafa6c65 Add and test .in directive 2024-09-05 13:18:26 -05:00
ff1f57dfb1 Check directives that must come before an instruction 2024-09-05 13:13:20 -05:00
cfee88e040 Add .mov_status 2024-09-05 09:49:50 -05:00
3da0f6cea2 Add .fifo directive 2024-09-05 09:05:47 -05:00
a8fa218e45 Recognize .pio_version directive (integer arguments only) 2024-09-05 08:37:43 -05:00
be66c02eb3 Better diagnose the incorrect lines like "side 1" or "[5]"
Before this, the exception would be 'IndexError: list index out of range'.
Now it is 'Unknown instruction: side' or similar.

(These need an instruction, even if it's a `nop`: `nop side 1 [5]`)
2024-07-10 08:09:46 -05:00
KB Sriram
3e6a8bc392 Add type annotations for library and tests.
Verified that `mypy --strict adafruit_pioasm.py tests` runs without
errors.

Fixes: https://github.com/adafruit/Adafruit_CircuitPython_PIOASM/issues/24
2024-05-27 12:30:52 -07:00
KB Sriram
d87b4461ae Add tests for "out" and "in".
Also added more descriptive errors for invalid
source/destination values.

Fixes https://github.com/adafruit/Adafruit_CircuitPython_PIOASM/issues/44
2024-04-25 22:50:39 -07:00
Gebhartj
05e0ae9acd
Update test_pseudo.py 2024-01-24 08:19:53 +01:00
3bacee4ad2
support .offset pseudo-op 2023-08-05 15:57:13 -05:00
Tekktrik
66db505fc6 Switch to pytest 2023-05-24 12:57:35 -04:00
5429dc1f59
accept 0x, 0b, 0o literals in most places numbers can be used
Closes: #30 (though I don't know what octal syntax is accepted by
official pioasm, we will accept python-style 0o567 not C-style 0567)
2022-04-24 20:06:24 -05:00
16adbe4464
The core doesn't like sideset_pin_count=0, so don't send it 2022-04-06 08:41:58 -05:00
d16bd7e6a4
Add support for wrap/wrap_target
.. This also needs support in the core for specifying them in the
StateMachine constructor.
2022-02-13 13:22:03 -06:00
Jeff Epler
fde6fccaa0
adding this file lets 'python3 -munittest' in the top directory work 2022-02-13 13:17:34 -06:00
5736f5034b
Update testpioasm.py 2022-02-01 16:50:15 -06:00
2722649975
Fix name of parameter in pio_kwargs 2022-02-01 11:00:45 -06:00
666f4ef2c9
Merge remote-tracking branch 'origin/main' into program-object 2022-01-12 08:38:43 -06:00
Danny Staple
c3fa9b65bd Turns out, this dialect supports taking out spaces and the bang mark. 2022-01-08 15:50:28 +00:00
Danny Staple
df0662297d make my exceptions more consistent, and add tests. 2022-01-02 16:07:07 +00:00
Jeff Epler
9707333567 Add Program class, type information
An instance of the `Program` class has the `.assembled` property
as well as the `pio_kwargs` property. This allows passing information
from the assembler to the StateMachine constructor, in a way that can
be extended in future versions (e.g., for .wrap / .wrap_target)

This re-indents a lot of code so it may be better viewed with whitespace
changes hidden.

Tests are added for the limits of the side-set and delay values. An
off-by-one bug with the sideset_value limit was fixed.
2021-12-26 10:35:41 -06:00
Scott Shawcroft
dd2f65e4d5
Add one more test case 2021-12-23 11:21:30 -08:00
Scott Shawcroft
6fd0518867
Fix tests and add one 2021-12-22 12:35:25 -08:00
9861fd06ac add some tests 2021-03-22 21:09:33 -05:00