Commit Graph

344 Commits

Author SHA1 Message Date
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
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
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
penfold42
a99b7c5f59 Fixed piblaster support (#448)
added "sudo" to the CompileHowto
2017-07-05 23:19:44 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
f6f7f55e92 fix warning 2016-08-16 18:14:36 +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
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
penfold42
84c041a6fb updated more incorrect logging types (%s vs %d) (#156) 2016-08-07 07:06:56 +02:00
penfold42
d90a36d911 chealup of udp device. (#153)
left over unneeded spi include
variable cleanup
2016-08-06 08:58:41 +02:00
penfold42
6b04c1571c Fix segmentation fault in usbasp led driver (#152) 2016-08-05 09:14:40 +02:00
redPanther
108e06ed46 LedDevicePhilipsHue: fix isNan sometimes not compile
sometime <cmath> is add automaticly, sometimes not. This leads to compile errors. Including <cmath> should fix this.

info taken from here:
http://en.cppreference.com/w/cpp/numeric/math/isnan
2016-07-24 22:43:26 +02:00
redPanther
30b9c20611 new frame grabber handling (#137)
* - implement framegrabber type option
- framegrabber autoselect
- integrate x11 grabber in hyperiond

* add doxy

* v4l: select device by name
hyperiond: fix x11 grabber connection to kodichecker
config: tune default prios of boblight and v4l

* make v4l name finding case insensitive
2016-07-24 15:18:34 +02:00
redPanther
fff42f370c fix serial port device crash (#134)
* fix resourceerror in serialport implemention and  extend error output

* cleanup

* fix json schema

* remove some nerd setting
2016-07-20 23:26:47 +02:00
redPanther
b1d9a041d4 various fixes (#129)
* various fixes:
- add folder for firmware known as working with hyperion
- rs232: add debug message for close and do not repeat "port not found" message more than neccessary
- v4l2: fix grabber started on creation when set to disabled
- cmake: add new platform x86-dev - this as most code coverage and is usefull for test/development. This is not for release

* add hints for effect-args
2016-07-20 16:04:56 +02:00
redPanther
946f9fc603 compile fix (#114)
* multi fix commit

- refactoring leddevicefactory
- adalight: default for "delayAfterConnect" is 1s now - needed for most arduino's because of there special behaviour on open
- fadecandy: new option for disabling configuration send - if you want to keep your fadecandy defaults
- Hyperion.cpp: simplify createSmoothing discussed in #105
- smoothing:
-- add option for continuous output
-- when updatedelay>0 and continousOutput is disabled, buffer is flushed correctly after no input is detected

* add doxygen to travis

* fix code

* fix compile fir ws281x pwm

* remove git merge stuff

* fix compile
2016-07-13 16:19:19 +02:00
redPanther
5a2ef6c4a3 multi fix commit (#112)
* multi fix commit

- refactoring leddevicefactory
- adalight: default for "delayAfterConnect" is 1s now - needed for most arduino's because of there special behaviour on open
- fadecandy: new option for disabling configuration send - if you want to keep your fadecandy defaults
- Hyperion.cpp: simplify createSmoothing discussed in #105
- smoothing:
-- add option for continuous output
-- when updatedelay>0 and continousOutput is disabled, buffer is flushed correctly after no input is detected

* add doxygen to travis
2016-07-13 11:18:12 +02:00
redPanther
48d20529d3 extend Fadecandy driver (#109)
* add functions to send sysEx (not working correctly atm)

* make new values avail via config
2016-07-12 22:37:45 +02:00
penfold42
7b9b9bcdef logging migration of blackborder and grabber (#108)
* logging migration of blackborder and grabber

* change to "Debug" for noise blackborder log messages
2016-07-12 15:13:06 +02:00
penfold42
d4635bba4e Sk6812rgbwfix (#95)
* sk6812rgbw bug fix and rename device to sk6812rgbw-spi

* Added white_algorithm support to sk6812rgbw-spi device type
2016-07-10 17:07:19 +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
penfold42
faf5110558 More logging migration. (#74)
Cleaned up old commented out printf statements.

The piblaster stuff probably needs to be moved out of the devicefactory but Ill have to do that later
2016-06-29 16:49:05 +02:00
penfold42
96037da1cf Added support for sk6812RGBW leds (ab)using the SPI interface. (#61)
right now it only uses RGB - white is set to zero
2016-06-27 22:43:35 +02:00
penfold42
2fff9ae4fc Remove unused constructors (#60) 2016-06-27 22:43:28 +02:00
redPanther
e486b10aa6 Logging leds (#52)
* switch to new logger for folowing led devices:
LedDeviceAtmo
LedDeviceFactory
LedDeviceFadeCandy
LedDeviceHyperionUsbasp
LedDeviceLightpack-hidapi
LedDevicePiBlaster
LedDeviceWS281x
LedRs232Device

leddevice base class defines logger already as protected member _log

* migrate to new logger for led devices.
still todo:
LedDeviceWS2812b
LedDeviceWs2812SPI
LedDeviceTinkerforge
LedDeviceLightpack
LedDeviceMultiLightpack

* migrate leddevice tinkerforge to new logger

* migrate Lightpack and MultiLightpack to new logger
2016-06-26 11:53:16 +02:00
redPanther
4033de85ec Logging leds (#50)
* switch to new logger for folowing led devices:
LedDeviceAtmo
LedDeviceFactory
LedDeviceFadeCandy
LedDeviceHyperionUsbasp
LedDeviceLightpack-hidapi
LedDevicePiBlaster
LedDeviceWS281x
LedRs232Device

leddevice base class defines logger already as protected member _log

* migrate to new logger for led devices.
still todo:
LedDeviceWS2812b
LedDeviceWs2812SPI
LedDeviceTinkerforge
LedDeviceLightpack
LedDeviceMultiLightpack
2016-06-25 22:08:17 +02:00
penfold42
33f1ef457b More logging cleanup on led devices (#47) 2016-06-25 14:44:52 +02:00
penfold42
a6e1b89724 cleanup for compiler warning "Note: No relevant classes found. No output generated." (#42)
* Fixed compile error when no grabbers are defined

* Remove stupid avahi warning...

* Started on the new integrated UDP listener to replace the python effect.

Cloned boblight server and rename it to be UDP listener
It compiles!, It starts! it seems to work as a second boblight protocol server...

* moving from the exsting TCP to UDP.
i can catch packets now.. need to consider ditching the connection handling

* It kinda works right now.
UDP packets are received, led data is sent and hyperion displays them.
.... for a moment before going back to what it was doing

* It works!

looks like the default priority of 900 was fighting with something else that was also 900

commented out some udp packet debugging

* oops, forgot to add the changes the the previous commit

* resolving merge conflicts

* Fixed random http port due to uninitialized _port

* cleaning up compiler warning

* cleaned up CMakeLists to remove warning:
Note: No relevant classes found. No output generated.
2016-06-24 17:46:30 +02:00
penfold42
b6a0b7261d logging migration for ws281x and LedUdpDevice (#45) 2016-06-24 17:46:23 +02:00