Commit Graph

1056 Commits

Author SHA1 Message Date
Paulchen-Panther
5cc353468d Flatbuffer, Forwarder
- Flatbuffer now only sends data if priority registration was successful
- Forwarder no longer needs to worry about registering the priority
2019-02-05 19:55:48 +01:00
Paulchen-Panther
657fe00211
Troubleshooting and ...
- 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
2019-02-03 14:36:57 +01:00
Paulchen-Panther
a412c34e68
Backwards compatibility ensured 2019-01-27 13:41:21 +01:00
Paulchen-Panther
1f132bcfa9 Fixes
remove Brindosch's V4L2 stream notifier adaption
avoid compilation 'note' on GCC 6 ARM
2019-01-22 22:07:58 +01:00
Paulchen-Panther
1a9433861e Cleanup
- .deb work
- update package creation
- added hyperion package icon
- remove V4L2 warning for OSX build
2019-01-19 18:35:40 +01:00
Paulchen Panther
38946a0b06
Temporary solution
Due to the wrong interpretation of the OpCode, larger WebSocket frames are interpreted as a binary message. A new implementation of the WebSocket protocol in Hyperion is necessary. The QT class QWebSocketServer does not have this problem. However, this can not be mixed with an existing QTcpServer implementation without using a new WebSocket port.
2019-01-13 20:14:05 +01:00
Paulchen-Panther
28aa6a6954 Fixes 2019-01-07 23:33:27 +01:00
Paulchen-Panther
2cda2a11e0 Fix V4L2 2019-01-07 18:13:49 +01:00
Paulchen-Panther
2dca1c93e6 Commits from @MartB and more ...
- Commit: 1d9165f403
- New default QT capture implementation
- UploadHandler added to Effects Configurator to allow uploading GIF files
- Docker compile script and instruction
- Travis Fix
2019-01-06 21:09:27 +01:00
Paulchen-Panther
7352ff4d42 Threading and more
- webui remove restarts
- threading for LedDevice
2019-01-01 19:58:50 +01:00
Paulchen-Panther
d6b2cfaf9d update 2018-12-31 15:48:29 +01:00
Paulchen-Panther
38950edf35 remove protobuf (part 2) 2018-12-30 22:07:53 +01:00
Paulchen-Panther
559311e18c
remove protobuf 2018-12-30 16:43:22 +01:00
Paulchen-Panther
2a77f6f012
even more changes
Signed-off-by: Paulchen-Panther <Paulchen--Panter@gmx.net>
2018-12-28 18:28:49 +01:00
Paulchen-Panther
3700566d10 add flatbuffer dependencies 2018-12-28 18:08:58 +01:00
Paulchen-Panther
d762aa2f3e Details coming soon. 2018-12-27 23:11:32 +01:00
Paulchen Panther
e3be03ea73
Close client connection on stop 2018-12-20 15:16:23 +01:00
Paulchen Panther
a78d8d3a03
Removed ColorOrder from schema 2018-12-20 15:15:07 +01:00
Paulchen Panther
46dbede8f4
add aurora schema to resource file 2018-12-20 15:13:45 +01:00
Paulchen Panther
87c9c23807
emit rawLedColors before transform 2018-12-20 15:12:45 +01:00
Paulchen Panther
669501a084
LED stream set to max 20hz 2018-12-20 15:10:39 +01:00
Paulchen Panther
44013aa36c
Remove invalid iCCP chunk from icon 2018-12-02 14:26:41 +01:00
Paulchen Panther
ed7f538e38
Delete hyperion-icon_32px.png 2018-12-02 14:25:36 +01:00
Ansel Zandegran
820e16b6cb Add Schema 2018-11-07 21:01:53 +01:00
Rick164
f7d5c2c908
Merge pull request #500 from zandegran/master
Nanoleaf Aurora integration for Hyperion
2018-10-28 13:13:07 +01:00
Rick164
1860f6166c
Merge pull request #514 from oCanna/fix/hyperion-x11
Update screen dimensions only if they really change
2018-10-25 22:29:40 +02:00
Rick164
3df30be316
Merge pull request #503 from penfold42/apa104 2018-10-24 20:40:29 +02:00
Bart J
63839f9fc7 Update screen dimensions only if they really change 2018-08-04 16:01:53 +02:00
penfold42
dc1d3f96c2 Fix timing in comments 2018-03-01 18:45:36 +11:00
penfold42
96cefd7603 fixed bitpair_to_byte table
fixed end frame byte count
2018-03-01 17:34:34 +11:00
penfold42
e190a51cfc [UNTESTED] Add support for apa104 led type 2018-03-01 17:31:04 +11:00
Ansel Zandegran
72fac77bb0 Add Aurora Integration 2018-02-05 08:17:18 +01:00
Ansel Zandegran
ba83843d3d WIP: Mode change done 2018-02-04 23:19:34 +01:00
MartB
2afbc26bf9
RGBTransform fix gamma adjustment of green, blue always taking red value
This fixes #493 and is also present on the latest beta rework branch.
2018-01-26 10:49:49 +01: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
brindosch
fa75143dbf
remove kodiVideoChecker (#475) 2017-11-22 00:52:55 +01:00
brindosch
0f9f3a17e7
Move WebSocket to Webserver & HttpJsonRpc async (#486)
* Move WebSocket to Webserver and HttpJsonRpc is now async

* revert...
2017-11-20 00:06:45 +01:00
brindosch
29058420a2 Fix Websocket
from @Paulchen-Panther
2017-10-14 17:37:22 +02:00
brindosch
4c2b75b45a Python 3.4 (#479)
* Python 3

* fix travis osx

* try fix

* get info

* digging in the dirt

* .

* .

* cleanup

* .

* .

* finalize, add multi threaded python support
2017-10-13 17:49:29 +02:00
brindosch
992dd6ea84 cmake 3.0.0 (#480) 2017-10-13 00:06:31 +02:00
Paulchen Panther
9cc6c75633 Use GIF files for effects (#477)
* Add new Effects

* add schema file for gif based effects

* add background color to snake effect

* add background color to snake effect

* Update schema file for snake effect

* Add function getImage

* add function getImage

* optimize lights.gif

* Add format to GIF schema
2017-10-12 12:00:32 +02:00
brindosch
838008568a JsonUtils & improvements (#476)
* add JsonUtils

* update

* repair

* update

* ident

* Schema correct msg other adjusts

* fix effDel, ExceptionLog, cleanup

* fix travis qt5.2

* not so funny

* use Qthread interrupt instead abort bool

* update services
2017-10-12 11:55:03 +02:00
brindosch
59ec767373 Add SECAM video standard to v4l2 2017-10-04 21:23:45 +02: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
brindosch
74ff5c7ada Philiphs Hue Improvments (#472)
* patch and improve philiphshue

* cleanup

* cleanup

* cleanup

* LedDevice switchOn()

* add signal for on/off to ledDevice
2017-09-16 00:18:17 +02:00
brindosch
81f5f51257 UI fixes/updates (#468)
* fix logging display

* hue wizard add usrname

* fix restartAction sometimes not executed

* remove configRevision

* remove v4l2 grabMode(2d/3d)

* remove latchTime from configs

not in main led device schema

* config comment: all grabbers can crop

* remove smoothing delay&pause for effects

* finalize disable effects ui

* fix empty effect selects

* remote page add 2D/3D videoMode

* add blackborder texts

* Update EffectEngine.cpp
2017-09-04 23:12:59 +02:00
redPanther
cb7b5fa588 amlogic: integrate grabbing via ge2d (#469)
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access

* just save it, in the middle of ge2d impl

* fix compile issues

* now grabbing works basicly

* add 3d support for ge2d

* next step, we got some video from aml

* switch back to rgba

* cleanup

* code cleanup, remove unused stuff
2017-09-03 13:48:16 +02:00
redPanther
2aa4df92a9 amlogic refactoring (#464)
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access

* just save it, in the middle of ge2d impl

* fix compile issues

* now grabbing works basicly

* add 3d support for ge2d

* next step, we got some video from aml

* switch back to rgba

* remove unfinished ge2d stuff

* commit missing changes

* some urgent fixes, needs some beautifying, but it works now

* fixes and refctoring
2017-09-01 08:50:37 +02:00
redPanther
9eff6384cc grabber api and feature unification (#462)
* move setvideomode to common place

* implement more croping and 3d support

* more api unification

* more refactoring

* osx fix

* next step

* add a mock for osx grabber. Now it is possible to test compile on none osx platforms.

* more unifications ...

* remove obsolete includes and grabbers are not dyn allocated. dispmanx needs rework an probaly not work atm

* first version of dispmanx mock. it compiles, but outputs a black image

* now dispmanx mock works!

* activate mocks in travis linux build
prepare dispmanx to rgb image out

* dispmanx now with image rgb output
fix deadlock with w/h -1 in grabber v4l
cleanups

* fix json

* fix some runtime stuff

* Update FramebufferWrapper.cpp

fix missing code

* unify grabframe

* 3d and croping for amlogic

* fix setimage not working

* make use of templates
save some codelines

* save more code lines
2017-08-12 07:55:32 +02:00
redPanther
317a903b14 Leddevices source tree refactoring (#461)
* rework structure of leddevice source tree

* fix data type vor v4l sig detection value in webui

* automate leddevicefactory.cpp
2017-08-07 10:05:46 +02:00
redPanther
f3bbe158bf fix Websockets send with data > 65535 bytes (#460)
* json websockets: now sending of multiple frames as well es 64bit frame size works. code ideas taken from qtwebsockets

* remove debug stuff

* remove stl stuff
2017-08-06 21:50:30 +02:00
redPanther
569e59110e implement set videomode via json api (#457)
* 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
2017-08-04 23:08:15 +02:00
redPanther
6279dcb2a9 per effect smoothing (#456)
* 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
2017-08-04 12:01:45 +02:00
redPanther
6625a318ac hyperiond desktop integration (#453)
* add deployment

* add correct api key

* fix cmake lists and add heroku app name

* Update .gitmodules

sync modules with upstream

* add possibility to start hyperiond as systray app

* cleanup

* - new command line options: --desktop --service to set desired mode (systray icon / console only)
- auto detect x server - if avail run in gui mode
- on osx always run in gui mode
- use existing icon from webconfig, instead of own icon
- add ability to no gice a config file name. If config not given, default config file will be set (home dir, or hyperiond dir, depending on writable state)

* fix warnings and compile error

* use own icon for systray purpose

* use new logo

* - set application properties
- fix force service mode
2017-08-01 17:29:47 +02:00
brindosch
5c7085439b update to cmake 2.8.12 (#451)
* 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
2017-08-01 15:42:36 +02:00
brindosch
8a794039cf Expand effect engine & ui update (#445)
* update

* update

* update

* .

* .

* .

* update

* .

* .

* .

* .

* update

* .

* update

* .

* update

* update

* update

* update

* update

* update

* .

* update

* update

* update

* .

* .

* .

* Revert "."

This reverts commit 4dd6404b32.

* update

* .

* .

* .

* .

* .

* .

* .

* .

* .

* .

* .

* ...

* .

* .

* .

* .

* .

* .

* .

* .

* .

* update

* update

* update

* remove svg and pic

* colorpicker imgs to base64 to prevent delayed load if not cached

* fix json2python func

* update swirl with rgba

* add double swirl, tune default val in schema, update explanation

* adjust swirl.py

* FileObserver for config checks with timer as fallback (#4)
2017-07-30 14:36:23 +02:00
Paulchen Panther
5bd020a570 JSON Auto correction + hyperion schema split for better readability (#452)
* revoke schema split

* add "getAutoCorrectedConfig" function

* revoke schema split

* revoke schema split

* revoke schema split

* Prevent compiler error if none grabber is available

* revoke schema split

* add "getAutoCorrectedConfig" function

* revoke schema split

* remove "configMigrator"

* remove "configMigrator"

* Change TestConfigFile to show how the autocorrection works

* revoke schema split

* revoke schema split

* remove "ConfigMigrator"

* remove "ConfigMigrator"

* remove "ConfigMigratorBase"

* remove "ConfigMigratorBase"

* Add QJsonUtils.h

* added ability "ignore-required"

It has been added the ability to correct the configuration without having to pay attention to the keyword "required" in the hyperion schema

* Allow Comments in Hyperion Schema

* add ability to ignore the "required" keyword in hyperion schema

* add ability to ignore the "required" keyword in hyperion schema

* add ability to ignore the "required" keyword in hyperion schema

* //Allow Comments in Hyperion Schema

* Update jsonschema.py to version 0.8.0 to support ...

references in json schema

* add RefResolver from jsonschema.py to resolve

references in hyperion schema

* remove dupe code

* split the hyperion schema in separatly files

For better readability

* add function "resolveReferences" to resolve

references in hyperion schema.

* remove CURRENT_CONFIG_VERSION

* remove CURRENT_CONFIG_VERSION

* split the hyperion schema in separatly files

For better readability

* Create schema-backgroundEffect.json

* Add the rest of the Hyperion schema via upload

* Remove Comments in config file

* Add return variable to function writeJson().

fix function resolveReferences().
edit function load() to handle QPair result from schemaChecker.

* edit function validate() to return QPair variable

* fit function loadEffectDefinition()

* fit function checkJson()

*  Expand error check by dividing

"_error" variable in "_error" and "_schemaError".
Replace variable "bool" in validate() in QPair

* Extend function "cmd_cfg_set" to handle auto correction

* Extend function "loadConfig" to handle auto correction

* fix function loadConfig()
2017-07-30 13:32:10 +02:00
brindosch
622a171808 add http jsonrpc (#450) 2017-07-05 23:19:52 +02:00
penfold42
a99b7c5f59 Fixed piblaster support (#448)
added "sudo" to the CompileHowto
2017-07-05 23:19:44 +02:00
brindosch
e98122c9cb Add zeroconf TxtRecords (#449)
* txtrecords

* typo
2017-07-05 16:54:41 +02:00
brindosch
5da871dc9f Move JsonProcessing from JsonClientConnection to own class (#444)
* update

* Tell me why...
2017-06-24 11:52:22 +02:00
brindosch
d3707cb118 Websocket auto serverinfo responder (#443)
* serverinfo cb

* remove webui cron

* missing header file

* tcp connection should trigger to
2017-06-17 23:29:04 +02:00
brindosch
91c7637a2b add unique id
Zeroconf TXT record is missing
2017-06-17 23:27:41 +02:00
brindosch
a7f72a7bf2 fix mess 2017-05-29 21:34:47 +02:00
brindosch
e2ca9bcaa5 Stats
Testing time!
Also new: Effects dirs are now created automatically
2017-05-29 15:59:11 +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
penfold42
564d4578d3 Rpi ws281x submodule update (#441)
* Updated rpi_ws281x submodule version
added dma channel option

* update translations
2017-05-23 18:14:27 +02:00
penfold42
93d520706e HyperionUsbAsp supports both ws2801 and ws2812 led strips (#438)
Re-add this option to the schema
2017-05-16 13:45:42 +02:00
penfold42
1bff517adf Ammeded timing to suit new revision of ws2812c (#439)
Should also work with WS2813 (but untested)

Included comments on the timing calculations
2017-05-13 19:09:26 +02:00
redPanther
f6209174c3 effects: image: make saving and minsize work (#433) 2017-04-14 07:58:34 +02:00
redPanther
b65d811640 add limit for write to leddevice (#432)
* 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
2017-04-09 22:28:32 +02:00
brindosch
f7dd6b8b1a update (#431) 2017-04-07 21:33:40 +02:00
redPanther
cd62dcd351 Update MultiColorAdjustment.cpp
backlight threshold and brightness are independend now - check not neccessary
2017-04-07 20:42:27 +02:00
redPanther
5ea3c752b5 new brightness handling (#430)
* clean color adjustment

* now a prio duration of "0" means infinity

* implement dynamic 'just in time' initialization

* implement new brightness handling

* cahnge access level

* i18n fix

* - cleanup brightness stuff
- update webserver, now with initial ssl support

* - backlightThreshold is now 0-100 instead 0-1
- better performance for brightness - use piecewise linear instead of sqrt
2017-04-03 05:19:05 +02:00
redPanther
852f7b86bb clean color adjustment (#428) 2017-03-31 19:37:27 +02:00
brindosch
7f8ad86bdd update philipshue 2017-03-31 11:11:28 +02:00
ntim
59ce0a640e Added brightnessFactor configuration option to LedDevicePhilipsHue (#427)
* 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
2017-03-31 10:17:14 +02:00
redPanther
e9040f885d disable smoothing for effects (#425)
* no smooth for efx
rework fade effect

* join strobe and fade effects
new effect "breath"

* - make transition efx to smooth mode more smooth
- fixes for pacman
- rework fade base effect - make it more versatile
- fix prios in schema files
- new notify blue effect to demonstrate capability of fade effect
2017-03-30 06:20:20 +02:00
brindosch
230c403bba Limit gamma to 5.0 2017-03-26 15:59:36 +02:00
brindosch
8e12d189b0 Hyperion Switcher + cleanup (#423)
* upd

* update

* update

* update schemachecker

* ...

* fix lowest priority

* zeroconf updates (#421) (#3)

* zeroconf:
add ip
make names more uniq

* tune dns name for webconfig

* update

* update

* update

* update ui

* ...

* min val for gamma

* lost somewhere this

* add status to hyperion object

* update ui
2017-03-24 10:17:36 +01:00
redPanther
c6fa40fa87 global on/off (#424)
* implement global on/off

* set gamma minimum to 0.1
2017-03-23 17:11:07 +01:00
redPanther
a08e951762 zeroconf updates (#421)
* zeroconf:
add ip
make names more uniq

* tune dns name for webconfig
2017-03-22 23:08:01 +01:00
redPanther
0d996d6d10 clearall don't remove prio 254/255 (reserverved for system purpose) (#420) 2017-03-22 11:52:20 +01:00
redPanther
0aa467cceb populate zeroconf/avahi/bonjour records via json api (#419)
* 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
2017-03-21 17:55:46 +01:00
brindosch
9a0e1daf7b Reports - final version (#418)
* remove device config at log

* ...

* update ui
2017-03-18 00:05:04 +01:00
redPanther
a20e073bbd make v4l signal detection switchable (#415) 2017-03-15 20:33:11 +01:00
redPanther
bfb9a08c80 migrate std::string to qstring + add sysinfo via json (#412)
* 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
2017-03-04 22:17:42 +01:00
redPanther
7207756978 Sysinfo (#409)
* new sysinfo

* finish sysinfo
2017-03-02 10:50:31 +01:00
redPanther
221af075a4 implement origin for effects (#408)
* implement rigin for efx

* implement origin for effects and other components
add experimental adalight firmware for arduino with upto 5 pwm channels

* cleanup

* origin ip now with dns lookup

* fix compile

* move some code
2017-03-01 15:23:53 +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
72e2f0bf18 check config when writing (#405)
* check config when writing

* integrate #403
2017-02-26 15:30:10 +01:00
redPanther
26154befa4 avhai cleanup + grabber list (#402)
* - cleanup shared_avahi stuff
- add a list of avilable grabbers to json server info

* fix compile
2017-02-17 08:33:34 +01:00
brindosch
01d04255dc fix tr, raise def gamma, add 'es' as language 2017-02-16 18:33:36 +01:00
redPanther
cab3c2fdc9 add more drawing func to effect engine (#400)
* - 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
2017-02-16 07:33:58 +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
redPanther
e1165e112f fix/refactor backlight stuff (#394)
* 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
2017-02-11 22:52:47 +01:00
redPanther
170ad4f5db improve serial hotplug (#389)
* - 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
2017-02-09 20:10:57 +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
redPanther
7f2d6bde9a add http error pages (#381)
* implement 404 for webserver - this is a quick hack, should be refactored later

* add http error pages ... design is more a placebo ;-)

* tune errorpages
fix some cgi related stuff, now only python is possible
executing and reading python file is possilbe, but it cannot receive any data from webui

* fix typo

* fix another typo
2017-01-29 21:20:12 +01:00
Paulchen Panther
ed47852518 Remove duplicated Code (#377)
* Reduce Duplicate Code

* Reduce Duplicate Code

* No Error Logging when "document_root" in Json config is empty

* Update JsonClientConnection.cpp

* Remove obsolete functions

* create readConfig and readSchema function

* set forgotten _error variable
2017-01-23 23:25:12 +01:00
redPanther
8a4d1c5088 implement 404 for webserver - this is a quick hack, should be refactored later (#378) 2017-01-23 23:21:04 +01:00
redPanther
cde5a4dff1 send close signal only on restart to avoid problems while destructiong on normal exit (#376) 2017-01-22 19:36:52 +01:00
redPanther
3aa2573b88 destroy grabbers and other stuff on hyperiond restart via webui (#375)
* remove obsolete kodi code for grabbers

* destroy grabbers and other stuff on hyperiond restart via webui
2017-01-22 14:31:11 +01:00
redPanther
05ee316c1d remove obsolete kodi code for grabbers (#372) 2017-01-20 23:43:22 +01:00
brindosch
c85b2de13d Update DispmanxWrapper.cpp 2017-01-20 15:01:13 +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
penfold42
8c2185b641 Fix latchtime logic - it was always ignored (#368) 2017-01-19 01:55:06 +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
redPanther
281b1c8ea5 Webui save - fix white space writing (#364)
* implement config save over http post instead of json

* remove json set config
finish config write thrugh http post

* remove debug code and add failure messages

* fix save issue with white spaces
2017-01-15 08:53:52 +01:00
redPanther
8a9d2760ef move write config from json api to http post (#363)
* implement config save over http post instead of json

* remove json set config
finish config write thrugh http post

* remove debug code and add failure messages
2017-01-14 19:04:58 +01:00
redPanther
b2a6366176 fix coloradjustment via hyperion remote (#362)
* - fix coloradjustment via hyperion remote
- several small cleanups/refactorings

* fix color is shown as unknown in json serverinfo

* fix active color is not shown when autoselect is reactivated
2017-01-10 19:58:41 +01:00
redPanther
ef14eb08c9 fix state of autoselect (#361) 2017-01-09 22:41:44 +01:00
redPanther
caab8e819b Adjustment merge + new brightness settings (#359)
* add new rgbtransform

* activate rgbtransform

* integrate new transform and gamma in adjustment, disable transform

* fix brighness limit

* advance upper and lower thresholds

* start removing color transform

* adjust configs/schema

* implement json for new color adjustment

* finish hyperion-remote extension for new adjustment settings

* fix typos

* rename luminance to brightness
fix jsonapi for new adjustment

* fix some bugs in adjustments

* fix i18n

* fix gamma via json

* now brighness values goes from 0-1 with 0.5 is the default for all brighness is equal between the channels. less 0.5 all channels scaled down
to new brighness, above 0.5 if possible channel gets brighter - but brighness is not equal between the channels anymore
brighness value curve is now exponential instead of linear - this feels more natural

* hslv cleanup
2017-01-06 14:25:55 +01:00
brindosch
c433504b81 Webn (#2) (#358)
* upd

* upd

* typo

* update ieff

* typo

* ..

* try

* ..

* rm enum

* .

* .

* split initialeff

* upd schema

* ..

* upd

* .

* .

* .

* update

* update
2017-01-04 10:55:10 +01:00
Robin Kobus
2906ec041a Color adjustment fix (#357)
* Rename test to test123

* Delete test123

* fixed color names

* Update hyperion.config.json.commented
2016-12-31 15:00:41 +01:00
redPanther
58f6d0a1d1 make video from proto available in webui live view (#356) 2016-12-30 20:18:41 +01:00
redPanther
8f4341c5c6 implement adjustable image2ledmaptype for proto (#355)
add clean of qrc on make clean
2016-12-30 13:58:25 +01:00
brindosch
f22848f9f4 typo 2016-12-29 17:14:18 +01:00
brindosch
1659000cbb move eff_cp to global edt, update schema 2016-12-29 17:12:06 +01:00
Robin Kobus
8d304d58d2 Color Adjustment 2.0 (#351)
* Rename test to test123

* Delete test123

* New color Ajustment

Trilinear interpolation between the 8 corners of the color cube (black, red, green, blue, cyan, magenta, yellow, white)

* Renaming

* overloading getadjustmentX()

* Renaming

* Additional renaming

* Added more RgbChannel

* Added more colors to channelAdjustment

* Added additional colors

* Added additional colors

* Added additional colors

* Added additional color adjustments

* Update MultiColorAdjustment.cpp

* Fixed black adjustment

* Color config in array form
2016-12-29 17:02:37 +01:00
brindosch
db5ce43202 Update hyperion.schema.json 2016-12-26 00:22:26 +01:00
redPanther
3746f643af multi bugfix pr ... (#348)
* move name to general
add a version for config file

* start impl. config migrator

* fix typo amd set access level

* fix schemaa name

* fix schema

* add structure for config migrator

* add more structural things for config migrator

* fix not all grabber provide live video

* add schema for trails
2016-12-24 10:02:12 +01:00
redPanther
0825937a3e move 'name' to new config section general. (#345)
* move name to general
add a version for config file

* start impl. config migrator

* fix typo amd set access level

* fix schemaa name

* fix schema

* add structure for config migrator
2016-12-23 19:37: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
0414e3c860 implement states for components_autoselect and ledMAppingType via json (#344) 2016-12-20 19:55:54 +01:00
redPanther
c5e0299c55 adjustable image2led mode for grabbers (#341)
* implement most points for a adjustable image2leds mapping

* implement new adjustable led mapping type
2016-12-19 23:59:50 +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
23194730c2 v4l: make suggestions for all no signal values (#339)
* on v4l screenshot, print out nosignal threshold values

* separate fractional parameters for no signal detection

* fully implement handling for "rainbow grabber"

* hyperion-v4l2 --screenshot can also evaluate best reagion and color for no signal detection

* tune output of no signal detection

* v4l outputs warninsg only, todo: make it adyustable

* typo

* v4l signal detection, now with validation checks

* remove obsolete schema files

* fix code style

* fix text typos

* code style
2016-12-18 00:47:53 +01:00
Paulchen Panther
8aa0fbaa1e Logger output in WebUI (#337)
* expanding logging result array of JSON request

* matching web logging output to console
2016-12-17 22:14:30 +01:00
penfold42
cb7e2ff1c0 Re-introduce hsv transform into config schema. (#336)
iOS app needs this (at the moment) and i needs to be able to set the inital config from the config file.
2016-12-17 09:23:22 +01:00
redPanther
d59c94421d Kill "Rainbow lights" when v4l grabber has no signal (#334)
* on v4l screenshot, print out nosignal threshold values

* separate fractional parameters for no signal detection

* fully implement handling for "rainbow grabber"
2016-12-16 19:48:43 +01:00
Paulchen Panther
b227f5a71c Overwrite custom created effect config when effect name is exist (#335)
* Overwrite exist Effects

* move find_schema and find_effect struct to include file
2016-12-16 19:48:15 +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
redPanther
0e6866fb23 fix adalight in lightberry mode
fix issue #332
2016-12-12 23:28:27 +01:00
ntim
2410c6021e Added missing json document compilation to states retrieval. (#321) 2016-12-09 22:26:18 +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
redPanther
7adaaffc0a fix initial reset 2016-12-05 22:46:58 +01:00
penfold42
ec283cc22b fix for LPD8806 issue (#315)
make writebytes call consistent with other devices
2016-12-05 22:46:04 +01:00
redPanther
9428586195 Json write (#313)
* always output latest version of config file to webui

* fix permissions after default config export

* tune code

* set permissions for exported effects

* use qt setperm instead of chmod
update effects code style a bit

* add fallback when config is not readable

* ui: when sending config, convert to utf8 to save size and avoid jumbo frames (todo: minify it)
jsonclient: add some constants for websocket frames (taken from https://github.com/zaphoyd/websocketpp/blob/master/websocketpp/frame.hpp)

* webui:
refactory of websocket connector
sended json data is always convert to utf8
2016-12-05 11:10:44 +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
redPanther
5b0e401ca5 always output latest version of config file to webui (#307)
* always output latest version of config file to webui

* fix permissions after default config export

* tune code

* set permissions for exported effects

* use qt setperm instead of chmod
update effects code style a bit

* add fallback when config is not readable
2016-12-03 21:11:52 +01:00
redPanther
96e8c29582 refresh time for all devices + schema fixes (#305)
* 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
2016-12-02 12:07:24 +01:00
redPanther
9ddbf81810 merge adalight and adalightapa102 (#303)
if you want to use adalightapa102 driver, select adalight and set
lightberry_apa102_mode : true
in device config. Default is standard adalight
2016-12-01 16:17:14 +01:00
penfold42
1670ec58a7 led device cleanup, bug fix and schemas (#304)
* sk6812SPI was buggy
cleaned up code - make sk6812spi and ws2812spi more consistent

* led device schema updates
2016-12-01 16:16:59 +01:00
penfold42
080059cbf5 Added latchtime web configuration for ws2801 device. (#302)
* 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"
2016-12-01 10:00:52 +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
redPanther
81dea1583d update adalight sketch (#299)
* 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
2016-11-29 23:14:15 +01:00
redPanther
1b62d9d717 Logbuffer (#298)
* - implement a global logbuffer
- providerrs232 reduce log spam

* logger add signal and start json push

* implement logger notifier ... need some cleanup

* imlement logview in webui - the layout stuff is basic atm and needs some tuning
2016-11-26 22:46:16 +01:00
redPanther
73406c982b global logbuffer (#297)
* - implement a global logbuffer
- providerrs232 reduce log spam

* logger add signal and start json push

* implement logger notifier ... need some cleanup
2016-11-26 22:34:46 +01:00
Paulchen Panther
8f67294de6 Implement "reloadEffects" function in Hyperion for "write and delete" custom created effect configuration files (#293)
* Update EffectEngine.h

* add reloadEffects function

* add readEffects function

* add reloadEffects function

* Call reloadEffects after handleCreateEffectCommand and handleDeleteEffectCommand
2016-11-20 18:41:10 +01:00
Paulchen Panther
c2faf07574 Delete custom created effect configurations with JSON RPC (#289)
* Add ability to delete custom created Effects

* Add deleteEffect function to Hyperion-Remote

* Add deleteEffect function to Hyperion-Remote

* Update schema.json

* Update JsonSchemas.qrc

* Add schema-delete-effect.json

* Add deleteEffect function to JSON RPC

* Add deleteEffect function to JSON RPC

* Add Effect configuration file (.json) to Effect Definition

* Update EffectDefinition.h
2016-11-18 18:39:21 +01:00
penfold42
4972bc086a Remove old LedDeviceWS2812b PWM device which wont work on RPi >= 2 (#288) 2016-11-18 18:39:08 +01:00
Rick164
39593c508a Fixed QHostAddress address binding for AtmoOrb (#285) 2016-11-11 23:30:57 +01:00
Paulchen Panther
08dfec20c5 Adding the possibility to test new Effects ... (#282)
* Update effects_configurator.html

* Update content_effectsconfigurator.js

* Update hyperion.js

* Update de.json

* Add argument QString "pythonScript" to runEffect function

* Update Hyperion.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp

* Update schema-effect.json
2016-10-30 22:59:45 +01:00
brindosch
864538f188 Effects Configurator (#281)
* update translation

* add css

* Update JsonClientConnection.cpp

* add effectscreator

* remove udp

* fix title c/p issue for sparks

[skip ci]

* update schemas

[skip ci]

* typo

[skpi ci]
2016-10-30 17:54:38 +01:00
Paulchen Panther
fab0c208fe Create Effect configuration files (.json) with JSON RPC (#277)
* Add getEffectSchemas and loadEffectSchema function

* Add getEffectSchemas function

* add effect schema files to internal resources

* Add loadEffectSchema and getEffectSchemas function

* add effect schema resources

* add getEffectSchemas function

* extend handleSchemaGetCommand to get ...

... all available effect schemas
add handleCreateEffectCommand function

* add handleCreateEffectCommand function

* include schema-create-effect.json file

* add create-effect schema

* Add schema-create-effect.json file

* Add createEffect to hyperion-remote

* Add createEffect function

* add createEffect function

* Create fade.schema.json

* Add files via upload

* Add files via upload

* Update police.schema.json

* Update EffectEngine.qrc.in

* Update CMakeLists.txt
2016-10-24 23:52:53 +02:00
brindosch
2cc4cdde26 Update QJsonSchemaChecker.cpp 2016-10-16 17:34:20 +02:00
redPanther
1565d60d86 fix json double evaluation for effects 2016-10-14 20:59:03 +02:00
redPanther
f881a0abe3 fix effect overlay not evaluated correctly 2016-10-14 20:13:45 +02:00
Paulchen Panther
464de381a0 JsonCpp to QTJson (Final Part) (#273)
* Update CMakeLists.txt

* Update Hyperion.h

* Update LedDevice.h

* Update LedDeviceFactory.h

* Update Hyperion.cpp

* Update LedString.cpp

* Update JsonClientConnection.cpp

* Update LedDeviceAdalight.cpp

* Update LedDeviceAdalight.h

* Update LedDeviceAPA102.cpp

* Update LedDeviceAdalightApa102.h

* Update LedDeviceAdalightApa102.cpp

* Update LedDeviceAPA102.h

* Update LedDeviceAtmo.cpp

* Update LedDeviceAtmo.h

* Update LedDeviceAtmoOrb.cpp

* Update LedDeviceAtmoOrb.h

* Update LedDeviceDMX.cpp

* Update LedDeviceDMX.h

* Update LedDeviceFactory.cpp

* Update LedDeviceFadeCandy.cpp

* Update LedDeviceFadeCandy.h

* Update LedDeviceFile.cpp

* Update LedDeviceFile.h

* Update LedDeviceHyperionUsbasp.cpp

* Update LedDeviceHyperionUsbasp.h

* Update LedDeviceLightpack.cpp

* Update LedDeviceLightpack.h

* Update LedDeviceLpd6803.cpp

* Update LedDeviceLpd6803.h

* Update LedDeviceLpd8806.cpp

* Update LedDeviceLpd8806.h

* Update LedDeviceMultiLightpack.cpp

* Update LedDeviceMultiLightpack.h

* Update LedDeviceP9813.cpp

* Update LedDeviceP9813.h

* Update LedDevicePaintpack.cpp

* Update LedDevicePaintpack.h

* Update LedDevicePhilipsHue.cpp

* Update LedDevicePhilipsHue.h

* Update LedDevicePiBlaster.cpp

* Update LedDevicePiBlaster.h

* Update LedDeviceRawHID.cpp

* Update LedDeviceRawHID.h

* Update LedDeviceSedu.cpp

* Update LedDeviceSedu.h

* Update LedDeviceSk6812SPI.cpp

* Update LedDeviceSk6812SPI.h

* Update LedDeviceTinkerforge.cpp

* Update LedDeviceTinkerforge.h

* Update LedDeviceTpm2.cpp

* Update LedDeviceTpm2.h

* Update LedDeviceTpm2net.cpp

* Update LedDeviceTpm2net.h

* Update LedDeviceUdpE131.cpp

* Update LedDeviceUdpE131.h

* Update LedDeviceUdpH801.cpp

* Update LedDeviceUdpH801.h

* Update LedDeviceUdpRaw.cpp

* Update LedDeviceUdpRaw.h

* Update LedDeviceWs2801.cpp

* Update LedDeviceWs2801.h

* Update LedDeviceWS2812b.cpp

* Update LedDeviceWS2812b.h

* Update LedDeviceWs2812SPI.cpp

* Update LedDeviceWs2812SPI.h

* Update LedDeviceWS281x.cpp

* Update LedDeviceWS281x.h

* Update ProviderHID.cpp

* Update ProviderHID.h

* Update ProviderRs232.cpp

* Update ProviderRs232.h

* Update ProviderSpi.cpp

* Update ProviderSpi.h

* Update ProviderUdp.cpp

* Update ProviderUdp.h

* Update LedDevice.cpp

* Update CMakeLists.txt

* Update hyperiond.cpp

* Update hyperiond.h

* Update TestSpi.cpp

* Delete AUTHORS

* Delete CMakeLists.txt

* Delete LICENSE

* Delete json_batchallocator.h

* Delete json_internalarray.inl

* Delete json_internalmap.inl

* Delete json_reader.cpp

* Delete json_tool.h

* Delete json_value.cpp

* Delete json_valueiterator.inl

* Delete json_writer.cpp

* Delete sconscript

* Delete autolink.h

* Delete config.h

* Delete features.h

* Delete forwards.h

* Delete json.h

* Delete reader.h

* Delete value.h

* Delete writer.h
2016-10-13 21:59:58 +02:00
redPanther
48d8781cdf auto generation of initial config file (#271)
* - remove feature of using multiple config files for automaticly start other hyperion instances
- add auto config file creation
- tune service files

* add auto path creation for initial default config

* debian package:
rename service to hyperiond
remove copy of config file
2016-10-13 21:59:10 +02:00
Paulchen Panther
ebbb6b9440 JsonCpp to QTJson (Part 5) (#270)
* Update Hyperion.h

* Update ImageProcessorFactory.h

* Update ProtoConnection.h

* Update WebConfig.h

* Update CMakeLists.txt

* Update Hyperion.cpp

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CgiHandler.cpp

* Update CgiHandler.h

* Update WebConfig.cpp

* Update CMakeLists.txt

* Update hyperion-remote.cpp

* Update JsonConnection.cpp

* Update JsonConnection.h

* Update hyperiond.cpp

* Update hyperiond.h

* Delete JsonFactory.h

* Delete JsonSchemaChecker.h

* Delete JsonSchemaChecker.cpp

* Update WebConfig.cpp
2016-10-11 19:51:20 +02:00
redPanther
37558a983f fix restart of hyperion. now devices closed before restart (#269) 2016-10-10 23:08:01 +02:00
redPanther
e889996ae7 implement optional color correction for V4L only (#267)
* remove color temperatire, its the same as color adjustment

* remove temperature from schema

* implement most part of v4l only colro settings,
now hyperion update knows from which component the colors come

* update configs

* fix webui config write

* reomve correction and temperature from hyperion-remote
2016-10-10 18:29:54 +02:00
Paulchen Panther
d9c2a2d91a JsonCpp to QTJson (Part 4) (#266)
* Update ActiveEffectDefinition.h

* Update EffectDefinition.h

* Update EffectEngine.h

* Update Hyperion.h

* Update LedDevice.h

* Update QJsonFactory.h

* Update QJsonSchemaChecker.h

* Update Effect.cpp

* Update Effect.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp

* Update JsonClientConnection.h

* Update schema-config.json

* Update LedDevice.cpp

* Update QJsonSchemaChecker.cpp

* Update hyperion-remote.cpp

* Update JsonConnection.cpp

* Update JsonConnection.h

* Update hyperiond.cpp
2016-10-09 22:22:17 +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
penfold42
b42f3453b4 Updated comments in led device headers (#265) 2016-10-08 13:52:22 +02:00
redPanther
5aac2be702 Leddevice refactoring the next next part (#263)
* switch rs232 provider to completly async transfer

* start of implementing a seperate init function for leddevices

* rename setconfig to init

* more fixes

* implement missing code

* fix code style

* remove debug  code

* remove  debug stuff

* set loglevel to original state
2016-10-08 08:14:36 +02:00
Robin Kobus
3156488b68 Smoothing Fix (#261)
Increase color change for small RGB differences.
2016-10-04 22:13:29 +02:00
redPanther
89afedf3d5 light clock (#260)
* extend image effects
add a basic light clock

* add alpha values  to rainbow

* some effect tuning

* make seconds hand optional and change color to yellow
make blue hours hand always visible
2016-10-01 21:34:30 +02:00
redPanther
5aa9edc1cd fix input selection wont work when color is set (#259) 2016-09-30 19:26:31 +02:00
penfold42
6a26e4fd5f Added avahi/bonjour advertisement to webconfig (#258) 2016-09-26 17:50:31 +02:00
penfold42
d095b355b1 Dmx512 Rs232 support (#256)
* 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
2016-09-26 17:50:11 +02:00
redPanther
d1e165a753 switch rs232 provider to completly async transfer (#255) 2016-09-25 22:20:01 +02:00
Paulchen Panther
f146894799 JsonCpp to QTJson (Part 3) (#257)
* Update BlackBorderProcessor.h

* Update Hyperion.h

* Update ImageProcessor.h

* Update ImageProcessorFactory.h

* Update LedString.h

* Update BlackBorderProcessor.cpp

* Update ImageProcessor.cpp

* Update ImageProcessorFactory.cpp

* Update Hyperion.cpp

* Update hyperiond.cpp

* Update TestImage2LedsMap.cpp

* Update TestBlackBorderProcessor.cpp

* Update Hyperion.cpp

* Update Hyperion.cpp
2016-09-25 21:59:31 +02:00
redPanther
d6a34edfb2 Leddevice refactoring the next part (#253)
* add general switchOff

* refactoring of leddevices regarding ledcount and switchoff

* remove obsolete includes
2016-09-23 08:49:22 +02:00
redPanther
5aeec2e1e5 fix last merge 2016-09-22 14:28:23 +02:00
redPanther
9cfefda7ce fix last merge
[skip ci]
2016-09-22 14:27:09 +02:00
redPanther
e58d7b27eb fix last merge 2016-09-22 14:26:24 +02:00
redpanther
4c78302473 Merge branch 'h801' of https://github.com/WoLpH/hyperion.ng into WoLpH-h801
Conflicts:
	libsrc/leddevice/LedDeviceTpm2net.cpp
	libsrc/leddevice/LedDeviceUdpRaw.cpp
	libsrc/leddevice/ProviderUdp.cpp
	libsrc/leddevice/ProviderUdp.h
2016-09-22 13:57:52 +02:00
redPanther
b8f1ad50b9 add ability for default values in providerudp (#251)
* add ability for default values in providerudp

* udp: move switchOff into baseclass

* udp: more code cleanups
2016-09-22 09:19:31 +02:00
Rick van Hattem
ad785b9eba implemented bare providerudp constructor and made h801 use it 2016-09-22 00:18:46 +02:00
Rick van Hattem
37130f9c9b Merge remote-tracking branch 'redPanther/leddevice' into h801 2016-09-21 23:32:19 +02:00
Rick van Hattem
3feb905a00 reformatted code and added the new defaults from @redpanther 2016-09-21 23:32:17 +02:00
redpanther
a86b3a2335 add ability for default values in providerudp 2016-09-21 23:08:13 +02:00
Rick van Hattem
da6dfc8ed4 removed useless destructor 2016-09-21 23:07:14 +02:00
Rick van Hattem
c008f6c1bb Merge remote-tracking branch 'hyperion-project/master' into h801 2016-09-21 23:03:53 +02:00
Rick van Hattem
1fb2f6be0b initial version of h801 led device 2016-09-21 23:03:01 +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
c183037872 hot fixing missing schema attribut append 2016-09-19 23:25:44 +02:00
brindosch
f349f4b0ee forms: horizontal layout and unit support (#245)
* update

* sync

[skip ci]

* always required

[skip ci]

* append support

* update schemas

[skip ci]

* typo

[skip ci]

* adjustment

* update

[skip ci]

* sync

[skip ci]

* slightly smaller logo

[skip ci]

* also for checkboxes

[skip ci]

* new connection lost page

[skip ci]

* update con_lost page

[skip ci]

* lost change

[skip ci]

* fix center position

[skip ci]
2016-09-17 23:37:44 +02:00
redPanther
858125510e hyperiond: add ability to export default config and effects (#244)
* - embed default config
- add possibility to export effects and embeded default config to filesystem

* do some code style
2016-09-17 00:40:29 +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
brindosch
a04f34eab7 update schemas | mod jsoneditor (#243)
* update

* sync

[skip ci]

* always required

[skip ci]
2016-09-15 19:06:21 +02:00
redPanther
30a667c610 fix 241 2016-09-14 17:28:03 +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
ccc50899fb make shared libs work again (#239) 2016-09-13 17:39:01 +02:00
penfold42
52283b3257 Added debug logging of the Ada header bytes that are sent (#238)
[HYPERIOND LedDevice] <DEBUG> <LedDeviceAdalight.cpp:52:write()> Adalight header for 316 leds: Ada 0x01 0x3b 0x6f
2016-09-13 14:25:42 +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
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
2d88cdc2d3 webui: initial support for leddevice options (#232)
* 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
2016-09-10 19:08:08 +02:00
redPanther
951aab1c9d Update LinearColorSmoothing.cpp
disable smooth timer when disabled
2016-09-08 18:07:57 +02:00
redPanther
36124c9afb make blackboder component enable/disable at runtime (#228)
* make enable/disable of bborder work

* fix typo

* smoothing can be disabled via config again

* fix smoothing
2016-09-08 16:32:42 +02:00
redPanther
2beccb0912 Webui: extend led hardware config + connection lost page (#226)
* split content and js
tune leds config

* implement connection lost page

* split js/html in huebridge

* add js action for connection lost

* extend led config
make connection loss nicer

* tune led code
add menu entry for grabber

* more tuning of webui

* switch back to botstrap textarea
add v4l to components

* add icon

* extend schema for jsoneditor

* implement ledcolors streaming with 4fps

* implement component state
2016-09-07 20:10:37 +02:00
redPanther
4c6a4a1f93 fix effect prio unregister 2016-09-06 11:18:29 +02:00
redPanther
bbffa078fd Webui: view led configuration + lights (#223)
* make hyperion websocket api event based

* implement new websocket handling for generalconf

* migrate all webui stuff to new event based websocket api
some cleanup ... now all html templates are in content
refactoring of web stuff

* add hyperionport to global
start impl. removing advanced key

* separate dashboard
serverinfo is updated every 3 seconds automatily
add input selection
cleanup and remove not needed stuff

* prepare infrastructure for server sided file execution

* webui minor fixes

* fix compile

* implement led layout view with live colors

* live led vies

* fix general conf
unrigister ledcolors request, when not on leds.html

* fix compiler warning

* prepare realtime ledview and enhance ui
2016-09-05 17:26:29 +02:00
penfold42
49d3d35de1 Ws2812spi and sk6812rgbw have wrong default rate (#221)
* Changed default baud rate in schema for ws2812spi and sk6812spi

* now sets the default baud_rate speed to 2800000 if omitted.
Previously it used the ProviderSPI default which was 1000000 and guaranteed not to work

* Added warnings if the SPI baud rate is likely out of range
Added some debug statements to ProviderSpi
2016-09-04 14:28:06 +02:00
penfold42
4968a11816 Tpm2net rewrite (#217)
* initial tpm2net rewrite - doesnt compile yet

* new tpm2.net drive compiles.
rename old tmp2net typos to tpm2net
fixed compiler warning in ws2812b

* added packetsize calculations and the end of frame character.
Output looks good on tcpdump

* removed old tpm2net driver
renamed tpm2netnew to tpm2net
2016-09-04 09:07:10 +02:00
redPanther
4a27f3d43e refactoring of webui and event based websocket layer (#219)
* make hyperion websocket api event based

* implement new websocket handling for generalconf

* migrate all webui stuff to new event based websocket api
some cleanup ... now all html templates are in content
refactoring of web stuff

* add hyperionport to global
start impl. removing advanced key

* separate dashboard
serverinfo is updated every 3 seconds automatily
add input selection
cleanup and remove not needed stuff

* prepare infrastructure for server sided file execution

* webui minor fixes

* fix compile
2016-09-03 15:54:33 +02:00
brindosch
c17c3bd273 Add more schemas + webui integration (#218)
* update schema
... need some fixing regarding schema, will come in next commit
2016-09-02 19:29:04 +02:00
redPanther
06c878e76f fix amlogic for newer kernels (#214)
* 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
2016-09-02 07:41:27 +02:00
redPanther
ee26abc6c4 Merge pull request #212 from b1rdhous3/editor
New Json Editor
2016-08-31 18:03:53 +02:00
b1rdhous3
752b32c906 Merge index.html and QJsonSchemaChecker changes 2016-08-31 17:19:41 +02:00
redPanther
742ad9df08 multiple v4l devices. (#210)
* implement use of multiple v4l devices.
Not all v4l devices are compat with that or must be attaches to different usb controllers

* fix typo in config
spilt grabber components in "GRABBER" and "V4L"
2016-08-31 10:13:43 +02:00
penfold42
44579f85eb changed debug to error 2016-08-31 17:51:50 +10:00
penfold42
fa152b4560 Added debug logging to ProviderSpi.cpp on writes.
If you have more leds configured than the SPI buffer can support you now get this:
[HYPERIOND LedDevice] <DEBUG> <ProviderSpi.cpp:92:writeBytes()> SPI failed to write. errno: 90, Message too long
2016-08-31 17:34:52 +10:00
redpanther
9a2b167db7 fix typo in config
spilt grabber components in "GRABBER" and "V4L"
2016-08-31 00:54:47 +02:00
b1rdhous3
b6cec24596 Update 2016-08-31 00:46:39 +02:00
b1rdhous3
019e3f5d0c New JSON Editor 2016-08-31 00:22:17 +02:00
b1rdhous3
dae32f72bf Merge remote-tracking branch 'refs/remotes/hyperion-project/master' into editor
# Conflicts:
#	assets/webconfig/index.html
2016-08-30 23:50:26 +02:00
b1rdhous3
7009aa50ed New JSON Editor 2016-08-30 23:49:21 +02:00
brindosch
0603fadd21 Web: Centralize websocket, add json port changer and led schemas (#209)
* add comp test

* update web

* .

* typo

[skip ci]
2016-08-30 23:25:27 +02:00
redpanther
a85a5c0f2c implement use of multiple v4l devices.
Not all v4l devices are compat with that or must be attaches to different usb controllers
2016-08-30 22:28:13 +02:00
Rick van Hattem
61db9f43b8 Qcommandlineparser (#199)
* Replaced getoptplusplus with QCommandLineParser. Fixes #39

* enabling C++11 if possible

* enabling C++11 if possible

* fixed gcc compilation issues

* fixed linux builds and improved os x build

* trying to fix dispmanx

* trying to fix dispmanx

* simplified travis build script

* fixed argumentparser default values

* rewrote validator system and made sure default arguments are processed correctly

* rewrote validator system and made sure default arguments are processed correctly

* fixed bool vs. regular options

* oops... removing debug code

* reverted screenshot api change
2016-08-28 15:10:43 +02:00
penfold42
c13f2e20ec Added source and cid to e1.31 driver. (#207)
source defaults to "hyperion on <hostname>"
cid defautls to randomly generated on each startup

        "device" :
        {
                "name"       : "DMX_e131",
                "type"       : "e131",
                "universe"   : 1,
                "cid" : "{204b83c-efb5-4b23-b2d0-35939d561061}",
                "source-name": "This is my custom e1.31 source",
                "host"       : "239.255.0.1",
                "port"       : 5568,
                "colorOrder" : "rgb"
        },
2016-08-28 10:45:18 +02:00
penfold42
cc8185691a Renamed the lowlevel providers from LedXXXDevice to ProviderXXX (#206)
%s/LedUdpDevice/ProviderUdp/g
git mv LedUdpDevice.cpp ProviderUdp.cpp
git mv LedUdpDevice.h ProviderUdp.h

vi `grep -l LedHID *`
%s/LedHIDDevice/ProviderHID/g
git mv LedHIDDevice.cpp ProviderHID.cpp
git mv LedHIDDevice.h ProviderHID.h

vi `grep -l LedRs *`
%s/LedRs232Device/ProviderRs232/g
git mv LedRs232Device.cpp ProviderRs232.cpp
git mv LedRs232Device.h ProviderRs232.h

vi `grep -l LedSpi *`
%s/LedSpiDevice/ProviderSpi/g
git mv LedSpiDevice.cpp ProviderSpi.cpp
git mv LedSpiDevice.h ProviderSpi.h
2016-08-28 07:12:47 +02:00
penfold42
9cc3a2de2e LedUdpDevice now tries to parse the "host" as an IP address before trying to DNS resolve it (#205) 2016-08-27 14:05:09 +02:00
brindosch
13cc053d99 fix jsonrpc (1/2)
NO CI no ci [no ci]
2016-08-25 13:52:31 +02:00
penfold42
cea4db8e60 Fix throw error in udp, fix default SPI device (#198)
* Fix throw error so it correctly fails on invalid output hostnames

* Fixed broken default /dev/spidev0.0 string

* UDP devices now use "host" and "port" rather than "output"
2016-08-24 06:05:00 +02:00
redPanther
d679affeb4 Leddevice rework2 (#193)
* 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
2016-08-23 20:07:12 +02:00
Paulchen-Panther
62a24348f9 Fix "if" statement in XShmGetImage check and other things (#192)
* Fix "if" statement

Nach dem testen des Codes, leider übersehen und nicht rückgängig gemacht.
Entschuldigung.

* Move XRenderSetPictureFilter from "grab" to "setupResources" part

* Resize destination image to target screen dimension once

* Fix coding style and add check for image resize
2016-08-23 07:04:57 +02:00
Paulchen-Panther
6acf68c87e Update X11 Grabber (scaling improvements) (#191)
* Add transform Matrix for scaling

* Add Image scaling by XRender

* Coding Style correction
2016-08-22 11:59:07 +02:00
penfold42
c8318ff0c7 support > 170 leds with E1.31 (#189)
* Add support for > 170 leds. These are send as multiple packets
Change default latchtime to be smaller

* code cleanup

* more code tidying
added *.swp to gitignore
2016-08-20 22:39:21 +02:00
penfold42
85e3f154d6 DMX512/sACN/E1.31 support (#184)
* 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
2016-08-19 17:14:52 +02:00
redPanther
55cc06615b hot fix for json checker
now shema extension with 'default' 'title' and 'description' is valid for the checker
2016-08-19 08:50:48 +02:00
b1rdhous3
d8f6f86948 Example JSON Form Example with General setting (#185)
I have created a new Category "General" with several Settings for
Hyperion.
For now the Submit Button only console.log's the values.

Known Bug: For some reason it seems to do not load the bootstrap
correctly or maybe the Lib isn't compatible with the newest version of
bootstrap.
2016-08-18 21:14:50 +02:00
Paulchen-Panther
b9ad2977de Update and fix JSON writer (#183)
* Fixing the check of createKey in handleConfigSetCommand

* Update schema-config.json

* add overwrite option to configset command

* add overwrite option to setConfig function

* add overwrite option to setConfig function
2016-08-18 21:11:21 +02:00
redPanther
e46d392ed1 - in json reply the command is written again, to better identify it. (#182)
- also added a transaction number (tan). This is a user defined number to track exactly every reply
2016-08-17 11:46:36 +02:00
redPanther
f6f7f55e92 fix warning 2016-08-16 18:14:36 +02:00
redPanther
26a70170fb webserver fix (#181)
fix default index.html in subfolders
fix \r\n appended to data
2016-08-16 17:12:47 +02:00
redPanther
8e8c21fa3b add command for getting schema via json api (#179)
* - update coding style
- add command for getting schema via json api
- json api: merge config commands into one single "config" command with subcommands

* make setconfig work
2016-08-15 22:32:01 +02:00
Paulchen-Panther
68fd395670 JSON RPC Writer (configSet) (#175)
* Remove "endOfJson" Value

Deprecated value from Hypercon

* Remove "endOfJson" Value

Deprecated value from Hypercon

* Add writeJson function to JsonFactory

* ability to ignore required value in schema file

* Remove "endOfJson" Value

* Add handleConfigSetCommand function

* Add handleConfigSetCommand function

* Update JsonSchemas.qrc

* Update schema.json

* Update JsonSchemaChecker.cpp

* Add configSet command to Hyperion-remote

* Add setConfigFile function

* Add setConfigFile function

* Add schema-configset.json
2016-08-14 20:17:12 +02:00
redPanther
97181fa83c leddevice refactoring. code style and extension of baseclass to avoid dups (#174) 2016-08-14 10:46:44 +02:00
penfold42
5a902add81 Added "invert" and "spimode" options to ws2801, ws2812spi and sk6812spi devices (#172)
* Added "invert" and "spimode" options to ws2801, ws2812spi and sk6812spi devices

* fixed test/TestSpi.cpp

* some coding style wish
2016-08-13 19:54:08 +02:00
redPanther
9c27db390d Kodi initial fix (#171)
* fix #158

* fix initial state of playbackstate
2016-08-13 10:05:11 +02:00
redPanther
7ee2e7cf8d rework kodi grabbing mode for all grabbers (#169)
* pull out setgrabbing mode from every grabber into parent class

* implement optional kodi check for v4l

* fix typo

* fix dispmanx build
2016-08-12 23:07:32 +02:00
redPanther
050ab11c8e v4l grabber wont crash hyperiond anymore (#168)
* v4l errors won't lead to crash hyperiond (exceptions are catched)
v4l auto device mode with better log messages
createV4l in hyperiond.cpp refactored, now v4l is always available as long as it is compiled in

* change back, code accidently altered

* fix compile of dispmanx grabber
2016-08-12 09:39:41 +02:00
redPanther
f1cc82b8c7 enable components at runtime + grabber refactoring (#160)
* implement enable/disable on runtime for:
- smoothing
- kodi
- udplistener
- boblight

* implement enable/disable for forwarder
refactor component

* - implement grabber enable/disable at runtime
- big grabber refactoring. now with common base class for all grabbers

* implement enable/disable at runtime for bb detector

* osx fix

* try to fix cutted travis output for osx build
2016-08-11 07:13:55 +02:00
redPanther
cf2b8b88ee fix uncatched exception in json message handling (#164) 2016-08-10 19:53:53 +02:00