* Allow build, if no grabbers are enabled
* Align available functions to right Qt version
* Update to next development version
* Align available functions to right Qt version
* fix workflows (apt/nightly)
* Disable QNetworkConfigurationManager deprecation warnings
* Initial go on Smart Pointers
* Add Deallocation
* Correct QT_WARNING_DISABLE_DEPRECATED (available since 5.9)
* Cluster Build Variables
* Hyperion Light
* Address build warnings
* Hyperion Light - UI
* Update Protobuf to latest master
* Removed compiler warnings
* Added restart ability to systray
* Correct Protobuf
* Ignore 'no-return' warning on protobuf build
* hyperion-remote: Fix auto discovery of hyperion server
* Fix Qt version override
* Update changelog
* Remove Grabber Components, if no Grabber exists
* Standalone Grabber - Fix fps default
* Remote Control - Have Source Selction accrosswhole screen
* Enable Blackborder detection only, if relevant input sources available
* Enable Blackborder detection only, if relevant input sources available
* Remote UI - rearrange containers
* Checkout
* Fix compilation on windows
* Re-added qmdnsengine template cmake
* chrono added for linux
* Removed existing AVAHI/Bonjour, allow to enable/disable mDNS
* hyperiond macos typo fix
* Fix macOS Bundle build
* Fix macOS bundle info details
* Correct CMake files
* Removed existing AVAHI/Bonjour (2)
* Share hyperion's services via mDNS
* Add mDNS Browser and mDNS for LED-Devices
* Support mDNS discovery for standalone grabbers
* Remove ZLib Dependency & Cleanup
* mDNS - hanle 2.local2 an ".local." domains equally
* Hue - Link discovery to bridge class, workaround port 443 for mDNS discovery
* Fix save button state when switching between devices
* Removed sessions (of other hyperions)
* mDNS Publisher - Simplify service naming
* mDNS refactoring & Forwarder discovery
* mDNS Updates to use device service name
* Consistency of standalone grabbers with mDNS Service Registry
* Merge branch 'hyperion-project:master' into mDNS
* Start JSON and WebServers only after Instance 0 is available
* Remove bespoke qDebug Output again
* MDNS updates and refactor Forwarder
* Minor updates
* Upgrade to CMake 3.1
* typo
* macOS fix
* Correct merge
* - Remove dynamic linker flag from standalone dispmanX Grabber
- Added ability to use system qmdns libs
* Cec handler library will load at runtime
* typo fix
* protobuf changes
* mDNS changes for Windows/macOS
* test window build qmdnsengine
* absolute path to protobuf cmake dir
* Rework Hue Wizard supporting mDNS
* LED-Devices - Retry support + Refactoring (excl. Hue)
* LED-Devices - Refactoring/Retry support Hue + additional alignments
* Address LGTM findings
* Fix CI-Build, revert test changes
* Build Windows in Release mode to avoid python problem
* Correct that WebServerObject is available earlier
* Ensure that instance name in logs for one instance are presented
* Update content LEDs
* Rework mDNS Address lookup
* Fix LED UI
* Fix for non mDNS Services (ignore default port)
* Disbale device when now input is available
* Revert back some updates, ensure last color is updated when switched on
* Handle reopening case and changed IP, port for API-calls
* Add UPD-DDP Device
* WLED support for DDP
* Fix printout
* LEDDevice - Allow more retries, udapte defaults
* LED-Net Devices - Select Custom device, if configured
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: Paulchen Panther <Paulchen-Panter@protonmail.com>
* Hyperion Light - Have EffectEngine as component
* Hyperion light - Build switches for LED Devices (Serial, Network)
* Fix file uri generation
* Fix missing guard for Windows
* Fix file uri generation
* Update jsonschema and checkschema
* Allow to provide cmake build args to docker build
* whitespaces + typo fixes
* JS / LGTM fixes
* SSDP Handler crash fix
* MessageForwarder handlePriorityChanges Slave fixes
* use aboutToQuit Signal
* complete rewriten Hue Entertainment API structure
combined Philips Hue and Entertainment API
with new MbedTLS based SSL UDP Provider
* add required cross-compile submodules
* logical rebuild fn: initLeds, setLights + new logs
-more detailed checks and error handling inside iniLeds and setLights
- logical script procedure before ProviderUdpSSL init
- first steps for multiple ProviderUdpSSL usage
- better fallback support to old RestAPI, if entertainment api is not supported
- just 4 u LordGrey: new log fn for cosmetic config outputs ;)
* add OSX CompileHowTo - undo from CrossCompileHowTo
* whitespace fixes
* lightID toString fix
* fix unsigned int E-API + debug output
* bugfixes, reworked black signal detection, wizard:
- change device config field light-ids from int to string -> real unsigned int fix
- add signal detection brightness minimum threshold value
0.0 for 0% brightness - 1.0 for 100% brightness to count for blacklight signal detection
reason: input may not 100% black, like mine - i have a deep dark gray input signal
-> my threshold value is set to 0.005 for 0.5% minimum brightness = 1 (from max 255) to count as black
- wizard optimations, with fallback without entertainment support (beta state)
- whitespace fixes
* cleanup + minor fixes
* change fixed Hue UPD SSL config to _devConfig paras
* Hotfix SSL Connection, new light models, wizard:
- Fix UPD SSL Connection failed Problems
- add new supported gamut C light models: LCG002, LCA001, LCA002, LCA003
- wizard: extend fallback support to classic mode + hints
* whitespace, typo fix
* uncheck useEntertainmentAPI, if noAPISupport detected + hint
* coredump fix -> add _blackLightsTimer nullptr init
* code cleanup / remove old debugs + whitespacefixes
* add gamut C LCP001, LCP002
* SSL UDP config made more flexible + remove qDebug
-> switch to hyerion.ng _log
-> replace logCommand with verbose
-> code cleanups etc...
* extended mbedtls debugging infos
* add adjustable ssl timeout settings
* error handling
* streamdebugger bugfixes
* UPDSSL psk / psk_identity bugfixes! + hue wizard fn typo fix +
- verbose option available without dependencies
- whitespace fixes
* Philips Hue Assistant now recognizes non-original bridges better...
+ Added note if no clientkey is set when using the entertainment API
+ User creation (+ clientkey) for non-original bridges can now also be used
+ Minor changes and bug fixes
* CMAKE mbedTLS detection
* minor bug fixes + code cleanups
* FindMbedTLS.cmake remove Path-Hints + wizard.js: ajax timeout handling
Test - content_grabber.js: run relevant code only, if V4L2_AVAIL is true:
conf_grabber don't displays other devices, if V4L2 is not available
* compile mbedtls via cmake as static lib
* remove libmbedtls-dev from compileHowto / scripts
* Fix Windows build
* Fix windows build (part 2)
* removed unnecessary osx x11 include directory path
* QTimer Shutdown bugfix
* cmake win32 fix + minor bugfixes
* cmake debug msg used mbedtls libs
* Bugfix: noSignalDetection wasn't switchedOn again
if no signal was previously detected
* Some code fixes based on alerts from lgtm.com
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
- More i18n
- Easy use of mutual exclusion in JsonAPI with QMutexLocker
- Smoothing type "linear" hidden in the WebUI, because there is currently only one
- Message forwarding implemented again
- For compatibility to home assistants and other remote controls, "activeEffects" and "activeLedColor" has been added to the JSON-RPC
- FlatBuffer clear now the Priority on disconnect
- The information "available V4L2 devices" is now only displayed if the device list is not empty
- LED device "PiBlaster" excluded from OSX build
* implement set videomode via json api
* refactor grabbers:
- new base class
- move shared code to base class
* fix osx
* rework all cmakelist files with auto file collection. except leddevices (need further restructuring)
* store current video and grabbing mode
* add json stuff
* remove grabbingmode - we do not want to expose it
* update
* resolve qt5w
* test
* Go down
cmake python search won the price for crazy lib searches!
* 2.7 python forced, RPATH
* upstream
* ...
* update
* ...
* 2.7.12 py it picks random versions...
* max 7.12.5....
* Test 14.04 tests
* Started implementing artnet/DMX support
It compiles, but certainly wont work just yet
* Fix up packet data and length
correct default udp port
The data looks ok in wireshark
* Code cleanup
Sequence runs from 1..255 not 0
fix universe > 255
* code cleanups and force even number of channels
* Fix potential endianness issue
* added support for 'x' channels per fixture with zero padding
its very basic support for now - it needs better multi universe support
* Adding support for sk6822 timing
This isnt complete, but should be a good starting point for others to learn from.
1) Here is where the led device source is located:
cd libsrc/leddevice
2) Find the files that need changing:
root@loungepi:libsrc/leddevice# grep -ri 2812spi *
CMakeLists.txt: ${CURRENT_SOURCE_DIR}/LedDeviceWs2812SPI.h
CMakeLists.txt: ${CURRENT_SOURCE_DIR}/LedDeviceWs2812SPI.cpp
LedDeviceFactory.cpp: #include "LedDeviceWs2812SPI.h"
LedDeviceFactory.cpp: REGISTER(Ws2812SPI);
LedDeviceSchemas.qrc: <file alias="schema-ws2812spi">schemas/schema-ws2812spi.json</file>
LedDeviceWs2812SPI.cpp:#include "LedDeviceWs2812SPI.h"
LedDeviceWs2812SPI.cpp:LedDeviceWs2812SPI::LedDeviceWs2812SPI(const QJsonObject &deviceConfig)
LedDeviceWs2812SPI.cpp:LedDevice* LedDeviceWs2812SPI::construct(const QJsonObject &deviceConfig)
LedDeviceWs2812SPI.cpp: return new LedDeviceWs2812SPI(deviceConfig);
LedDeviceWs2812SPI.cpp:bool LedDeviceWs2812SPI::init(const QJsonObject &deviceConfig)
LedDeviceWs2812SPI.cpp:int LedDeviceWs2812SPI::write(const std::vector<ColorRgb> &ledValues)
LedDeviceWs2812SPI.h:class LedDeviceWs2812SPI : public ProviderSpi
LedDeviceWs2812SPI.h: LedDeviceWs2812SPI(const QJsonObject &deviceConfig);
3) Copy the existing files as a starting point:
cp LedDeviceWs2812SPI.cpp LedDeviceSk6822SPI.cpp
cp LedDeviceWs2812SPI.h LedDeviceSk6822SPI.h
cp schemas/schema-ws2812spi.json schemas/schema-sk6822spi.json
4) Do some search and replacing:
:%s/Ws2812SPI/Sk6822SPI/g
5) edit the other files (see the diffs in this commit)
* Added wait time and reset time
* Fixed up debugging output and commented it out.
* Started work on DMX512 rs232 device
cloned from sedu - no actual changes yet
* Implemented DMX protocol
Added baudrate debugging to ProviderRs232
* Added support for multiple DMX fixture types
* fix amlogic for newer kernels
crosscompile stay on 32bit aml with kernel 3.10
* add new platform amlogic64. This is used e.g. for new wetek boxes hub and play2
* commit debug code to save it due to merge
* migrate first devices to new device registry and configure on runtime
* fadecandy and rs232 resets device if config is set
* try to hunt crash on osx
* test commit if this works with osx
* refactor spi devices
* cleanup
* refactor leddevices file, tinkerforge and ws2812b
* refactor raw usb devices
* refactor udp devices
* - add tpm2net driver
- remove old udp driver from build (files left in place for reference for new udp driver)
- json serverinfo shows available leddevices
* finish rework part 2 of leddevices
* add schemas for leddevices.
currently only compiled in, but not usedx
* Started on support for sACN/E1.31/DMX512
Just a clone of udpraw for now
* It's ALIVE!!
This adds somewhat working DMX512/sACN/E1.31 support.
I've tested it against an ESPixelStick but have no other "real" hardware
TODO:
configure universe#
configure universe and led offset
configure source names (all hard coded now...)
* oops.... forgot that dmx element 0 isnt rgb data but needs to be zero
* added universe support in the config
assorted code cleanups
* switch to new logger for folowing led devices:
LedDeviceAtmo
LedDeviceFactory
LedDeviceFadeCandy
LedDeviceHyperionUsbasp
LedDeviceLightpack-hidapi
LedDevicePiBlaster
LedDeviceWS281x
LedRs232Device
leddevice base class defines logger already as protected member _log
* migrate to new logger for led devices.
still todo:
LedDeviceWS2812b
LedDeviceWs2812SPI
LedDeviceTinkerforge
LedDeviceLightpack
LedDeviceMultiLightpack
* Fixed compile error when no grabbers are defined
* Remove stupid avahi warning...
* Started on the new integrated UDP listener to replace the python effect.
Cloned boblight server and rename it to be UDP listener
It compiles!, It starts! it seems to work as a second boblight protocol server...
* moving from the exsting TCP to UDP.
i can catch packets now.. need to consider ditching the connection handling
* It kinda works right now.
UDP packets are received, led data is sent and hyperion displays them.
.... for a moment before going back to what it was doing
* It works!
looks like the default priority of 900 was fighting with something else that was also 900
commented out some udp packet debugging
* oops, forgot to add the changes the the previous commit
* resolving merge conflicts
* Fixed random http port due to uninitialized _port
* cleaning up compiler warning
* cleaned up CMakeLists to remove warning:
Note: No relevant classes found. No output generated.
* migrate serialport to qt5 serialport
* remove old serialport
add logging to serialport
* remove try catch - qt serialport uses plain return values
* tiny fix, but not working atm
* make it work, tested with adalight
* cleanup: remove ambiled device
as written at the forum this is no longer supported. All people should move to adalight. They just need to flash a new sketch.
* fix typo
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance
* refactor hyperiond
* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond
* xbmcchecker is now a singleton
* cleanup in hyperiond
zeroconf switchable between static and shared linking
* fix xbmcchecker
* Removed -HUP so the default -TERM signal is sent instead.
- hyperiond only listens for TERM and INT. HUP is often used to get an exe to reread its config
Changed pgrep to add '-x' so it wont partial match on the exe name.
- I have multiple instances with multiple hyperiond-instance1 names
- this ensures the service script only kills the right process
* reversing errant change to hyperion.systemd.sh
* cleaned up a couple of compiler warnings
* moved bitpair_to_byte initialiser to (hopefully) work with older GCC
* compiler warning in udp driver
removed some tabs in ws2812b.cpp
* formatting - spaces to tabs
* moved rpi_281x to tag sk6812-v1.0
* moving to my fork of rpi_281x
* half way thru re merging the newudp support
* Whoops.... dont know how it compiled before..
* Removed debugging that was commented out
Former-commit-id: ac4330422f93f3d594dfcba5593759288298d25e
* Removed -HUP so the default -TERM signal is sent instead.
- hyperiond only listens for TERM and INT. HUP is often used to get an exe to reread its config
Changed pgrep to add '-x' so it wont partial match on the exe name.
- I have multiple instances with multiple hyperiond-instance1 names
- this ensures the service script only kills the right process
* reversing errant change to hyperion.systemd.sh
* This add a new device type - ws2812spi.
I've (ab)used the SPI interface to send the correct timing pulses to keep the ws2812 happy.
THE RATE IS IMPORTANT!
A FIXED CORE_CLK IS IMPORTANT!
Attach the SPI MOSI pin on the Pi to the DIN pin on your ws2812
"device" :
{
"name" : "MyPi",
"type" : "ws2812spi",
"colorOrder" : "grb",
"output" : "/dev/spidev0.0",
"rate" : 3800000
},
* updated hyperiond.test-binary
* Updated default SPI speed to the "correct" value.
My Pi was undervolted so was dropping the core clock confusing everything
* Code cleanups
explicitly set the final 3 bytes to 0
* Removed latchtime option - not applicable
* updated test binary
Former-commit-id: d3c19c8374999f7a554bb25ca181a8a483f86289
No functional changes, but
- files have been renamed
- the device name is now "file" not "test"
Former-commit-id: 3fbc03c3fe1d764654c1d28ebb80562ce6276ab1
This reverts commit ae218b85ff [formerly b57904d64f0fbdd2e97f0326de4378489206e357], reversing
changes made to cda2232080 [formerly 6949fe847d9c4181c924a13ed0715ecd71b98499].
Former-commit-id: 0261bc7735663dba45681a5c0e4026b4c1fddeba
Add a new WS281x driver which is a wrapper around jgarff's ws281x library which
works on Pi B+, Pi 2, Pi Zero and probably Pi 3 as well.
jgarff's ws281x library is included as a submodule
Former-commit-id: e473dfd36d31b14598da5e56e4b8bf9f2aa7bb24