View Source Changelog
v0-4-0-2022-10-14
v0.4.0 - 2022-10-14
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.
- "Priority" is now called "slot". If you have custom priorities defined in
your configurations, you will need to change them to
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.
- Added
v0-3-1-2022-09-26
v0.3.1 - 2022-09-26
- 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-2022-09-07
v0.3.0 - 2022-09-07
- Changes
- Favor singleton use of Delux with default arguments to
render/3
andinfo/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 torender/3
andinfo/2
. - Improve argument error messages by reporting what the valid options are in addition to what you passed.
- Favor singleton use of Delux with default arguments to
v0-2-0-2022-08-26
v0.2.0 - 2022-08-26
- 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-3-2022-08-11
v0.1.3 - 2022-08-11
- Changes
- Fix typespecs to remove warnings found by Dialyzer
- Update
Delux.Effects.waveform/3
to support color atom names and check RGB tuples for range. The latter fixes errors that get detected later on and are more confusing to figure out.
v0-1-2-2022-08-11
v0.1.2 - 2022-08-11
- 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.
- Improve
v0-1-1-2022-08-10
v0.1.1 - 2022-08-10
- 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.
v0-1-0-2022-08-08
v0.1.0 - 2022-08-08
Initial release