Skip to content

Lightpack and Prismatik open repository

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE
Unknown
LICENSE-TEMPLATE
Notifications You must be signed in to change notification settings

psieg/Lightpack

Repository files navigation

Lightpack project with Prismatik flavour

Latest version AUR bin package AUR git package

Modified version which includes various improvements for Windows, esp. a Desktop Duplication API Grabber

Table of Contents:
  Short Description
  Main Features
  Supported Devices and Protocols
  Useful URLs
  Build Prismatik with Windows
  Build with Linux
  Build with OS X
  Build Firmware

Lightpack is a fully open-source and simple hardware implementation of the backlight for any computer. It's a USB content-driven ambient lighting system.

Prismatik is an open-source software we buid to control Lightpack devices. It grabs the screen, analyzes the picture, calculates resulting colors, and provides soft and gentle lighting with a Lightpack device. Moreover, you can handle other devices with Prismatik such as Adalight, Ardulight, or even Alienware LightFX system.

Main Features:
Supported Devices and Protocols:
  • Lightpack PC/v1
  • Serial
    • Adalight
    • Ardulight
    • Arduino
    • ESP8266/ESP32 (WLED firmware highly recommended)
  • Wi-Fi UDP:
    • WARLS
    • DRGB
    • DNRGB
    • ESP8266/ESP32 (WLED firmware highly recommended)
Useful URLs:

Prismatik Build Instructions for Windows

Prerequisites:

  • Qt SDK, you may need to set %QTDIR% (sysdm.cpl → Advanced → Environment Variables → New) to something like C:\Qt\x.xx.x\msvc_xxxx\.
  • Visual Studio, Windows SDK or Microsoft DirectX SDK
  • optional (if you want to create an installer) POSIX shell utilities MSYS for example.
  • optional any OpenSSL binaries to include them in the setup. If you just want to build, you can skip them in build-vars.prf (this will render the update check ineffective).
  • optional BASS and BASSWASAPI for the Sound Visualizer. You can skip them in build-vars.prf.

Build Process:

  1. Go to <repo>/Software
  2. Copy and edit build-vars.prf according to your machine
  3. Optional: if locales changed: run update_locales.bat or ./update_locales.sh (slow on Windows)
  4. Run scripts/win32/generate_sln.bat (from the Visual Studio Developer prompt / vcvarsall.bat)
  5. Build Lightpack.sln with MSBuild / VisualStudio

Building an Installer:

  1. Run scripts/win32/prepare_installer.sh. (This builds the autoupdater (UpdateElevate), needs the submodule checked out and currently works only with VS2015).
  2. Build dist_windows/script.iss (64bit) or script32.iss (32bit) with ISCC (the InnoSetup compiler)

Build Instructions for Linux

Prerequisites:

You will need the following packages, usually all of them are in distro's repository:

  • qt5-default
  • libqt5serialport5-dev
  • build-essential
  • libgtk2.0-dev
  • libusb-1.0-0-dev
  • libnotify-dev
  • libudev-dev
  • qttools5-dev-tools
  • if you are using Ubuntu: libappindicator-dev
  • not required, but the update checker uses SSL sockets: openssl
  • for sound visualizer: libpulse-dev, libfftw3-dev

Build Process:

  1. Go to <repo>/Software
  2. Optional: if locales changed: run ./update_locales.sh
  3. Run qmake -r
  4. Run make

Building a deb Package:

  1. Run scripts/linux/prepare_installer.sh
  2. cd dist_linux and run build-deb.sh

Manual Deployment:

Instead of building a deb package, you can:

  1. Add a rule for UDEV. See comments from <repo>/Software/dist_linux/deb/etc/udev/rules.d/93-lightpack.rules for how to do it.
  2. Make sure <repo>/Software/qtserialport/libQt5SerialPort.so.5 is available for loading by Prismatik (place it in appropriate dir or use LD_LIBRARY_PATH variable)

Build Instructions for OS X

Prerequisites:

  • Qt SDK (5.0+)
  • MacOSX 10.9.sdk
Whole Dependencies List for Prismatik 5.10.1:
  • QtCore.framework
  • QtGui.framework
  • QtNetwork.framework
  • QtOpenGL.framework

Build Process:

  1. Download and unpack 5.0+ Qt SDK from www.qt-project.org
  2. Go to <repo>/Software
  3. Optional: if locales changed: run ./update_locales.sh
  4. CLI
    1. Run qmake -r
    2. Run make
  5. or Xcode
    1. Run ./scripts/macos/generate_xcode_project.sh
    2. Open Lightpack.xcodeproj

Building a dmg package:

  1. Run macdeployqt bin/Prismatik.app -dmg

Firmware Build Instructions

Updating Firmware on Windows: If you don't want to build the firmware yourself, you can follow the documentation for flashing the latest firmware on Windows.

Please note that these instructions are for Debian based systems.

Compiling Firmware Only:

  1. Install AVR GCC Toolchain: sudo apt-get install gcc-avr binutils-avr avr-libc
  2. Compile the firmware:
  • cd Firmware
  • make LIGHTPACK_HW=7 (or any other hardware version 4-7)
  • Alternatively, you can do ./build_batch.sh to build the firmware for all hardware versions
  1. The firmware can be found in the same directory (individual build) or Firmware/hex (batch build).

Compiling and Uploading Firmware to Device:

  1. Install AVR GCC Toolchain and dfu-programmer: sudo apt-get install gcc-avr binutils-avr avr-libc avrdude dfu-programmer
  2. Reboot device to bootloader (via the secret button on the device)
  3. Compile and upload the firmware:
  • cd Firmware
  • make LIGHTPACK_HW=7 && make dfu LIGHTPACK_HW=7 (or any other hardware version 4-7)

Please let us know if you find mistakes, bugs or errors. Contributions are welcome.
Post new issue : https://github.com/psieg/Lightpack/issues

About

Lightpack and Prismatik open repository

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE
Unknown
LICENSE-TEMPLATE

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 31.9%
  • Pascal 24.9%
  • C# 15.8%
  • C++ 12.7%
  • HTML 10.1%
  • Python 1.5%
  • Other 3.1%