Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add language features for .pio_version 1 #68

Merged
merged 26 commits into from
Sep 19, 2024
Merged

add language features for .pio_version 1 #68

merged 26 commits into from
Sep 19, 2024

Conversation

jepler
Copy link
Member

@jepler jepler commented Sep 5, 2024

New StateMachine constructor parameters will need to be added in the core. However, when these features are not used, the new constructor parameters will not be in pio_kwargs so backward compatibility is preserved.

Directives:

  • pio_version
  • fifo
  • mov_status
  • in
  • out
  • set

Instructions:

  • mov rxfifo[]
  • mov pindirs
  • irq next/prev
  • wait jmppin
  • wait irq next/prev

Closes #67

@jepler jepler changed the title Recognize .pio_version directive (integer arguments only) add language features for .pio_version 1 Sep 8, 2024
@jepler
Copy link
Member Author

jepler commented Sep 8, 2024

I think all the new directives & instructions are handled. However, I'd like to wait to merge this until the new StateMachine constructor parameters are supported in the core, just in case some changes end up needed there.

.. and correct .mov_status irq prev and range handling
 * As an extension, ".fifo auto" may be specified to request CircuitPython's
   auto fifo join behavior
 * bounds check on `.set` directive improved
 * redundant kwargs (e.g., out_count vs out_pin_count) fixed
Copy link

👋 Thanks for this pull request! Unfortunately, it looks like the automated continuous integration (CI) test(s) failed. These can be tricky to fix so we've written a guide on how to fix them locally. It has pages about running pre-commit locally and another about building the docs locally with sphinx. Thanks for contributing to CircuitPython! If you have more questions, feel free to join the Adafruit Discord and post in #circuitpython-dev.

@jepler jepler marked this pull request as ready for review September 13, 2024 15:44
@jepler jepler requested a review from tannewt September 13, 2024 15:44
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking this on! There are a lot of little details and I think I found a couple spots that don't match the datasheet.

@jepler jepler requested a review from tannewt September 13, 2024 19:44
this feature is in all PIO versions
@jepler
Copy link
Member Author

jepler commented Sep 13, 2024

oops, re-requested review but I missed a couple of points. will continue fixing.

the failing tests will be addressed next. They fall into two simple
classes, both pertaining to the new piov1 instructions.
@jepler
Copy link
Member Author

jepler commented Sep 13, 2024

OK now it's actually read for re-review (though I'm not likely to act on anything today or probably before monday so no rush)

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One structural request. Good otherwise. Thanks for generating tests for everything!

@jepler jepler requested review from tannewt and a team September 18, 2024 20:13
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@tannewt tannewt merged commit 5e7678e into main Sep 19, 2024
2 checks passed
adafruit-adabot added a commit to adafruit/Adafruit_CircuitPython_Bundle that referenced this pull request Sep 24, 2024
Updating https://github.com/adafruit/Adafruit_CircuitPython_ADXL37x to 1.2.0 from 1.1.9:
  > Merge pull request adafruit/Adafruit_CircuitPython_ADXL37x#7 from RoaCode/main

Updating https://github.com/adafruit/Adafruit_CircuitPython_MIDI to 1.5.0 from 1.4.19:
  > Merge pull request adafruit/Adafruit_CircuitPython_MIDI#57 from matthewbadeau/main

Updating https://github.com/adafruit/Adafruit_CircuitPython_PIOASM to 1.1.0 from 1.0.4:
  > Merge pull request adafruit/Adafruit_CircuitPython_PIOASM#71 from adafruit/doc
  > Merge pull request adafruit/Adafruit_CircuitPython_PIOASM#68 from adafruit/rp2350
  > Merge pull request adafruit/Adafruit_CircuitPython_PIOASM#70 from adafruit/fix-rotaryencoder-example

Updating https://github.com/adafruit/Adafruit_CircuitPython_Register to 1.10.0 from 1.9.18:
  > Merge pull request adafruit/Adafruit_CircuitPython_Register#57 from mikeysklar/ds3231-alarm2-minute-status

Updating https://github.com/adafruit/Adafruit_CircuitPython_Bundle/circuitpython_library_list.md to NA from NA:
  > Updated download stats for the libraries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

support .pio_version 1
2 participants