-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Martin Leadbeater edited this page Feb 5, 2018
·
2 revisions
This project aims to provide a runtime environment that can execute clockwork programs on the ESP32 hardware. This code provides an esp-idf project for the runtime and the clockwork project provides the export function to produce C code for this runtime. The project uses FreeRTOS within the esp-idf environment and will, in future support FreeRTOS on other platforms.
Currently a fair bit of had editting of the C is required to get it to compile and the setup function that instantiates the clockwork objects is entirely coded by hand. See cwrt_setup.c to get an idea of what this entails.
This is a new project, at best it could currently be viewed as a proof of concept.
- clockwork scheduler is present and can wake clockwork machines based on timers
- single bit input and output are implemented with clockwork state changes being triggered when inputs change
- the runtime supports execution of multiple clockwork tasks in (cooperative) parallel
- analogue output has been added and seems to work (on a single pin) via the cw_ANALOGOUTPUT machine
- machines now have a list of dependent machines and wake them up when necessary
- add the code for dependent machines into the code generator
- ...
- generate the setup program from the clockwork configuration