Skip to content

Releases: smartrent/delux

v0.4.1

17 Oct 18:48
Compare
Choose a tag to compare
  • Changes
    • Added support for starting Delux as an OTP application. This is triggered by
      supplying an application configuration (see README.md). Please see
      documentation for tradeoffs.
    • Added support for specifying an initial configuration. The indicators no
      longer are forced to start in the off state.
    • Support looping Morse code sequences

v0.4.0

14 Oct 15:22
Compare
Choose a tag to compare

This is a big update that improves program playback timing to compensate for
the Linux kernel's HZ configuration and implementation of LED pattern triggers.
This affects all programs, but you probably won't notice it unless you're
creating Morse code patterns or measuring LED output with a logic analyzer.

  • Backwards incompatible changes

    • "Priority" is now called "slot". If you have custom priorities defined in
      your configurations, you will need to change them to slot. This change
      was made to make the use of this feature easier to explain. I.e. programs
      are put in slots, one program per slot per indicator, slots have an order.
  • Changes

    • Added :backend parameters and specifically the :hz parameter to support
      better playback timing. If unset, HZ=1000 is assumed. This results in
      almost the same timings as earlier versions. See the README for more
      information.
    • Added Delux.Effects.number_blink/3 for blinking out a number. This is for
      things like error codes - like error 1, 2, 3, etc.
    • Added Delux.Effects.timing_test/2 to debug timing precision issues with a
      logic analyzer.
    • Removed unnecessary writes to the filesystem when using multiple
      indicators. This fixes an issue where a change on one indicator restarts a
      program on a second indicator.
    • Reorganized the backend code to support future alternative backends. This is
      currently unplanned work, but it's now easier to think about adding a way to
      run Delux using Circuits.GPIO or a simulated LED.

v0.3.1

26 Sep 14:55
Compare
Choose a tag to compare
  • Changes
    • Support dimming arbitrary patterns to off. The dimming feature still doesn't
      dim all patterns, but dimming to off works for everything now.

v0.3.0

08 Sep 01:43
Compare
Choose a tag to compare
  • Changes
    • Favor singleton use of Delux with default arguments to render/3 and
      info/2. Now that Delux is being used more frequently as a singleton, this
      makes the API more convenient. This is backwards incompatible if you had
      been taking advantage of default arguments, but you should get compile-time
      and dialyzer errors. If you do name your Delux GenServers, you'll have to
      specify all arguments to render/3 and info/2.
    • Improve argument error messages by reporting what the valid options are in
      addition to what you passed.

v0.2.0

26 Aug 20:26
Compare
Choose a tag to compare
  • Changes
    • Register the Delux GenServer with a default name so that pids or names don't
      need to be passed to all APIs. Since Delux is almost always used as a
      singleton, this simplifies the API.

v0.1.2

11 Aug 13:03
Compare
Choose a tag to compare
  • Changes
    • Improve Delux.Effects.waveform/3 so that it's easier to use and produces
      shorter patterns. It now has examples in the docs and unit tests.

v0.1.1

10 Aug 22:45
Compare
Choose a tag to compare
  • Changes
    • Adjust timed pattern playback to minimize trimming LED programs.
      Unfortunately, LED programs still get cut off at the end with this release.
      If you're using Morse code, you'll see this. We plan on fixing this
      completely in a future release.
    • Support empty LED setups to simplify configuration of multi-target projects
      and unit tests.