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
This commit is contained in:
redPanther
2016-07-20 16:04:56 +02:00
committed by GitHub
parent 8f982f3225
commit b1d9a041d4
8 changed files with 156 additions and 29 deletions

View File

@@ -77,22 +77,27 @@ void V4L2Grabber::uninit()
bool V4L2Grabber::init()
{
if ( _deviceName == "auto" )
{
for (auto& dev: _v4lDevices)
{
Debug(_log, "check v4l2 device: %s (%s)",dev.first.c_str(), dev.second.c_str());
_deviceName = dev.first;
if ( init() )
{
Info(_log, "found usable v4l2 device: %s (%s)",dev.first.c_str(), dev.second.c_str());
break;
}
}
}
if (! _initialized)
{
getV4Ldevices();
if ( _deviceName == "auto" )
{
for (auto& dev: _v4lDevices)
{
Debug(_log, "check v4l2 device: %s (%s)",dev.first.c_str(), dev.second.c_str());
_deviceName = dev.first;
if ( init() )
{
Info(_log, "found usable v4l2 device: %s (%s)",dev.first.c_str(), dev.second.c_str());
break;
}
}
}
else
{
Info(_log, "configured v4l device: %s", _deviceName.c_str());
}
bool opened = false;
try
{

View File

@@ -57,7 +57,6 @@ V4L2Wrapper::V4L2Wrapper(const std::string &device,
_timer.setInterval(500);
_timer.setSingleShot(false);
QObject::connect(&_timer, SIGNAL(timeout()), this, SLOT(checkSources()));
_timer.start();
}
V4L2Wrapper::~V4L2Wrapper()
@@ -67,6 +66,7 @@ V4L2Wrapper::~V4L2Wrapper()
bool V4L2Wrapper::start()
{
_timer.start();
bool grabber_started = _grabber.start();
if ( ! grabber_started )
{

View File

@@ -9,19 +9,23 @@
// Local Hyperion includes
#include "LedRs232Device.h"
LedRs232Device::LedRs232Device(const std::string& outputDevice, const unsigned baudrate, int delayAfterConnect_ms) :
_deviceName(outputDevice),
_baudRate_Hz(baudrate),
_delayAfterConnect_ms(delayAfterConnect_ms),
_rs232Port(this),
_blockedForDelay(false)
LedRs232Device::LedRs232Device(const std::string& outputDevice, const unsigned baudrate, int delayAfterConnect_ms)
: _deviceName(outputDevice)
, _baudRate_Hz(baudrate)
, _delayAfterConnect_ms(delayAfterConnect_ms)
, _rs232Port(this)
, _blockedForDelay(false)
, _stateChanged(true)
{
}
LedRs232Device::~LedRs232Device()
{
if (_rs232Port.isOpen())
{
_rs232Port.close();
Debug(_log,"Close UART: %s", _deviceName.c_str());
}
}
@@ -40,12 +44,17 @@ bool LedRs232Device::tryOpen()
{
if ( ! _rs232Port.open(QIODevice::WriteOnly) )
{
Error(_log, "Unable to open RS232 device (%s)", _deviceName.c_str());
if ( _stateChanged )
{
Error(_log, "Unable to open RS232 device (%s)", _deviceName.c_str());
_stateChanged = false;
}
return false;
}
_rs232Port.setBaudRate(_baudRate_Hz);
_stateChanged = true;
}
if (_delayAfterConnect_ms > 0)
{
_blockedForDelay = true;

View File

@@ -66,4 +66,6 @@ private:
QSerialPort _rs232Port;
bool _blockedForDelay;
bool _stateChanged;
};