mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-03-15 07:29:15 +01:00
Try to fix my Vtail->Elevon naming issue. Attempt to fix Elevon mixer setting defaults
This commit is contained in:
parent
c2c89bf0f5
commit
0bd4e9efa5
@ -88,7 +88,7 @@ ConfigFixedWingWidget::ConfigFixedWingWidget(QWidget *parent) :
|
||||
populateChannelComboBoxes();
|
||||
|
||||
QStringList fixedWingTypes;
|
||||
fixedWingTypes << "Elevator aileron rudder" << "Vtail";
|
||||
fixedWingTypes << "Elevator aileron rudder" << "Elevon";
|
||||
m_aircraft->fixedWingType->addItems(fixedWingTypes);
|
||||
|
||||
// Set default model to "Elevator aileron rudder"
|
||||
@ -138,16 +138,16 @@ void ConfigFixedWingWidget::setupUI(QString frameType)
|
||||
|
||||
m_aircraft->elevonSlider1->setEnabled(false);
|
||||
m_aircraft->elevonSlider2->setEnabled(false);
|
||||
} else if (frameType == "FixedWingVtail" || frameType == "Vtail") {
|
||||
plane->setElementId("vtail");
|
||||
setComboCurrentIndex(m_aircraft->fixedWingType, m_aircraft->fixedWingType->findText("Vtail"));
|
||||
} else if (frameType == "FixedWingElevon" || frameType == "Elevon") {
|
||||
plane->setElementId("elevon");
|
||||
setComboCurrentIndex(m_aircraft->fixedWingType, m_aircraft->fixedWingType->findText("Elevon"));
|
||||
m_aircraft->fwRudder1ChannelBox->setEnabled(false);
|
||||
m_aircraft->fwRudder2ChannelBox->setEnabled(false);
|
||||
|
||||
m_aircraft->fwElevator1Label->setText("Vtail 1");
|
||||
m_aircraft->fwElevator1Label->setText("Elevon 1");
|
||||
m_aircraft->fwElevator1ChannelBox->setEnabled(true);
|
||||
|
||||
m_aircraft->fwElevator2Label->setText("Vtail 2");
|
||||
m_aircraft->fwElevator2Label->setText("Elevon 2");
|
||||
m_aircraft->fwElevator2ChannelBox->setEnabled(true);
|
||||
|
||||
m_aircraft->fwAileron1Label->setText("Aileron 1");
|
||||
@ -182,7 +182,7 @@ void ConfigFixedWingWidget::setupEnabledControls(QString frameType)
|
||||
}
|
||||
}
|
||||
|
||||
if (frameType == "Vtail" || frameType == "vtail") {
|
||||
if (frameType == "Elevon" || frameType == "elevon") {
|
||||
enableComboBoxes(this, CHANNELBOXNAME, 3, true);
|
||||
} else if (frameType == "aileron" || frameType == "Elevator aileron rudder") {
|
||||
enableComboBoxes(this, CHANNELBOXNAME, 4, true);
|
||||
@ -253,8 +253,8 @@ void ConfigFixedWingWidget::refreshWidgetsValues(QString frameType)
|
||||
setComboCurrentIndex(m_aircraft->fwRudder1ChannelBox, fixed.FixedWingYaw1);
|
||||
setComboCurrentIndex(m_aircraft->fwRudder2ChannelBox, fixed.FixedWingYaw2);
|
||||
|
||||
if (frameType == "FixedWingVtail") {
|
||||
// If the airframe is vtail, restore the slider setting
|
||||
if (frameType == "FixedWingElevon") {
|
||||
// If the airframe is elevon, restore the slider setting
|
||||
// Find the channel number for Elevon1 (FixedWingRoll1)
|
||||
int channel = m_aircraft->fwElevator1ChannelBox->currentIndex() - 1;
|
||||
if (channel > -1) {
|
||||
@ -297,9 +297,9 @@ QString ConfigFixedWingWidget::updateConfigObjectsFromWidgets()
|
||||
m_aircraft->fwStatusLabel->setText(tr("Configuration OK"));
|
||||
|
||||
}
|
||||
else if (m_aircraft->fixedWingType->currentText() == "vtail") {
|
||||
airframeType = "FixedWingVtail";
|
||||
setupFrameVtail(airframeType);
|
||||
else if (m_aircraft->fixedWingType->currentText() == "elevon") {
|
||||
airframeType = "FixedWingElevon";
|
||||
setupFrameElevon(airframeType);
|
||||
|
||||
motor_servo_List << "FixedWingThrottle" << "FixedWingRoll1" << "FixedWingRoll2";
|
||||
setupMotors(motor_servo_List);
|
||||
@ -307,7 +307,7 @@ QString ConfigFixedWingWidget::updateConfigObjectsFromWidgets()
|
||||
GUIConfigDataUnion config = getConfigData();
|
||||
setConfigData(config);
|
||||
|
||||
// Vtail Layout:
|
||||
// Elevon Layout:
|
||||
// pitch roll yaw
|
||||
double mixerMatrix[8][3] = {
|
||||
{ 0, 0, 0 },
|
||||
@ -451,9 +451,9 @@ bool ConfigFixedWingWidget::setupFrameFixedWing(QString airframeType)
|
||||
}
|
||||
|
||||
/**
|
||||
Setup VTail
|
||||
Setup Elevon
|
||||
*/
|
||||
bool ConfigFixedWingWidget::setupFrameVtail(QString airframeType)
|
||||
bool ConfigFixedWingWidget::setupFrameElevon(QString airframeType)
|
||||
{
|
||||
// Check coherence:
|
||||
// Show any config errors in GUI
|
||||
@ -465,7 +465,7 @@ bool ConfigFixedWingWidget::setupFrameVtail(QString airframeType)
|
||||
resetActuators(&config);
|
||||
|
||||
config.fixedwing.FixedWingPitch1 = m_aircraft->fwElevator1ChannelBox->currentIndex();
|
||||
config.fixedwing.FixedWingPitch2 = m_aircraft->fwElevator2ChannelBox->currentIndex();
|
||||
config.fixedwing.FixedWingPitch2 = m_aircraft->fwElevator2ChannelBox->currentIndex();
|
||||
config.fixedwing.FixedWingRoll1 = m_aircraft->fwAileron1ChannelBox->currentIndex();
|
||||
config.fixedwing.FixedWingRoll2 = m_aircraft->fwAileron2ChannelBox->currentIndex();
|
||||
config.fixedwing.FixedWingThrottle = m_aircraft->fwEngineChannelBox->currentIndex();
|
||||
@ -483,6 +483,8 @@ bool ConfigFixedWingWidget::setupFrameVtail(QString airframeType)
|
||||
|
||||
// 1. Assign the servo/motor/none for each channel
|
||||
|
||||
double value;
|
||||
|
||||
// motor
|
||||
int channel = m_aircraft->fwEngineChannelBox->currentIndex() - 1;
|
||||
setMixerType(mixer, channel, VehicleConfig::MIXERTYPE_MOTOR);
|
||||
@ -501,36 +503,27 @@ bool ConfigFixedWingWidget::setupFrameVtail(QString airframeType)
|
||||
channel = m_aircraft->fwAileron1ChannelBox->currentIndex() - 1;
|
||||
if (channel > -1) {
|
||||
setMixerType(mixer, channel, VehicleConfig::MIXERTYPE_SERVO);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL, 127);
|
||||
|
||||
channel = m_aircraft->fwAileron2ChannelBox->currentIndex() - 1;
|
||||
setMixerType(mixer, channel, VehicleConfig::MIXERTYPE_SERVO);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL, -127);
|
||||
}
|
||||
|
||||
// vtail
|
||||
channel = m_aircraft->fwElevator1ChannelBox->currentIndex() - 1;
|
||||
if (channel > -1) {
|
||||
setMixerType(mixer, channel, VehicleConfig::MIXERTYPE_SERVO);
|
||||
double value = (double)(m_aircraft->elevonSlider2->value() * 1.27);
|
||||
value = (double)(m_aircraft->elevonSlider2->value() * 1.27);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_PITCH, value);
|
||||
value = (double)(m_aircraft->elevonSlider1->value() * 1.27);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW, value);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL, value);
|
||||
|
||||
channel = m_aircraft->fwElevator2ChannelBox->currentIndex() - 1;
|
||||
|
||||
channel = m_aircraft->fwAileron2ChannelBox->currentIndex() - 1;
|
||||
setMixerType(mixer, channel, VehicleConfig::MIXERTYPE_SERVO);
|
||||
value = (double)(m_aircraft->elevonSlider2->value() * 1.27);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_PITCH, value);
|
||||
value = (double)(m_aircraft->elevonSlider1->value() * 1.27);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_YAW, -value);
|
||||
setMixerVectorValue(mixer, channel, VehicleConfig::MIXERVECTOR_ROLL, -value);
|
||||
}
|
||||
|
||||
m_aircraft->fwStatusLabel->setText("Mixer generated");
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This function sets up the vtail fixed wing mixer values.
|
||||
This function sets up the elevon fixed wing mixer values.
|
||||
*/
|
||||
bool ConfigFixedWingWidget::setupFixedWingMixer(double mixerFactors[8][3])
|
||||
{
|
||||
@ -603,7 +596,7 @@ bool ConfigFixedWingWidget::throwConfigError(QString airframeType)
|
||||
m_aircraft->fwAileron1ChannelBox->setItemData(0, 0, Qt::DecorationRole); // Reset color palettes
|
||||
m_aircraft->fwRudder1ChannelBox->setItemData(0, 0, Qt::DecorationRole); // Reset color palettes
|
||||
}
|
||||
} else if (airframeType == "FixedWingVtail") {
|
||||
} else if (airframeType == "FixedWingElevon") {
|
||||
if (m_aircraft->fwEngineChannelBox->currentText() == "None") {
|
||||
m_aircraft->fwEngineChannelBox->setItemData(0, pixmap, Qt::DecorationRole); // Set color palettes
|
||||
error = true;
|
||||
@ -611,21 +604,20 @@ bool ConfigFixedWingWidget::throwConfigError(QString airframeType)
|
||||
m_aircraft->fwEngineChannelBox->setItemData(0, 0, Qt::DecorationRole); // Reset color palettes
|
||||
}
|
||||
|
||||
if (m_aircraft->fwElevator1ChannelBox->currentText() == "None") {
|
||||
m_aircraft->fwElevator1ChannelBox->setItemData(0, pixmap, Qt::DecorationRole); // Set color palettes
|
||||
if (m_aircraft->fwAileron1ChannelBox->currentText() == "None") {
|
||||
m_aircraft->fwAileron1ChannelBox->setItemData(0, pixmap, Qt::DecorationRole); // Set color palettes
|
||||
error = true;
|
||||
} else {
|
||||
m_aircraft->fwElevator1ChannelBox->setItemData(0, 0, Qt::DecorationRole); // Reset color palettes
|
||||
m_aircraft->fwAileron1ChannelBox->setItemData(0, 0, Qt::DecorationRole); // Reset color palettes
|
||||
}
|
||||
|
||||
if (m_aircraft->fwElevator2ChannelBox->currentText() == "None") {
|
||||
m_aircraft->fwElevator2ChannelBox->setItemData(0, pixmap, Qt::DecorationRole); // Set color palettes
|
||||
if (m_aircraft->fwAileron2ChannelBox->currentText() == "None") {
|
||||
m_aircraft->fwAileron2ChannelBox->setItemData(0, pixmap, Qt::DecorationRole); // Set color palettes
|
||||
error = true;
|
||||
} else {
|
||||
m_aircraft->fwElevator2ChannelBox->setItemData(0, 0, Qt::DecorationRole); // Reset color palettes
|
||||
m_aircraft->fwAileron2ChannelBox->setItemData(0, 0, Qt::DecorationRole); // Reset color palettes
|
||||
}
|
||||
}
|
||||
|
||||
if (error) {
|
||||
m_aircraft->fwStatusLabel->setText(QString("<font color='red'>ERROR: Assign all necessary channels</font>"));
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
@ -85,7 +85,7 @@ void FixedWingPage::setupFixedWingTypesCombo()
|
||||
ui->typeCombo->addItem(tr("Aileron, Elevator, Rudder"), SetupWizard::FIXED_WING_AILERON);
|
||||
m_descriptions << tr("This setup currently expects a traditional 4 channel setup including two ailerons (not connected by Y adapter), an elevator and a rudder. ");
|
||||
|
||||
ui->typeCombo->addItem(tr("V-Tail"), SetupWizard::FIXED_WING_VTAIL);
|
||||
ui->typeCombo->addItem(tr("Elevon"), SetupWizard::FIXED_WING_ELEVON);
|
||||
m_descriptions << tr("This setup currently expects a flying-wing setup, an elevon plus rudder setup is not yet supported. Setup should include only two elevons, and should explicitly not include a rudder.");
|
||||
}
|
||||
|
||||
@ -105,8 +105,8 @@ void FixedWingPage::updateImageAndDescription()
|
||||
case SetupWizard::FIXED_WING_AILERON:
|
||||
elementId = "aileron";
|
||||
break;
|
||||
case SetupWizard::FIXED_WING_VTAIL:
|
||||
elementId = "vtail";
|
||||
case SetupWizard::FIXED_WING_ELEVON:
|
||||
elementId = "elevon";
|
||||
break;
|
||||
default:
|
||||
elementId = "";
|
||||
|
@ -181,10 +181,10 @@ void OutputCalibrationPage::setupVehicle()
|
||||
|
||||
getWizard()->setActuatorSettings(m_actuatorSettings);
|
||||
break;
|
||||
case SetupWizard::FIXED_WING_VTAIL:
|
||||
case SetupWizard::FIXED_WING_ELEVON:
|
||||
loadSVGFile(FIXEDWING_SVG_FILE);
|
||||
m_wizardIndexes << 0 << 1 << 2 << 2; //2 for servoCenterSlider!
|
||||
m_vehicleElementIds << "v-tail" << "v-tail-frame" << "v-tail-motor" << "v-tail-elevon-left" << "v-tail-elevon-right";
|
||||
m_vehicleElementIds << "elevon" << "elevon-frame" << "elevon-motor" << "elevon-left" << "elevon-right";
|
||||
m_vehicleHighlightElementIndexes << 0 << 1 << 2 << 3;
|
||||
m_channelIndex << 0 << 0 << 1 << 2;
|
||||
|
||||
|
@ -1828,24 +1828,24 @@
|
||||
id="tspan9117"
|
||||
sodipodi:role="line">4</tspan></text>
|
||||
</g></g></g></g><g
|
||||
id="v-tail"><g
|
||||
id="elevon"><g
|
||||
transform="matrix(0,-1,1,0,-384.64316,1166.955)"
|
||||
id="v-tail-frame"><path
|
||||
id="v-tail-propeller-front"
|
||||
id="elevon-frame"><path
|
||||
id="elevon-propeller-front"
|
||||
d="m 304.08975,594.12775 c 0,0 -1.378,6.73 -1.378,8.133 0,1.402 27.274,35.612 66.674,44.868 0,0 20.387,4.486 27,8.693 6.609,4.207 43.81,41.225 71.356,44.027 0,0 1.929,-3.926 1.651,-7.01 0,0 -19.28,-33.539 -74.66,-45.851 0,0 -2.483,-2.384 -5.786,-3.226 -3.309,-0.842 -5.785,-0.842 -8.815,-1.963 -3.032,-1.123 -5.237,-3.365 -7.716,-4.767 -2.48,-1.4 -37.193,-36.736 -68.326,-42.904 z"
|
||||
stroke-miterlimit="10"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.85;stroke:#58595b;stroke-width:1.09500003;stroke-miterlimit:10" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 762.39901,645.93625 c -1.3218,-2.37089 -11.10089,-2.53553 -11.10089,-2.53553 l -198.57731,-3.30311 c -0.065,-0.76158 -0.14034,-1.52317 -0.23153,-2.28475 -0.35919,-2.74106 -0.82543,-5.48211 -1.76267,-8.22262 -0.93961,2.74106 -1.40425,5.48211 -1.76424,8.22262 -0.0873,0.73923 -0.16255,1.47901 -0.22677,2.21824 l -51.97036,-0.86407 c -0.0166,-0.14828 -0.0285,-0.29657 -0.0468,-0.4454 -0.3592,-2.74105 -0.82543,-5.4821 -1.76425,-8.22261 -0.93803,2.74105 -1.40426,5.48211 -1.76266,8.22261 -0.0159,0.12812 -0.0254,0.25677 -0.0404,0.38543 l -102.37154,-1.70307 c 0,0 -45.51043,0.72451 -104.41489,1.66927 -0.0135,-0.11721 -0.0222,-0.23496 -0.0365,-0.35217 -0.3584,-2.74105 -0.82543,-5.48211 -1.76266,-8.22261 -0.93723,2.74105 -1.40427,5.4821 -1.76267,8.22261 -0.0166,0.13629 -0.027,0.27312 -0.0428,0.40941 -16.4872,0.2644 -33.95126,0.54516 -51.71505,0.83137 -0.0626,-0.71634 -0.13558,-1.43322 -0.22201,-2.14956 -0.3584,-2.74105 -0.82544,-5.4821 -1.76266,-8.22261 -0.93724,2.74105 -1.40427,5.4821 -1.76267,8.22261 -0.0888,0.73815 -0.16255,1.47574 -0.22678,2.21389 -95.38351,1.53734 -197.774865,3.20662 -201.74898,3.35435 -7.500232,0.27858 -8.446978,2.55516 -8.446978,2.55516 1.676234,1.99037 8.10285,2.73451 8.10285,2.73451 l 202.277868,5.24169 c 0.0135,0.11503 0.0223,0.2306 0.0356,0.34618 0.35602,2.74105 0.82622,5.4821 1.76821,8.22261 0.94278,-2.74105 1.41298,-5.48211 1.76821,-8.22261 0.0108,-0.0845 0.0166,-0.169 0.0261,-0.25296 l 51.96719,1.34654 c 0.35285,2.67945 0.82146,5.3589 1.74204,8.03835 0.91107,-2.64946 1.37731,-5.29893 1.72936,-7.9484 l 103.3603,2.67836 c 0,0 45.14729,-1.22169 103.54982,-2.81192 0.35285,2.69417 0.82146,5.38779 1.74839,8.08196 0.93881,-2.72579 1.40585,-5.45157 1.76424,-8.17736 16.62992,-0.45303 34.26446,-0.93331 52.18682,-1.42341 0.0166,0.15646 0.0301,0.31292 0.05,0.46884 0.35522,2.74105 0.82542,5.4821 1.76742,8.22261 0.94199,-2.74105 1.41219,-5.48211 1.76821,-8.22261 0.0222,-0.18972 0.038,-0.37889 0.0595,-0.5686 92.90009,-2.5388 192.22286,-5.27822 198.74224,-5.56443 12.4314,-0.54461 11.10961,-2.18881 11.10961,-2.18881 z"
|
||||
id="v-tail-body-front" /><path
|
||||
id="v-tail-body-top"
|
||||
id="elevon-body-front" /><path
|
||||
id="elevon-body-top"
|
||||
d="M 758.26572,921.90078 390.48232,752.60595 24.280794,921.41959 c 0,0 -16.3461921,23.5662 0,38.95716 l 207.654456,-33.54499 1.08595,4.17345 h 5.58399 l 2.0058,-5.57592 5.64646,-0.91332 0.79331,3.05092 h 5.58398 l 1.55813,-4.33145 6.07831,-0.98115 0.66992,2.57334 h 5.58399 l 1.3691,-3.80482 5.30319,-0.85706 0.86528,3.32651 h 5.58399 l 1.66808,-4.63807 97.50926,-15.75167 c 1.22278,14.20565 4.12154,25.1151 6.72688,32.47367 -2.2771,-1.07781 -8.52942,-2.95929 -24.68342,-3.21469 -22.81918,-0.36071 -67.13984,3.96787 -67.13984,3.96787 5.26603,0.72143 41.24789,3.96786 58.36366,4.68928 14.90354,0.62837 30.1353,-3.39216 33.82184,-4.44183 2.46612,6.7331 4.57238,10.21254 4.57238,10.21254 2.0406,-3.14976 3.77353,-6.47771 5.25021,-9.87852 2.51753,1.09513 8.90747,2.82872 24.36703,3.07329 22.82076,0.36071 67.14222,-3.96787 67.14222,-3.96787 -5.26602,-0.72143 -41.24948,-3.96786 -58.36367,-4.68928 -13.52652,-0.56993 -27.31484,2.68804 -32.50968,4.07823 4.60956,-11.25717 6.47615,-23.15786 7.20302,-32.08122 l 97.05923,15.61389 1.73056,4.81048 h 5.58398 l 0.9064,-3.48882 5.19485,0.83469 1.43474,3.98877 h 5.58399 l 0.71421,-2.74575 5.96363,0.9595 1.62774,4.52408 h 5.58476 l 0.84077,-3.22912 5.52624,0.88737 2.07936,5.77791 h 5.58319 l 1.13656,-4.36319 208.148,33.48007 c -0.008,0.003 15.81153,-10.09713 -0.008,-38.47309 z"
|
||||
stroke-miterlimit="10"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke:#000000;stroke-width:0.75538152;stroke-miterlimit:10" /><g
|
||||
transform="matrix(1.0772856,-0.00376046,0.00461932,1.3233316,-25.257811,-274.52805)"
|
||||
id="v-tail-elevon-left-bg"><polygon
|
||||
id="elevon-left-bg"><polygon
|
||||
points="57.043,661.355 280.743,619.442 276.907,598.968 53.208,640.88 "
|
||||
id="polygon15045"
|
||||
style="fill:#ffffff;fill-opacity:1"
|
||||
@ -2057,7 +2057,7 @@
|
||||
id="path8516_1_-1"
|
||||
d="m 151.177,643.718 -4.659,-24.864" /></g></g><g
|
||||
transform="matrix(1.0535326,0,0,1.1242123,-147.09513,303.72284)"
|
||||
id="v-tail-logotype"><g
|
||||
id="elevon-logotype"><g
|
||||
transform="matrix(1.0223231,0,0,1.0223231,154.67431,-51.033292)"
|
||||
id="g2591_1_-7"><path
|
||||
d="m 350.382,473.994 c -1.389,-0.025 -2.601,0.562 -3.125,2.237 l -4.802,16.212 7.722,4.226 3.33,-12.642 c 0.946,-1.46 2.325,-0.898 3.777,-0.017 l 11.449,7.539 c 0.992,0.843 1.67,1.974 1.605,3.785 l -0.707,10.026 c -0.145,1.374 -0.974,2.23 -1.628,2.115 l -18.086,-9.826 -3.199,12.132 1.674,0.604 2.729,0.99 18.065,6.54 c 2.696,0.986 5.107,-1.998 5.197,-6.442 l 0.074,-15.973 c -0.052,-3.921 -1.956,-6.072 -3.859,-7.608 L 355.499,476.1 c -1.258,-1.03 -3.331,-2.073 -5.117,-2.106 z m -15.039,15.532 -3.792,14.76 2.509,0.739 v -0.006 l 13.568,5.086 3.977,-11.537 -16.262,-9.042 z m 1.96,20.32 -3.311,11.193 8.527,4.694 3.446,-13.083 -8.662,-2.804 z"
|
||||
@ -2073,7 +2073,7 @@
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" /></g><g
|
||||
transform="matrix(-1.0772856,-0.00376046,-0.00461932,1.3233316,807.18633,-274.5281)"
|
||||
id="v-tail-elevon-right-bg"><polygon
|
||||
id="elevon-right-bg"><polygon
|
||||
points="57.043,661.355 280.743,619.442 276.907,598.968 53.208,640.88 "
|
||||
id="polygon15045-6"
|
||||
style="fill:#ffffff;fill-opacity:1"
|
||||
@ -2286,8 +2286,8 @@
|
||||
d="m 151.177,643.718 -4.659,-24.864" /></g></g></g><g
|
||||
transform="matrix(0,-1,1,0,-384.64316,1166.955)"
|
||||
inkscape:label="#g6764"
|
||||
id="v-tail-elevon-right"><g
|
||||
id="v-tail-elevon-right-servo"
|
||||
id="elevon-right"><g
|
||||
id="elevon-right-servo"
|
||||
transform="matrix(-0.9961947,0.07095094,0.10706163,0.9961947,688.37113,11.486429)"><g
|
||||
id="g3784-7-1-9"
|
||||
transform="matrix(0.92472097,-0.06586044,0.08090262,0.75278834,-377.36466,442.10945)"><g
|
||||
@ -2360,7 +2360,7 @@
|
||||
height="7.783"
|
||||
id="rect3820-3-1-0" /></g></g></g></g><g
|
||||
style="opacity:0.85"
|
||||
id="v-tail-elevon-right-number"
|
||||
id="elevon-right-number"
|
||||
transform="translate(172.2,498.2)"><g
|
||||
id="g6752"
|
||||
transform="matrix(0,1,-1,0,877.87676,82.067059)"><path
|
||||
@ -2373,7 +2373,7 @@
|
||||
d="m 391.777,484.623 2.31,-0.308 c 0.265,1.309 0.717,2.253 1.354,2.827 0.637,0.578 1.416,0.867 2.332,0.867 1.087,0 2.005,-0.377 2.753,-1.129 0.749,-0.754 1.122,-1.686 1.122,-2.799 0,-1.063 -0.348,-1.938 -1.038,-2.625 -0.693,-0.688 -1.575,-1.033 -2.646,-1.033 -0.438,0 -0.979,0.086 -1.63,0.258 l 0.256,-2.027 c 0.154,0.018 0.279,0.024 0.373,0.024 0.984,0 1.871,-0.257 2.658,-0.771 0.787,-0.516 1.18,-1.307 1.18,-2.374 0,-0.848 -0.285,-1.548 -0.857,-2.104 -0.574,-0.556 -1.313,-0.834 -2.223,-0.834 -0.897,0 -1.646,0.282 -2.246,0.849 -0.599,0.563 -0.984,1.41 -1.156,2.541 l -2.31,-0.411 c 0.282,-1.549 0.923,-2.748 1.925,-3.602 1,-0.852 2.246,-1.275 3.735,-1.275 1.025,0 1.973,0.221 2.836,0.662 0.864,0.438 1.524,1.04 1.983,1.803 0.457,0.762 0.686,1.569 0.686,2.426 0,0.813 -0.219,1.553 -0.654,2.221 -0.436,0.666 -1.082,1.197 -1.937,1.594 1.11,0.256 1.976,0.787 2.591,1.598 0.617,0.808 0.924,1.82 0.924,3.035 0,1.643 -0.598,3.035 -1.795,4.178 -1.199,1.142 -2.714,1.713 -4.545,1.713 -1.651,0 -3.022,-0.492 -4.113,-1.476 -1.092,-0.986 -1.715,-2.261 -1.868,-3.828 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" /></g></g><g
|
||||
id="v-tail-elevon-right-text"
|
||||
id="elevon-right-text"
|
||||
transform="matrix(0.65670352,0.25042639,-0.44267488,0.7693048,946.30843,428.2512)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 62.963,654.311 -1.608,-8.438 6.101,-1.162 0.189,0.995 -4.984,0.95 0.493,2.584 4.667,-0.891 0.189,0.99 -4.668,0.889 0.547,2.873 5.179,-0.985 0.189,0.995 -6.294,1.2 z"
|
||||
@ -2395,8 +2395,8 @@
|
||||
id="path15231-4" /></g></g><g
|
||||
transform="matrix(0,-1,1,0,-384.64316,1166.955)"
|
||||
inkscape:label="#g6851"
|
||||
id="v-tail-elevon-left"><g
|
||||
id="v-tail-elevon-left-servo"
|
||||
id="elevon-left"><g
|
||||
id="elevon-left-servo"
|
||||
transform="matrix(0.9961947,0.07095094,-0.10706163,0.9961947,92.667744,11.48639)"><g
|
||||
id="g3784-7-1"
|
||||
transform="matrix(0.92472097,-0.06586044,0.08090262,0.75278834,-377.36466,442.10945)"><g
|
||||
@ -2469,7 +2469,7 @@
|
||||
height="7.783"
|
||||
id="rect3820-3-1" /></g></g></g></g><g
|
||||
style="opacity:0.85"
|
||||
id="v-tail-elevon-left-number"
|
||||
id="elevon-left-number"
|
||||
transform="matrix(0,1,-1,0,565.3805,729.7352)"><path
|
||||
style="opacity:0.85;fill:#49494b"
|
||||
inkscape:connector-curvature="0"
|
||||
@ -2481,7 +2481,7 @@
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 403.899,769.674 v 2.221 h -12.438 c -0.018,-0.556 0.073,-1.091 0.269,-1.604 0.317,-0.847 0.824,-1.682 1.521,-2.502 0.698,-0.822 1.705,-1.771 3.023,-2.85 2.045,-1.68 3.426,-3.008 4.145,-3.985 0.72,-0.979 1.079,-1.905 1.079,-2.778 0,-0.916 -0.328,-1.688 -0.981,-2.314 -0.654,-0.63 -1.509,-0.944 -2.562,-0.944 -1.112,0 -2.002,0.334 -2.67,1.001 -0.667,0.668 -1.005,1.592 -1.014,2.772 l -2.375,-0.243 c 0.163,-1.771 0.774,-3.121 1.835,-4.05 1.061,-0.931 2.486,-1.395 4.274,-1.395 1.805,0 3.233,0.501 4.286,1.502 1.053,1.001 1.578,2.241 1.578,3.722 0,0.755 -0.152,1.492 -0.461,2.223 -0.311,0.727 -0.82,1.492 -1.535,2.297 -0.713,0.805 -1.899,1.908 -3.562,3.312 -1.387,1.163 -2.275,1.952 -2.668,2.367 -0.393,0.415 -0.719,0.832 -0.976,1.251 l 9.232,-0.003 0,0 z"
|
||||
id="path3969-0" /></g></g><g
|
||||
id="v-tail-elevon-left-text"
|
||||
id="elevon-left-text"
|
||||
transform="matrix(0.72217794,0.04911218,-0.09431939,0.84664784,62.963597,396.92778)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 62.963,654.311 -1.608,-8.438 6.101,-1.162 0.189,0.995 -4.984,0.95 0.493,2.584 4.667,-0.891 0.189,0.99 -4.668,0.889 0.547,2.873 5.179,-0.985 0.189,0.995 -6.294,1.2 z"
|
||||
@ -2503,8 +2503,8 @@
|
||||
id="path15231" /></g></g><g
|
||||
transform="matrix(0,-1,1,0,-384.64316,1166.955)"
|
||||
inkscape:label="#g7121"
|
||||
id="v-tail-motor"><g
|
||||
id="v-tail-motor-number"
|
||||
id="elevon-motor"><g
|
||||
id="elevon-motor-number"
|
||||
transform="matrix(0,1,-1,0,1369.5507,587.49062)"><g
|
||||
style="opacity:0.72250001"
|
||||
id="g5219-7-3"
|
||||
@ -2523,7 +2523,7 @@
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 252.11,629.086 h -2.309 v -14.723 c -0.557,0.529 -1.285,1.062 -2.189,1.592 -0.902,0.531 -1.713,0.929 -2.432,1.193 v -2.232 c 1.291,-0.607 2.421,-1.344 3.389,-2.208 0.967,-0.864 1.65,-1.702 2.053,-2.516 h 1.488 v 18.894 z"
|
||||
id="path3961-7-5-8" /></g></g></g><g
|
||||
id="v-tail-motor-symbol"
|
||||
id="elevon-motor-symbol"
|
||||
transform="matrix(0,1,-1,0,899.55706,258.61068)"><path
|
||||
style="opacity:0.425;fill:#b2c7e7"
|
||||
inkscape:connector-curvature="0"
|
||||
@ -2552,4 +2552,4 @@
|
||||
style="fill:#ffffff"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 252.11,629.086 h -2.309 v -14.723 c -0.557,0.529 -1.285,1.062 -2.189,1.592 -0.902,0.531 -1.713,0.929 -2.432,1.193 v -2.232 c 1.291,-0.607 2.421,-1.344 3.389,-2.208 0.967,-0.864 1.65,-1.702 2.053,-2.516 h 1.488 v 18.894 z"
|
||||
id="path3961-7-5" /></g></g></g></g></g></svg>
|
||||
id="path3961-7-5" /></g></g></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
Loading…
x
Reference in New Issue
Block a user