MicroPython_ESP32_psRAM_LoBo icon indicating copy to clipboard operation
MicroPython_ESP32_psRAM_LoBo copied to clipboard

add ULP support with uPython assembler

Open ubIQio opened this issue 7 years ago • 3 comments

Adds support for loading and running ULP code (taken from Andreas Valder's PR to Damien George's MicroPython) together with Thomas Waldmann's micropython ULP assembler.

ulp_count.py included as simple usage example pulse_counter.py shows use of GPIO by ULP to debounce a noisy pulse stream

ubIQio avatar Sep 13 '18 13:09 ubIQio

Running a ULP blob should be integrated; it's necessary to be included in the firmware. But does it make sense to integrate Thomas Waldmann's assembler? It can just be deployed to a device and run.

Allowing it to be deployed to a device using upip would be very helpful though!

mattytrentini avatar Sep 17 '18 04:09 mattytrentini

Not sure, but it certainly lowers the bar for developing code for the ULP, and ULP support is a essential feature not a nice to have, esp. if you want a battery powered device.

The code/debug/test cycle is much faster with the python assembler, as theres just one file to copy to the target, which given the lack of visibility of the ULP code, really helps development (esp. as the ULP binary is functionally very closely coupled to the python code that launches and talks to it)

Until/unless someone integrates the esp-idf ULP compiler into the build scripts, Thomas Waldmann's assembler seems like a great approach. Even then, the one file binary+python ULP update makes it preferable IMO.

ubIQio avatar Sep 17 '18 07:09 ubIQio

Thank you for the PR.

I'll work on ULP support next month, then I'll probably merge this PR or parts of it.

loboris avatar Dec 17 '18 12:12 loboris