diff --git a/WHATSNEW.txt b/WHATSNEW.txt index 5f329b876..ce0845421 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,3 +1,19 @@ +--- RELEASE-14.06.01 --- +This is the first maintenance release for 14.06. +This mainly fixes a bug causing flips when switching to Weaklevel flight mode. + +The full list of features, improvements and bugfixes in this release is accessible here: + +http://progress.openpilot.org/issues/?filter=11660 + +**Bugs + * [OP-1241] - TxPID Does not work for Bank 3 PID settings + * [OP-1432] - Hexa config : "Reverse all motors" do not reflect current config after reload + * [OP-1454] - weak leveling code buggy, causes NAN and crash! + +** New Feature & Improvements + * [OP-1450] - GCS fonts are blurry on OSX and retina displays + --- RELEASE-14.06 --- Peanuts Schnapps --- This is the Mid 2014 release. This version supports the CopterControl, CC3D, Atom and the Revolution Flight controllers as well as the OPLink Modems. @@ -5,7 +21,7 @@ This version supports the CopterControl, CC3D, Atom and the Revolution Flight co This release includes many additions, improvements and fixes, it is the result of many thousands of hours of development and testing. Some key additions in this release: -- Many additions and changes aimed at gps/navigation functionality for the Revolution platform including GPS assisted flight modes: Return To Base, Position Hold, AutoCruise and Position Vario(LOS, FPV and NSEW). +- Many additions and changes aimed at gps/navigation functionality for the Revolution platform including GPS assisted flight modes: Return To Base, Position Hold, AutoCruise and Position Vario(LOS, FPV and NSEW). - Stabilization refactoring and enhancements for even better flight performance. - Completely new sensor calibration routines and greatly enhanced GUI. - Additional 3rd Party Hardware support, notably the MS4525DO based airspeed sensors and WS281x LED drivers. diff --git a/flight/modules/Stabilization/outerloop.c b/flight/modules/Stabilization/outerloop.c index b5ffb4d35..7d865b556 100644 --- a/flight/modules/Stabilization/outerloop.c +++ b/flight/modules/Stabilization/outerloop.c @@ -228,7 +228,11 @@ static void stabilizationOuterloopTask() // That would be changed to Attitude mode max angle affecting Kp // Also does not take dT into account { - float rate_input = cast_struct_to_array(stabSettings.stabBank.ManualRate, stabSettings.stabBank.ManualRate.Roll)[t] * stabilizationDesiredAxis[t] / cast_struct_to_array(stabSettings.stabBank, stabSettings.stabBank.RollMax)[t]; + float stickinput[3]; + stickinput[0] = boundf(stabilizationDesiredAxis[0] / stabSettings.stabBank.RollMax, -1.0f, 1.0f); + stickinput[1] = boundf(stabilizationDesiredAxis[1] / stabSettings.stabBank.PitchMax, -1.0f, 1.0f); + stickinput[2] = boundf(stabilizationDesiredAxis[2] / stabSettings.stabBank.YawMax, -1.0f, 1.0f); + float rate_input = stickinput[t] * cast_struct_to_array(stabSettings.stabBank.ManualRate, stabSettings.stabBank.ManualRate.Roll)[t]; float weak_leveling = local_error[t] * stabSettings.settings.WeakLevelingKp; weak_leveling = boundf(weak_leveling, -stabSettings.settings.MaxWeakLevelingRate, stabSettings.settings.MaxWeakLevelingRate); diff --git a/flight/modules/TxPID/txpid.c b/flight/modules/TxPID/txpid.c index a48a20967..049b7ea81 100644 --- a/flight/modules/TxPID/txpid.c +++ b/flight/modules/TxPID/txpid.c @@ -179,7 +179,7 @@ static void updatePIDs(UAVObjEvent *ev) break; case 2: - StabilizationSettingsBank2Get((StabilizationSettingsBank2Data *)&bank); + StabilizationSettingsBank3Get((StabilizationSettingsBank3Data *)&bank); break; default: diff --git a/ground/openpilotgcs/src/app/Info.plist b/ground/openpilotgcs/src/app/Info.plist index fd048113f..1ada02aee 100644 --- a/ground/openpilotgcs/src/app/Info.plist +++ b/ground/openpilotgcs/src/app/Info.plist @@ -18,5 +18,9 @@ 1.3.1 CFBundleShortVersionString 1.3.1 + NSPrincipalClass + NSApplication + NSHighResolutionCapable + True diff --git a/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/configmultirotorwidget.cpp b/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/configmultirotorwidget.cpp index 9f9a6334c..8216ca7d3 100644 --- a/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/configmultirotorwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/configmultirotorwidget.cpp @@ -425,7 +425,7 @@ void ConfigMultiRotorWidget::refreshWidgetsValues(QString frameType) // get motor 2 value for Yaw and Roll channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW); - setYawMixLevel(-qRound(value / 1.27)); + setYawMixLevel(qRound(value / 1.27)); // change channels channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; @@ -454,7 +454,7 @@ void ConfigMultiRotorWidget::refreshWidgetsValues(QString frameType) // get motor 2 value for Yaw and Roll channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW); - setYawMixLevel(-qRound(value / 1.27)); + setYawMixLevel(qRound(value / 1.27)); channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL); @@ -480,9 +480,9 @@ void ConfigMultiRotorWidget::refreshWidgetsValues(QString frameType) m_aircraft->mrPitchMixLevel->setValue(qRound(value / 1.27)); // get motor 2 value for Yaw and Roll - channel += 1; + channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW); - setYawMixLevel(-qRound(value / 1.27)); + setYawMixLevel(qRound(value / 1.27)); channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL);