~technomancy/takver

Fennel tooling for the ESP8266
Remove newlines when streaming output to device.
Detect the error of omitting USB port argument.
Fennel 0.2.1, but patched for takver.

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~technomancy/takver
read/write
git@git.sr.ht:~technomancy/takver

You can also use your local clone with git send-email.

Takver

Develop Fennel programs on a tiny microcontroller.

Rationale

Microcontrollers are super useful, but not having interactive development is a huge drag! The ESP8266 is a powerful, low-cost device that can run Lua, but loading the Fennel compiler into it leaves very little memory left over for application code.

The nomacro branch contains a stripped-down version of the Fennel compiler which can run in the limited memory constraints of the device, but all macro support had to be removed to allow this, and the firmware had to be recompiled to bump the max locals allowed per chunk. Under this arrangement only 28kb was left available.

Takver allows you to run the compiler on your main computer and simply stream the compiler output to the device.

Usage

$ ./fennel takver.fnl repl [/path/to/USB]

Requires the luaposix library; install via apt, etc.

Currently Takver requires a hacked version of Fennel in order to allow the execution of the code to happen in a different process from the compiler.

TODO

  • Allow uploading project code into the device

License

Copyright © 2019 Phil Hagelberg and contributors

Released under the terms of the GNU Lesser General Public License version 3 or later; see the file LICENSE.