Repository navigation
Goatmire 2026
Goatmire 2026 is just a week away and I will introduce Fledex on the conference. That's a good enough reason to make a new release with all the latest features.
Features
- First attempt to get Fledex working on AtomVM.
mix atomvm.checkdoes not give us any errors anymore - Adding support for ws2812 (via SPI port) led strips (restructued the SPI driver code). This should also support related drivers like ws2805, ws2811, ws2813, ws2814, and ws2815.
- Adding documentation on how to wire and configure the driver in
pages/hardware.md - Adding a new BellCurve effect
- Adding Telemetry
Note
Only the ws2812 led strip has been tested on real hardware. the other strips have been implemented according to the specs only.
- Added support for also RGBW led strips (like the ws2813), by extending the
colorinttype to also carry the white information as0xwwrrggbband0xw2w2rrggbb(for two white leds) and added also anFledex.Color.RGBWmodule
Warning
This release breaks backward compatibility not only on a lower level, but also the DSL.
The Spi driver has been renamed to Spi.Ws2801, because a second driver has been added
for the SPI bus: Spi.Ws2812
- Adding support for
:telemetry. The firstspanhas been defined:[Fledex.LedStrip, :transfer_data]: It measures how long it takes to transfer the data to the led strip.
Other changes
Cleanup
Animation.Manager.split_confignow uses theEnum.group_by- Turned all
Macro.escapesintounquote. This dramatically simplified theFledex.Color.Names.ModuleGeneratorcode. - Replacing
trunc(a/b)withdiv(a, b)where ever possible - Changed the
0..255range in typespecs to abyte(which corresponds to that range) - changing the default log level to
:warning(to not see so much output on the new livebook) - Making some minor changes to be more AtomVM compatible
- Not starting :wx (for observer) except in:dev mode
Bugs
- Fixing the documentation bug #161 (thanks @seb3s)
- Fixing a lot of documentation typos and bugs (thanks @seb3s)
- Fixing typespec issues
Tests
- Minor improvements in the LedStrip startup tests
Build
- Upgraded dependencies to latest version
- Ensured that everything works also with Elixir 1.20 (Note: Credo has a bug resulting in some warnings)
- Ading dialyzer caches
- Adding
:igniterand:usage_rulesas dependencies