Commit Graph

70 Commits

Author SHA1 Message Date
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
2013304130 implement auto avaluation of used platform. To use it simply not add -DPLATFORM (#98) 2016-07-11 11:02:18 +02:00
redPanther
5fd275afee Update CMakeLists.txt (#83)
fix typo for v4l2 not enabled by default
2016-07-05 18:19:58 +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
917dc26fd5 disable v4l2 on osx (#69)
remove unused zeroconf defines
2016-06-28 21:53:19 +02:00
redPanther
56ae551cbd extend hyperion version number (#46)
* add version number for hyperion and json level

* add new jsonrpc_version in HyperionConfig.h.in
add new hard coded version number for hyperion
2016-06-24 23:22:31 +02:00
redPanther
33ebdcaffc - add cmake qt check, minimum 5.2 (#40)
- on x86 use dynamic avahi libs
- fix compile error
2016-06-23 19:56:50 +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
7dfb9f1967 integrated webserver ... (#697)
* initial commit of webconfig

* update example config with webconfig and fix format of file
update debian postinst script for install example config
2016-06-12 22:27:24 +02:00
brindosch
f04d48063d [DO NOT MERGE] Preperation for V1.03.0 (#672)
Preperation for V1.03.0

Former-commit-id: d3ef9dbe74df304dd0653818415f10401ac72af4
2016-06-10 18:32:39 +02:00
redPanther
f39f074dcf add logger/compiler class (#680)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken

* remove hyperion comaptlayer
services is not started automaticly

* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup

* add deb package dependencies

* wipe out last support for /opt installation

* change default effect path in config to /usr

* revert service files and config files

* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services

* all arguments via reference ...

* fix xbmcchecker not working

* add logger class

* - profiler must be activated with ENABLE_PROFILER, otherwise an error will raise
-> this should prevent profiler gets into release code

* fix profiler


Former-commit-id: b716dd40dbf5b837356eec876d85ec71c86d5c6c
2016-06-05 16:08:55 +02:00
redPanther
f2e9193987 fix #674 (#676)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken

* remove hyperion comaptlayer
services is not started automaticly

* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup

* add deb package dependencies

* wipe out last support for /opt installation

* change default effect path in config to /usr

* revert service files and config files

* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services


Former-commit-id: 56e3e0d1014999b2555418c7b5a2898ac29fb5f1
2016-06-04 19:26:34 +02:00
penfold42
6fbfda03fa add zeroconf support based on qt4 libraries (#667)
* Removed -HUP so the default -TERM signal is sent instead.
- hyperiond only listens for TERM and INT. HUP is often used to get an exe to reread its config

Changed pgrep to add '-x' so it wont partial match on the exe name.
- I have multiple instances with multiple hyperiond-instance1 names
- this ensures the service script only kills the right process

* reversing errant change to hyperion.systemd.sh

* added bonjour/zeroconf service discovery to the json interface.

When clients are also modified, they can
- find hyperiond on the network much more quickly than ping/portscan;
- find multiple instances running on different ports instead of assuming 19444

* Moved zeroconf calls to hyperiond.cpp

* Added mDNS/zerconf/bonjour registration for proto server

Added config options.
        "jsonServer" :
        {
                "port" : 49444,
//              "mDNSDescr" : "hyperiond jsonServer blah de blah",
                "mDNSService" : "_hyperiond_json._tcp"
        },

* cleaned up a couple of compiler warnings

* moved bitpair_to_byte initialiser to (hopefully) work with older GCC

* compiler warning in udp driver
removed some tabs in ws2812b.cpp

* formatting - spaces to tabs

* moved rpi_281x to tag sk6812-v1.0

* moving to my fork of rpi_281x

* Now uses the led device name and hostname to create the annouce name


Former-commit-id: abfa51bcf359cafa63338181c1b83ecfd231bc87
2016-05-31 22:55:11 +02:00
redPanther
945f3d1c5b big code cleanup. mostly line endings and indentions (#659)
No functional changes - except protobuffer is mandatory and not optional now.

Former-commit-id: 1e6347e708707cc388cdedb8d0352a9f017030b8
2016-05-26 23:44:27 +02:00
redPanther
0940872870 create debian packages / multiple configs (#650)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken


Former-commit-id: 1c2669961da98fd05a97359e75f1d6d68e126715
2016-05-24 19:56:43 +02:00
redPanther
e944ce46cd build optimization fix (#644)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!


Former-commit-id: 7d7ca8685c632bb35fbe607b2ff463ef589f72e8
2016-05-22 13:00:06 +02:00
redPanther
b293ea20db build script optimization (#642)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule


Former-commit-id: 5f06f314841810c780c871f810158010d3d2de70
2016-05-22 00:27:06 +02:00
redpanther
c7df8c23c6 Merge remote-tracking branch 'upstream/master/master' into hyperion_version_id
Conflicts:
	src/hyperion-aml/CMakeLists.txt
	src/hyperion-remote/CMakeLists.txt
	src/hyperion-v4l2/CMakeLists.txt

Former-commit-id: d34fbdd65e7c95bafe43396e1ccef7ad30def7fb
2016-03-13 08:04:49 +01:00
brindosch
7508b9c9b0 Merge pull request #535 from redPanther/prio_cleanup
Prio cleanup

Former-commit-id: 9b801630fe3c32232666cc2c5f3f3cfd43da381b
2016-03-11 19:26:01 +01:00
redpanther
e848411785 install proto to binary dir
Former-commit-id: aaac3a7094442b0bfc51a572fcfa6f7cc59b81a2
2016-03-10 17:11:02 +01:00
redpanther
e01bcd708d add install commands
instead of "make" use "make install/strip" release compile


Former-commit-id: f4dd2d9e1a4d815b667665892a3bd9cec64218a3
2016-03-10 12:22:44 +01:00
redpanther
12b406dd4b make compile of tests optional and disabled by default
Former-commit-id: dc05b637391ec5b7e79d66d94724828e8dbd2653
2016-03-10 12:06:03 +01:00
redpanther
49e867f5fc add an auto generated version id
Former-commit-id: df3ad6b08e24e73d957611e8be45e7e8cc717b8c
2016-03-10 06:53:21 +01:00
Mark Walker
7cb34733fd Actually, you can enable both flavors of PWM
If you do a build with both ENABLE_WS2812BPWM and ENABLE_WS281XPWM and
choose which LED driver using the device.type in the config.json


Former-commit-id: 35ae88ad8739cac406a9b8792e2223010bf5d144
2016-03-09 12:27:07 -08:00
redpanther
e6170ed698 create external framebuffer grabber
cleanup some cmakelist files
fix qt5 build


Former-commit-id: 024b5b6dc5dc96fcb16f6e8958ad3684a6728504
2016-03-09 07:03:17 +01:00
Mark Walker
78e606a1c4 Add new WS281x driver
Add a new WS281x driver which is a wrapper around jgarff's ws281x library which
works on Pi B+, Pi 2, Pi Zero and probably Pi 3 as well.

jgarff's ws281x library is included as a submodule


Former-commit-id: e473dfd36d31b14598da5e56e4b8bf9f2aa7bb24
2016-03-08 20:41:13 -08:00
Serhan
42e488c193 Removed debug-build option
Removed debug-build option

Former-commit-id: ce88ca30ecf296617d6fe2d2b0e9d7f050d7d68a
2016-03-07 12:10:30 +01:00
frostworx
defe217c89 added optional QT5 support - LedDevicePhilipsHue needs proper fixes
Former-commit-id: 7f0971ccda221933da4be836628532e7cfc7c085
2016-01-06 17:31:23 +01:00
T.van der Zwan
2de173722d Added code for amlogic grabber.
Former-commit-id: fdb9c1c5d8ce02d531d2008057e22f1ae8f7d04e
2015-08-07 14:37:41 +02:00
Gamadril
3fd20ec5fa - refactored framebuffer grabber to use ImageResampler
- added OsxGrabber for OSX
- added binary for imx6 (cubox-i) and updated install script


Former-commit-id: 2c55e292c842c67e54ce36bd91e4f6303b98687a
2015-01-24 23:42:22 +01:00
Gamadril
c89e1fcefa Added frame buffer grabber support
Former-commit-id: a73767a1abb2cac977492bd8c6cc593fb21840e1
2015-01-18 00:04:45 +01:00
poljvd
05df260d2c Change X11 default to OFF
Former-commit-id: 33239ee9411c4413a717c21c66be01f0dfda2c7e
2014-12-20 20:50:54 +01:00
poljvd
a041941e7a Fix build with embedded protobuf library
Former-commit-id: 5c60566f2d4a9c65fc0fe677841a34d7ef73549a
2014-12-20 20:15:04 +01:00
poljvd
e608b11caa Extract ImageResampler from X11Grabber
Former-commit-id: 63e95fa85fc0ef5a66f6eb8b396cf4b6370cf5dd
2014-12-14 14:26:59 +01:00
poljvd
01854a471e Merge branch 'master' into add_x11
Former-commit-id: 08655bb606c5aae04fc0011a3ec1f0c16e59e7b7
2014-11-18 20:35:05 +01:00
T. van der Zwan
b92ea3a5d6 Set the DMA ws2812b to default OFF in build
Former-commit-id: 1e8775cf07bd33b61429e65ce309f42a8f464828
2014-09-22 20:21:17 +02:00
T. van der Zwan
8ad0e88e2f Minor reformat of code to match hyperion-style. Added ws2812b as option to disable for devices without dma-pwm
Former-commit-id: 579f4426285fb537706a22af446f5280748f2ab7
2014-09-19 16:37:58 +02:00
Floris Bos
3c65b82ac1 Allow disabling PROTOBUF support
One dependency less for users that only use DISPMANX grabbing


Former-commit-id: 24ea0480e3798bab692e75d82ddb9f5eccfa03c5
2014-09-08 16:16:02 +02:00
johan
b20f932ded Merge branch 'master' into add_x11
Former-commit-id: 4ce19c22a28609978e1eb72375d3aa7bf63a91be
2014-04-30 22:34:36 +02:00
johan
89ecbf1e0c Change tinkerforge support default to ON, because no external libraries are needed
Former-commit-id: 5901c9405e3ea69bde5ab273806e6d9f13060b65
2014-03-09 12:09:17 +01:00
T. van der Zwan
fdaa5c0068 Added tinkerforge as local dependency
Former-commit-id: b739eba0676d9c105416d9040ffbe78b2dc4bfbd
2014-03-06 21:48:11 +01:00
Bjoern Bilger
2b683fdfaa add support for tinkerforge
Former-commit-id: 8dbd3d915f70ace8d1b27602f0d76a2a546ac043
2014-03-04 20:38:54 +01:00
Johan
c5b18d5925 Removed use of qt4_use_modules from build files
Former-commit-id: 49860cd93e1492a2c67bd2a84bd082713a0c8e9b
2014-02-07 09:20:00 +01:00
T. van der Zwan
2d7d18b34d Added coding framework for X11
Former-commit-id: 2915defe12e23d328716eade251849d40d098a8a
2014-01-28 08:47:16 +00:00
johan
fdb140c1ae Merge branch 'master' into add_v4l
Former-commit-id: b3f1d532c6145ba80c161b18214de6efbc55ff7b
2014-01-11 13:00:51 +01:00
T. van der Zwan
4e95916cb1 Ensured protobuf static library selection in cmake
Former-commit-id: d56d059df6d4964becd8d5ebfe3bcbd9bb8c4d1a
2014-01-09 11:07:51 +00:00
johan
e474c90fcd V4L2 test added
Former-commit-id: eec49d94ffbb0e1be0639e9cbbebba5955c79f4d
2014-01-05 14:42:13 +01:00
T. van der Zwan
acbff8b7ce Switched compile flags back from mac specific to normal
Former-commit-id: d0e22dc42eb8b2e1440022f55516488273dec622
2013-12-28 09:36:05 +00:00
T. van der Zwan
47d3f475ed Removed bug in Hyperion.cpp and warning in TestRs232HighSpeed.cpp
Former-commit-id: 63e992a3590db5a4e2c8d121b08291588f347ac7
2013-12-28 08:41:23 +01:00
Timo van der Zwan
6f15e89d29 Implemented compile capability for MacOS.
Former-commit-id: 86e560e0d4f03251ee08a648ffa6fd9a0e01ae78
2013-12-17 22:53:16 +01:00