neiam
/lambent_ex
Lambent Aether 5
public · Issues · Pulls 1 · Labels · Forks · Compare · Actions success · Badges · Packages
⭐
Log in to mark this repository.
actually made the pixel resorters re-sort, readme with a list of things I still need to do.
45ca228 · gmorell · 2022-12-20 06:14
Files changed
modified
README.md
+41
−0
@@ -1,5 +1,46 @@
| 1 | 1 | # LambentEx |
| 2 | 2 | |
| 3 | +A Reimplementation of Lambent Aether 4, in Elixir | |
| 4 | + | |
| 5 | +## Information | |
| 6 | + | |
| 7 | +### New Features | |
| 8 | + | |
| 9 | +- Device implementation is 100x more robust in device discovery on-net | |
| 10 | +- ~Devices can be virtually grouped~ | |
| 11 | +- Individual Machine Brightness Controls | |
| 12 | +- ~Links can target groups~ | |
| 13 | + | |
| 14 | +### Device Support | |
| 15 | + | |
| 16 | +- ESP8266-WS2812-I2S | |
| 17 | +- ##### TODO | |
| 18 | +- Home-Assistant Singles/Strips | |
| 19 | + | |
| 20 | +### Built-in Machines | |
| 21 | + | |
| 22 | +- Solid (RGB/HSV) | |
| 23 | +- Rainbow (Cycling/Solid) | |
| 24 | +- Chaser (Single, Multi) | |
| 25 | +- ##### TODO | |
| 26 | +- Growth | |
| 27 | +- Rocker | |
| 28 | +- Scapes | |
| 29 | +- Twinkles | |
| 30 | +- GSI Receiver | |
| 31 | +- FFT Receiver | |
| 32 | +- Hyperion Receiver | |
| 33 | +- Apollo Receiver | |
| 34 | + | |
| 35 | + | |
| 36 | +## Running | |
| 37 | +``` | |
| 38 | +docker pull lambentri/labmentex | |
| 39 | +docker run lambentex | |
| 40 | +``` | |
| 41 | + | |
| 42 | +## Development | |
| 43 | + | |
| 3 | 44 | To start your Phoenix server: |
| 4 | 45 | |
| 5 | 46 | * Install dependencies with `mix deps.get` |
modified
lib/lambent_ex/scan/8266-7777.ex
+8
−8
@@ -154,26 +154,26 @@ defmodule LambentEx.Scan.ESP8266x7777 do
| 154 | 154 | defp rgb_shift(stream, device) do |
| 155 | 155 | chunked = Enum.chunk_every(stream, 3) |
| 156 | 156 | |
| 157 | − case device |> Map.get(:ord) do | |
| 158 | − :rgb -> | |
| 157 | + case device |> Map.get("ord") do | |
| 158 | + "rgb" -> | |
| 159 | 159 | chunked |> Enum.map(fn [r, g, b] -> [g,r,b] end) |
| 160 | 160 | |
| 161 | − :grb -> | |
| 161 | + "grb" -> | |
| 162 | 162 | chunked |> Enum.map(fn [r, g, b] -> [r, g, b] end) |
| 163 | 163 | |
| 164 | − :rgbww -> | |
| 164 | + "rgbww" -> | |
| 165 | 165 | chunked |> Enum.map(fn [r, g, b] -> [g,r,b, Enum.min(C.wrgb([r, g, b]), r)] end) |
| 166 | 166 | |
| 167 | − :rgbnw -> | |
| 167 | + "rgbnw" -> | |
| 168 | 168 | chunked |> Enum.map(fn [r, g, b] -> [g,r,b, C.wrgb([r, g, b])] end) |
| 169 | 169 | |
| 170 | − :rgbcw -> | |
| 170 | + "rgbcw" -> | |
| 171 | 171 | chunked |> Enum.map(fn [r, g, b] -> [g,r,b, Enum.min([C.wrgb([r, g, b]), b])] end) |
| 172 | 172 | |
| 173 | − :rgbaw -> | |
| 173 | + "rgbaw" -> | |
| 174 | 174 | chunked |> Enum.map(fn [r, g, b] -> [g,r,b, C.argb([r, g, b]), C.wrgb([r, g, b])] end) |
| 175 | 175 | |
| 176 | − :rgbxw -> | |
| 176 | + "rgbxw" -> | |
| 177 | 177 | chunked |> Enum.map(fn [r, g, b] -> [g,r,b, 0] end) |
| 178 | 178 | |
| 179 | 179 | nil -> |
Parents: d18413e