GithubHelp home page GithubHelp logo

sblantipodi / glow_worm_luciferin Goto Github PK

View Code? Open in Web Editor NEW
154.0 7.0 19.0 236.42 MB

Bias Lighting and Ambient Light firmware, designed for Firefly Luciferin.

License: GNU General Public License v3.0

C++ 83.17% C 16.83%
ambient-light ambilight esp ws2812b bias-lighting esp32 esp8266 sk6812

glow_worm_luciferin's People

Contributors

dependabot[bot] avatar raybantracing avatar sblantipodi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

glow_worm_luciferin's Issues

[Bug]: Simplified issue form test

Firefly Luciferin version

2.4.6

Glow Worm Luciferin version

5.4.9

Firmware type

FULL

What is the stream method?

WiFi Stream

Fiefly Luciferin config file

Simplified issue form test

Relevant log output

Simplified issue form test

How to reproduce

Simplified issue form test

Random connection lost during usage

Firefly Luciferin version

1.12.9

Glow Worm Luciferin version

4.9.9

Describe the bug

Setup

This bug occurs in a dual monitor setup which uses two ESP8266 with the full firmware version. The monitors are named left display and right display. Both monitors are connected through MQTT and use different topics for each monitor.
If I start up Firefly the order is as follows:

  • 1 Firefly instance for the left monitor
  • 2 Firefly instance for the right monitor

The default color for the led's is configured to blue for both devices and the OS ist Debian Buster 10.9.

The Bug

Random, mostly after at least 15-25 minutes, the right monitor looses the connection to Firefly. The first indicator is that the led's will switch to the default color (blue in my case) and then turn off. After a couple of seconds the esp went away from the device tab and shows up again. Than an out of sync message will pop up and advice me to decrease the FPS. Even if I decrease the FPS, the device does not start working again until I turn off the power and restart Firefly

Bildschirmfoto von 2021-06-02 16-47-58

Bildschirmfoto von 2021-06-02 16-48-20

During this whole bug the other esp on the left monitor works as expected.

Logs

To provide you as much information as possible, I activated the debug mode in Firefly and reproduced the bug.

FireflyLuciferin.log

Side information

My first thought was that my mqtt server could be the problem. So I tested it with both instances on the same topic, but the bug still occurs. Even resarting the server does not solve the problem.

Personal guess

For me it looks like the esp turns off wifi sometimes and than reconnects.

If you need any further information feel free to ping me!

-- Cheers Patrick

[Bug]: ESP32 serial output jumbled

Firefly Luciferin version

2.0.1

Glow Worm Luciferin version

5.0.1

Firmware type

LIGHT

What is the stream method?

USB

Fiefly Luciferin config file

No response

Relevant log output

[16:58:39:375] BAUDRATE IN USE=500000␍␊
[16:58:39:474] ␊
[16:58:39:474] Using LEDs=511␍␊
[16:58:39:483] SAVED GPIO=0␍␊
[16:58:39:483] GPIO IN USE=2␍␊
[16:58:39:483] Using DMA␍␊
[16:58:39:483] ␍␊
[16:58:39:483] Initializing...␍␊
[16:58:49:448] framerate:0.0␊
[16:58:49:448] firmware:LIGHT␊
[16:58:49:457] ver:5.0.1␊
[16:58:49:457] lednum:511␊
[16:58:49:457] board:ESP32␊
[16:58:49:457] MACte:3␊
[16:58:49:457] effect:0␊
[16:58:49:457] :34:AB:95:4B:7A:08␊
[16:58:49:457] gpio:2␊
[16:58:49:457] baudra

How to reproduce

Hi guys,

I'm trying to run GlowWorm on an ESP32 CPU connected via USB. The PCB is Dr.Zzs PixelPro and the ESP32 module is the WROOM-32E. I haven't had any success getting FireFly to talk to GlowWorm yet, and am trying to figure out how/where to begin troubleshooting. The first thing I notice is that FireFly frequently has jumbled values in the "Devices" table. I think this points to an underlying issue in the GlowWorm serial output, and indeed, if I open a serial monitor when I plug in the ESP32, I receive the stream as shown in "Relevant log output". You can see that "MAC:34:AB:95:4B:7A:08" is jumbled up with "baudrate:3" and "effect:0".

I'm looking at the GlowWorm code to try to find out why the output gets jumbled. It looks like it only happens when the serial output is being handled by a task. You can see that the output produced during setup() is fine, but the output produced during tcpTask() has the problem. I'm not sure if this means it is a race condition, or a buffer overflow from a separate thread, or something else entirely.

How can I narrow this down further?

Thanks!

[Feature request]: Support for the 'Ethernet Add-on Board' version of the QuinLED-Dig-Uno

Is your feature request related to a problem? Please describe

The current provided firmwares include support for data communication across WiFi and/or USB cable, but not the Ethernet cable alternative.

Describe the solution you'd like

A firmware including Ethernet capability for this device version. :)

Describe alternatives you've considered

Using the Ethernet instead of WiFi may be preferable for some users to reduce WiFi congestion or possibly for less energy consumption, although that second point is speculation. Also the device supports it, so why not? :p

Thanks for your consideration!

How to reset settings?

Firmware type

FULL

What is the stream method?

WiFi Stream

How to reset settings? I made a wrong mqtt setup and esp freezes and won't connect.
Does he have a backup wifi hotspot for his wrong dial?

more leds

Hello, great job, very wonderful!
Can I use more than 95 leds? I try to flash last binary and configure 120 leds but only first 95 leds work.
I tried to compile source with 120 leds on file "GlowWormLuciferin.h", the software recognizes my D1 mini but is not work.
Can you help me?
Thank you so mutch!

[Bug]: Wrong translation for "reset sceen" button in german translation

Firefly Luciferin version

v2.13.8

Glow Worm Luciferin version

5.12.10

Firmware type

FULL

What is the stream method?

MQTT Stream

Fiefly Luciferin config file

---
mqttStream: true
wifiEnable: true
mqttEnable: true
serialPort: "Ambilight_PC"
staticGlowWormIp: "-"
baudRate: "500000"
extendedLog: "INFO"
audioChannels: "5 channels"
audioDevice: "Default audio output (Native)"
audioLoopbackGain: 3.0
autoDetectBlackBars: true
bottomLeftLed: 7
bottomRightLed: 7
bottomRowLed: 26
brightness: 29
brightnessLimiter: 1.0
captureMethod: "PIPEWIREXDG"
checkForUpdates: true
colorChooser: "0,128,128,29"
colorMode: 1
configVersion: "2.13.8"
defaultLedMatrix: "FullScreen"
desiredFramerate: "60"
effect: "Bias light"
enableLDR: false
eyeCare: true
frameInsertion: "No smoothing"
gamma: 2.2
gapTypeSide: "0%"
gapTypeTopBottom: "8%"
grabberAreaTopBottom: "8%"
grabberSide: "8%"
groupBy: 1
language: "Deutsch"
ldrInterval: 0
ldrMin: 0
ldrTurnOff: false
ledStartOffset: 0
leftLed: 9
monitorNumber: 0
mqttDiscoveryTopic: "homeassistant"
mqttPwd: ""
mqttServer: "tcp://127.0.0.1:1883"
mqttTopic: "glowwormluciferin"
mqttUsername: "ambilight"
multiMonitor: 1
multiScreenSingleDevice: false
nightModeBrightness: "0%"
nightModeFrom: "22:00"
nightModeTo: "08:00"
numberOfCPUThreads: 2
orientation: "Clockwise"
osScaling: 100
powerSaving: "5 minutes"
rightLed: 9
sampleRate: 0
screenResX: 1920
screenResY: 1080
splitBottomMargin: "15%"
splitBottomRow: true
startWithSystem: true
streamType: "MQTT stream"
syncCheck: true
theme: "Dark theme"
threadPriority: "HIGH"
timeout: 100
toggleLed: true
topLed: 16
whiteTemperature: 65
satellites: {}
algo: "Average color"
hueMap:
  BLUE:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
  CYAN:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
  MAGENTA:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
  MASTER:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
  YELLOW:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
  GREEN:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
  RED:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
  GREY:
    hue: 0.0
    saturation: 0.0
    lightness: 0.0
screenCastRestoreToken: "0e0b88b2-8328-4a75-8788-f42801041eec"
ledMatrix:
  FullScreen:
    1:
      x: 1108
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom right"
    2:
      x: 1224
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom right"
    3:
      x: 1340
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom right"
    4:
      x: 1456
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom right"
    5:
      x: 1572
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom right"
    6:
      x: 1688
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom right"
    7:
      x: 1804
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom right"
    8:
      x: 1767
      "y": 887
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    9:
      x: 1767
      "y": 787
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    10:
      x: 1767
      "y": 687
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    11:
      x: 1767
      "y": 587
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    12:
      x: 1767
      "y": 487
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    13:
      x: 1767
      "y": 387
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    14:
      x: 1767
      "y": 287
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    15:
      x: 1767
      "y": 187
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    16:
      x: 1767
      "y": 87
      width: 153
      height: 100
      groupedLed: false
      zone: "Right"
    17:
      x: 1800
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    18:
      x: 1680
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    19:
      x: 1560
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    20:
      x: 1440
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    21:
      x: 1320
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    22:
      x: 1200
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    23:
      x: 1080
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    24:
      x: 960
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    25:
      x: 840
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    26:
      x: 720
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    27:
      x: 600
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    28:
      x: 480
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    29:
      x: 360
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    30:
      x: 240
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    31:
      x: 120
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    32:
      x: 0
      "y": 0
      width: 120
      height: 86
      groupedLed: false
      zone: "Top"
    33:
      x: 0
      "y": 87
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    34:
      x: 0
      "y": 187
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    35:
      x: 0
      "y": 287
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    36:
      x: 0
      "y": 387
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    37:
      x: 0
      "y": 487
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    38:
      x: 0
      "y": 587
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    39:
      x: 0
      "y": 687
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    40:
      x: 0
      "y": 787
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    41:
      x: 0
      "y": 887
      width: 153
      height: 100
      groupedLed: false
      zone: "Left"
    42:
      x: 0
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom left"
    43:
      x: 116
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom left"
    44:
      x: 232
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom left"
    45:
      x: 348
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom left"
    46:
      x: 464
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom left"
    47:
      x: 580
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom left"
    48:
      x: 696
      "y": 994
      width: 116
      height: 86
      groupedLed: false
      zone: "Bottom left"
  Letterbox:
    1:
      x: 1108
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom right"
    2:
      x: 1224
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom right"
    3:
      x: 1340
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom right"
    4:
      x: 1456
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom right"
    5:
      x: 1572
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom right"
    6:
      x: 1688
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom right"
    7:
      x: 1804
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom right"
    8:
      x: 1767
      "y": 789
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    9:
      x: 1767
      "y": 717
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    10:
      x: 1767
      "y": 645
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    11:
      x: 1767
      "y": 573
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    12:
      x: 1767
      "y": 501
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    13:
      x: 1767
      "y": 429
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    14:
      x: 1767
      "y": 357
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    15:
      x: 1767
      "y": 285
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    16:
      x: 1767
      "y": 213
      width: 153
      height: 72
      groupedLed: false
      zone: "Right"
    17:
      x: 1800
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    18:
      x: 1680
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    19:
      x: 1560
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    20:
      x: 1440
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    21:
      x: 1320
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    22:
      x: 1200
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    23:
      x: 1080
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    24:
      x: 960
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    25:
      x: 840
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    26:
      x: 720
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    27:
      x: 600
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    28:
      x: 480
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    29:
      x: 360
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    30:
      x: 240
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    31:
      x: 120
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    32:
      x: 0
      "y": 154
      width: 120
      height: 61
      groupedLed: false
      zone: "Top"
    33:
      x: 0
      "y": 213
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    34:
      x: 0
      "y": 285
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    35:
      x: 0
      "y": 357
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    36:
      x: 0
      "y": 429
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    37:
      x: 0
      "y": 501
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    38:
      x: 0
      "y": 573
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    39:
      x: 0
      "y": 645
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    40:
      x: 0
      "y": 717
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    41:
      x: 0
      "y": 789
      width: 153
      height: 72
      groupedLed: false
      zone: "Left"
    42:
      x: 0
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom left"
    43:
      x: 116
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom left"
    44:
      x: 232
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom left"
    45:
      x: 348
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom left"
    46:
      x: 464
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom left"
    47:
      x: 580
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom left"
    48:
      x: 696
      "y": 865
      width: 116
      height: 61
      groupedLed: false
      zone: "Bottom left"
  Pillarbox:
    1:
      x: 1055
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom right"
    2:
      x: 1130
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom right"
    3:
      x: 1205
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom right"
    4:
      x: 1280
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom right"
    5:
      x: 1355
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom right"
    6:
      x: 1430
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom right"
    7:
      x: 1505
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom right"
    8:
      x: 1481
      "y": 889
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    9:
      x: 1481
      "y": 789
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    10:
      x: 1481
      "y": 689
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    11:
      x: 1481
      "y": 589
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    12:
      x: 1481
      "y": 489
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    13:
      x: 1481
      "y": 389
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    14:
      x: 1481
      "y": 289
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    15:
      x: 1481
      "y": 189
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    16:
      x: 1481
      "y": 89
      width: 99
      height: 100
      groupedLed: false
      zone: "Right"
    17:
      x: 1499
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    18:
      x: 1422
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    19:
      x: 1345
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    20:
      x: 1268
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    21:
      x: 1191
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    22:
      x: 1114
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    23:
      x: 1037
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    24:
      x: 960
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    25:
      x: 883
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    26:
      x: 806
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    27:
      x: 729
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    28:
      x: 652
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    29:
      x: 575
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    30:
      x: 498
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    31:
      x: 421
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    32:
      x: 344
      "y": 0
      width: 77
      height: 86
      groupedLed: false
      zone: "Top"
    33:
      x: 340
      "y": 89
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    34:
      x: 340
      "y": 189
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    35:
      x: 340
      "y": 289
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    36:
      x: 340
      "y": 389
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    37:
      x: 340
      "y": 489
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    38:
      x: 340
      "y": 589
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    39:
      x: 340
      "y": 689
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    40:
      x: 340
      "y": 789
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    41:
      x: 340
      "y": 889
      width: 99
      height: 100
      groupedLed: false
      zone: "Left"
    42:
      x: 340
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom left"
    43:
      x: 415
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom left"
    44:
      x: 490
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom left"
    45:
      x: 565
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom left"
    46:
      x: 640
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom left"
    47:
      x: 715
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom left"
    48:
      x: 790
      "y": 994
      width: 75
      height: 86
      groupedLed: false
      zone: "Bottom left"

Relevant log output

No response

How to reproduce

Switch to german language, select PIPEWIREXDG capture method and select german language.
I would expect something like "Bildschirmberechtigung zurücksetzen", "Bildschirm zurücksetzen" or "Berechtigung zurücksetzen" (where I would prefer the second over the third if it needs to be shorter).

Instead, there is some really weird translation, as seen on the screenshot:
screenshot_firefly

[Bug]: Setup Web Interface requires internet connection

Firefly Luciferin version

Glow Worm Luciferin version

5.10.6

Firmware type

FULL

What is the stream method?

WiFi Stream

Fiefly Luciferin config file

No response

Relevant log output

No response

How to reproduce

I just noticed, that with the newest firmware version the setup page, that you can access over the hotspot if not configuration was found, relies on files on the public internet. Unless your device has an internet connection and is connected to the hotspot of the esp at the same time, the interface is not usable because the files cannot be downloaded.

In version 5.9.7 this is not an issue.

Here are some pictures how the web interface on 5.10.6 looks like if only connected to the device hotspot:

Web Interface Unreachable files
image image

Thanks a lot for your work!

[Feature request]: publish the values of the analog input

Is your feature request related to a problem? Please describe

No response

Describe the solution you'd like

I love your project, I also use it on dark and rainy working days as a background lighting.
I would like to extend the ESP with an LDR sensor to measure the environment and use this to control the brightness of the LEDs.

Describe alternatives you've considered

No response

[Feature request]: SK6812 support

Is your feature request related to a problem? Please describe

A new SK6812 LED pixel protocol implementation would be great to have.
These LEDs can have a dedicated white channel with warm, neutral or cold colour temperature. Thanks to this the colour representation is much better that the normal RGB LEDs, especially the greyscale and the lower brightness hues.

Describe the solution you'd like

Support of the SK6812 with the following features:
Switch between the white management modes:

  • RGB: white is reproducedonly by RGB components (not so precise colour representation, white channel is not used)
  • RGBW: white is reproduced only with the white component (lower power consumption)
  • RGBW mixed: all four channels are used for white (high power consumption, maxed out brightness)

Describe alternatives you've considered

I have no idea of other alternatives.

Typo in web flasher

Is your feature request related to a problem? Please describe

No response

Describe the solution you'd like

There is a typo in the web flasher:
https://sblantipodi.github.io/glow_worm_luciferin/

image

In the second paragraph, S2 is missing and S3 is repeated twice. I looked at the source and found docs/esp_web_tools but it seem to be manually uploaded minified files so I did not send a PR.

Describe alternatives you've considered

No response

[Feature request]: presets with autostart on ESP boot option

Is your feature request related to a problem? Please describe

Settings are reverting to default values after each power off / power on cycle.

Describe the solution you'd like

Custom settings like color and brightness saved as presets and autostart on boot.

Describe alternatives you've considered

Switching default color and brightness values.

[Feature request]: Support for a power supply relay

Is your feature request related to a problem? Please describe

No

Describe the solution you'd like

First of all kudos for this great piece of software.

REQUEST: Please consider adding a feature to make it possible to use a power supply relay.

Being able to use 2 separate power supplies - a "small" one to power the board with 5v and GND and another "big" one to provide power for the LEDs with a relay attached - would be really nice.
So when powering off the LEDs completely it can trigger a relay to shut off power to the LEDs (via the “LED Power Supply”) while a separate power supply could keep the ESP board awake constantly.

Describe alternatives you've considered

Using another ESP board with a relay which works, but this way I need to use two separate devices.

Slowdown & Frame Dropping with MQTT on HT PC.

I have Firefly 1.5.0 installed on my Lenovo Thinkcentre M72e Tiny HT PC, running Windows 10 Pro.
https://www.cnet.com/products/lenovo-thinkcentre-m72e-tiny-pentium-g645t-2-5-ghz-2-gb-500-gb-3264t8f
Intel Pentium G645T CPU (dual core, only 2 threads possible), 8GB RAM. SSD drive.

This is communicating via MQTT (mosquito browser add-on within Hassio, running on a Raspberry Pi 3B+)
to a D1 Mini running Glowworm. The PC and RPi are on ethernet. The D1 is obviously wi-Fi.

The issue I have been experiencing is frame dropping and stuttering. Particularly when watching 720p videos
through Kodi. I don't think standard definition is as bad. This is streaming via ethernet from my NAS.

Capture method is set to DDUPL and 1 CPU thread (2 threads unsurprisingly made my machine virtually unresponsive).
The issue happens with FPS set to 30, 20 or 10. Screen resolution is 720x1280.

So 2 questions please;

Is this a problem with Glowworm/Firefly or my hardware?
I was assuming, just sending MQTT commands, with the D1 mini doing all the control wouldn't be any extra load on my PC.

I haven't tried direct connection with USB. Could this eliminate the issue?

Thanks.

[Feature request]: Support for Dotstar LED strips

Is your feature request related to a problem? Please describe

First off: Great work with this software. It's the best custom Ambilight solution I've found so far.
Sadly only Neopixel strips are supported at the moment. I would like to use a Dotstar LED strip (like APA102, SK9822).

Describe the solution you'd like

The Neopixelbus library also supports Dotstar LEDs via DotStarSpiMethod and corresponding features. Would it be possible to integrate these into the firmware as an option?

Describe alternatives you've considered

I've tinkered crudely with the code of GlowWorm v5.7.2 myself and got it working on an ESP8266 (sadly not on an ESP32) for a SK9823. But "official/native"support for this feature would make things a little bit easier and increase the range of possible setups, especially as the Dotstars are a little bit more responsive fps-wise in my experience.

Purpose and Need for the Home Assistant Automations?

I've noticed that the Luciferin integration has added a few automations to my Home Assistant.

Of these 'gw_time_publisher' seems to be running every 10 seconds and 'PC Animation Speed' has never run.

I have the other 5 Glowworm/LGlowworm automations disabled.

Would you kindly tell me the purpose of these automations and if they are required please?
As I can still control the lights from HA and the Firefly program still seems to be communicating
with my HT PC, via MQTT.*

  • Although I have noticed it's dropping frames and stuttering. Particularly when watching 720p videos
    through Kodi. I don't think SD is so bad. Will open a separate issue for that though.

[Bug]: no connection to mqtt

Firefly Luciferin version

last

Glow Worm Luciferin version

last

Firmware type

FULL

What is the stream method?

WiFi Stream

Fiefly Luciferin config file

No response

Relevant log output

No response

How to reproduce

for some reason, there is no connection via mqtt after entering all the data, the device no longer wakes up...
Logs:

MQTT attempts= 
6 
Connecting to 
MQTT Broker... 
MQTT Last Will Params: 
willTopic: 0 
willPayload: 0 
qos: 1 
retain: 0 
clean session: 1 
MQTT attempts= 
7 
Connecting to 
MQTT Broker... 
MQTT Last Will Params: 
willTopic: 0 
willPayload: 0 
qos: 1 
retain: 0 
clean session: 1

I would also like to see this menu not only after the firmware, but also before it. along with viewing logs.
Ci38-CqmSpw

[Bug]: GPIO change via web interface is not working

Firefly Luciferin version

2.3.1

Glow Worm Luciferin version

5.3.1

Firmware type

FULL

What is the stream method?

MQTT Stream

Fiefly Luciferin config file

---
numberOfCPUThreads: 1
captureMethod: "DDUPL"
serialPort: "Luciferin teszt"
baudRate: "921600"
defaultLedMatrix: "FullScreen"
autoDetectBlackBars: true
topLed: 9
leftLed: 0
rightLed: 0
bottomLeftLed: 4
bottomRightLed: 4
bottomRowLed: 0
orientation: "Clockwise"
timeout: 100
screenResX: 1920
screenResY: 1080
osScaling: 100
gamma: 2.0
whiteTemperature: 20
wifiEnable: true
mqttServer: "tcp://192.168.0.227:1883"
mqttTopic: "glowwormluciferin"
mqttUsername: ""
mqttPwd: ""
mqttEnable: false
mqttStream: true
streamType: "UDP stream"
checkForUpdates: true
eyeCare: false
nightModeFrom: "22:00"
nightModeTo: "08:00"
nightModeBrightness: "10%"
toggleLed: true
desiredFramerate: "60"
colorChooser: "255,255,255,255"
brightness: 255
ledStartOffset: 0
splitBottomRow: false
startWithSystem: false
multiMonitor: 1
monitorNumber: 0
syncCheck: true
effect: "Bias light"
audioLoopbackGain: 0.0
audioDevice: "Default audio output (Native)"
audioChannels: "2 channels"
multiScreenSingleDevice: false
powerSaving: "Disabled"
theme: "Dark theme"
ledMatrix:
  FullScreen:
    1:
      x: 1707
      "y": 8
      dimension: 203
    2:
      x: 1494
      "y": 8
      dimension: 203
    3:
      x: 1281
      "y": 8
      dimension: 203
    4:
      x: 1068
      "y": 8
      dimension: 203
    5:
      x: 855
      "y": 8
      dimension: 203
    6:
      x: 642
      "y": 8
      dimension: 203
    7:
      x: 429
      "y": 8
      dimension: 203
    8:
      x: 216
      "y": 8
      dimension: 203
    9:
      x: 3
      "y": 8
      dimension: 203
  Letterbox:
    1:
      x: 1707
      "y": 126
      dimension: 203
    2:
      x: 1494
      "y": 126
      dimension: 203
    3:
      x: 1281
      "y": 126
      dimension: 203
    4:
      x: 1068
      "y": 126
      dimension: 203
    5:
      x: 855
      "y": 126
      dimension: 203
    6:
      x: 642
      "y": 126
      dimension: 203
    7:
      x: 429
      "y": 126
      dimension: 203
    8:
      x: 216
      "y": 126
      dimension: 203
    9:
      x: 3
      "y": 126
      dimension: 203
  Pillarbox:
    1:
      x: 1443
      "y": 62
      dimension: 127
    2:
      x: 1306
      "y": 62
      dimension: 127
    3:
      x: 1169
      "y": 62
      dimension: 127
    4:
      x: 1032
      "y": 62
      dimension: 127
    5:
      x: 895
      "y": 62
      dimension: 127
    6:
      x: 758
      "y": 62
      dimension: 127
    7:
      x: 621
      "y": 62
      dimension: 127
    8:
      x: 484
      "y": 62
      dimension: 127
    9:
      x: 347
      "y": 62
      dimension: 127
extendedLog: false
configVersion: "2.3.1"

Relevant log output

[Instance #1] 2022-02-24 17:18:56,689 DEBUG org.dpsoftware.JavaFXStarter [main] Starting default instance
[Instance #1] 2022-02-24 17:18:57,120 INFO org.dpsoftware.managers.StorageManager [JavaFX Application Thread] C:\Users\tamas\Documents\FireflyLuciferin already exists
[Instance #1] 2022-02-24 17:18:57,174 INFO org.dpsoftware.managers.StorageManager [JavaFX Application Thread] Configuration OK.
[Instance #1] 2022-02-24 17:18:57,317 INFO org.dpsoftware.grabber.ImageProcessor [JavaFX Application Thread] GStreamer path in use=C:/Users/tamas/AppData/Local/Firefly Luciferin/app/classes
[Instance #1] 2022-02-24 17:18:57,393 DEBUG org.dpsoftware.FireflyLuciferin [JavaFX Application Thread] MQTT disabled.
[Instance #1] 2022-02-24 17:18:57,399 DEBUG org.dpsoftware.network.tcpUdp.UdpServer [JavaFX Application Thread] Local IP= 192.168.0.144
[Instance #1] 2022-02-24 17:18:57,412 DEBUG org.dpsoftware.network.tcpUdp.UdpServer [JavaFX Application Thread] Network adapter in use=Realtek PCIe GbE Family Controller
[Instance #1] 2022-02-24 17:18:57,413 DEBUG org.dpsoftware.network.tcpUdp.UdpServer [JavaFX Application Thread] Broadcast address found=/192.168.0.255
[Instance #1] 2022-02-24 17:18:57,434 INFO org.dpsoftware.managers.StorageManager [JavaFX Application Thread] C:\Users\tamas\Documents\FireflyLuciferin already exists
[Instance #1] 2022-02-24 17:18:57,568 DEBUG org.dpsoftware.managers.UpgradeManager [JavaFX Application Thread] Checking for Firefly Luciferin Update
[Instance #1] 2022-02-24 17:18:58,952 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:18:59,409 INFO org.dpsoftware.managers.StorageManager [JavaFX Application Thread] C:\Users\tamas\Documents\FireflyLuciferin already exists
[Instance #1] 2022-02-24 17:18:59,416 INFO org.dpsoftware.managers.StorageManager [JavaFX Application Thread] Configuration OK.
[Instance #1] 2022-02-24 17:18:59,667 INFO org.dpsoftware.managers.StorageManager [JavaFX Application Thread] C:\Users\tamas\Documents\FireflyLuciferin already exists
[Instance #1] 2022-02-24 17:18:59,670 DEBUG org.dpsoftware.managers.DisplayManager [JavaFX Application Thread] Native HMONITOR peer: 65537 -> Generic PnP Monitor                                                                                                             
[Instance #1] 2022-02-24 17:18:59,674 DEBUG org.dpsoftware.managers.DisplayManager [JavaFX Application Thread] Width: 1920.0 Height: 1080.0 Scaling: 1.0 MinX: 0.0 MinY: 0.0
[Instance #1] 2022-02-24 17:18:59,681 INFO org.dpsoftware.managers.StorageManager [JavaFX Application Thread] Configuration OK.
[Instance #1] 2022-02-24 17:18:59,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:00,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:01,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:02,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:03,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:04,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:05,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:06,950 DEBUG org.dpsoftware.managers.PipelineManager [pool-11-thread-1] Waiting device for my instance...
[Instance #1] 2022-02-24 17:19:08,392 DEBUG org.dpsoftware.FireflyLuciferin [pool-3-thread-2] Starting a new pipeline
[Instance #1] 2022-02-24 17:19:12,946 DEBUG org.dpsoftware.managers.UpgradeManager [pool-6-thread-1] Checking for Glow Worm Luciferin Update
[Instance #1] 2022-02-24 17:19:14,521 DEBUG org.dpsoftware.gui.controllers.DevicesTabController [JavaFX Application Thread] Setting GPIO2 on Luciferin teszt
[Instance #1] 2022-02-24 17:19:28,047 DEBUG org.dpsoftware.gui.GUIManager [AWT-EventQueue-0] CLEAN EXIT

How to reproduce

#I think the config and log are not relevant.

Go to glow worm web interface with and change the GPIO.
After save and restart it remains as before.
Changing vie firefly it works OK.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.