mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-02 10:24:11 +01:00
Merge branch 'next' into revo
This commit is contained in:
commit
4f37be785e
@ -312,7 +312,10 @@ bool ConfigFixedWingWidget::setupFrameFixedWing(QString airframeType)
|
|||||||
int channel;
|
int channel;
|
||||||
//disable all
|
//disable all
|
||||||
for (channel=0; channel<VehicleConfig::CHANNEL_NUMELEM; channel++)
|
for (channel=0; channel<VehicleConfig::CHANNEL_NUMELEM; channel++)
|
||||||
|
{
|
||||||
setMixerType(mixer,channel,VehicleConfig::MIXERTYPE_DISABLED);
|
setMixerType(mixer,channel,VehicleConfig::MIXERTYPE_DISABLED);
|
||||||
|
resetMixerVector(mixer, channel);
|
||||||
|
}
|
||||||
|
|
||||||
//motor
|
//motor
|
||||||
channel = m_aircraft->fwEngineChannelBox->currentIndex()-1;
|
channel = m_aircraft->fwEngineChannelBox->currentIndex()-1;
|
||||||
@ -396,7 +399,10 @@ bool ConfigFixedWingWidget::setupFrameElevon(QString airframeType)
|
|||||||
double value;
|
double value;
|
||||||
//disable all
|
//disable all
|
||||||
for (channel=0; channel<VehicleConfig::CHANNEL_NUMELEM; channel++)
|
for (channel=0; channel<VehicleConfig::CHANNEL_NUMELEM; channel++)
|
||||||
|
{
|
||||||
setMixerType(mixer,channel,VehicleConfig::MIXERTYPE_DISABLED);
|
setMixerType(mixer,channel,VehicleConfig::MIXERTYPE_DISABLED);
|
||||||
|
resetMixerVector(mixer, channel);
|
||||||
|
}
|
||||||
|
|
||||||
//motor
|
//motor
|
||||||
channel = m_aircraft->fwEngineChannelBox->currentIndex()-1;
|
channel = m_aircraft->fwEngineChannelBox->currentIndex()-1;
|
||||||
@ -478,7 +484,10 @@ bool ConfigFixedWingWidget::setupFrameVtail(QString airframeType)
|
|||||||
double value;
|
double value;
|
||||||
//disable all
|
//disable all
|
||||||
for (channel=0; channel<VehicleConfig::CHANNEL_NUMELEM; channel++)
|
for (channel=0; channel<VehicleConfig::CHANNEL_NUMELEM; channel++)
|
||||||
|
{
|
||||||
setMixerType(mixer,channel,VehicleConfig::MIXERTYPE_DISABLED);
|
setMixerType(mixer,channel,VehicleConfig::MIXERTYPE_DISABLED);
|
||||||
|
resetMixerVector(mixer, channel);
|
||||||
|
}
|
||||||
|
|
||||||
//motor
|
//motor
|
||||||
channel = m_aircraft->fwEngineChannelBox->currentIndex()-1;
|
channel = m_aircraft->fwEngineChannelBox->currentIndex()-1;
|
||||||
|
@ -112,10 +112,12 @@ void UAVTalk::processInputStream()
|
|||||||
{
|
{
|
||||||
quint8 tmp;
|
quint8 tmp;
|
||||||
|
|
||||||
while (io->bytesAvailable() > 0)
|
if (io && io->isReadable()) {
|
||||||
{
|
while (io->bytesAvailable() > 0)
|
||||||
io->read((char*)&tmp, 1);
|
{
|
||||||
processInputByte(tmp);
|
io->read((char*)&tmp, 1);
|
||||||
|
processInputByte(tmp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -719,9 +721,8 @@ bool UAVTalk::transmitNack(quint32 objId)
|
|||||||
|
|
||||||
qToLittleEndian<quint16>(dataOffset, &txBuffer[2]);
|
qToLittleEndian<quint16>(dataOffset, &txBuffer[2]);
|
||||||
|
|
||||||
|
|
||||||
// Send buffer, check that the transmit backlog does not grow above limit
|
// Send buffer, check that the transmit backlog does not grow above limit
|
||||||
if ( io->bytesToWrite() < TX_BUFFER_SIZE )
|
if (io && io->isWritable() && io->bytesToWrite() < TX_BUFFER_SIZE )
|
||||||
{
|
{
|
||||||
io->write((const char*)txBuffer, dataOffset+CHECKSUM_LENGTH);
|
io->write((const char*)txBuffer, dataOffset+CHECKSUM_LENGTH);
|
||||||
}
|
}
|
||||||
@ -811,7 +812,7 @@ bool UAVTalk::transmitSingleObject(UAVObject* obj, quint8 type, bool allInstance
|
|||||||
txBuffer[dataOffset+length] = updateCRC(0, txBuffer, dataOffset + length);
|
txBuffer[dataOffset+length] = updateCRC(0, txBuffer, dataOffset + length);
|
||||||
|
|
||||||
// Send buffer, check that the transmit backlog does not grow above limit
|
// Send buffer, check that the transmit backlog does not grow above limit
|
||||||
if ( io->bytesToWrite() < TX_BUFFER_SIZE )
|
if (io && io->isWritable() && io->bytesToWrite() < TX_BUFFER_SIZE )
|
||||||
{
|
{
|
||||||
io->write((const char*)txBuffer, dataOffset+length+CHECKSUM_LENGTH);
|
io->write((const char*)txBuffer, dataOffset+length+CHECKSUM_LENGTH);
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#ifndef UAVTALK_H
|
#ifndef UAVTALK_H
|
||||||
#define UAVTALK_H
|
#define UAVTALK_H
|
||||||
|
|
||||||
|
#include <QtCore>
|
||||||
#include <QIODevice>
|
#include <QIODevice>
|
||||||
#include <QMutex>
|
#include <QMutex>
|
||||||
#include <QMutexLocker>
|
#include <QMutexLocker>
|
||||||
@ -93,7 +94,7 @@ private:
|
|||||||
typedef enum {STATE_SYNC, STATE_TYPE, STATE_SIZE, STATE_OBJID, STATE_INSTID, STATE_DATA, STATE_CS} RxStateType;
|
typedef enum {STATE_SYNC, STATE_TYPE, STATE_SIZE, STATE_OBJID, STATE_INSTID, STATE_DATA, STATE_CS} RxStateType;
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
QIODevice* io;
|
QPointer<QIODevice> io;
|
||||||
UAVObjectManager* objMngr;
|
UAVObjectManager* objMngr;
|
||||||
QMutex* mutex;
|
QMutex* mutex;
|
||||||
UAVObject* respObj;
|
UAVObject* respObj;
|
||||||
|
Loading…
Reference in New Issue
Block a user