Skip to content
This repository was archived by the owner on May 6, 2021. It is now read-only.

Commit 5583f2f

Browse files
committed
Merge branch 'master' into macos_compile
Conflicts: libsrc/leddevice/CMakeLists.txt libsrc/leddevice/LedDeviceFactory.cpp test/TestRs232HighSpeed.cpp
2 parents 9e76cec + 2a7eb3c commit 5583f2f

File tree

27 files changed

+1412
-171
lines changed

27 files changed

+1412
-171
lines changed

config/hyperion.config.json

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -383,20 +383,24 @@
383383
},
384384

385385
/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
386-
/// * xbmcAddress : The IP address of the XBMC-host
387-
/// * xbmcTcpPort : The TCP-port of the XBMC-server
388-
/// * grabVideo : Flag indicating that the frame-grabber is on(true) during video playback
389-
/// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show
390-
/// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback
391-
/// * grabMenu : Flag indicating that the frame-grabber is on(true) in the XBMC menu
386+
/// * xbmcAddress : The IP address of the XBMC-host
387+
/// * xbmcTcpPort : The TCP-port of the XBMC-server
388+
/// * grabVideo : Flag indicating that the frame-grabber is on(true) during video playback
389+
/// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show
390+
/// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback
391+
/// * grabMenu : Flag indicating that the frame-grabber is on(true) in the XBMC menu
392+
/// * grabScreensaver : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
393+
/// * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
392394
"xbmcVideoChecker" :
393395
{
394396
"xbmcAddress" : "127.0.0.1",
395397
"xbmcTcpPort" : 9090,
396398
"grabVideo" : true,
397399
"grabPictures" : true,
398400
"grabAudio" : true,
399-
"grabMenu" : false
401+
"grabMenu" : false,
402+
"grabScreensaver" : true,
403+
"enable3DDetection" : true
400404
},
401405

402406
/// The configuration of the Json server which enables the json remote interface

config/hyperion_x86.config.json

Lines changed: 200 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,206 @@
144144
"index" : 9,
145145
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
146146
"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
147+
},
148+
{
149+
"index" : 10,
150+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
151+
"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
152+
},
153+
{
154+
"index" : 11,
155+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
156+
"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
157+
},
158+
{
159+
"index" : 12,
160+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
161+
"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
162+
},
163+
{
164+
"index" : 13,
165+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
166+
"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
167+
},
168+
{
169+
"index" : 14,
170+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
171+
"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
172+
},
173+
{
174+
"index" : 15,
175+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
176+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
177+
},
178+
{
179+
"index" : 16,
180+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
181+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
182+
},
183+
{
184+
"index" : 17,
185+
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0625 },
186+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
187+
},
188+
{
189+
"index" : 18,
190+
"hscan" : { "minimum" : 0.0625, "maximum" : 0.1250 },
191+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
192+
},
193+
{
194+
"index" : 19,
195+
"hscan" : { "minimum" : 0.1250, "maximum" : 0.1875 },
196+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
197+
},
198+
{
199+
"index" : 20,
200+
"hscan" : { "minimum" : 0.1875, "maximum" : 0.2500 },
201+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
202+
},
203+
{
204+
"index" : 21,
205+
"hscan" : { "minimum" : 0.2500, "maximum" : 0.3125 },
206+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
207+
},
208+
{
209+
"index" : 22,
210+
"hscan" : { "minimum" : 0.3125, "maximum" : 0.3750 },
211+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
212+
},
213+
{
214+
"index" : 23,
215+
"hscan" : { "minimum" : 0.3750, "maximum" : 0.4375 },
216+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
217+
},
218+
{
219+
"index" : 24,
220+
"hscan" : { "minimum" : 0.4375, "maximum" : 0.5000 },
221+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
222+
},
223+
{
224+
"index" : 25,
225+
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5625 },
226+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
227+
},
228+
{
229+
"index" : 26,
230+
"hscan" : { "minimum" : 0.5625, "maximum" : 0.6250 },
231+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
232+
},
233+
{
234+
"index" : 27,
235+
"hscan" : { "minimum" : 0.6250, "maximum" : 0.6875 },
236+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
237+
},
238+
{
239+
"index" : 28,
240+
"hscan" : { "minimum" : 0.6875, "maximum" : 0.7500 },
241+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
242+
},
243+
{
244+
"index" : 29,
245+
"hscan" : { "minimum" : 0.7500, "maximum" : 0.8125 },
246+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
247+
},
248+
{
249+
"index" : 30,
250+
"hscan" : { "minimum" : 0.8125, "maximum" : 0.8750 },
251+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
252+
},
253+
{
254+
"index" : 31,
255+
"hscan" : { "minimum" : 0.8750, "maximum" : 0.9375 },
256+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
257+
},
258+
{
259+
"index" : 32,
260+
"hscan" : { "minimum" : 0.9375, "maximum" : 1.0000 },
261+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
262+
},
263+
{
264+
"index" : 33,
265+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
266+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
267+
},
268+
{
269+
"index" : 34,
270+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
271+
"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
272+
},
273+
{
274+
"index" : 35,
275+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
276+
"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
277+
},
278+
{
279+
"index" : 36,
280+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
281+
"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
282+
},
283+
{
284+
"index" : 37,
285+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
286+
"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
287+
},
288+
{
289+
"index" : 38,
290+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
291+
"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
292+
},
293+
{
294+
"index" : 39,
295+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
296+
"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
297+
},
298+
{
299+
"index" : 40,
300+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
301+
"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
302+
},
303+
{
304+
"index" : 41,
305+
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
306+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
307+
},
308+
{
309+
"index" : 42,
310+
"hscan" : { "minimum" : 0.9375, "maximum" : 1.0000 },
311+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
312+
},
313+
{
314+
"index" : 43,
315+
"hscan" : { "minimum" : 0.8750, "maximum" : 0.9375 },
316+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
317+
},
318+
{
319+
"index" : 44,
320+
"hscan" : { "minimum" : 0.8125, "maximum" : 0.8750 },
321+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
322+
},
323+
{
324+
"index" : 45,
325+
"hscan" : { "minimum" : 0.7500, "maximum" : 0.8125 },
326+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
327+
},
328+
{
329+
"index" : 46,
330+
"hscan" : { "minimum" : 0.6875, "maximum" : 0.7500 },
331+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
332+
},
333+
{
334+
"index" : 47,
335+
"hscan" : { "minimum" : 0.6250, "maximum" : 0.6875 },
336+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
337+
},
338+
{
339+
"index" : 48,
340+
"hscan" : { "minimum" : 0.5625, "maximum" : 0.6250 },
341+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
342+
},
343+
{
344+
"index" : 49,
345+
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5625 },
346+
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
147347
}
148348
],
149349

@@ -171,34 +371,6 @@
171371
"duration_ms" : 3000
172372
},
173373

174-
/// The configuration for the frame-grabber, contains the following items:
175-
/// * width : The width of the grabbed frames [pixels]
176-
/// * height : The height of the grabbed frames [pixels]
177-
/// * frequency_Hz : The frequency of the frame grab [Hz]
178-
// "framegrabber" :
179-
// {
180-
// "width" : 64,
181-
// "height" : 64,
182-
// "frequency_Hz" : 10.0
183-
// },
184-
185-
/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
186-
/// * xbmcAddress : The IP address of the XBMC-host
187-
/// * xbmcTcpPort : The TCP-port of the XBMC-server
188-
/// * grabVideo : Flag indicating that the frame-grabber is on(true) during video playback
189-
/// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show
190-
/// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback
191-
/// * grabMenu : Flag indicating that the frame-grabber is on(true) in the XBMC menu
192-
"xbmcVideoChecker" :
193-
{
194-
"xbmcAddress" : "127.0.0.1",
195-
"xbmcTcpPort" : 9090,
196-
"grabVideo" : true,
197-
"grabPictures" : true,
198-
"grabAudio" : true,
199-
"grabMenu" : false
200-
},
201-
202374
/// The configuration of the Json server which enables the json remote interface
203375
/// * port : Port at which the json server is started
204376
"jsonServer" :

dependencies/build/getoptPlusPlus/getoptpp.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void OptionsParser::parse(int argc, const char* argv[]) throw(runtime_error)
4545

4646
vector<string> v(&argv[1], &argv[argc]);
4747

48-
ParserState state(*this, v);
48+
ParserState state(/* *this,*/ v);
4949

5050
for(; !state.end(); state.advance()) {
5151

@@ -164,7 +164,7 @@ Parameter& ParameterSet::operator[](char c) const {
164164
for(std::list<Parameter*>::const_iterator i = parameters.begin(); i!= parameters.end(); i++) {
165165
if((*i)->shortOption() == c) return *(*i);
166166
}
167-
throw out_of_range("ParameterSet["+c+string("]"));
167+
throw out_of_range("ParameterSet["+string(&c)+string("]"));
168168
}
169169

170170

@@ -185,8 +185,8 @@ Parameter& ParameterSet::operator[](const string& param) const {
185185
*/
186186

187187

188-
ParserState::ParserState(OptionsParser &opts, vector<string>& args) :
189-
opts(opts), arguments(args), iterator(args.begin())
188+
ParserState::ParserState(/*OptionsParser &opts, */vector<string>& args) :
189+
/*opts(opts),*/ arguments(args), iterator(args.begin())
190190
{
191191

192192
}

dependencies/include/getoptPlusPlus/getoptpp.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ class ParserState {
129129
void advance();
130130
bool end() const;
131131
protected:
132-
ParserState(OptionsParser &opts, std::vector<std::string>& args);
132+
ParserState(/*OptionsParser &opts,*/ std::vector<std::string>& args);
133133
private:
134134
friend class OptionsParser;
135135

136-
OptionsParser &opts;
136+
// OptionsParser &opts;
137137
const std::vector<std::string> &arguments;
138138
std::vector<std::string>::const_iterator iterator;
139139
};

deploy/HyperCon.jar

650 Bytes
Binary file not shown.

deploy/hyperion.tar.gz

4.16 KB
Binary file not shown.

include/dispmanx-grabber/DispmanxWrapper.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <utils/ColorRgb.h>
1010
#include <utils/ColorRgba.h>
1111
#include <utils/GrabbingMode.h>
12+
#include <utils/VideoMode.h>
1213

1314
// Forward class declaration
1415
class DispmanxFrameGrabber;
@@ -61,6 +62,12 @@ public slots:
6162
///
6263
void setGrabbingMode(const GrabbingMode mode);
6364

65+
///
66+
/// Set the video mode (2D/3D)
67+
/// @param[in] mode The new video mode
68+
///
69+
void setVideoMode(const VideoMode videoMode);
70+
6471
private:
6572
/// The update rate [Hz]
6673
const int _updateInterval_ms;

include/utils/Image.h

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,22 @@ class Image
118118
return _pixels[toIndex(x,y)];
119119
}
120120

121+
/// Resize the image
122+
/// @param width The width of the image
123+
/// @param height The height of the image
124+
void resize(const unsigned width, const unsigned height)
125+
{
126+
if ((width*height) > (_endOfPixels-_pixels))
127+
{
128+
delete[] _pixels;
129+
_pixels = new Pixel_T[width*height + 1];
130+
_endOfPixels = _pixels + width*height;
131+
}
132+
133+
_width = width;
134+
_height = height;
135+
}
136+
121137
///
122138
/// Copies another image into this image. The images should have exactly the same size.
123139
///
@@ -165,9 +181,9 @@ class Image
165181

166182
private:
167183
/// The width of the image
168-
const unsigned _width;
184+
unsigned _width;
169185
/// The height of the image
170-
const unsigned _height;
186+
unsigned _height;
171187

172188
/// The pixels of the image
173189
Pixel_T* _pixels;

include/utils/VideoMode.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#pragma once
2+
3+
/**
4+
* Enumeration of the possible modes in which video can be playing (2D, 3D)
5+
*/
6+
enum VideoMode
7+
{
8+
VIDEO_2D,
9+
VIDEO_3DSBS,
10+
VIDEO_3DTAB
11+
};

0 commit comments

Comments
 (0)