Skip to content

Goatmire 2026

Choose a tag to compare

@a-maze-d a-maze-d released this 22 Sep 22:17
· 4 commits to main since this release
846f180

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.check does 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 colorint type to also carry the white information as 0xwwrrggbb and 0xw2w2rrggbb (for two white leds) and added also an Fledex.Color.RGBW module

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 first span has 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_config now uses the Enum.group_by
  • Turned all Macro.escapes into unquote. This dramatically simplified the Fledex.Color.Names.ModuleGenerator code.
  • Replacing trunc(a/b) with div(a, b) where ever possible
  • Changed the 0..255 range in typespecs to a byte (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 :igniter and :usage_rules as dependencies