Commit Graph

55 Commits

Author SHA1 Message Date
LordGrey efc2046ab5
Various Cleanups (#1075)
* LedDevice - Address clang findings

* Fix Windows Warnings

* Ensure newInput is initialised

* Clean-up unused elements for Plaform Capture

* Fix initialization problem and spellings

* Address clang findings and spelling corrections

* LedDevice clean-ups

* Cleanups

* Align that getLedCount is int

* Have "display" as default for Grabbers

* Fix config during start-up for missing elements

* Framegrabber Clean-up - Remove non supported grabbers from selection, filter valid options

* Typo

* Framegrabber.json - Fix property numbering

* Preselect active Grabbertype

* Sort Grabbernames

* Align options with selected element

* Fix deletion of pointer to incomplete type 'BonjourBrowserWrapper'

* Address macOS compile warnings

* Have default layout = 1 LED only to avoid errors as in #673

* Address lgtm findings

* Address finding that params passed to LedDevice discovery were not considered

* Cleanups after merging with latest master

* Update Changelog

* Address lgtm findings

* Fix comment

* Test Fix

* Fix Python Warning

* Handle Dummy Device assignment correctly

* Address delete called on non-final 'commandline::Option' that has virtual functions but non-virtual destructor

* Correct that QTimer.start accepts only int

* Have Release Python GIL & reset threat state chnage downward compatible

* Correct format specifier

* LedDevice - add assertions

* Readonly DB - Fix merge issue

* Smoothing - Fix wrong defaults

* LedDevice - correct assertion

* Show smoothing config set# in debug and related values.

* Suppress error on windows, if default file is "/dev/null"

* CMAKE - Allow to define QT_BASE_DIR dynamically via environment-variable

* Ignore Visual Studio specific files

Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
2020-11-14 17:58:56 +01:00
LordGrey 83455441fa
New LED Device - Cololight (#1070) 2020-11-01 21:56:19 +01:00
LordGrey bb652ade36
Read-Only Configuration-Database support (#1046) 2020-11-01 19:47:30 +01:00
LordGrey db1dae45d2
Fix #1015 - Fix Lightpack / Remove Multi-Lightpack (#1049) 2020-10-18 19:08:54 +02:00
The-Master777 6c68454bea
Support SK9822 type LEDs with adaptive brightness control via SPI (#1017)
* Support SK9822 type LEDs with adaptive brightness control via SPI

* SK9822 - minor refactorings
2020-09-25 19:34:00 +02:00
LordGrey 7a685185f4
AtmoOrb Fix (#988)
* AtmoOrb UdpSocket-Bind Fix

* Cleanup and update defaults (to work via PowerLan)

* Cleanup and update defaults (to work via PowerLan)

* AtmoOrb identification support, small updates

* AtmoOrb discovery & identification support, fixes and stability updates

* Small clean-ups

* Type fix

* Add missing include

* Adalight - Update default config and levels

* Update Atmoorb sketch

* Yeelight - Update default value
2020-09-14 17:20:00 +02:00
LordGrey 7389068a66
LED Device Features, Fixes and Refactoring (Resubmit PR855) (#875)
* Refactor LedDevices - Initial version
* Small renamings
* Add WLED as own device
* Lpd8806 Remove open() method
* remove dependency on Qt 5.10
* Lpd8806 Remove open() method
* Update WS281x
* Update WS2812SPI
* Add writeBlack for WLED powerOff
* WLED remove extra bracket
* Allow different Nanoleaf panel numbering sequence (Feature req.#827)
* build(deps): bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#826)
* Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
  - [Release notes](https://github.com/faye/websocket-extensions-node/releases)
  - [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
  - [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)
* Fix typos
* Nanoleaf clean-up
* Yeelight support, generalize wizard elements
* Update Yeelight to handle quota in music mode
* Yeelight extend rage for extraTimeDarkness for testing
* Clean-up - Add commentary, Remove development debug statements
* Fix brightnessSwitchOffOnMinimum typo and default value
* Yeelight support restoreOriginalState, additional Fixes
* WLED - Remove UDP-Port, as it is not configurable
* Fix merging issue
* Remove QHostAddress::operator=(const QString&)' is deprecated
* Windows compile errors and (Qt 5.15 deprecation) warnings
* Fix order includes
* LedDeviceFile Support Qt5.7 and greater
* Windows compatibility and other Fixes
* Fix Qt Version compatability
* Rs232 - Resolve portname from unix /dev/ style, fix DMX sub-type support
* Disable WLED Wizard Button (until Wizard is available)
* Yeelight updates
* Add wrong log-type as per #505
* Fixes and Clean-up after clang-tidy report
* Fix udpe131 not enabled for generated CID
* Change timer into dynamic for Qt Thread-Affinity
* Hue clean-up and diyHue workaround
* Updates after review feedback by m-seker
* Add "chrono" includes
2020-07-12 20:27:56 +02:00
SJunkies 3ff7fe483f
fix: small collection of bugfixed debugger hints and warnings (#801)
* small collection of bugfixed debugger hints / warnings

* 'toStdVector' has been explicitly marked deprecated

* fixed double zip naming in artifacts

* V4L2 WebUI Fix

* Some code fixes based on alerts from lgtm.com

* only execute dynamic v4l2 enum code, if V4L2_AVAIL

* very high critical bugfix ;)

* merge fix

* some lgtm.com fixes

* lgtm fixes

* undo localtime_r fix

Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
2020-05-25 21:51:11 +02:00
SJunkies 259becea04
add Hue EntertainmentAPI + Forwarder & other Fixes (#592)
* 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>
2020-05-22 19:40:50 +02:00
Ben Williams 4aebd55715
feat: Add Trapezoid to LED Layout (#791)
* Update schema-ledConfig.json

extend schema with corner points (vertcal and horizontal values in percent)

* Update conf_leds.html

input fields for corner points

* Update content_leds.js

add corner values and calculation of led rows

* Update de.json

german title for corners

* CHanges 26.12.2019 Correction and PowerOff add

* GrabberFix PiCam

* VType as QString

* Unused variable deletet

* Missing new paramneters for GrabberFix

* Error json

* JSon error by user

* Crosscompile SutnikElf frok

* Warning unused variable

* Revert "Crosscompile SutnikElf frok"

This reverts commit 443fe80090.

* Fixing a linting error

* Adding Grabber Override Names

* Adding more Grabber Fix translations

* Missed one

* remove V4L2 Grabber Fix and Power Button from Dashboard

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Setting some limits to the trapezoid

Co-authored-by: SputnikElf <58911932+SputnikElf@users.noreply.github.com>
Co-authored-by: SputnikElf <sputnikelf@gmx.de>
Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2020-05-20 08:36:52 +02:00
brindosch 8db85c9a5a
refactor: Led layout, clearAll (#703)
* add SSDP name field

* YALL - yet another led layout

* led layout migration

* add initial vscode config

* merge clearAll with clear, rename Hyperion::compStateChange

* simpler components api

* Corrected code formatting

+ triggered PR build

* fix: regression from #636

* Support for color patterns

Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
2020-02-26 18:54:56 +01:00
LordGrey a2dbbcdd0d
feat: Led Matrix Layout - Save/Restore (#669) (#697)
* Led Matrix Layout (#669)

* fix: ledConfig object missing

Co-authored-by: brindosch <edeltraud70@gmx.de>
2020-02-23 00:51:58 +01:00
brindosch 145f88d5af
Bugfixes [ColorOrder apply, hue wizard, ledDevice display] (#621)
* Resolve general colorOrder update issue

* Fix: wizard.js syntax broken

* Fix: Remove active device prop and migrate to config data

* Fixing instanceStop Bug on WebUi (#10)

* Fixing instanceStop Bug on WebUi

* Added removeStorage

* Changes to deletion logic

* Improvements to deletion check

* Feat: Show always save btn & rm generate btn
2019-09-07 01:17:26 +02:00
brindosch b1fa085d64
Breaking Change: ledLayout, ledColorsStream (#614)
* Remove clone & index in ledConfig

* Additional index correction

* Rename ledsConfig maximum and minimum in max and min

* Rename ledsConfig hscan and vscan with h and v

* Optimize ledColorsStream

* tiny correction
2019-08-25 16:32:19 +02:00
LordGrey b45cea9267 Correct device name list 2019-08-12 21:00:59 +02:00
Paulchen-Panther d414942e2e
Bugfix/Hotfix/Update
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-07-02 19:06:36 +02:00
Paulchen-Panther 2ccdfeb9e1
Gold linker, CCache, Stats, LGTM
- Increases linker performance under Linux builds by using Gold linker, if available
- ccache is used if available
- removed statistic class (Stats.cpp) from project due to the missing result (sorry @Brindosch)
- add LGTM bandges for code analysis overview

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-06-05 21:13:37 +02:00
LordGrey 3661172d6d Change Aurora device support to cover additional Nanoleaf devices
* Support Nanoleaf LightPanels (aka Aurora) and Canvas
* Add Nanoleaf Device discovery
* Update SSDPDiscover to be generic for given services
2019-04-08 23:22:33 +02:00
Paulchen Panther 10a1047a46
added aurora device to network selection 2018-12-20 14:32:27 +01:00
penfold42 e190a51cfc [UNTESTED] Add support for apa104 led type 2018-03-01 17:31:04 +11:00
Daniel bc4007ac67 Add Karatelight support (#487)
* Add Karatelight support

* Add Karatelight Schema

* Actually use the new schema file

* Put karate device to USB group in webinterface
2017-11-29 17:59:26 +01:00
redPanther 6f443a48dd Refactor websocket + true receive (#471)
* save it

* ws: multiframe receive now works

* port cfg write with autocorrect to jsonprocessor
cleanup

* cleanup

* cleanup

* add support for image data over ws binary frame
2017-09-16 09:08:21 +02:00
penfold42 64fc6a9003 Artnet (#440)
* 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
2017-05-26 22:17:12 +02:00
brindosch f7dd6b8b1a update (#431) 2017-04-07 21:33:40 +02:00
brindosch 9a0e1daf7b Reports - final version (#418)
* remove device config at log

* ...

* update ui
2017-03-18 00:05:04 +01:00
brindosch 31f352e7ce json-rpc - origin, ui update (#407)
* try ace

* .

* update

* ...

* update

* update

* test

* -

* update

* fix

* .

* Revert "."

This reverts commit 631c30f8c0.

* Revert "fix"

This reverts commit be3dbc9cbd.

* Revert "update"

This reverts commit 50fc89e800.

* Revert "-"

This reverts commit 8a6c1fdab3.

* Revert "test"

This reverts commit 50b3641490.

* update schema

* update ui

* flags

* adjustments
2017-02-28 17:53:41 +01:00
redPanther a76abdaafe add calculation of max power consumption to led confi (#406) 2017-02-26 20:55:41 +01:00
brindosch 7c336b0511 ledConfig in config, report creation and upload (#398)
* update effects

* fix

* try

* .

* Update clock.py

* Update clock.py

* upd

* impl ledConfig

* upd

* fix

* update

* update js

* fix pacman

* change order of priorities
2017-02-15 15:53:35 +01:00
penfold42 f96b0143a8 [untested] added Sk6822 led device support (#397)
* 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.
2017-02-14 09:33:28 +01:00
brindosch 41671ad82c update adjustments and ui (#384)
* update

* update

* testit

* Revert "testit"

This reverts commit b1cc645161.

* update schema

* update

* add adjustment to serverinfo

* remove Adjustbool

* remove v4l2only

* fix json check for create effect

* update deb

* update

* update remote adjust

* update

* add eff schemas
2017-02-08 14:36:28 +01:00
brindosch 30b6deb301 bugfixes and adjustments (#371)
* update

* update

* tabs test

* update

* test

* ...

* fix editor

* update ui

* fix visual glitch if help is off

* fix fadecandy error and th

[skip ci]

* fix
2017-01-19 17:51:11 +01:00
brindosch 8d7137136b priorities rework, webc update (#366)
* update

* update

* tabs test

* update

* test

* ...

* fix editor

* update ui

* fix visual glitch if help is off

* fix fadecandy error and th

[skip ci]
2017-01-17 21:53:35 +01:00
brindosch 88bed79c07 impl options explanation, uiLock (#343)
* update schemas

* update

* killed upstream change

* min prio is now 100

* reset watchdog regularly

* update

* fix

* update
2016-12-21 18:24:03 +01:00
redPanther 721668fc85 implement webui live video (#340)
* implement webui live video

* add missing german translation
2016-12-18 19:00:14 +01:00
redPanther a724fd1535 detect config is readonly, adalight and other stuff (#333)
* update lightberry sketches
update compilehowwto (windows disclaimer)
some refactoring in main cmakelists + preparation for windows compile
tune ada driver, set delayAfterConnect default to 1.5s because some arduino (e.g. mega r3) needs this
set priority min/max for grabber/network services - prevent colliding prios between webui/background stuff and grabbers/net services

* add check if config is writable. TODO do something usefull in webui

* fix indention error

* fix typo

* fix webui can't write led config

* typo

* fix cmakelists

* change methode of detecting linux
2016-12-14 22:45:00 +01:00
brindosch 0d114ca728 localStorage for i18n/access (#318)
* upd

* upd

* .

* enumtr

* cleanup

* upd

* update js

* update html

* hide buttons, if browser not comp, fix typo

[skip ci]

* fix empty effect name
2016-12-08 23:39:41 +01:00
brindosch 8d55154164 Transit translation system (#309)
* update schemas

* update schemas

* update schemas

* schema update

* update translation

* upd
2016-12-04 19:32:23 +01:00
brindosch 3e5ca4601d Update webui (#301)
* update

* update

* fix

* implement opt groups

* spaces

[skip ci]

* page wrapper adjust

[skip ci]

* implement optgroups for remote, adjust effect schemas

* lost id

[skip ci]
2016-11-30 17:32:12 +01:00
brindosch 98cb922c74 Update WebUI (#295)
* update

* lang

* show dialog on delete action

* proper regexp if effect name contains ":"

[skip ci]
2016-11-21 22:16:57 +01:00
brindosch c05181666c LED Layouts, Delete Effect, Colorpicker for EC (#290)
* upd

* ipadte schemas

* update html

* update

* fix matrix index increment

[skip ci]

* matrix 1 led as minimum

[skip ci]

* disable zoom

[skpi ci]
2016-11-18 18:39:27 +01:00
brindosch 33c91f73e3 Translation update (#280)
* update translation

* add css
2016-10-27 23:42:24 +02:00
redPanther 102fd611fa webui: add read/write for all editors (#268) 2016-10-10 23:15:50 +02:00
redPanther 0a142b0e7d implement a function for easy json editor creation (#264)
* implement a function for easy json editor creation

* grabber and kodi moved to new editor func

* webui: implement conf editors

* add missing files and remove debug code
2016-10-09 10:23:04 +02:00
redPanther f88cd3a230 extend effect engine with qt image effects (#249)
* - effects now can use qt image effects
- rainbow swirtl is now suitable for any led layout - including matrix

* fix rainbow effect

* effect: add radialGradient

* fix some js errors

* optimize code

* try fix travis test not working as expected

* fix default config files

* fix config
2016-09-21 22:01:50 +02:00
redPanther eeb9b0f7da implement hyperion restart via webui (#242)
* first try

* implement hyperion restart. core function is good, but needs a beeter structuring- something for next refactoring session ;-)

* several fixes (including osx)
merge with upstream
some refactoring

* add some eye candy to webui
2016-09-15 20:42:58 +02:00
redPanther 1cc2f72fa2 embedded webui + config modification detection (#240)
* implement embedded webui

* add detection for changed config, later on used for restart hyperion
2016-09-14 13:51:28 +02:00
redPanther adfe2a4b23 effects included in hyperiond binary as qtResource (#237)
* implement effects included in hyperiond  binary

* cleanup

* remove install of effects dir. People who wants to develop effects has to copy them from github
effect params for initial effects can be changed in config permanently and other effect params can be changed
via json (currently only temporarily)

* fix schema of fadecandy
webui fix display of specific led options

* add leddevice write support

* cleanup

* webui: tune hue code

* when use json effect definition from putsiede hyperiond but want to use py script from inside hyperiond use ad a :
e.g. fade.py needs a fade.py near the json file, but :fade.py is taken from resource inside hyperiond

* add ability to di

* add abiloty to diable effcts via hyperion config

* use effect name instead of script in active effects and prio register

* finally solve open file handle during effect is playing. Now script is read before, then file closed and then t is run by python

* fix some webui things
- led config tabs
- inital loading screen

optimize qrc file generation
fix compile warning in hyperion.cpp

* cleanup

* more cleanup
2016-09-13 11:51:16 +02:00
b1rdhous3 d097995a74 Small Hue improvements (#235)
* Small Hue Bridge improvements

* Small Lang fixing
2016-09-11 22:20:57 +02:00
redPanther 82611afa25 webui: some editor style tweaks (#234)
* initial support for leddevice options

* fix schema and editor init

* fix led editor labels and schema

* add some led schemas

* led config: insert current values. not yet perfect, but it works

* tune editor style
2016-09-10 23:30:05 +02:00
redPanther 8aff421850 fix setting of current value in led controller 2016-09-10 19:23:13 +02:00