1
0
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:
m_thread 2014-09-08 21:48:33 +02:00
commit 1a68ba062d
10 changed files with 112 additions and 146 deletions

145
.gitignore vendored
View File

@ -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~

View File

@ -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) {

View File

@ -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.

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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;

View File

@ -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>

View File

@ -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)