* use QSerialPortInfo do detect presence of a serial port (fix#836)
* checking for existence of device file does not work on windows
* instead: construct QSerialPortInfo from device name and check, if it is not null
When constructing QSerialPortInfo from device name, this constructor finds the
relevant serial port among the available ones according to the port name name,
and constructs the serial port info instance for that port.
(https://doc.qt.io/qt-5/qserialportinfo.html#QSerialPortInfo-2)
* serial port: set device in error with a failure text, if device name is invalid
Co-authored-by: heiko <heiko@bihr.internal>
* Fix Rewrite/Latch Time
* dependencies can now be specified in the schema
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* dependencies can now be specified in the schema
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* correct default config
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* dependencies part 2
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* Update README.md
* build: Update Windows to Qt5.15 (#798)
* Update compile howto
- to qt5.15
- minimal install overhead
- sync with vscode and cmake
* Update docs with more input
gh actions windows: Qt5.15 and msvc2019
* fix: Azure build
* 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>
* 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>
* Update devices allowing rewriteTime
* Fix typo
* Add missing "general_btn_saverestart" text to en-file
Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: brindosch <edeltraud70@gmx.de>
Co-authored-by: Ben Williams <desertblade@gmail.com>
Co-authored-by: SputnikElf <58911932+SputnikElf@users.noreply.github.com>
Co-authored-by: SputnikElf <sputnikelf@gmx.de>
Co-authored-by: SJunkies <41368976+SJunkies@users.noreply.github.com>
* 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>
* 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>
* Align PhilipsHue (Classic)
* Minor Device corrections
* Have code working with Qt < 5.10
* Fixes on Hue Wizzard
* Fixes on Hue Wizzard
* Calculate Latchtime only for lights updated by hyperion
* Allow to disable restoring original light's state
* Fix - LightIDs / LightMap vectors were not cleared when reopening the device
* Reduce API Calls for state updates by consolidation
* Handle Exceptions in main & Pythoninit
* Have SSDPDiscover generic again
* Have SSDPDiscover generic again
* Change Info- to Debug logs as technical service messages
* Nanoleaf - When switched on, ensure UDP mode
* Include SQL Database in Cross-Compile instructions
* Fix Clazy (QT code checker) and clang Warnings
* Stop LedDevice:write for disabled device
* Nanoleaf: Fix uint printfs
* NanoLeaf: Fix indents to tabs
* NanoLeaf - Add debug verbosity switches
* Device switchability support, FileDevice with timestamp support
* Nanoleaf Light Panels now support External Control V2
* Enhance LedDeviceFile by Timestamp + fix readyness
* Stop color stream, if LedDevice disabled
* Nanoleaf - remove switchability
* Fix MultiColorAdjustment, if led-range is greater lednum
* Fix logging
* LedFileDevice/LedDevice - add testing support
* New "Led Test" effect
* LedDeviceFile - Add chrono include + Allow Led rewrites for testing
* Stabilize Effects for LedDevices where latchtime = 0
* Update LedDeviceFile, allow latchtime = 0
* Distangle LinearColorSmoothing and LEDDevice, Fix Effect configuration updates
* Updates LedDeviceFile - Initialize via Open
* Updates LedDeviceNanoleaf - Initialize via Open, Remove throwing exceptions
* Updates ProviderUDP - Remove throwing exceptions
* Framebuffer - Use precise timer
* TestSpi - Align to LedDevice updates
* Pretty Print CrossCompileHowTo as markdown-file
* Ensure that output is only written when LedDevice is ready
* Align APA102 Device to new device staging
* Logger - Remove clang warnings on extra semicolon
* Devices SPI - Align to Device stages and methods
* Fix cppcheck and clang findings
* Add Code-Template for new Devices
* Align devices to stages and methods, clean-up some code
* Allow to reopen LedDevice without restart
* Revert change "Remove Connect (PriorityMuxer::visiblePriorityChanged -> Hyperion::update) due to double writes"
* Remove visiblePriorityChanged from LedDevice to decouple LedDevice from hyperion logic
* Expose LedDevice getLedCount and align signedness
* Handle Exceptions in main & Pythoninit
* Have SSDPDiscover generic again
* Have SSDPDiscover generic again
* Change Info- to Debug logs as technical service messages
* Nanoleaf - When switched on, ensure UDP mode
* Include SQL Database in Cross-Compile instructions
* Fix Clazy (QT code checker) and clang Warnings
* Stop LedDevice:write for disabled device
* Nanoleaf: Fix uint printfs
* NanoLeaf: Fix indents to tabs
* NanoLeaf - Add debug verbosity switches
* Device switchability support, FileDevice with timestamp support
* Nanoleaf Light Panels now support External Control V2
* Enhance LedDeviceFile by Timestamp + fix readyness
* Stop color stream, if LedDevice disabled
* Nanoleaf - remove switchability
* Handle Exceptions in main & Pythoninit
* Have SSDPDiscover generic again
* Have SSDPDiscover generic again
* Change Info- to Debug logs as technical service messages
* Nanoleaf - When switched on, ensure UDP mode
* Include SQL Database in Cross-Compile instructions
* Fix Clazy (QT code checker) and clang Warnings
- Added CodeDocs config file for customization
- Fixing LGTM alerts
- LGTM bug fixed again
- added token option to hyperion-remote
- fix DBManager::getDB()
- next bugfix
- correct broken signal from SettingManager to Hyperion
- Token list is created after the schema is fetched
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
- Build problems:
- Qt 5.13 obsoleted some calls that were used in our Qt library.
- The PhilipsHueLight and PhilipsHueBridge classes did not use the private logger class
- Undo changes:
- In Commit e6c2e7e, I made changes that were not covered. An apology goes to @b1rdhous3
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
- 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>
Hue RGB Color Conversion for Brightness is wrong! - use RGB to HSV instead of XYZ Space!
For correct use, reset brightnessFactor back to 1.0 in config! - It was just a Workaround, not the Solution!
Fixed wrong ColorGamut A/B/C Values + Added New Lamp Models: LCT015, LCT016, LCT024
- 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
* add dynamic smoothing first step
* extend prio muxer to hold smoothing preset id
* add icons for systray
* fix missing changes in prio muxer
* implement specific smoothing params for effects
* refactoring: std::min/max to qMin/Max
* some code optimization
* fix schema and translation
* revoke change of python include order
* fix eol in effect shemas
* optimize random,candle and fadecandy json schemas
* 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
* add limit for write to leddevice
* add to default config
* add i18n
* extend xmas effect
* fix indention
* add check for minimum brightness
* adapt effects to fading and new minWriteTime
* remove old latchTime
rename minimumWriteTime to latchTime
make it as dev specific option
* set default for rewriteTime to 1s
pause smoothing on color too
* reenable smoothing for color - it looks nicer :-)
* fix timeout timer
* Added missing json document compilation to states retrieval.
* Major rework and implemented feature to increase brightness by a configurable factor.
* Made network manager property of the hue bridge class.
* Fixed some errors regarding model id handling.
* Removed early return.
* Update of philips hue schema for new parameter
* start of integrating a bonkour service browser
* some experiments
* blub
* bonjour browser via jsonrpc ...
* fix indention
* - make leddevice as component
- extend sysinfo with domain
- add more data for bonjour browser (e.g. split domain and hostname)
* code cleanup
* add translation
* use component names instead of ids
* fix compile
* std::string -> qstring part 1
* more string migration
* more string migration ...
* ...
* more qstring mogrations
add sysinfo via json
* remove unneccessary includes
* integrate sysinfo into webui
* - add more drawing func to effect engine
- make provider rs232 less noisy
- json checks: remove utf8 conversion temporarly and make it compat with py3 again
* fix compile prob
* 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.
* fix/refactor backlight stuff:
- fix colors dont turn of when backlight 0 and black is set
- add option to use not colored backlight
- fix colored backlight not colored on very low color values
- various code style tunings
* apply needed change to wizard
* backlight disabled on static color and efects
* fix warnings
* try fix udp compiler warnings
* - disable device when error indecates that the problem is not solvable on reconnect
- introduce a preOpenDelay of 2 seconds (currently value is hardcoded)
* rs232:
- make preOpenDelay available via webui
- fix preOpenDelay
- add basic usb serial detection
* - revert 3819ae7
- fix schema files
* make json checks compat with utf8+bom
* make shutdown effect a bit more flexible
* 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
* refresh for all :-)
remove dups
* - integrate refresh leds for all devices
- fix schemas for led devices
* add minimum for rewrite time
* rewriteTime: add missing info in config examples
* Added latchtime web configuration for ws2801 device.
Fixed default to be 500000ns
* cleaner code using defaults and added "ns" to web schema
* oops... "ns" not "ms"
* rename platform rpi-pwm to rpi. remove original rpi platform
install symlink to bin folder
create effects folder for custom effects
* fix osx jobs evaluation
* - add rewrite time to serial leds
- rework adalight sketch
* add analog output
* adalight: add analog mode: last led
* tune adalight sketch to final state
move refresh code to leddevice base class, so every leddevice can use it