Skip to content
Martin Leadbeater edited this page Feb 5, 2018 · 2 revisions

Welcome to the clockwork_esp32 wiki

Overview

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.

Status

This is a new project, at best it could currently be viewed as a proof of concept.

Current features

  • 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

Next

  • add the code for dependent machines into the code generator
  • ...

Soon

  • generate the setup program from the clockwork configuration
Clone this wiki locally