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:
commit
e9799e6c2e
18
WHATSNEW.txt
18
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 ---
|
--- 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.
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
@ -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>
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user