Commit Graph

113 Commits

Author SHA1 Message Date
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
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
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
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 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 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 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 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
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 197af35de0 Clone single led color from other led (#157)
* start ledclone

* led cloning: clone scan areas from original led
main: show exceptions, better exit

* tune json schema for new option. somwe cleanup

* fix warnings and bug for framebuffer selection. thx to clang brought by new osx buikld on travis

* make ledclone feature work flawlessly for effects too. Effect sees the ledstring without cloned leds.
cloned leds will be inserted just before sending to leddevice

additional: remove warnings and fix code style

* fix warning
2016-08-08 00:17:00 +02:00
Paulchen-Panther bfb06966de Update Json Interface (Enable/Disable components during runtime) (#150)
* Update Hyperion.h

* Add files via upload

* Update CMakeLists.txt

* Update Hyperion.cpp

* Update JsonClientConnection.cpp

* Update JsonClientConnection.h

* Update JsonSchemas.qrc

* Add files via upload

* Update schema.json

* Update JsonConnection.cpp

* Update JsonConnection.h

* Update hyperion-remote.cpp
2016-08-04 13:10:53 +02:00
redPanther 722d4eb357 Manual input source select via json (#143)
* implement manual source select via json interface
fix schema error

* refactoring

* add visible value to all listed prios
2016-07-31 22:21:35 +02:00
redPanther 04ab2f05f7 color filter config additions (#142)
* add ability to disably specific color corrections
update protobuf external
move smoothing out of color section

* update config

* update schema

* update schema
2016-07-30 13:07:53 +02:00
redpanther 505b83f028 every input sources trackes now its priority and ID to hyperion core
ATM all input sources except inputs via proto are tracked
2016-07-15 23:08:55 +02:00
redPanther 78eaaa2e84 Filter rework, next step (#82)
* common ledbuffer for color transform

hyperion class uses a common buffer for all operations on ledColors got from muxer
all color transforms uses new ledBuffer instead of making copies of ledbuffer

other fixes:
fix compile bug in profiler
update doxygen config

* migrate logging for color transform classes

* prepare new logger in hyperion class

* implement hwledcount

* Update Hyperion.cpp

Fix off color

* remove ledscount equivalent from apa102
migrate logging in hyperion.cpp
remove unused and duuplicate colorcorrection - but same is available through tempertature

* remove colorcorrection completly
fix compile

* set colororder back to static

* in remote: using correction is the same as using temperature - correction is obsolete, command not delete atm for compat reasons

* refactoring of RgbChannelAdjustment

* - remove rgbchannelcorrection, this was a dup of rgbchanneladjustment
- add cmake policy to hide warning
- tune code of rgbchanneltransform
2016-07-04 00:43:41 +02:00
redPanther 36b4d072c5 common ledbuffer for color transform (#77)
* common ledbuffer for color transform

hyperion class uses a common buffer for all operations on ledColors got from muxer
all color transforms uses new ledBuffer instead of making copies of ledbuffer

other fixes:
fix compile bug in profiler
update doxygen config

* migrate logging for color transform classes

* prepare new logger in hyperion class

* implement hwledcount

* Update Hyperion.cpp

Fix off color

* remove ledscount equivalent from apa102
migrate logging in hyperion.cpp
remove unused and duuplicate colorcorrection - but same is available through tempertature

* remove colorcorrection completly
fix compile

* set colororder back to static

* in remote: using correction is the same as using temperature - correction is obsolete, command not delete atm for compat reasons
2016-07-01 23:20:41 +02:00
redPanther 88fbc4dfde refactoring and cleanup (#2)
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance

* refactor hyperiond

* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond

* xbmcchecker is now a singleton

* cleanup in hyperiond
zeroconf switchable between static and shared linking

* fix xbmcchecker
2016-06-17 01:25:40 +02:00
redPanther 4a841710dd webui - "cgi" handler and multiple fixes (#700)
* initial commit of webconfig

* update example config with webconfig and fix format of file
update debian postinst script for install example config

* fix compiling
add new web server command "serverinfo" to use in webapp to retrieve json port

* change web default port to 8099

* add cgi engine to webserver

* fix include
2016-06-14 20:14:06 +02:00
Paulchen-Panther 23042ba07c Update Json Interface (Active LED Color) (#664)
* add getCurrentPriority

* add getCurrentPriority

* Update active led color


Former-commit-id: 0e6b828991fdf51d2ec859d3836ce4f976dfd88c
2016-05-30 22:39:12 +02:00
Paulchen-Panther bb9b02cf05 get current state (active Effects) over JSON Interface (#608)
* Create ActiveEffectDefinition.h

* Update EffectEngine.h

* Update Hyperion.h

* Update Effect.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp


Former-commit-id: 5664b69da6893dd0d0de0e7c74c01cdcafd57310
2016-04-24 17:07:31 +02:00
AEtHeLsYn b37cbd26d5 Add color adjustment to all RBG channels
* Channel adjustment config

* Create RgbChannelAdjustment.h

* Delete RgbChannelAdjustment.h

* Create RgbChannelAdjustment.cpp

* Create RgbChannelAdjustment.h

* Delete RgbChannelAdjustment.cpp

* Create ColorAdjustment.cpp

* Delete RgbChannelAdjustment.h

* Create ColorAdjustment.h

* Update ColorAdjustment.h

* Update ColorAdjustment.h

* Update ColorAdjustment.h

* Update ColorAdjustment.cpp

* Update Hyperion.cpp

* Update Hyperion.cpp

* Update Hyperion.cpp

* Update Hyperion.h

* Create RgbChannelAdjustment.cpp

* Create RgbChannelAdjustment.h

* Create ColorAdjustment.h

* Create MultiColorAdjustment.h

* Update MultiColorAdjustment.h

* Create MultiColorAdjustment.cpp

* Delete ColorAdjustment.cpp

* Delete ColorAdjustment.h

* Update RgbChannelAdjustment.cpp

* Update Hyperion.cpp

* Update Hyperion.h

* Update Hyperion.cpp

* Bug fixes

* Update hyperion.config.json

* Add color adjustment to json server and client and adapt hyperion-remote

* Change the color modification order

* Minor bug fix

* Create calibration Images folder

* Create calibration Gamma folder

* Create calibration RGB folder

* Added files via upload

* Delete .gitkeep

* Delete .gitkeep

* Added files via upload

* Delete .gitkeep

* Update color effect order and don't correct twice

* Uploaded gradient images


Former-commit-id: 8ab465e59834f12a21709a6f4546bd6808a2a495
2016-04-02 00:04:11 +02:00
AEtHeLsYn 6e7157c571 Update Hyperion.h
Former-commit-id: c1bd4a7397e8ae2e72b9ef5dcc32ee3b866e2c36
2016-03-10 18:08:34 +01:00
AEtHeLsYn 8b26033915 Update Hyperion.h
Former-commit-id: 9e4ab548db0f2805386d90bfe9cde3aa9426aab5
2016-03-09 19:58:49 +01:00
AEtHeLsYn bcb0802542 Update Hyperion.h
Former-commit-id: 877c98ea4c6f5503fda14914e315c2b9eb301a44
2016-03-09 19:55:55 +01:00
AEtHeLsYn 0dc51dbf76 Update Hyperion.h
Former-commit-id: 2497c6ea7d153e01e49ed0683e92837106628d44
2016-03-09 19:36:08 +01:00
AEtHeLsYn 257532df74 Update Hyperion.h
Former-commit-id: 932b50f14d2d2365d158f21290ddbf95cf7df0af
2015-12-22 10:09:47 +01:00
T. van der Zwan 9f5caacc75 Updated the way colororder is configured per led
Former-commit-id: 2a77b551c5b504f4ce9b0a179d4c20eaf6128f6b
2015-02-23 16:11:33 +01:00
Oliver Schneider b86e08cf0a Added rgbOrder config for each led
Former-commit-id: 9c9f49d61b24267fe9ebe566600cdc42c78c1ab6
2015-01-20 21:16:55 +01:00
T. van der Zwan b63753f5dc Moved all devices to separate library and added 'Factory' for device creation.
Former-commit-id: 26cab1b85b00406240689ad9c1018f0307028fe4
2013-12-17 18:50:15 +00:00
johan c751561f2f Removed runEffectScript from Hyperion class
Former-commit-id: 459b9178cc138d54a238ae7c72bb2a52d4bfcc3f
2013-12-13 22:41:24 +01:00
johan f1acf5a9e4 Clear effects if a setColor comes from another source
Former-commit-id: 43084eeee26ee233ac1f0c71d6782b64b154f0da
2013-12-08 17:45:26 +01:00
T. van der Zwan 59eb7f788e Merge branch 'master' into add_effect_engine
Conflicts:
	include/hyperion/Hyperion.h
	libsrc/hyperion/Hyperion.cpp
	libsrc/jsonserver/JsonClientConnection.cpp

Former-commit-id: 53467c63b97c7dc370f04357588f7cf1ad0e3ada
2013-12-05 21:01:52 +00:00
johan ea1b8315c4 Added a notify that color transforms have changed
Former-commit-id: 28eb82f4e6f646ffcb6ed1b013a9ec60de53e657
2013-12-03 22:56:46 +01:00
johan 068a98b84f Changed bootsequence to use the effect engine exclusively
Former-commit-id: 8953ef5fb4a0dfd12a4d94f69af6dbdd40aa20f7
2013-12-01 16:35:45 +01:00
johan 515ae3e8c0 Added the possibility to set effect arguments over json
Former-commit-id: 4bc2920c04853e549c712ec70492371b14d20877
2013-12-01 14:09:01 +01:00
johan 3bd1789c42 Fix bug: Only 1 EffectEngine allowed; SetColors implemented for EffectEngine
Former-commit-id: ae8141ebd530b7735ffa7818dc3c690913769070
2013-11-29 23:22:49 +01:00
johan 5454ddb375 Added skeleton for effect engine development
Former-commit-id: e1fb69fd4de4b8968075660e3ba7f7add021c152
2013-11-24 16:10:48 +01:00
T. van der Zwan 826b964bf6 Implemented the multi-color transform including in hyperion-remote
Former-commit-id: ebdb0688b47d51bd6dccf6dafd580d3ce9ed80a7
2013-11-22 10:48:10 +00:00
T. van der Zwan ba2939f9ec Added multi colortransform (not working yet)
Former-commit-id: 691a0a9d83e57e00d305cf18718cab05156c2dce
2013-11-20 08:25:49 +00:00
T. van der Zwan c8ce23e652 Renamed ColorTransform to RgbChannelTransform
Former-commit-id: 390b832ba2d463710d4a063692f00b83a8c6c8ad
2013-11-19 20:17:59 +00:00
T. van der Zwan dd16af0df5 Changed RgbImage to template based Image (with template for pixel type)
Former-commit-id: ef02f164eaf3c2f9dd552c1c17b525cf6eed499c
2013-11-11 09:00:37 +00:00
johan fc1e4bc6c8 Added the option to specify the color byte order
Former-commit-id: f911d0f26c25345bbe5e9014fbc31568b7386f08
2013-11-04 20:52:57 +01:00
johan 0b08341ef1 Initial commit including a linear color smoother
Former-commit-id: ffc00087996324f989e56dc5c95ab734c7c86dfa
2013-10-27 18:04:37 +01:00
johan 2471bd8753 added flag to have BGR output instead of RGB
Former-commit-id: dbd35d6dd4a84d95e0a034b99843be4949a6e169
2013-10-27 10:18:31 +01:00
T. van der Zwan db708da60a Changed the constructor of LedDeviceW2801 (only incl required parameters)
Changed the call sign of the write functions (included const declaration of color parameter)
2013-09-09 15:23:44 +00:00
T. van der Zwan d2d7265f02 Added doxygen comments 2013-09-06 19:26:58 +00:00
johan 213545afe7 Added config file settings for XBMCVideoChecker 2013-08-24 11:51:52 +02:00
T. van der Zwan 3d02fecc7a Added 'rainbow' boot sequence
Moved color transform to utils lib
2013-08-23 16:24:10 +00:00
T. van der Zwan decc41965d Merge branch 'HEAD' of https://github.com/tvdzwan/hyperion.git 2013-08-21 20:46:43 +00:00
johan ee7a596d53 - HSV transform added
- Moved transform of led values to before the device write so transform changes are taken into account
2013-08-21 21:50:17 +02:00
T. van der Zwan 240b118ce9 Added config-schema of Hyperion as resource.
Added constructor to Hyperion using filename.
Added config-filename as commandline parameter for hyperiond.
Added implementation of blackborder detector.
Added test for blackborder detector.
2013-08-21 14:25:27 +00:00
johan 10a566e2ca Get server info implemented for jsonserver 2013-08-19 20:33:36 +02:00
johan cb38baa985 Implemented set transform for the json server 2013-08-19 19:57:35 +02:00
johan 1766212b70 clear and clear all implemented 2013-08-18 13:33:56 +02:00
T. van der Zwan 4031a33f04 Added simple test for image2led map.
Added test executable for creating png from frame grabber.
Added test-device for exporting color values of leds to text file.
Updated configuration to match new color transform.
Finished first version of the Hyperion structure (IT WORKS [1% CPU]!)
2013-08-15 19:11:02 +00:00
T. van der Zwan b457c444f6 Changed the image-to-leds map by using offset-pointing.
Moved the image-buffer from processor to dispmanx-wrapper.
Added timeout handling to Hyperion.
2013-08-14 15:02:09 +00:00
T. van der Zwan 7bdd10859e Created first draft of 'hyperion-d'. 2013-08-14 08:54:49 +00:00
T. van der Zwan 39b98386dd Added simple QT-based grabber.
Moved ImageToLedsMap from include to libsrc.
Moved instantiation of objects to Hyperion (no JSON required outside this class).
2013-08-13 11:10:45 +02:00
T. van der Zwan 10b5b80675 First working version with some test executables 2013-07-26 20:38:34 +00:00