Skip to content

Commit

Permalink
feature request 44 (#177)
Browse files Browse the repository at this point in the history
- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.14.5)
- **Added support for [Ethernet devices](https://github.com/sblantipodi/firefly_luciferin/wiki/Compatible-Hardware#ethernet-devices).** Closes [#44](sblantipodi/glow_worm_luciferin#44). 
  - QuinLed-ESP32-Ethernet
  - QuinLed-Dig-Octa Brainboard-32-8L
  - LilyGO-T-ETH-POE
  - LilyGO-T-POE-Pro
  - WT32-ETH01
  - ESP32-ETHERNET-KIT-VE
  - ESP32-POE
  - ESP32-POE-WROVER
  - WESP32
- Improved [aspect ratio auto detection](https://github.com/sblantipodi/firefly_luciferin/wiki/Aspect-ratio) on wide screen format display.
- Display scaling setting now supports custom values. Closes [#211](#211). 
- Added support for non-standard Documents folder paths, ex: `~/OneDrive/Documents`, existing configuration files will be automatically moved to your default path.
- Fixed an issue that prevented OTA fimware upload via PlatformIO.
- Improved German translations. Thanks @Maaaaarc for the [pull request](#210).
- Improved latency with [satellites](https://github.com/sblantipodi/firefly_luciferin/wiki/Surround-lighting-with-satellites).
- Improved latency when turning on/off the strip.
- Improved "smart button debounce" to eliminate unwanted button press due to noise on the board.
- Firefly Luciferin [auto update feature](https://github.com/sblantipodi/firefly_luciferin/wiki/Luciferin-update-management) now compresses the firmware before sending it to the ESP8266 microcontroller. Fixes some occasional hangup during firmware update due to out of memory error.
- ESP32 file system layout has been adjusted to accommodate a larger firmware. This change has no impact if you use the automatic update feature with Firefly Luciferin. However, manually updating the firmware through the [Web Installer](https://sblantipodi.github.io/glow_worm_luciferin/) will erase your ESP32 device.
- Java/JavaFX 22, libs update, code refactor to avoid using deprecated methods, CI/CD pipeline improvements for faster build.
- [Arduino Bootstrapper](https://github.com/sblantipodi/arduino_bootstrapper/releases) update (v.1.17.0).
  • Loading branch information
sblantipodi authored Jul 1, 2024
1 parent 1b30135 commit 2a51f7e
Show file tree
Hide file tree
Showing 49 changed files with 584 additions and 339 deletions.
12 changes: 5 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ jobs:
echo $RELEASE_VERSION
echo ${{ env.RELEASE_VERSION }}
shell: bash
- name: Set up AdoptOpenJDK 21
- name: Set up AdoptOpenJDK 22
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
java-version: '22.0.1'
architecture: x64
- name: Install submodules
run: |
Expand All @@ -47,10 +47,9 @@ jobs:
- name: Java 14 Package API, create EXE binary
run: |
rm -rf target/fireflyluciferin-${{steps.get-id.outputs.id}}.jar;
mv target/FireflyLuciferin-${{steps.get-id.outputs.id}}-jar-with-dependencies.jar target/FireflyLuciferin-jar-with-dependencies.jar
cd build_tools/wixtools;
echo ${{github.run_number}}
jpackage -i ../../target --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon ../../data/img/java_fast_screen_capture_logo.ico --win-menu --win-menu-group Luciferin --copyright "Davide Perini" --name "Firefly Luciferin" --vendor DPsoftware --win-dir-chooser --win-shortcut --win-per-user-install --win-upgrade-uuid 33c82dc4-e0e0-11ea-87d0-0242ac130003 --app-version "0.0.${{github.run_number}}" --win-shortcut --win-shortcut-prompt --java-options "-XX:+UseZGC -XX:+ZGenerational -XX:+UseStringDeduplication -Xms64m -Xmx1024m"
jpackage -i ../../target --type exe --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon ../../data/img/java_fast_screen_capture_logo.ico --win-menu --win-menu-group Luciferin --copyright "Davide Perini" --name "Firefly Luciferin" --vendor DPsoftware --win-dir-chooser --win-shortcut --win-per-user-install --win-upgrade-uuid 33c82dc4-e0e0-11ea-87d0-0242ac130003 --app-version "0.0.${{github.run_number}}" --win-shortcut --win-shortcut-prompt --java-options "-XX:+UseZGC -XX:+ZGenerational -XX:+UseStringDeduplication -Xms64m -Xmx1024m"
shell: bash
- name: Adding asset to the release
env:
Expand Down Expand Up @@ -79,11 +78,11 @@ jobs:
run: |
echo $RELEASE_VERSION
echo ${{ env.RELEASE_VERSION }}
- name: Set up AdoptOpenJDK 21
- name: Set up AdoptOpenJDK 22
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
java-version: '22.0.1'
architecture: x64
- id: get-id
run: |
Expand All @@ -100,7 +99,6 @@ jobs:
run: |
ls -la target
rm -rf target/fireflyluciferin-${{steps.get-id.outputs.id}}.jar;
mv target/FireflyLuciferin-${{steps.get-id.outputs.id}}-jar-with-dependencies.jar target/FireflyLuciferin-jar-with-dependencies.jar
jpackage -i target --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon data/img/luciferin_logo.png --linux-shortcut --copyright "Davide Perini" --name FireflyLuciferin --vendor DPsoftware --app-version "${{steps.get-id.outputs.id}}" --java-options "-XX:+UseZGC -XX:+ZGenerational -XX:+UseStringDeduplication -Xms64m -Xmx1024m"
- name: Adding Linux asset to the release (Debian flavour)
env:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ jobs:
with:
languages: ${{ matrix.language }}

- name: Set up AdoptOpenJDK 21
- name: Set up AdoptOpenJDK 22
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
java-version: '22.0.1'
architecture: x64

- name: Autobuild
Expand Down
16 changes: 7 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ jobs:
echo $RELEASE_VERSION
echo ${{ env.RELEASE_VERSION }}
shell: bash
- name: Set up AdoptOpenJDK 20
- name: Set up AdoptOpenJDK 22
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
java-version: '22.0.1'
architecture: x64
- name: Install submodules
run: |
Expand All @@ -77,9 +77,8 @@ jobs:
- name: Java 14 Package API, create EXE binary
run: |
rm -rf target/fireflyluciferin-${{steps.get-id.outputs.id}}.jar;
mv target/FireflyLuciferin-${{steps.get-id.outputs.id}}-jar-with-dependencies.jar target/FireflyLuciferin-jar-with-dependencies.jar
cd build_tools/wixtools;
jpackage -i ../../target --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon ../../data/img/java_fast_screen_capture_logo.ico --win-menu --win-menu-group Luciferin --copyright "Davide Perini" --name "Firefly Luciferin" --vendor DPsoftware --win-dir-chooser --win-shortcut --win-per-user-install --win-upgrade-uuid 33c82dc4-e0e0-11ea-87d0-0242ac130003 --app-version "${{steps.get-id.outputs.id}}" --win-shortcut --win-shortcut-prompt --java-options "-XX:+UseZGC -Xms64m -Xmx1024m"
jpackage -i ../../target --type exe --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon ../../data/img/java_fast_screen_capture_logo.ico --win-menu --win-menu-group Luciferin --copyright "Davide Perini" --name "Firefly Luciferin" --vendor DPsoftware --win-dir-chooser --win-shortcut --win-per-user-install --win-upgrade-uuid 33c82dc4-e0e0-11ea-87d0-0242ac130003 --app-version "${{steps.get-id.outputs.id}}" --win-shortcut --win-shortcut-prompt --java-options "-XX:+UseZGC -Xms64m -Xmx1024m"
shell: bash
- name: Adding asset to the release
env:
Expand All @@ -103,11 +102,11 @@ jobs:
run: |
echo $RELEASE_VERSION
echo ${{ env.RELEASE_VERSION }}
- name: Set up AdoptOpenJDK 21
- name: Set up AdoptOpenJDK 22
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
java-version: '22.0.1'
architecture: x64
- id: get-id
run: |
Expand All @@ -125,7 +124,6 @@ jobs:
run: |
ls -la target
rm -rf target/fireflyluciferin-${{steps.get-id.outputs.id}}.jar;
mv target/FireflyLuciferin-${{steps.get-id.outputs.id}}-jar-with-dependencies.jar target/FireflyLuciferin-jar-with-dependencies.jar
jpackage -i target --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon data/img/luciferin_logo.png --linux-shortcut --copyright "Davide Perini" --name FireflyLuciferin --vendor DPsoftware --app-version "${{steps.get-id.outputs.id}}" --java-options "-XX:+UseZGC -Xms64m -Xmx1024m"
- name: Adding Linux asset to the release (Debian flavour)
env:
Expand Down Expand Up @@ -163,11 +161,11 @@ jobs:
id=$(echo $RELEASE_VERSION | cut -dv -f2)
echo "id=$id" >> $GITHUB_OUTPUT
shell: bash
- name: Set up AdoptOpenJDK 21
- name: Set up AdoptOpenJDK 22
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
java-version: '22.0.1'
architecture: x64
- name: Set up Maven Settings for deploy
uses: s4u/maven-settings-action@v3.0.0
Expand Down
23 changes: 18 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,18 +50,31 @@ Here's a [**Quick Start guide**](https://github.com/sblantipodi/firefly_luciferi
## Glow Worm Luciferin + Firefly Luciferin (click to watch it on YouTube)
[![Luciferin YouTube Video #1](https://github.com/sblantipodi/glow_worm_luciferin/blob/master/assets/img/ambilight_viddeo.jpg)](https://youtu.be/Hd6BtPp40I0)

## Configuration
As soon as you start the software it creates a `FireflyLuciferin.yaml` file in your documents folder, you can configure it manually or via the user interface.
`If you don't know how to configure it, just use the default settings`.
## Easy to learn, easy to use

![IMAGE ALT TEXT HERE](https://github.com/sblantipodi/firefly_luciferin/blob/master/data/img/settings_screen.png)
Effortless setup with minimal configuration required, yet highly customizable to meet specific needs.

<p align="center">
<img src="https://raw.githubusercontent.com/sblantipodi/firefly_luciferin/master/data/img/settings_1.png">
</p>

<p align="center">
<img src="https://raw.githubusercontent.com/sblantipodi/firefly_luciferin/master/data/img/settings_2.png">
</p>

<p align="center">
<img src="https://raw.githubusercontent.com/sblantipodi/firefly_luciferin/master/data/img/settings_3.png">
</p>

## Luciferin Official PCB

<img align="center" width="700" src="https://github.com/sblantipodi/glow_worm_luciferin/blob/master/assets/CAD_schematics/PCB_ESP8266/img/PCB_front.jpg?raw=true">
<img align="center" width="700" src="https://github.com/sblantipodi/glow_worm_luciferin/blob/master/assets/CAD_schematics/PCB_ESP8266/img/pre_after.jpg?raw=true">

If you don't want to design your own PCB and you have a soldering iron, you might find [Luciferin's official PCB](https://github.com/sblantipodi/firefly_luciferin/wiki/Ready-to-print-PCB) interesting.
If you don't want to design your own PCB and you have a soldering iron, you might
find [Luciferin's official PCB](https://github.com/sblantipodi/firefly_luciferin/wiki/Ready-to-print-PCB) interesting.
This page provides more information about
the [hardware compatibility](https://github.com/sblantipodi/firefly_luciferin/wiki/Compatible-Hardware) of Luciferin.

## What is the Performance Impact on your System?
Firefly Luciferin is a very optimized software and it has **nearly no impact on your system performance**.
Expand Down
2 changes: 1 addition & 1 deletion build_tools
Submodule build_tools updated 72 files
+1 −1 README.md
+0 −28 wixtools/LICENSE.TXT
+ wixtools/LuxTasks.dll
+ wixtools/Microsoft.Deployment.Compression.Cab.dll
+ wixtools/Microsoft.Deployment.Compression.dll
+ wixtools/Microsoft.Deployment.Resources.dll
+ wixtools/Microsoft.Deployment.WindowsInstaller.Package.dll
+ wixtools/Microsoft.Deployment.WindowsInstaller.dll
+ wixtools/ThmViewer.exe
+ wixtools/WixBalExtension.dll
+ wixtools/WixComPlusExtension.dll
+ wixtools/WixCop.exe
+ wixtools/WixDependencyExtension.dll
+ wixtools/WixDifxAppExtension.dll
+ wixtools/WixDirectXExtension.dll
+ wixtools/WixFirewallExtension.dll
+ wixtools/WixGamingExtension.dll
+ wixtools/WixHttpExtension.dll
+ wixtools/WixIIsExtension.dll
+ wixtools/WixLuxExtension.dll
+ wixtools/WixMsmqExtension.dll
+ wixtools/WixNetFxExtension.dll
+ wixtools/WixPSExtension.dll
+ wixtools/WixSqlExtension.dll
+ wixtools/WixTagExtension.dll
+ wixtools/WixTasks.dll
+ wixtools/WixUIExtension.dll
+ wixtools/WixUtilExtension.dll
+ wixtools/WixVSExtension.MSBuild12.dll
+ wixtools/WixVSExtension.MSBuild14.dll
+ wixtools/WixVSExtension.dll
+ wixtools/candle.exe
+0 −4 wixtools/candle.exe.config
+ wixtools/darice.cub
+ wixtools/dark.exe
+0 −4 wixtools/dark.exe.config
+ wixtools/difxapp_x64.wixlib
+ wixtools/difxapp_x86.wixlib
+ wixtools/heat.exe
+0 −4 wixtools/heat.exe.config
+ wixtools/insignia.exe
+3 −4 wixtools/insignia.exe.config
+ wixtools/light.exe
+0 −4 wixtools/light.exe.config
+ wixtools/lit.exe
+0 −4 wixtools/lit.exe.config
+ wixtools/lux.exe
+0 −3 wixtools/lux.exe.config
+0 −112 wixtools/lux.targets
+ wixtools/melt.exe
+0 −4 wixtools/melt.exe.config
+ wixtools/mergemod.cub
+ wixtools/mergemod.dll
+ wixtools/nit.exe
+0 −9 wixtools/nit.exe.config
+ wixtools/pyro.exe
+0 −4 wixtools/pyro.exe.config
+ wixtools/retina.exe
+0 −12 wixtools/retina.exe.config
+ wixtools/shine.exe
+3 −3 wixtools/shine.exe.config
+ wixtools/smoke.exe
+0 −4 wixtools/smoke.exe.config
+ wixtools/torch.exe
+0 −4 wixtools/torch.exe.config
+ wixtools/wconsole.dll
+ wixtools/winterop.dll
+ wixtools/wix.dll
+0 −24 wixtools/wix.targets
+0 −3,091 wixtools/wix200x.targets
+0 −3,073 wixtools/wix2010.targets
+ wixtools/wixtoolset.org.ico
Binary file modified data/img/info_screen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/img/web_installer/7_webinstaller.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/img/web_installer/8_webinstaller.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
90 changes: 58 additions & 32 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,49 +13,75 @@
strong {
font-weight: bold;
}
a {
font-weight: bold;
color: #E19A00FF;
}
</style>

<img align="right" width="100" height="100" src="https://raw.githubusercontent.com/sblantipodi/firefly_luciferin/master/data/img/luciferin_logo.png">

### In this release:

- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.14.5)
- **Added support
for [Ethernet devices](https://github.com/sblantipodi/firefly_luciferin/wiki/Compatible-Hardware#ethernet-devices).**
Closes [#44](https://github.com/sblantipodi/glow_worm_luciferin/issues/44).
- QuinLed-ESP32-Ethernet
- QuinLed-Dig-Octa Brainboard-32-8L
- LilyGO-T-ETH-POE
- LilyGO-T-POE-Pro
- WT32-ETH01
- ESP32-ETHERNET-KIT-VE
- ESP32-POE
- ESP32-POE-WROVER
- WESP32
- Improved [aspect ratio auto detection](https://github.com/sblantipodi/firefly_luciferin/wiki/Aspect-ratio) on wide
screen format display.
- Display scaling setting now supports custom values.
Closes [#211](https://github.com/sblantipodi/firefly_luciferin/issues/211).
- Added support for non-standard Documents folder paths, ex: `~/OneDrive/Documents`, existing configuration files will
be automatically moved to your default path.
- Fixed an issue that prevented OTA fimware upload via PlatformIO.
- Improved German translations. Thanks @Maaaaarc for
the [pull request](https://github.com/sblantipodi/firefly_luciferin/pull/210).
- Improved latency
with [satellites](https://github.com/sblantipodi/firefly_luciferin/wiki/Surround-lighting-with-satellites).
- Improved latency when turning on/off the strip.
- Improved "smart button debounce" to eliminate unwanted button press due to noise on the board.
- Firefly
Luciferin [auto update feature](https://github.com/sblantipodi/firefly_luciferin/wiki/Luciferin-update-management) now
compresses the firmware before sending it to the ESP8266 microcontroller. Fixes some occasional hangup during firmware
update due to out of memory error.
- ESP32 file system layout has been adjusted to accommodate a larger firmware. This change has no impact if you use the
automatic update feature with Firefly Luciferin. However, manually updating the firmware through
the [Web Installer](https://sblantipodi.github.io/glow_worm_luciferin/) will erase your ESP32 device.
- Java/JavaFX 22, libs update, code refactor to avoid using deprecated methods, CI/CD pipeline improvements for faster
build.
- [Arduino Bootstrapper](https://github.com/sblantipodi/arduino_bootstrapper/releases) update (v.1.17.0).

### In the previous releases:

- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.13.2).
- **To make room for the new features Luciferin Full firmware has dropped support for 1 MB devices** like the old
ESP8266 Lite or ESP-01. Standard ESP8266 4MB is still obviously supported and it will for a long time.
ESP8266 Lite or ESP-01. Standard ESP8266 4MB is still obviously supported and it will for a long time.
**All people running Luciferin Full firmware on an ESP8266 must manually reinstall and reconfigure the Glow Worm
firmware** as the ESP8266 will be "formatted" to allow the use of the new 4MB file system. Please use the Web
Installer for the purpose, you may need to reconfigure, WiFi, GPIO, device name and baudrate. If for some reason you
can't use the Web Installer, you can reconfigure your ESP8266 using the alternative method.
firmware** as the ESP8266 will be "formatted" to allow the use of the new 4MB file system. Please use
the [Web Installer](https://sblantipodi.github.io/glow_worm_luciferin/) for the purpose, you may need to reconfigure,
WiFi, GPIO, device name and baudrate. If for some reason you can't use
the [Web Installer](https://sblantipodi.github.io/glow_worm_luciferin/), you can reconfigure your ESP8266 using
the [alternative method](https://github.com/sblantipodi/firefly_luciferin/wiki/WiFi-and-MQTT-configuration-using-the-Luciferin-Access-Point).
- **Improved HDR support.**
- Changelog is now presented in WebView format and allows you to access the Wiki about new features. (This feature is
visible from the next update because Firefly Luciferin needs to be updated first).
- [Changelog](https://github.com/sblantipodi/firefly_luciferin/wiki/Luciferin-update-management) is now presented in
WebView format and allows you to access the [Wiki](https://github.com/sblantipodi/firefly_luciferin/wiki) about new
features.(This feature is visible from the next update because Firefly Luciferin needs to be updated first).
- Screen capture is restarted automatically once an MQTT disconnection/reconnection occurs.
Closes [#162](https://github.com/sblantipodi/firefly_luciferin/issues/162).
- Luciferin now defaults to the dark theme if your operating system is using a dark theme.
- There were misalignments in the screen capture zones on newer AMD graphics cards. Fixed.
- Color temperature adjustments produces a greenish tint on LED strips with a particular color order, fixed.
- [Color temperature adjustments](https://github.com/sblantipodi/firefly_luciferin/wiki/Color-Temperature-and-White-Balance)
produces a greenish tint on LED strips with a particular color order. Fixed.
- Firefly Luciferin icons vanishes after some seconds when using a dual monitor setup on GNOME, fixed.
- Minor UI fixes.
- Arduino Bootstrapper update (v.1.16.1).

### In the previous release:
- [Arduino Bootstrapper](https://github.com/sblantipodi/arduino_bootstrapper/releases) update (v.1.16.1).

- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.12.9).
- **Introducing the Luciferin surround lighting with satellites.**
- **Added Wayland support for Linux.** Thanks @h7io for the contribution to this feature.
- It's now possible to **disable Glow Worm device auto discovery** in Firefly Luciferin PC software. This is useful
when PC and ESP lives in separate VLANs/Subnets.
- **Added the possibility to average the color of the screen on all the LEDs**.
- **Big performance improvements for Linux while running on X11.**
- **Added an optimization for Linux users that is specific for NVIDIA GPUs.** Thanks to @Phoshi for the support on this
feature.
- **Ram usage improvements.**
- **UI/UX improvements.** Revamped title bar, one left click on tray icon now open settings. Double left click on tray
icon starts/stops screen capture, right left click opens the menu as usual. (Windows only, Linux version has no tray
bar).
- Added an option during the installation process to create a desktop shortcut to Firefly Luciferin (Windows only).
- Added an option during the installation process to create a start menu shortcut to Firefly Luciferin (Windows only).
- Potential off-heap memory leak on Linux. Fixed. Thanks @jypma for fixing this issue.
- Firefly Luciferin caused a brief audio stutter on some systems during startup. Fixed.
- Fixed sporadic crashes on ESP32-S3 devices.
- Fixed an issue that prevented Glow Worm Luciferin firmware to be flashed using external tools like esptool.
- Upgrade to Java 21 and JavaFX 21.
- Arduino Bootstrapper update (v.1.15.3).
[Click here for the complete changelog of previous versions.](https://github.com/sblantipodi/firefly_luciferin/releases)
Loading

0 comments on commit 2a51f7e

Please sign in to comment.