2023-09-11 19:17:14 +03:00
|
|
|
# DeviceScript Runtime for ESP32
|
2020-07-22 17:55:39 +03:00
|
|
|
|
2023-06-28 23:37:33 +03:00
|
|
|
This repo contains implementation of DeviceScript virtual machine and runtime for ESP32.
|
2023-05-25 00:32:22 +03:00
|
|
|
See https://microsoft.github.io/devicescript/devices/esp32 .
|
2020-07-22 18:11:29 +03:00
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
Install ESP-IDF. Make sure `IDF_PATH` is set.
|
2022-05-04 00:39:23 +03:00
|
|
|
You can also install `ccache` to speed up builds.
|
2020-07-22 18:11:29 +03:00
|
|
|
You will need to run `export.sh` from the IDF folder - the Makefile will remind you.
|
|
|
|
|
|
|
|
To build run `make`.
|
|
|
|
|
|
|
|
To deploy run `make r`.
|
|
|
|
|
2022-05-04 00:39:23 +03:00
|
|
|
## TODO
|
|
|
|
|
2022-06-01 23:59:00 +03:00
|
|
|
* [ ] test flash jacs storage
|
|
|
|
* [ ] test sensor watchdog
|
|
|
|
* [ ] test cloud watchdog
|
|
|
|
* [ ] add Jacs restart/crash blinks
|
|
|
|
* [ ] add Jacs user blink
|
|
|
|
* [ ] some blink for no Jacs program?
|
|
|
|
* [ ] linker-override panic_restart() - do some blinking in there
|
|
|
|
* [ ] synchronize timeseries ends to limit number of uploads
|
2022-06-08 02:55:22 +03:00
|
|
|
* [ ] save current time in some RTC register so it survives reset (for stored cloud uploads)
|
|
|
|
* [ ] 'failed' response for HF2 send
|
2022-06-01 23:59:00 +03:00
|
|
|
|
2022-05-26 03:27:52 +03:00
|
|
|
* [x] report Wi-Fi RSSI from tsagg
|
2022-05-28 01:37:36 +03:00
|
|
|
* [x] deal with Discrete from motion sensor
|
2022-05-27 01:39:20 +03:00
|
|
|
* [ ] user-accessible watchdog in Jacscript
|
|
|
|
* [x] restart on infinite loop (hw-watchdog)
|
2022-05-28 01:37:36 +03:00
|
|
|
* [x] impl. watchdogs in tsagg + azureiot
|
2022-06-01 23:59:00 +03:00
|
|
|
* [x] blink on upload
|
2022-05-26 03:27:52 +03:00
|
|
|
|
2022-05-28 01:37:36 +03:00
|
|
|
* [x] save program in flash
|
2022-05-26 03:27:52 +03:00
|
|
|
* [ ] multiple Wi-Fi networks saved
|
|
|
|
|
2022-05-06 02:33:46 +03:00
|
|
|
* [x] add HF2 over USB Serial (CDC)
|
|
|
|
* [x] set "CLIENT" flag in announce
|
2022-05-14 03:17:30 +03:00
|
|
|
|
|
|
|
* [ ] disable self-reports coming from the wire
|
|
|
|
* [ ] don't forward `restricted` packets to the wire from USB or loopback
|
|
|
|
* [ ] only accept `restricted` packets from USB or loopback
|
|
|
|
* [ ] add `restricted` flag in frame flags
|
|
|
|
|
2022-06-01 23:59:00 +03:00
|
|
|
* [x] re-enable wifi service - think about auto-connect?
|
|
|
|
* [x] implement Azure IoT Hub connection and IoT Hub health service
|
|
|
|
* [x] implement Jacscript Cloud service using IoT Hub
|
|
|
|
* [x] add auto-upload function in Jacscript and precompile for common modules
|
|
|
|
* [x] implement reset_in as hw-watchdog
|
2020-07-22 18:11:29 +03:00
|
|
|
|
|
|
|
## Contributing
|
2020-07-22 17:55:39 +03:00
|
|
|
|
|
|
|
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
|
|
|
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
|
|
|
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
|
|
|
|
|
|
|
|
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
|
|
|
|
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
|
|
|
|
provided by the bot. You will only need to do this once across all repos using our CLA.
|
|
|
|
|
|
|
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
|
|
|
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
|
|
|
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|