mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-03-15 07:29:15 +01:00
Merge branch 'thread/OP-1169_UAVO_Browser_Bug' into next
This commit is contained in:
commit
42ffb3b1e9
@ -5,7 +5,9 @@ Pedro Assuncao
|
||||
Fredrik Arvidsson
|
||||
Werner Backes
|
||||
Jose Barros
|
||||
Mikael Blomqvist
|
||||
Pete Boehl
|
||||
Glenn Campigli
|
||||
David Carlson
|
||||
James Cotton
|
||||
Steve Doll
|
||||
@ -13,7 +15,9 @@ Piotr Esden-Tempski
|
||||
Richard Flay
|
||||
Peter Farnworth
|
||||
Ed Faulkner
|
||||
Andrew Finegan
|
||||
Darren Furniss
|
||||
Cliff Geerdes
|
||||
Frederic Goddeeris
|
||||
Daniel Godin
|
||||
Anthony Gomez
|
||||
@ -24,6 +28,7 @@ Peter Gunnarsson
|
||||
Dean Hall
|
||||
Joe Hlebasko
|
||||
Andy Honecker
|
||||
Patrick Huebner
|
||||
Ryan Hunt
|
||||
Mark James
|
||||
Ricky King
|
||||
@ -34,6 +39,7 @@ Alan Krum
|
||||
Edouard Lafargue
|
||||
Mike Labranche
|
||||
Fredrik Larsson
|
||||
Richard von Lehe
|
||||
Pablo Lema
|
||||
David Llama
|
||||
Matt Lipski
|
||||
@ -65,6 +71,7 @@ Troy Schultz
|
||||
Dr. Erhard Siegl
|
||||
Dusty Anne Smith
|
||||
Mike Smith
|
||||
Bertrand Songis
|
||||
Alex Sowa
|
||||
Pete Stapley
|
||||
Vova Starikh
|
||||
|
20
WHATSNEW.txt
20
WHATSNEW.txt
@ -1,3 +1,20 @@
|
||||
--- RELEASE-14.01-RC1 ---
|
||||
This is the release candidate 1 for the first 2014 software release.
|
||||
This version still supports the CopterControl and CC3D.
|
||||
It include some major "under the hood" changes like migration
|
||||
to Qt5.1 and QtQuick2 widgets, and a overhaul of UAVTalk to improve
|
||||
Telemetry and OPLink reliability.
|
||||
Some functions addition in this release:
|
||||
- "Rattitude" flight mode;
|
||||
- Altitude Hold Reimplementation;
|
||||
- Multiple PID banks;
|
||||
- "Cruise Control"
|
||||
|
||||
the full list of features, improvements and bufixes shipping
|
||||
in this release is accessible here:
|
||||
|
||||
http://progress.openpilot.org/browse/OP/fixforversion/10220
|
||||
|
||||
--- RELEASE-13.06.04 ---
|
||||
This maintenance release includes the following fixes missing in (previously not released to public) RELEASE-13.06.03.
|
||||
- Fixed issues with Google Maps;
|
||||
@ -6,7 +23,8 @@ This maintenance release includes the following fixes missing in (previously not
|
||||
JIRA issues addressed in this maintenance release:
|
||||
OP-1044, OP-1070, OP-1072
|
||||
Use the following link for a comprehensive list of issues addressed by this release
|
||||
http://progress.openpilot.org/browse/OP-1070
|
||||
|
||||
http://progress.openpilot.org/issues/?filter=11060
|
||||
|
||||
--- RELEASE-13.06.03 ---
|
||||
|
||||
|
@ -42,11 +42,11 @@ HighLightManager::HighLightManager(long checkingInterval)
|
||||
bool HighLightManager::add(TreeItem *itemToAdd)
|
||||
{
|
||||
// Lock to ensure thread safety
|
||||
QMutexLocker locker(&m_listMutex);
|
||||
QMutexLocker locker(&m_mutex);
|
||||
|
||||
// Check so that the item isn't already in the list
|
||||
if (!m_itemsList.contains(itemToAdd)) {
|
||||
m_itemsList.append(itemToAdd);
|
||||
if (!m_items.contains(itemToAdd)) {
|
||||
m_items.insert(itemToAdd);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -59,10 +59,10 @@ bool HighLightManager::add(TreeItem *itemToAdd)
|
||||
bool HighLightManager::remove(TreeItem *itemToRemove)
|
||||
{
|
||||
// Lock to ensure thread safety
|
||||
QMutexLocker locker(&m_listMutex);
|
||||
QMutexLocker locker(&m_mutex);
|
||||
|
||||
// Remove item and return result
|
||||
return m_itemsList.removeOne(itemToRemove);
|
||||
return m_items.remove(itemToRemove);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -74,10 +74,10 @@ bool HighLightManager::remove(TreeItem *itemToRemove)
|
||||
void HighLightManager::checkItemsExpired()
|
||||
{
|
||||
// Lock to ensure thread safety
|
||||
QMutexLocker locker(&m_listMutex);
|
||||
QMutexLocker locker(&m_mutex);
|
||||
|
||||
// Get a mutable iterator for the list
|
||||
QMutableLinkedListIterator<TreeItem *> iter(m_itemsList);
|
||||
QMutableSetIterator<TreeItem *> iter(m_items);
|
||||
|
||||
// This is the timestamp to compare with
|
||||
QTime now = QTime::currentTime();
|
||||
@ -211,7 +211,6 @@ void TreeItem::setHighlight(bool highlight)
|
||||
void TreeItem::removeHighlight()
|
||||
{
|
||||
m_highlight = false;
|
||||
// update();
|
||||
emit updateHighlight(this);
|
||||
}
|
||||
|
||||
|
@ -78,11 +78,11 @@ private:
|
||||
// The timer checking highlight expiration.
|
||||
QTimer m_expirationTimer;
|
||||
|
||||
// The list holding all items due to be updated.
|
||||
QLinkedList<TreeItem *> m_itemsList;
|
||||
// The collection holding all items due to be updated.
|
||||
QSet<TreeItem *> m_items;
|
||||
|
||||
// Mutex to lock when accessing list.
|
||||
QMutex m_listMutex;
|
||||
// Mutex to lock when accessing collection.
|
||||
QMutex m_mutex;
|
||||
};
|
||||
|
||||
class TreeItem : public QObject {
|
||||
@ -231,8 +231,8 @@ public:
|
||||
QList<MetaObjectTreeItem *> getMetaObjectItems();
|
||||
|
||||
private:
|
||||
QMap<quint32, DataObjectTreeItem *> m_objectTreeItemsPerObjectIds;
|
||||
QMap<quint32, MetaObjectTreeItem *> m_metaObjectTreeItemsPerObjectIds;
|
||||
QHash<quint32, DataObjectTreeItem *> m_objectTreeItemsPerObjectIds;
|
||||
QHash<quint32, MetaObjectTreeItem *> m_metaObjectTreeItemsPerObjectIds;
|
||||
};
|
||||
|
||||
class ObjectTreeItem : public TreeItem {
|
||||
|
@ -122,7 +122,7 @@ void UAVObjectBrowserWidget::useScientificNotation(bool scientific)
|
||||
Q_ASSERT(objManager);
|
||||
|
||||
UAVObjectTreeModel *tmpModel = m_model;
|
||||
m_model = new UAVObjectTreeModel(0, m_viewoptions->cbCategorized, scientific);
|
||||
m_model = new UAVObjectTreeModel(0, m_viewoptions->cbCategorized->isChecked(), scientific);
|
||||
m_model->setRecentlyUpdatedColor(m_recentlyUpdatedColor);
|
||||
m_model->setManuallyChangedColor(m_manuallyChangedColor);
|
||||
m_model->setRecentlyUpdatedTimeout(m_recentlyUpdatedTimeout);
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include "uavobjectfield.h"
|
||||
#include "extensionsystem/pluginmanager.h"
|
||||
#include <QColor>
|
||||
// #include <QIcon>
|
||||
#include <QtCore/QTimer>
|
||||
#include <QtCore/QSignalMapper>
|
||||
#include <QtCore/QDebug>
|
||||
@ -41,6 +40,7 @@
|
||||
UAVObjectTreeModel::UAVObjectTreeModel(QObject *parent, bool categorize, bool useScientificNotation) :
|
||||
QAbstractItemModel(parent),
|
||||
m_useScientificFloatNotation(useScientificNotation),
|
||||
m_categorize(categorize),
|
||||
m_recentlyUpdatedTimeout(500), // ms
|
||||
m_recentlyUpdatedColor(QColor(255, 230, 230)),
|
||||
m_manuallyChangedColor(QColor(230, 230, 255))
|
||||
@ -54,7 +54,7 @@ UAVObjectTreeModel::UAVObjectTreeModel(QObject *parent, bool categorize, bool us
|
||||
connect(objManager, SIGNAL(newInstance(UAVObject *)), this, SLOT(newObject(UAVObject *)));
|
||||
|
||||
TreeItem::setHighlightTime(m_recentlyUpdatedTimeout);
|
||||
setupModelData(objManager, categorize);
|
||||
setupModelData(objManager);
|
||||
}
|
||||
|
||||
UAVObjectTreeModel::~UAVObjectTreeModel()
|
||||
@ -63,7 +63,7 @@ UAVObjectTreeModel::~UAVObjectTreeModel()
|
||||
delete m_rootItem;
|
||||
}
|
||||
|
||||
void UAVObjectTreeModel::setupModelData(UAVObjectManager *objManager, bool categorize)
|
||||
void UAVObjectTreeModel::setupModelData(UAVObjectManager *objManager)
|
||||
{
|
||||
// root
|
||||
QList<QVariant> rootData;
|
||||
@ -83,7 +83,7 @@ void UAVObjectTreeModel::setupModelData(UAVObjectManager *objManager, bool categ
|
||||
QList< QList<UAVDataObject *> > objList = objManager->getDataObjects();
|
||||
foreach(QList<UAVDataObject *> list, objList) {
|
||||
foreach(UAVDataObject * obj, list) {
|
||||
addDataObject(obj, categorize);
|
||||
addDataObject(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -97,13 +97,13 @@ void UAVObjectTreeModel::newObject(UAVObject *obj)
|
||||
}
|
||||
}
|
||||
|
||||
void UAVObjectTreeModel::addDataObject(UAVDataObject *obj, bool categorize)
|
||||
void UAVObjectTreeModel::addDataObject(UAVDataObject *obj)
|
||||
{
|
||||
TopTreeItem *root = obj->isSettings() ? m_settingsTree : m_nonSettingsTree;
|
||||
|
||||
TreeItem *parent = root;
|
||||
|
||||
if (categorize && obj->getCategory() != 0 && !obj->getCategory().isEmpty()) {
|
||||
if (m_categorize && obj->getCategory() != 0 && !obj->getCategory().isEmpty()) {
|
||||
QStringList categoryPath = obj->getCategory().split('/');
|
||||
parent = createCategoryItems(categoryPath, root);
|
||||
}
|
||||
|
@ -92,9 +92,9 @@ private slots:
|
||||
void updateHighlight(TreeItem *);
|
||||
|
||||
private:
|
||||
void setupModelData(UAVObjectManager *objManager, bool categorize = true);
|
||||
void setupModelData(UAVObjectManager *objManager);
|
||||
QModelIndex index(TreeItem *item);
|
||||
void addDataObject(UAVDataObject *obj, bool categorize = true);
|
||||
void addDataObject(UAVDataObject *obj);
|
||||
MetaObjectTreeItem *addMetaObject(UAVMetaObject *obj, TreeItem *parent);
|
||||
void addArrayField(UAVObjectField *field, TreeItem *parent);
|
||||
void addSingleField(int index, UAVObjectField *field, TreeItem *parent);
|
||||
@ -115,6 +115,7 @@ private:
|
||||
QColor m_manuallyChangedColor;
|
||||
bool m_onlyHilightChangedValues;
|
||||
bool m_useScientificFloatNotation;
|
||||
bool m_categorize;
|
||||
|
||||
// Highlight manager to handle highlighting of tree items.
|
||||
HighLightManager *m_highlightManager;
|
||||
|
@ -44,31 +44,31 @@
|
||||
type="enum"
|
||||
elements="6"
|
||||
options="Manual,Stabilized1,Stabilized2,Stabilized3,Autotune,AltitudeHold,AltitudeVario,VelocityControl,PositionHold,ReturnToBase,Land,PathPlanner,POI"
|
||||
defaultvalue="Stabilized1,Stabilized2,Stabilized3,AltitudeHold,PositionHold,Manual"
|
||||
defaultvalue="Stabilized1,Stabilized2,Stabilized3,AltitudeHold,AltitudeVario,Manual"
|
||||
limits="\
|
||||
%0401NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0402NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0903NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
%0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
\
|
||||
%0401NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0402NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0903NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
%0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
\
|
||||
%0401NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0402NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0903NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
%0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
\
|
||||
%0401NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0402NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0903NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
%0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
\
|
||||
%0401NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0402NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0903NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
%0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI;\
|
||||
\
|
||||
%0401NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0402NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI,\
|
||||
%0903NE:Autotune:AltitudeVario:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI"/>
|
||||
%0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner:POI"/>
|
||||
|
||||
<field name="ArmedTimeout" units="ms" type="uint16" elements="1" defaultvalue="30000"/>
|
||||
<field name="ArmingSequenceTime" units="ms" type="uint16" elements="1" defaultvalue="1000"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user