02-19-2020, 02:05 PM
I've been slowing chugging through the TODO list and recently landed some changes that really start to change the way we can set about writing code for wasp-os.
The major new pieces are a hosted simulator that allows us to test a lot of the python code on your workstation simply by running "make sim". The other thing that has landed recently is patches to bring up a real filesystem (using the 4MB external SPI NOR FLASH). This is, IMHO, a big step in making the device more developer friendly. Combined with the new wasptool helper program it is possible to copy python sources to the device without having to launch a full OTA update. Instead we can have a faster development cycle that looks something like this
The code that runs the default watch application still needs a lot of work to reach the point where we can have plugable application (no launcher, no async framework, etc) but today anyone who knows a little python can take the whole system by the scruff of the neck and code whatever takes your fancy!
So... not finished but suddenly I think it is a much more interesting playground for people because it feels more like coding in Python than the traditional embedded edit/compile/download/debug cycle!
The major new pieces are a hosted simulator that allows us to test a lot of the python code on your workstation simply by running "make sim". The other thing that has landed recently is patches to bring up a real filesystem (using the 4MB external SPI NOR FLASH). This is, IMHO, a big step in making the device more developer friendly. Combined with the new wasptool helper program it is possible to copy python sources to the device without having to launch a full OTA update. Instead we can have a faster development cycle that looks something like this
Code:
./tools/wasptool --upload mycode.py
./tools/wasptool --console
>>> import mycode
>>> mycode.do_something_interesting()
>>> ^X
<write a new main script to exploit mycode>
./tools/wasptool --exec main.py
<repeat until happy>
./tools/wasptool --upload main.py
<long press into bootloader, short press back into uPy and watch the new main launch whatever you have written>
The code that runs the default watch application still needs a lot of work to reach the point where we can have plugable application (no launcher, no async framework, etc) but today anyone who knows a little python can take the whole system by the scruff of the neck and code whatever takes your fancy!
So... not finished but suddenly I think it is a much more interesting playground for people because it feels more like coding in Python than the traditional embedded edit/compile/download/debug cycle!