From 76b209c820efae01968c843c1d82c56296f29912 Mon Sep 17 00:00:00 2001 From: abeck70 Date: Sat, 31 Jan 2015 21:17:29 +1100 Subject: [PATCH 1/4] rel-15.01 RC1 whatsnew.txt updated --- README.txt | 2 +- WHATSNEW.txt | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/README.txt b/README.txt index 11f953f4c..3388806ce 100644 --- a/README.txt +++ b/README.txt @@ -32,7 +32,7 @@ Source code repository: http://git.openpilot.org/ Crucible code reviews: http://reviews.openpilot.org/cru Project build server: http://bamboo.openpilot.org/ Community blogs: http://forums.openpilot.org/blogs/ -Software downloads: http://wiki.openpilot.org/display/BUILDS/OpenPilot+Software+Downloads +Software downloads: http://wiki.openpilot.org/display/WIKI/OpenPilot+Downloads How to build from source? ------------------------- diff --git a/WHATSNEW.txt b/WHATSNEW.txt index 7861bf333..698e4eec4 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,3 +1,73 @@ +--- RELEASE-15.01 --- +This release mainly focuses on a new feature, GPSAssist which is a new form of assisted control for multirotors. +Assisted Control provides assistance functions on top of existing flight modes. GPSAssist is the +first assisted control option available from OpenPilot. GPSAssist supports Attitude and Rattitude +flight modes and activates braking and position hold when the pitch/roll sticks are centered. Attitude/Rattitude +may be flown with any of the current thrust modes (manual, cruisecontrol, altvario). GPSAssist for the PositionHold +flight mode also introduces a braking sequence when first entering this flight mode and introduces altvario as the thrust mode. + +The full list of features, improvements and bugfixes in this release is accessible here: + +http://progress.openpilot.org/browse/OP/fixforversion/11020 + +Bug +[OP-1501] - Input wizard sets neutral point for throttle too low +[OP-1522] - Improve Robustness of OPLink radio +[OP-1530] - Prevent using unitialize channel ids +[OP-1537] - OPLink unreliable at high data rates +[OP-1579] - Add LDFLAGS to Makefile sanitized variables +[OP-1626] - Satellite dsm2/dsmX binding should depend on proper window timing. +[OP-1638] - Transmitter setup can strip servo gears. +[OP-1646] - QQmlExpression: Expression qrc:/welcome/qml/main.qml:125:23 depends on non-NOTIFYable properties: +[OP-1647] - Welcome QML type error +[OP-1653] - Qt 5.2.1 fixes +[OP-1654] - Linux libs rpath incorrect +[OP-1660] - RCinput manual calibration issue +[OP-1662] - SystemHealt more verbose +[OP-1670] - cruise control conflict with flight modes (rate & acro +) +[OP-1680] - OPLink control limited to 1000-1896 +[OP-1681] - Fix debug build of GCS +[OP-1682] - Overflow issue with pwm rx and CC3D +[OP-1686] - Slave OPLM should receive PPM in PPM_only mode + +Improvement +[OP-1256] - Add Erase Settings step to Vehicle Setup Wizard +[OP-1496] - Qt5.3.2 for OSX +[OP-1599] - rework position vario modes +[OP-1607] - Tab scaling on Vehicle Configuration pages is affected by clicking on "Ground" vehicle. +[OP-1611] - Add context menu to Scopes gadget. +[OP-1620] - Add fixed-wing Vtail to setup wizard +[OP-1622] - Update Ground config tab +[OP-1628] - Remove need to manually reboot by unplugging USB cable +[OP-1629] - Add erase settings check box (default checked) to wizard firmware page +[OP-1631] - Make erase Controller config a toolbar option +[OP-1645] - Change default arm and disarm times to be faster +[OP-1650] - Reduce telemetry to improve OPLink +[OP-1651] - Add GCS command line options to log to file +[OP-1652] - Rename WS2811_LED_Out pins +[OP-1657] - Linux bin wrapper not needed +[OP-1663] - Move Qt inside openpilotgcs lib dir to avoid conflict +[OP-1664] - Github pull request clang warnings +[OP-1666] - Tidy deb package +[OP-1667] - Remove firmware files from packages +[OP-1668] - Add a way to select source for the 'Curve 2' in the custom mixer tab. +[OP-1674] - Oplink setup : frequency display + +New Feature +[OP-1503] - Yaffs2 file system library integration to Simposix +[OP-1637] - AssistedControl +[OP-1639] - Make non-git source +[OP-1640] - Write make install rule for Linux +[OP-1643] - Enable Ground Support in Wizard + +Task +[OP-1557] - Update Qwt +[OP-1558] - Evaluate removal of: ground/openpilotgcs/src/plugins/pathactioneditor/pathactioneditor.qrc +[OP-1648] - Update PFD after flight mode changes +[OP-1656] - Upgrade to Qt 5.4.0 +[OP-1684] - Fix warnings in Flight code + + --- RELEASE-14.10 --- This release mainly focuses on flight performance, especially aimed at mini multirotors and adds support for the OpenPilot Platinum GPS (V9). This version supports the CopterControl, CC3D, Atom and the Revolution Flight controllers as well as the OPLink Modems. From c2a8f8fe11c9b241a7f45296f63c0cf7c127a37b Mon Sep 17 00:00:00 2001 From: Alessio Morale Date: Sun, 1 Feb 2015 21:34:05 +0100 Subject: [PATCH 2/4] OP-1699 - Fix Linux build issue with tagged releases --- package/Linux.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/Linux.mk b/package/Linux.mk index 0acb9d2d5..1dca75269 100644 --- a/package/Linux.mk +++ b/package/Linux.mk @@ -6,7 +6,7 @@ ifndef OPENPILOT_IS_COOL $(error Top level Makefile must be used to build this target) endif -DEB_VER := $(PACKAGE_LBL)-1 +DEB_VER := $(subst RELEASE-,,$(PACKAGE_LBL))-1 DEB_DIR := $(ROOT_DIR)/package/linux/debian DEB_BUILD_DIR := $(ROOT_DIR)/debian From 23865ed0b053df7be0ca1518d0f6b298f6c50f9b Mon Sep 17 00:00:00 2001 From: Laurent Lalanne Date: Tue, 3 Feb 2015 21:50:45 +0100 Subject: [PATCH 3/4] OP-1644 Really set FlightMode neutral centered + some minor fixes in code --- .../src/plugins/config/configinputwidget.cpp | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp index e6256cf98..0717175e3 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp @@ -551,15 +551,13 @@ void ConfigInputWidget::wzNext() manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE] + ((manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_THROTTLE] - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE]) * 0.04); - if ((abs(manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE] - - manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE]) < 100) || - (abs(manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE] - - manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE]) < 100)) { - manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE] = - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE] + - (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE] - - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]) / 2; - } + + // Force flight mode neutral to middle + manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE] = + manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE] + + (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE] - + manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]) / 2; + manualSettingsObj->setData(manualSettingsData); // move to Arming Settings tab ui->stackedWidget->setCurrentIndex(0); @@ -1595,7 +1593,7 @@ void ConfigInputWidget::updateCalibration() (reverse[i] && manualSettingsData.ChannelMax[i] > manualCommandData.Channel[i])) { manualSettingsData.ChannelMax[i] = manualCommandData.Channel[i]; } - if (i == ManualControlSettings::CHANNELNUMBER_FLIGHTMODE || i == ManualControlSettings::CHANNELNUMBER_FLIGHTMODE) { + if ((i == ManualControlSettings::CHANNELNUMBER_FLIGHTMODE) || (i == ManualControlSettings::CHANNELNUMBER_THROTTLE)) { adjustSpecialNeutrals(); } else { manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i]; @@ -1659,7 +1657,7 @@ void ConfigInputWidget::simpleCalibration(bool enable) restoreMdataSingle(manualCommandObj, &manualControlMdata); for (unsigned int i = 0; i < ManualControlCommand::CHANNEL_NUMELEM; i++) { - if (i == ManualControlSettings::CHANNELNUMBER_FLIGHTMODE || i == ManualControlSettings::CHANNELNUMBER_FLIGHTMODE) { + if ((i == ManualControlSettings::CHANNELNUMBER_FLIGHTMODE) || (i == ManualControlSettings::CHANNELNUMBER_THROTTLE)) { adjustSpecialNeutrals(); } else { manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i]; @@ -1680,9 +1678,9 @@ void ConfigInputWidget::adjustSpecialNeutrals() // FlightMode and Throttle need special neutral settings // // Force flight mode neutral to middle - manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE] = - (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE] + - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE]) / 2; + manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE] = + (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE] + + manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]) / 2; // Force throttle to be near min, add 4% from total range to avoid arming issues manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_THROTTLE] = From 2454ac6d6c33099bec53cfc8aad7841288a67a3f Mon Sep 17 00:00:00 2001 From: Laurent Lalanne Date: Tue, 3 Feb 2015 22:13:30 +0100 Subject: [PATCH 4/4] OP-1644 Reuse the same function for special neutrals --- .../src/plugins/config/configinputwidget.cpp | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp index 0717175e3..f43d63eb2 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp @@ -544,19 +544,8 @@ void ConfigInputWidget::wzNext() // Load actuator settings back from beginning of wizard actuatorSettingsObj->setData(previousActuatorSettingsData); - // Leave setting the throttle neutral until the final Next press, - // else the throttle scaling causes the graphical stick movement to not - // match the tx stick - manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_THROTTLE] = - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE] + - ((manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_THROTTLE] - - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE]) * 0.04); - - // Force flight mode neutral to middle - manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE] = - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE] + - (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE] - - manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]) / 2; + // Force flight mode neutral to middle and Throttle neutral at 4% + adjustSpecialNeutrals(); manualSettingsObj->setData(manualSettingsData); // move to Arming Settings tab