1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-29 07:24:13 +01:00

Merge branch 'rel-14.06.01'

This commit is contained in:
Alessio Morale 2014-08-26 21:21:22 +02:00
commit e9799e6c2e
5 changed files with 31 additions and 7 deletions

View File

@ -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 --- --- RELEASE-14.06 --- Peanuts Schnapps ---
This is the Mid 2014 release. This is the Mid 2014 release.
This version supports the CopterControl, CC3D, Atom and the Revolution Flight controllers as well as the OPLink Modems. 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. 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: 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. - Stabilization refactoring and enhancements for even better flight performance.
- Completely new sensor calibration routines and greatly enhanced GUI. - Completely new sensor calibration routines and greatly enhanced GUI.
- Additional 3rd Party Hardware support, notably the MS4525DO based airspeed sensors and WS281x LED drivers. - Additional 3rd Party Hardware support, notably the MS4525DO based airspeed sensors and WS281x LED drivers.

View File

@ -228,7 +228,11 @@ static void stabilizationOuterloopTask()
// That would be changed to Attitude mode max angle affecting Kp // That would be changed to Attitude mode max angle affecting Kp
// Also does not take dT into account // 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; float weak_leveling = local_error[t] * stabSettings.settings.WeakLevelingKp;
weak_leveling = boundf(weak_leveling, -stabSettings.settings.MaxWeakLevelingRate, stabSettings.settings.MaxWeakLevelingRate); weak_leveling = boundf(weak_leveling, -stabSettings.settings.MaxWeakLevelingRate, stabSettings.settings.MaxWeakLevelingRate);

View File

@ -179,7 +179,7 @@ static void updatePIDs(UAVObjEvent *ev)
break; break;
case 2: case 2:
StabilizationSettingsBank2Get((StabilizationSettingsBank2Data *)&bank); StabilizationSettingsBank3Get((StabilizationSettingsBank3Data *)&bank);
break; break;
default: default:

View File

@ -18,5 +18,9 @@
<string>1.3.1</string> <string>1.3.1</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.3.1</string> <string>1.3.1</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
</dict> </dict>
</plist> </plist>

View File

@ -425,7 +425,7 @@ void ConfigMultiRotorWidget::refreshWidgetsValues(QString frameType)
// get motor 2 value for Yaw and Roll // get motor 2 value for Yaw and Roll
channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1;
value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW); value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW);
setYawMixLevel(-qRound(value / 1.27)); setYawMixLevel(qRound(value / 1.27));
// change channels // change channels
channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1;
@ -454,7 +454,7 @@ void ConfigMultiRotorWidget::refreshWidgetsValues(QString frameType)
// get motor 2 value for Yaw and Roll // get motor 2 value for Yaw and Roll
channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1;
value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW); value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW);
setYawMixLevel(-qRound(value / 1.27)); setYawMixLevel(qRound(value / 1.27));
channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1;
value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL); value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL);
@ -480,9 +480,9 @@ void ConfigMultiRotorWidget::refreshWidgetsValues(QString frameType)
m_aircraft->mrPitchMixLevel->setValue(qRound(value / 1.27)); m_aircraft->mrPitchMixLevel->setValue(qRound(value / 1.27));
// get motor 2 value for Yaw and Roll // get motor 2 value for Yaw and Roll
channel += 1; channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1;
value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW); value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW);
setYawMixLevel(-qRound(value / 1.27)); setYawMixLevel(qRound(value / 1.27));
channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1; channel = m_aircraft->multiMotorChannelBox2->currentIndex() - 1;
value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL); value = getMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL);