mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-03-15 07:29:15 +01:00
Merge remote-tracking branch 'origin/next' into thread/OP-1222_FW_Wizard
Conflicts: ground/openpilotgcs/src/libs/sdlgamepad/sdlgamepad.pro.user
This commit is contained in:
commit
1a68ba062d
145
.gitignore
vendored
145
.gitignore
vendored
@ -1,72 +1,73 @@
|
||||
# Ignore artifacts of top-level Makefile
|
||||
/downloads
|
||||
/tools
|
||||
/build
|
||||
|
||||
# Exclude temporary and system files
|
||||
Thumbs.db
|
||||
.DS_Store
|
||||
GPATH
|
||||
GRTAGS
|
||||
GSYMS
|
||||
GTAGS
|
||||
core
|
||||
|
||||
# flight
|
||||
/flight/*.pnproj
|
||||
/flight/*.pnps
|
||||
/flight/.cproject
|
||||
/flight/.metadata
|
||||
/flight/.project
|
||||
/flight/.settings
|
||||
/flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/*.mode1v3
|
||||
/flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/*.pbxuser
|
||||
|
||||
# ground
|
||||
openpilotgcs-build-desktop
|
||||
ground/openpilotgcs/.cproject
|
||||
ground/openpilotgcs/.project
|
||||
ground/openpilotgcs/.settings
|
||||
|
||||
# Ignore some of the .pro.user files
|
||||
*.pro.user
|
||||
/ground/openpilotgcs/openpilotgcs.pro.user
|
||||
/ground/uavobjgenerator/uavobjgenerator.pro.user
|
||||
/ground/uavobjects/uavobjects.pro.user
|
||||
/ground/ground.pro.user
|
||||
|
||||
# Misc artifacts
|
||||
/ground/openpilotgcs/share/openpilotgcs/sounds/normalize.exe
|
||||
/ground/openpilotgcs/share/openpilotgcs/sounds/default/normalize.exe
|
||||
/ground/openpilotgcs/share/openpilotgcs/translations/extract-mimetypes.xq
|
||||
/ground/openpilotgcs/src/experimental/tools/DocumentationHelper/ui_mainwindow.h
|
||||
/ground/openpilotgcs/src/libs/qextserialport/.hg
|
||||
/ground/openpilotgcs/src/libs/qextserialport/.hgtags
|
||||
/ground/openpilotgcs/src/libs/qwt/qwt.prf
|
||||
/ground/openpilotgcs/src/libs/qwt/designer
|
||||
/ground/openpilotgcs/src/plugins/ipconnection/ui_ipconnectionoptionspage.h
|
||||
|
||||
# Ignore intermediate files generated by command-line android builds
|
||||
# Couldn't figure out how to force these files into the ./build directory
|
||||
/androidgcs/build.xml
|
||||
/androidgcs/local.properties
|
||||
/androidgcs/proguard-project.txt
|
||||
|
||||
# Ignore build output from Eclipse android builds
|
||||
/androidgcs/bin/
|
||||
/androidgcs/gen/
|
||||
|
||||
# Ignore Eclipse Projects and Metadata
|
||||
/.cproject
|
||||
/.project
|
||||
/.metadata
|
||||
/.settings
|
||||
/.pydevproject
|
||||
|
||||
# Ignore Eclipse temp folder, git plugin based?
|
||||
RemoteSystemsTempFiles
|
||||
|
||||
# Ignore patch-related files
|
||||
*.rej
|
||||
*.orig
|
||||
*.diff~
|
||||
# Ignore artifacts of top-level Makefile
|
||||
/downloads
|
||||
/tools
|
||||
/build
|
||||
|
||||
# Exclude temporary and system files
|
||||
Thumbs.db
|
||||
.DS_Store
|
||||
GPATH
|
||||
GRTAGS
|
||||
GSYMS
|
||||
GTAGS
|
||||
core
|
||||
|
||||
# flight
|
||||
/flight/*.pnproj
|
||||
/flight/*.pnps
|
||||
/flight/.cproject
|
||||
/flight/.metadata
|
||||
/flight/.project
|
||||
/flight/.settings
|
||||
/flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/*.mode1v3
|
||||
/flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/*.pbxuser
|
||||
|
||||
# ground
|
||||
openpilotgcs-build-desktop
|
||||
ground/openpilotgcs/.cproject
|
||||
ground/openpilotgcs/.project
|
||||
ground/openpilotgcs/.settings
|
||||
|
||||
# Ignore some of the .pro.user files
|
||||
*.pro.user
|
||||
/ground/openpilotgcs/openpilotgcs.pro.user
|
||||
/ground/uavobjgenerator/uavobjgenerator.pro.user
|
||||
/ground/uavobjects/uavobjects.pro.user
|
||||
/ground/ground.pro.user
|
||||
/ground/openpilotgcs/src/libs/sdlgamepad.pro.user
|
||||
|
||||
# Misc artifacts
|
||||
/ground/openpilotgcs/share/openpilotgcs/sounds/normalize.exe
|
||||
/ground/openpilotgcs/share/openpilotgcs/sounds/default/normalize.exe
|
||||
/ground/openpilotgcs/share/openpilotgcs/translations/extract-mimetypes.xq
|
||||
/ground/openpilotgcs/src/experimental/tools/DocumentationHelper/ui_mainwindow.h
|
||||
/ground/openpilotgcs/src/libs/qextserialport/.hg
|
||||
/ground/openpilotgcs/src/libs/qextserialport/.hgtags
|
||||
/ground/openpilotgcs/src/libs/qwt/qwt.prf
|
||||
/ground/openpilotgcs/src/libs/qwt/designer
|
||||
/ground/openpilotgcs/src/plugins/ipconnection/ui_ipconnectionoptionspage.h
|
||||
|
||||
# Ignore intermediate files generated by command-line android builds
|
||||
# Couldn't figure out how to force these files into the ./build directory
|
||||
/androidgcs/build.xml
|
||||
/androidgcs/local.properties
|
||||
/androidgcs/proguard-project.txt
|
||||
|
||||
# Ignore build output from Eclipse android builds
|
||||
/androidgcs/bin/
|
||||
/androidgcs/gen/
|
||||
|
||||
# Ignore Eclipse Projects and Metadata
|
||||
/.cproject
|
||||
/.project
|
||||
/.metadata
|
||||
/.settings
|
||||
/.pydevproject
|
||||
|
||||
# Ignore Eclipse temp folder, git plugin based?
|
||||
RemoteSystemsTempFiles
|
||||
|
||||
# Ignore patch-related files
|
||||
*.rej
|
||||
*.orig
|
||||
*.diff~
|
||||
|
@ -250,7 +250,7 @@ static void PIOS_SBus_UpdateState(struct pios_sbus_state *state, uint8_t b)
|
||||
state->received_data[state->byte_count - 1] = b;
|
||||
state->byte_count++;
|
||||
} else {
|
||||
if (b == SBUS_EOF_BYTE || (b % SBUS_R7008SB_EOF_COUNTER_MASK) == SBUS_R7008SB_EOF_BYTE) {
|
||||
if (b == SBUS_EOF_BYTE || (b & SBUS_R7008SB_EOF_COUNTER_MASK) == 0) {
|
||||
/* full frame received */
|
||||
uint8_t flags = state->received_data[SBUS_FRAME_LENGTH - 3];
|
||||
if (flags & SBUS_FLAG_FL) {
|
||||
|
@ -66,8 +66,7 @@
|
||||
#define SBUS_FLAG_FL 0x04
|
||||
#define SBUS_FLAG_FS 0x08
|
||||
|
||||
#define SBUS_R7008SB_EOF_COUNTER_MASK 0xCF
|
||||
#define SBUS_R7008SB_EOF_BYTE 0x04
|
||||
#define SBUS_R7008SB_EOF_COUNTER_MASK 0xCB
|
||||
|
||||
/*
|
||||
* S.Bus protocol provides 16 proportional and 2 discrete channels.
|
||||
|
@ -97,7 +97,8 @@ macx {
|
||||
GCS_QT_PLUGINS_PATH = $$GCS_BUILD_TREE/$$GCS_LIBRARY_BASENAME/qt5/plugins
|
||||
GCS_QT_QML_PATH = $$GCS_BUILD_TREE/$$GCS_LIBRARY_BASENAME/qt5/qml
|
||||
|
||||
TOOLS_DIR = $$clean_path($$GCS_SOURCE_TREE/../../tools)
|
||||
TOOLS_DIR = $$(OPENPILOT_TOOLS_DIR)
|
||||
isEmpty(TOOLS_DIR):TOOLS_DIR = $$clean_path($$GCS_SOURCE_TREE/../../tools)
|
||||
QT_INSTALL_DIR = $$clean_path($$[QT_INSTALL_LIBS]/../../../..)
|
||||
equals(QT_INSTALL_DIR, $$TOOLS_DIR) {
|
||||
copyqt = 1
|
||||
|
@ -1779,7 +1779,7 @@
|
||||
<showTileGridLines>false</showTileGridLines>
|
||||
<uavSymbol>mapquad.png</uavSymbol>
|
||||
<useMemoryCache>true</useMemoryCache>
|
||||
<useOpenGL>true</useOpenGL>
|
||||
<useOpenGL>false</useOpenGL>
|
||||
</data>
|
||||
</Google__PCT__20Sat>
|
||||
<Memory__PCT__20Only>
|
||||
@ -1799,7 +1799,7 @@
|
||||
<showTileGridLines>false</showTileGridLines>
|
||||
<uavSymbol>airplanepip.png</uavSymbol>
|
||||
<useMemoryCache>true</useMemoryCache>
|
||||
<useOpenGL>true</useOpenGL>
|
||||
<useOpenGL>false</useOpenGL>
|
||||
</data>
|
||||
</Memory__PCT__20Only>
|
||||
<default>
|
||||
@ -1819,7 +1819,7 @@
|
||||
<showTileGridLines>false</showTileGridLines>
|
||||
<uavSymbol>mapquad.png</uavSymbol>
|
||||
<useMemoryCache>true</useMemoryCache>
|
||||
<useOpenGL>true</useOpenGL>
|
||||
<useOpenGL>false</useOpenGL>
|
||||
</data>
|
||||
</default>
|
||||
</OPMapGadget>
|
||||
|
@ -1,66 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 3.1.2, 2014-08-23T10:12:28. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">-1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap"/>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
|
||||
<value type="QByteArray">{6e1a7efe-f107-41f3-9383-31e878c1f556}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">15</value>
|
||||
</data>
|
||||
</qtcreator>
|
@ -126,6 +126,17 @@ void ConfigOutputWidget::enableControls(bool enable)
|
||||
ui->channelOutTest->setEnabled(enable);
|
||||
}
|
||||
|
||||
/**
|
||||
Force update all channels with the values in the OutputChannelForms.
|
||||
*/
|
||||
void ConfigOutputWidget::sendAllChannelTests()
|
||||
{
|
||||
for (unsigned int i = 0; i < ActuatorCommand::CHANNEL_NUMELEM; i++) {
|
||||
OutputChannelForm *form = getOutputChannelForm(i);
|
||||
sendChannelTest(i, form->neutral());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Toggles the channel testing mode by making the GCS take over
|
||||
the ActuatorCommand objects
|
||||
@ -178,6 +189,11 @@ void ConfigOutputWidget::runChannelTests(bool state)
|
||||
}
|
||||
obj->setMetadata(mdata);
|
||||
obj->updated();
|
||||
|
||||
// Setup the correct initial channel values when the channel testing mode is turned on.
|
||||
if (state) {
|
||||
sendAllChannelTests();
|
||||
}
|
||||
}
|
||||
|
||||
OutputChannelForm *ConfigOutputWidget::getOutputChannelForm(const int index) const
|
||||
|
@ -58,7 +58,11 @@ private:
|
||||
void updateChannelInSlider(QSlider *slider, QLabel *min, QLabel *max, QCheckBox *rev, int value);
|
||||
|
||||
void assignOutputChannel(UAVDataObject *obj, QString &str);
|
||||
|
||||
OutputChannelForm *getOutputChannelForm(const int index) const;
|
||||
|
||||
void sendAllChannelTests();
|
||||
|
||||
int mccDataRate;
|
||||
|
||||
UAVObject::Metadata accInitialData;
|
||||
|
@ -120,6 +120,9 @@ margin:1px;</string>
|
||||
<property name="buttonSymbols">
|
||||
<enum>QAbstractSpinBox::UpDownArrows</enum>
|
||||
</property>
|
||||
<property name="keyboardTracking">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
@ -670,6 +673,9 @@ margin:1px;</string>
|
||||
<property name="buttonSymbols">
|
||||
<enum>QAbstractSpinBox::UpDownArrows</enum>
|
||||
</property>
|
||||
<property name="keyboardTracking">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
@ -762,6 +768,9 @@ margin:1px;</string>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="keyboardTracking">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
|
@ -76,8 +76,10 @@ QIODevice *LoggingConnection::openDevice(const QString &deviceName)
|
||||
QString fileName = QFileDialog::getOpenFileName(NULL, tr("Open file"), QString(""), tr("OpenPilot Log (*.opl)"));
|
||||
if (!fileName.isNull()) {
|
||||
startReplay(fileName);
|
||||
return &logFile;
|
||||
}
|
||||
return &logFile;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void LoggingConnection::startReplay(QString file)
|
||||
|
Loading…
x
Reference in New Issue
Block a user