diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 27c13926b..6a41ef9c1 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,3 +1,67 @@
+Release Notes - OpenPilot - Version RELEASE-15.05
+Fully autonomous flight is now possible with autotakeoff and landing as flight modes available to path plans.
+An all new implementation of altitude vario provides improved altitude maintenance and smoother flight.
+A new RateTrainer mode for beginners and aerial photography make it easier to learn this mode my limiting the pitch and roll extents.
+4CH transmitters for multirotor and 2CH for ground is now supported.
+It is now easier to takeoff with an improved axislock on yaw implementation.
+Full speed flight just got faster with new motor constraints that maintain your ability to enact roll without requiring a upper throttle limit.
+Setup on GPS just got easier. See the wiki for details.
+New control protocols and support for due telemtry and OSD programing have been added.
+
+The full list of bugfixes in this release is accessible here:
+
+** Bug
+ * [OP-1691] - PIOS_DELAY_WaitmS() in RFM22B causes jitter
+ * [OP-1756] - Add option to Vehicle Setup Wizard to calibrate all motor outputs at the same time.
+ * [OP-1778] - resolve win_sdk_install.sh issue with https://
+ * [OP-1793] - Fixes for Sensor module
+ * [OP-1794] - AxisLock windup not cleared with low throttle while armed
+ * [OP-1834] - Piro Comp - adverse effect in Atti/Ratti Modes
+ * [OP-1841] - Serial telemetry is not reliable
+ * [OP-1855] - Limit parsing error in logs when starting GCS
+ * [OP-1858] - PathPlanner AutoTakeoff fixes
+ * [OP-1867] - PathPlanner AutoLand simplification
+ * [OP-1869] - Allow Analog Airspeed scale
+ * [OP-1872] - Vehicle Wiz Tricopter tail servo settings don't save
+
+
+** Improvement
+ * [OP-1289] - Need Revo to send two telemetry streams for OSD and GCS
+ * [OP-1734] - Clarify the need of reversing servo in FW vehicle wizard
+ * [OP-1736] - Make package label something more meaningful than the date.
+ * [OP-1739] - Add GNSS (GPS/GLONASS) selection to UBX autoconf
+ * [OP-1750] - Revo state estimation CPU optimization
+ * [OP-1776] - Performance optimizations for UAVTalk telemetry
+ * [OP-1783] - Fall back PathPlanner flight mode to PH with config warning if no plan
+ * [OP-1791] - Change the description of the stabilization modes
+ * [OP-1796] - Upgrade GCS to qt 5.4.1
+ * [OP-1797] - Improve GCS workspace layout management reactivity
+ * [OP-1798] - GCS ophid plugin is too verbose
+ * [OP-1802] - Throttle filterstationary fake pos/vel data rate
+ * [OP-1808] - Make the flight mode switch step in transmitter setup wizard to be optional
+ * [OP-1814] - Reset Button for mAH used
+ * [OP-1828] - Changes ADC module to support other pins as optional analog inputs
+ * [OP-1835] - Add motor constraints in place of overhead throttle buffer for enhanced stability and power.
+ * [OP-1837] - Add support for Multiplex SRXL protocol
+ * [OP-1840] - GPS serlal port needed features
+ * [OP-1844] - Create a vagrant environment that contains all the bits for Android development, including Android.
+ * [OP-1848] - Rewrite AltVario/Hold in C++ for functional improvements
+ * [OP-1852] - Include version number in window title bar.
+ * [OP-1874] - Various improvements to led notifications
+
+** New Feature
+ * [OP-1696] - PathFollower C++ Rewrite: Autonomous Landing, Velocity Roam, RTBL, GroundPathFollower
+ * [OP-1760] - AutoTakeoff
+ * [OP-1769] - Support Ground Vehicles with 2CH receiver and reversible motor
+ * [OP-1781] - Ground Input Channel Configuration
+ * [OP-1803] - Create UAVTalk objects for receiver signal quality
+ * [OP-1818] - Update OP toolchain for compiling osgearth
+ * [OP-1832] - Need method to get default UAV Object settings in Java UAVObjects
+ * [OP-1849] - Support programming/update of minimosd using USB VCP port
+ * [OP-1863] - RateTrainer mode - add maxpitch for beginners and aerial photography
+
+
+
--- RELEASE-15.02.02 ---
This release fixes a bug that prevents revo onboard mag to work correctly.
diff --git a/flight/libraries/inc/plans.h b/flight/libraries/inc/plans.h
index 64159ea36..c241dd85d 100644
--- a/flight/libraries/inc/plans.h
+++ b/flight/libraries/inc/plans.h
@@ -67,7 +67,7 @@ void plan_setup_AutoTakeoff();
/**
* @brief setup pathplanner/pathfollower for braking
*/
-void plan_setup_assistedcontrol(uint8_t timeout_occurred);
+void plan_setup_assistedcontrol();
#define PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_NORTH 0
#define PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_EAST 1
diff --git a/flight/libraries/plans.c b/flight/libraries/plans.c
index 4005a9d6f..7055744b8 100644
--- a/flight/libraries/plans.c
+++ b/flight/libraries/plans.c
@@ -615,7 +615,7 @@ void plan_run_VelocityRoam()
// avoid brake then hold sequence to continue descent.
plan_setup_land_from_velocityroam();
} else {
- plan_setup_assistedcontrol(false);
+ plan_setup_assistedcontrol();
}
}
// otherwise nothing to do in braking/hold modes
@@ -824,7 +824,7 @@ void plan_run_AutoCruise()
#define ASSISTEDCONTROL_TIMETOSTOP_MAXIMUM 9.0f // seconds
#define ASSISTEDCONTROL_DELAY_TO_BRAKE 1.0f // seconds
#define ASSISTEDCONTROL_TIMEOUT_MULTIPLIER 2.0f // actual deceleration rate can be 50% of desired...timeouts need to cater for this
-void plan_setup_assistedcontrol(uint8_t timeout_occurred)
+void plan_setup_assistedcontrol()
{
PositionStateData positionState;
@@ -832,75 +832,55 @@ void plan_setup_assistedcontrol(uint8_t timeout_occurred)
PathDesiredData pathDesired;
FlightStatusAssistedControlStateOptions assistedControlFlightMode;
- FlightStatusAssistedControlStateGet(&assistedControlFlightMode);
- if (timeout_occurred) {
- FlightStatusFlightModeOptions flightMode;
- FlightStatusFlightModeGet(&flightMode);
- if (flightMode == FLIGHTSTATUS_FLIGHTMODE_LAND) {
- plan_setup_land_helper(&pathDesired);
- } else {
- pathDesired.End.North = positionState.North;
- pathDesired.End.East = positionState.East;
- pathDesired.End.Down = positionState.Down;
- pathDesired.Start.North = positionState.North;
- pathDesired.Start.East = positionState.East;
- pathDesired.Start.Down = positionState.Down;
- pathDesired.StartingVelocity = 0.0f;
- pathDesired.EndingVelocity = 0.0f;
- pathDesired.Mode = PATHDESIRED_MODE_GOTOENDPOINT;
- }
- assistedControlFlightMode = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_HOLD;
- } else {
- VelocityStateData velocityState;
- VelocityStateGet(&velocityState);
- float brakeRate;
- VtolPathFollowerSettingsBrakeRateGet(&brakeRate);
- if (brakeRate < ASSISTEDCONTROL_BRAKERATE_MINIMUM) {
- brakeRate = ASSISTEDCONTROL_BRAKERATE_MINIMUM; // set a minimum to avoid a divide by zero potential below
- }
- // Calculate the velocity
- float velocity = velocityState.North * velocityState.North + velocityState.East * velocityState.East + velocityState.Down * velocityState.Down;
- velocity = sqrtf(velocity);
-
- // Calculate the desired time to zero velocity.
- float time_to_stopped = ASSISTEDCONTROL_DELAY_TO_BRAKE; // we allow at least 0.5 seconds to rotate to a brake angle.
- time_to_stopped += velocity / brakeRate;
-
- // Sanity check the brake rate by ensuring that the time to stop is within a range.
- if (time_to_stopped < ASSISTEDCONTROL_TIMETOSTOP_MINIMUM) {
- time_to_stopped = ASSISTEDCONTROL_TIMETOSTOP_MINIMUM;
- } else if (time_to_stopped > ASSISTEDCONTROL_TIMETOSTOP_MAXIMUM) {
- time_to_stopped = ASSISTEDCONTROL_TIMETOSTOP_MAXIMUM;
- }
-
- // calculate the distance we will travel
- float north_delta = velocityState.North * ASSISTEDCONTROL_DELAY_TO_BRAKE; // we allow at least 0.5s to rotate to brake angle
- north_delta += (time_to_stopped - ASSISTEDCONTROL_DELAY_TO_BRAKE) * 0.5f * velocityState.North; // area under the linear deceleration plot
- float east_delta = velocityState.East * ASSISTEDCONTROL_DELAY_TO_BRAKE; // we allow at least 0.5s to rotate to brake angle
- east_delta += (time_to_stopped - ASSISTEDCONTROL_DELAY_TO_BRAKE) * 0.5f * velocityState.East; // area under the linear deceleration plot
- float down_delta = velocityState.Down * ASSISTEDCONTROL_DELAY_TO_BRAKE;
- down_delta += (time_to_stopped - ASSISTEDCONTROL_DELAY_TO_BRAKE) * 0.5f * velocityState.Down; // area under the linear deceleration plot
- float net_delta = east_delta * east_delta + north_delta * north_delta + down_delta * down_delta;
- net_delta = sqrtf(net_delta);
-
- pathDesired.Start.North = positionState.North;
- pathDesired.Start.East = positionState.East;
- pathDesired.Start.Down = positionState.Down;
- pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_NORTH] = velocityState.North;
- pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_EAST] = velocityState.East;
- pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_DOWN] = velocityState.Down;
-
- pathDesired.End.North = positionState.North + north_delta;
- pathDesired.End.East = positionState.East + east_delta;
- pathDesired.End.Down = positionState.Down + down_delta;
-
- pathDesired.StartingVelocity = velocity;
- pathDesired.EndingVelocity = 0.0f;
- pathDesired.Mode = PATHDESIRED_MODE_BRAKE;
- pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_TIMEOUT] = time_to_stopped * ASSISTEDCONTROL_TIMEOUT_MULTIPLIER;
- assistedControlFlightMode = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_BRAKE;
+ VelocityStateData velocityState;
+ VelocityStateGet(&velocityState);
+ float brakeRate;
+ VtolPathFollowerSettingsBrakeRateGet(&brakeRate);
+ if (brakeRate < ASSISTEDCONTROL_BRAKERATE_MINIMUM) {
+ brakeRate = ASSISTEDCONTROL_BRAKERATE_MINIMUM; // set a minimum to avoid a divide by zero potential below
}
+ // Calculate the velocity
+ float velocity = velocityState.North * velocityState.North + velocityState.East * velocityState.East + velocityState.Down * velocityState.Down;
+ velocity = sqrtf(velocity);
+
+ // Calculate the desired time to zero velocity.
+ float time_to_stopped = ASSISTEDCONTROL_DELAY_TO_BRAKE; // we allow at least 0.5 seconds to rotate to a brake angle.
+ time_to_stopped += velocity / brakeRate;
+
+ // Sanity check the brake rate by ensuring that the time to stop is within a range.
+ if (time_to_stopped < ASSISTEDCONTROL_TIMETOSTOP_MINIMUM) {
+ time_to_stopped = ASSISTEDCONTROL_TIMETOSTOP_MINIMUM;
+ } else if (time_to_stopped > ASSISTEDCONTROL_TIMETOSTOP_MAXIMUM) {
+ time_to_stopped = ASSISTEDCONTROL_TIMETOSTOP_MAXIMUM;
+ }
+
+ // calculate the distance we will travel
+ float north_delta = velocityState.North * ASSISTEDCONTROL_DELAY_TO_BRAKE; // we allow at least 0.5s to rotate to brake angle
+ north_delta += (time_to_stopped - ASSISTEDCONTROL_DELAY_TO_BRAKE) * 0.5f * velocityState.North; // area under the linear deceleration plot
+ float east_delta = velocityState.East * ASSISTEDCONTROL_DELAY_TO_BRAKE; // we allow at least 0.5s to rotate to brake angle
+ east_delta += (time_to_stopped - ASSISTEDCONTROL_DELAY_TO_BRAKE) * 0.5f * velocityState.East; // area under the linear deceleration plot
+ float down_delta = velocityState.Down * ASSISTEDCONTROL_DELAY_TO_BRAKE;
+ down_delta += (time_to_stopped - ASSISTEDCONTROL_DELAY_TO_BRAKE) * 0.5f * velocityState.Down; // area under the linear deceleration plot
+ float net_delta = east_delta * east_delta + north_delta * north_delta + down_delta * down_delta;
+ net_delta = sqrtf(net_delta);
+
+ pathDesired.Start.North = positionState.North;
+ pathDesired.Start.East = positionState.East;
+ pathDesired.Start.Down = positionState.Down;
+ pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_NORTH] = velocityState.North;
+ pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_EAST] = velocityState.East;
+ pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_STARTVELOCITYVECTOR_DOWN] = velocityState.Down;
+
+ pathDesired.End.North = positionState.North + north_delta;
+ pathDesired.End.East = positionState.East + east_delta;
+ pathDesired.End.Down = positionState.Down + down_delta;
+
+ pathDesired.StartingVelocity = velocity;
+ pathDesired.EndingVelocity = 0.0f;
+ pathDesired.Mode = PATHDESIRED_MODE_BRAKE;
+ pathDesired.ModeParameters[PATHDESIRED_MODEPARAMETER_BRAKE_TIMEOUT] = time_to_stopped * ASSISTEDCONTROL_TIMEOUT_MULTIPLIER;
+ assistedControlFlightMode = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_BRAKE;
FlightStatusAssistedControlStateSet(&assistedControlFlightMode);
PathDesiredSet(&pathDesired);
}
diff --git a/flight/modules/ManualControl/manualcontrol.c b/flight/modules/ManualControl/manualcontrol.c
index ca7ebeba5..633e390e6 100644
--- a/flight/modules/ManualControl/manualcontrol.c
+++ b/flight/modules/ManualControl/manualcontrol.c
@@ -59,8 +59,8 @@
#define CBTASK_PRIORITY CALLBACK_TASK_FLIGHTCONTROL
#define ASSISTEDCONTROL_NEUTRALTHROTTLERANGE_FACTOR 0.2f
-#define ASSISTEDCONTROL_BRAKETHRUST_DEADBAND_FACTOR_LO 0.92f
-#define ASSISTEDCONTROL_BRAKETHRUST_DEADBAND_FACTOR_HI 1.08f
+#define ASSISTEDCONTROL_BRAKETHRUST_DEADBAND_FACTOR_LO 0.96f
+#define ASSISTEDCONTROL_BRAKETHRUST_DEADBAND_FACTOR_HI 1.04f
// defined handlers
@@ -242,7 +242,7 @@ static void manualControlTask(void)
// set assist mode to none to avoid an assisted flight mode position
// carrying over and impacting a newly selected non-assisted flight mode pos
newFlightModeAssist = FLIGHTSTATUS_FLIGHTMODEASSIST_NONE;
- // The following are eqivalent to none effectively. Code should always
+ // The following are equivalent to none effectively. Code should always
// check the flightmodeassist state.
newAssistedControlState = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_PRIMARY;
newAssistedThrottleState = FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL;
@@ -264,6 +264,16 @@ static void manualControlTask(void)
#ifndef PIOS_EXCLUDE_ADVANCED_FEATURES
newFlightModeAssist = isAssistedFlightMode(position, newMode, &modeSettings);
+
+ if (newFlightModeAssist != flightStatus.FlightModeAssist) {
+ // On change of assist mode reinitialise control state. This is required
+ // for the scenario where a flight position change reuses a flight mode
+ // but adds assistedcontrol.
+ newAssistedControlState = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_PRIMARY;
+ newAssistedThrottleState = FLIGHTSTATUS_ASSISTEDTHROTTLESTATE_MANUAL;
+ }
+
+
if (newFlightModeAssist) {
// assess roll/pitch state
bool flagRollPitchHasInput = (fabsf(cmd.Roll) > 0.0f || fabsf(cmd.Pitch) > 0.0f);
@@ -301,7 +311,7 @@ static void manualControlTask(void)
// retain thrust cmd for later comparison with actual in braking
thrustAtBrakeStart = cmd.Thrust;
- // calculate hi and low value of +-8% as a mini-deadband
+ // calculate hi and low value of +-4% as a mini-deadband
// for use in auto-override in brake sequence
thrustLo = ASSISTEDCONTROL_BRAKETHRUST_DEADBAND_FACTOR_LO * thrustAtBrakeStart;
thrustHi = ASSISTEDCONTROL_BRAKETHRUST_DEADBAND_FACTOR_HI * thrustAtBrakeStart;
diff --git a/flight/modules/ManualControl/pathfollowerhandler.c b/flight/modules/ManualControl/pathfollowerhandler.c
index 86912a168..dc71cebf3 100644
--- a/flight/modules/ManualControl/pathfollowerhandler.c
+++ b/flight/modules/ManualControl/pathfollowerhandler.c
@@ -72,7 +72,7 @@ void pathFollowerHandler(bool newinit)
if ((flightModeAssist != FLIGHTSTATUS_FLIGHTMODEASSIST_NONE) &&
(assistedControlFlightMode == FLIGHTSTATUS_ASSISTEDCONTROLSTATE_PRIMARY)) {
// Switch from primary (just entered this PH flight mode) into brake
- plan_setup_assistedcontrol(false);
+ plan_setup_assistedcontrol();
} else {
plan_setup_positionHold();
}
@@ -116,7 +116,7 @@ void pathFollowerHandler(bool newinit)
case FLIGHTSTATUS_FLIGHTMODE_STABILIZED6:
if (assistedControlFlightMode == FLIGHTSTATUS_ASSISTEDCONTROLSTATE_BRAKE) {
// Just initiated braking after returning from stabi control
- plan_setup_assistedcontrol(false);
+ plan_setup_assistedcontrol();
}
break;
diff --git a/flight/modules/PathFollower/vtolbrakecontroller.cpp b/flight/modules/PathFollower/vtolbrakecontroller.cpp
index 862011057..ffa492461 100644
--- a/flight/modules/PathFollower/vtolbrakecontroller.cpp
+++ b/flight/modules/PathFollower/vtolbrakecontroller.cpp
@@ -193,6 +193,21 @@ void VtolBrakeController::UpdateVelocityDesired()
if (!mManualThrust) {
controlDown.UpdatePositionSetpoint(positionState.Down);
}
+
+
+ FlightStatusFlightModeAssistOptions flightModeAssist;
+ FlightStatusFlightModeAssistGet(&flightModeAssist);
+ if (flightModeAssist != FLIGHTSTATUS_FLIGHTMODEASSIST_NONE) {
+ // Notify manualcommand via setting hold state in flightstatus assistedcontrolstate
+ FlightStatusAssistedControlStateOptions assistedControlFlightMode;
+ FlightStatusAssistedControlStateGet(&assistedControlFlightMode);
+ // sanity check that we are in brake state according to flight status, which means
+ // we are being used for gpsassist
+ if (assistedControlFlightMode == FLIGHTSTATUS_ASSISTEDCONTROLSTATE_BRAKE) {
+ assistedControlFlightMode = FLIGHTSTATUS_ASSISTEDCONTROLSTATE_HOLD;
+ FlightStatusAssistedControlStateSet(&assistedControlFlightMode);
+ }
+ }
}
// Update position state and control position to create inputs to velocity control
diff --git a/ground/openpilotgcs/share/openpilotgcs/pfd/default/Info.qml b/ground/openpilotgcs/share/openpilotgcs/pfd/default/Info.qml
index d1a15e284..2bf543903 100644
--- a/ground/openpilotgcs/share/openpilotgcs/pfd/default/Info.qml
+++ b/ground/openpilotgcs/share/openpilotgcs/pfd/default/Info.qml
@@ -4,7 +4,7 @@ Item {
id: info
property variant sceneSize
- // Uninitialised, Ok, Warning, Critical, Error
+ // Uninitialised, Ok, Warning, Critical, Error
property variant batColors : ["black", "green", "orange", "red", "red"]
//
@@ -15,16 +15,16 @@ Item {
property real posNorth_old
property real total_distance
property real total_distance_km
-
+
property bool init_dist: false
-
- property real home_heading: 180/3.1415 * Math.atan2(TakeOffLocation.East - PositionState.East,
+
+ property real home_heading: 180/3.1415 * Math.atan2(TakeOffLocation.East - PositionState.East,
TakeOffLocation.North - PositionState.North)
property real home_distance: Math.sqrt(Math.pow((TakeOffLocation.East - PositionState.East),2) +
Math.pow((TakeOffLocation.North - PositionState.North),2))
- property real wp_heading: 180/3.1415 * Math.atan2(PathDesired.End_East - PositionState.East,
+ property real wp_heading: 180/3.1415 * Math.atan2(PathDesired.End_East - PositionState.East,
PathDesired.End_North - PositionState.North)
property real wp_distance: Math.sqrt(Math.pow((PathDesired.End_East - PositionState.East),2) +
@@ -34,28 +34,28 @@ Item {
property real home_eta: (home_distance > 0 && current_velocity > 0 ? Math.round(home_distance/current_velocity) : 0)
property real home_eta_h: (home_eta > 0 ? Math.floor(home_eta / 3600) : 0 )
- property real home_eta_m: (home_eta > 0 ? Math.floor((home_eta - home_eta_h*3600)/60) : 0)
+ property real home_eta_m: (home_eta > 0 ? Math.floor((home_eta - home_eta_h*3600)/60) : 0)
property real home_eta_s: (home_eta > 0 ? Math.floor(home_eta - home_eta_h*3600 - home_eta_m*60) : 0)
property real wp_eta: (wp_distance > 0 && current_velocity > 0 ? Math.round(wp_distance/current_velocity) : 0)
property real wp_eta_h: (wp_eta > 0 ? Math.floor(wp_eta / 3600) : 0 )
- property real wp_eta_m: (wp_eta > 0 ? Math.floor((wp_eta - wp_eta_h*3600)/60) : 0)
+ property real wp_eta_m: (wp_eta > 0 ? Math.floor((wp_eta - wp_eta_h*3600)/60) : 0)
property real wp_eta_s: (wp_eta > 0 ? Math.floor(wp_eta - wp_eta_h*3600 - wp_eta_m*60) : 0)
- function reset_distance(){
+ function reset_distance() {
total_distance = 0;
}
function compute_distance(posEast,posNorth) {
- if (total_distance == 0 && !init_dist){init_dist = "true"; posEast_old = posEast; posNorth_old = posNorth;}
+ if (total_distance == 0 && !init_dist) { init_dist = "true"; posEast_old = posEast; posNorth_old = posNorth; }
if (posEast > posEast_old+3 || posEast < posEast_old-3 || posNorth > posNorth_old+3 || posNorth < posNorth_old-3) {
- total_distance += Math.sqrt(Math.pow((posEast - posEast_old ),2) + Math.pow((posNorth - posNorth_old),2));
- total_distance_km = total_distance / 1000;
+ total_distance += Math.sqrt(Math.pow((posEast - posEast_old ),2) + Math.pow((posNorth - posNorth_old),2));
+ total_distance_km = total_distance / 1000;
- posEast_old = posEast;
- posNorth_old = posNorth;
- return total_distance;
- }
+ posEast_old = posEast;
+ posNorth_old = posNorth;
+ return total_distance;
+ }
}
function formatTime(time) {
@@ -68,7 +68,7 @@ Item {
}
// End Functions
- //
+ //
// Start Drawing
SvgElementImage {
@@ -76,24 +76,40 @@ Item {
sceneSize: info.sceneSize
elementName: "info-bg"
width: parent.width
+ opacity: qmlWidget.terrainEnabled ? 0.3 : 1
}
- //
+ //
// GPS Info (Top)
- //
+ //
+
+ property real bar_width: (info_bg.height + info_bg.width) / 110
+ property int satsInView: String(GPSSatellites.SatsInView).charCodeAt(0)
+ property variant gps_tooltip: "Altitude : "+GPSPositionSensor.Altitude.toFixed(2) +"m\n"+
+ "H/V/P DOP : "+GPSPositionSensor.HDOP.toFixed(2)+"/"+GPSPositionSensor.VDOP.toFixed(2)+"/"+GPSPositionSensor.PDOP.toFixed(2)+"m\n"+
+ satsInView+" Sats in view"
Repeater {
id: satNumberBar
-
+ //smooth: true
// hack, qml/js treats qint8 as a char, necessary to convert it back to integer value
property int satNumber : String(GPSPositionSensor.Satellites).charCodeAt(0)
- model: 10
- SvgElementImage {
- property int minSatNumber : index+1
- elementName: "gps" + minSatNumber
- sceneSize: info.sceneSize
- visible: satNumberBar.satNumber >= minSatNumber
+ model: 13
+ Rectangle {
+ property int minSatNumber : index
+ width: Math.round(bar_width)
+ radius: width / 4
+
+ TooltipArea {
+ text: gps_tooltip
+ }
+
+ x: Math.round((bar_width*4.5) + (bar_width * 1.6 * index))
+ height: bar_width * index * 0.6
+ y: (bar_width*8) - height
+ color: "green"
+ opacity: satNumberBar.satNumber >= minSatNumber ? 1 : 0.4
}
}
@@ -101,21 +117,38 @@ Item {
sceneSize: info.sceneSize
elementName: "gps-mode-text"
+ TooltipArea {
+ text: gps_tooltip
+ }
+
Text {
- text: ["NO GPS", "NO FIX", "FIX 2D", "FIX 3D"][GPSPositionSensor.Status]
+ property int satNumber : String(GPSPositionSensor.Satellites).charCodeAt(0)
+
+ text: [satNumber > 5 ? " " + satNumber.toString() + " sats - " : ""] +
+ ["NO GPS", "NO FIX", "2D", "3D"][GPSPositionSensor.Status]
anchors.centerIn: parent
- font.pixelSize: Math.floor(parent.height*1.3)
+ font.pixelSize: parent.height*1.3
font.family: pt_bold.name
font.weight: Font.DemiBold
color: "white"
}
}
- //
+ SvgElementImage {
+ sceneSize: info.sceneSize
+ elementName: "gps-icon"
+ width: scaledBounds.width * sceneItem.width
+ height: scaledBounds.height * sceneItem.height
+
+ TooltipArea {
+ text: gps_tooltip
+ }
+ }
+
// Waypoint Info (Top)
// Only visible when PathPlan is active (WP loaded)
- SvgElementImage {
+ SvgElementImage {
sceneSize: info.sceneSize
elementName: "waypoint-labels"
width: scaledBounds.width * sceneItem.width
@@ -257,7 +290,6 @@ Item {
}
}
- //
// Battery Info (Top)
// Only visible when PathPlan not active and Battery module enabled
@@ -265,7 +297,7 @@ Item {
id: topbattery_voltamp_bg
sceneSize: info.sceneSize
elementName: "topbattery-label-voltamp-bg"
-
+
width: scaledBounds.width * sceneItem.width
height: scaledBounds.height * sceneItem.height
y: scaledBounds.y * sceneItem.height
@@ -278,7 +310,7 @@ Item {
}
}
- SvgElementImage {
+ SvgElementImage {
sceneSize: info.sceneSize
elementName: "topbattery-labels"
width: scaledBounds.width * sceneItem.width
@@ -291,7 +323,7 @@ Item {
id: topbattery_volt
sceneSize: info.sceneSize
elementName: "topbattery-volt-text"
-
+
width: scaledBounds.width * sceneItem.width
height: scaledBounds.height * sceneItem.height
y: scaledBounds.y * sceneItem.height
@@ -354,6 +386,10 @@ Item {
Rectangle {
anchors.fill: parent
+ TooltipArea {
+ text: "Reset consumed energy"
+ }
+
MouseArea {
id: reset_consumed_energy_mouseArea;
anchors.fill: parent;
@@ -382,11 +418,10 @@ Item {
}
}
- //
// Default counter
// Only visible when PathPlan not active
- SvgElementImage {
+ SvgElementImage {
sceneSize: info.sceneSize
elementName: "topbattery-total-distance-label"
width: scaledBounds.width * sceneItem.width
@@ -403,6 +438,10 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
visible: SystemAlarms.Alarm_PathPlan != 1
+ TooltipArea {
+ text: "Reset distance counter"
+ }
+
MouseArea { id: total_dist_mouseArea2; anchors.fill: parent; cursorShape: Qt.PointingHandCursor; onClicked: reset_distance()}
Text {
@@ -423,13 +462,6 @@ Item {
}
}
-
- SvgElementImage {
- id: mask_SatBar
- elementName: "satbar-mask"
- sceneSize: info.sceneSize
- }
-
//
// Home info (visible after arming)
//
@@ -438,19 +470,22 @@ Item {
id: home_bg
elementName: "home-bg"
sceneSize: info.sceneSize
+ x: Math.floor(scaledBounds.x * sceneItem.width)
y: Math.floor(scaledBounds.y * sceneItem.height)
- states: State {
+ opacity: qmlWidget.terrainEnabled ? 0.6 : 1
+
+ states: State {
name: "fading"
- when: TakeOffLocation.Status !== 0
- PropertyChanges { target: home_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + home_bg.width; }
+ when: TakeOffLocation.Status == 0
+ PropertyChanges { target: home_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - home_bg.width; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; duration: 800 }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
SvgElementPositionItem {
@@ -461,17 +496,18 @@ Item {
height: scaledBounds.height * sceneItem.height
y: Math.floor(scaledBounds.y * sceneItem.height)
- states: State {
+ states: State {
name: "fading_heading"
- when: TakeOffLocation.Status !== 0
- PropertyChanges { target: home_heading_text; x: Math.floor(scaledBounds.x * sceneItem.width) + home_bg.width; }
+ when: TakeOffLocation.Status == 0
+ PropertyChanges { target: home_heading_text; x: Math.floor(scaledBounds.x * sceneItem.width) - home_bg.width; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; duration: 800 }
+ }
+ }
+
Text {
text: " "+home_heading.toFixed(1)+"°"
anchors.centerIn: parent
@@ -491,17 +527,17 @@ Item {
height: scaledBounds.height * sceneItem.height
y: Math.floor(scaledBounds.y * sceneItem.height)
- states: State {
+ states: State {
name: "fading_distance"
- when: TakeOffLocation.Status !== 0
- PropertyChanges { target: home_distance_text; x: Math.floor(scaledBounds.x * sceneItem.width) + home_bg.width; }
+ when: TakeOffLocation.Status == 0
+ PropertyChanges { target: home_distance_text; x: Math.floor(scaledBounds.x * sceneItem.width) - home_bg.width; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; duration: 800 }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
text: home_distance.toFixed(0)+" m"
@@ -522,17 +558,17 @@ Item {
height: scaledBounds.height * sceneItem.height
y: Math.floor(scaledBounds.y * sceneItem.height)
- states: State {
+ states: State {
name: "fading_distance"
- when: TakeOffLocation.Status !== 0
- PropertyChanges { target: home_eta_text; x: Math.floor(scaledBounds.x * sceneItem.width) + home_bg.width; }
+ when: TakeOffLocation.Status == 0
+ PropertyChanges { target: home_eta_text; x: Math.floor(scaledBounds.x * sceneItem.width) - home_bg.width; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; duration: 800 }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
text: formatTime(home_eta_h) + ":" + formatTime(home_eta_m) + ":" + formatTime(home_eta_s)
diff --git a/ground/openpilotgcs/share/openpilotgcs/pfd/default/Panels.qml b/ground/openpilotgcs/share/openpilotgcs/pfd/default/Panels.qml
index 297924e15..b61fe6c8c 100644
--- a/ground/openpilotgcs/share/openpilotgcs/pfd/default/Panels.qml
+++ b/ground/openpilotgcs/share/openpilotgcs/pfd/default/Panels.qml
@@ -6,7 +6,7 @@ Item {
property real est_flight_time: Math.round(FlightBatteryState.EstimatedFlightTime)
property real est_time_h: (est_flight_time > 0 ? Math.floor(est_flight_time / 3600) : 0 )
- property real est_time_m: (est_flight_time > 0 ? Math.floor((est_flight_time - est_time_h*3600)/60) : 0)
+ property real est_time_m: (est_flight_time > 0 ? Math.floor((est_flight_time - est_time_h*3600)/60) : 0)
property real est_time_s: (est_flight_time > 0 ? Math.floor(est_flight_time - est_time_h*3600 - est_time_m*60) : 0)
function formatTime(time) {
@@ -23,25 +23,32 @@ Item {
//
property bool show_panels: false
- property bool hide_display_rc: false
- property bool hide_display_bat: false
- property bool hide_display_oplm: false
+ property bool display_rc: false
+ property bool display_bat: false
+ property bool display_oplm: false
+ property bool display_sys: false
function close_panels(){
if (show_panels == true)
show_panels = false;
+ else
+ show_panels = true;
}
function hide_display_rcinput(){
show_panels = true;
+ display_oplm = false
+ display_bat = false
rc_input_bg.z = 10
battery_bg.z = -1
oplm_bg.z = -1
- system_bg.z = -1
+ system_bg.z = -1
}
function hide_display_battery(){
show_panels = true;
+ display_oplm = false
+ display_bat = true
rc_input_bg.z = 10
battery_bg.z = 20
oplm_bg.z = -1
@@ -50,6 +57,8 @@ Item {
function hide_display_oplink(){
show_panels = true;
+ display_oplm = true
+ display_bat = false
rc_input_bg.z = 10
battery_bg.z = 20
oplm_bg.z = 30
@@ -58,13 +67,15 @@ Item {
function hide_display_system(){
show_panels = true;
+ display_oplm = false
+ display_bat = false
rc_input_bg.z = 10
battery_bg.z = 20
oplm_bg.z = 30
system_bg.z = 40
}
- // Uninitialised, Ok, Warning, Critical, Error
+ // Uninitialised, Ok, Warning, Critical, Error
property variant batColors : ["#2c2929", "green", "orange", "red", "red"]
property real smeter_angle
@@ -86,16 +97,16 @@ Item {
// Hack : check if telemetry is active. Works with real link and log replay
- function telemetry_check(){
+ function telemetry_check() {
telemetry_sum = OPLinkStatus.RXRate + OPLinkStatus.RXRate
-
- if (telemetry_sum != telemetry_sum_old || OPLinkStatus.LinkState == 4){
+
+ if (telemetry_sum != telemetry_sum_old || OPLinkStatus.LinkState == 4) {
telemetry_link = 1
} else {
telemetry_link = 0
}
telemetry_sum_old = telemetry_sum
- }
+ }
Timer {
id: telemetry_activity
@@ -163,11 +174,22 @@ Item {
}
// End Functions
- //
+ //
// Start Drawing
//
- // Close panel
+ // Animation properties
+ //
+
+ property double offset_value: close_bg.width * 0.85
+
+ property int anim_type: Easing.InOutExpo //Easing.InOutSine Easing.InOutElastic
+ property real anim_amplitude: 1.2
+ property real anim_period: 2
+ property int duration_value: 1600
+
+ //
+ // Close - Open panel
//
SvgElementImage {
@@ -176,18 +198,42 @@ Item {
sceneSize: panels.sceneSize
y: Math.floor(scaledBounds.y * sceneItem.height)
- states: State {
+
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: close_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - (close_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: close_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
+
+ transitions: Transition {
+ SequentialAnimation {
id: close_anim
- PropertyAnimation { property: "x"; duration: 800 }
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
}
- }
+ }
+ }
+
+ SvgElementImage {
+ id: panel_open_icon
+ elementName: "panel-open-icon"
+ sceneSize: panels.sceneSize
+ y: Math.floor(scaledBounds.y * sceneItem.height)
+ z: close_bg.z+1
+ opacity: show_panels == true ? 0 : 1
+
+ states: State {
+ name: "fading"
+ when: show_panels == true
+ PropertyChanges { target: panel_open_icon; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ PropertyChanges { target: panel_open_icon; opacity: 0; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ PropertyAnimation { property: "opacity"; duration: 500; }
+ }
+ }
}
SvgElementImage {
@@ -195,25 +241,30 @@ Item {
elementName: "close-panel-mousearea"
sceneSize: panels.sceneSize
y: Math.floor(scaledBounds.y * sceneItem.height)
+ z: close_bg.z+100
- MouseArea {
- id: hidedisp_close;
- anchors.fill: parent;
- cursorShape: show_panels == true ? Qt.WhatsThisCursor : Qt.ArrowCursor
+ TooltipArea {
+ text: show_panels == true ? "Close panels" : "Open panels"
+ }
+
+ MouseArea {
+ id: hidedisp_close;
+ anchors.fill: parent;
+ cursorShape: Qt.PointingHandCursor
onClicked: close_panels()
}
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: close_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) - (close_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: close_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
//
@@ -227,18 +278,18 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: 10
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: rc_input_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - (rc_input_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: rc_input_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ id: rc_input_anim
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- id: rc_input_anim
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
SvgElementImage {
@@ -248,17 +299,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: rc_input_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: rc_input_labels; x: Math.floor(scaledBounds.x * sceneItem.width) - (rc_input_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: rc_input_labels; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
}
- }
+ }
}
SvgElementImage {
@@ -268,24 +319,28 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: rc_input_bg.z+1
- MouseArea {
- id: hidedisp_rcinput;
- anchors.fill: parent;
- cursorShape: hide_display_bat == false && hide_display_oplm == false ? Qt.WhatsThisCursor : Qt.ArrowCursor
- onClicked: hide_display_bat == false && hide_display_oplm == false ? hide_display_rcinput() : 0
+ TooltipArea {
+ text: "RC panel"
}
- states: State {
- name: "fading"
- when: show_panels !== true
- PropertyChanges { target: rc_input_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) - (rc_input_bg.width * 0.85); }
+ MouseArea {
+ id: hidedisp_rcinput;
+ anchors.fill: parent;
+ cursorShape: Qt.PointingHandCursor
+ onClicked: hide_display_rcinput()
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
+
+ states: State {
+ name: "fading"
+ when: show_panels == true
+ PropertyChanges { target: rc_input_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
}
- }
+ }
}
SvgElementImage {
@@ -293,7 +348,7 @@ Item {
elementName: "rc-throttle"
sceneSize: panels.sceneSize
z: rc_input_bg.z+2
-
+
width: scaledBounds.width * sceneItem.width
height: (scaledBounds.height * sceneItem.height) * (ManualControlCommand.Throttle)
@@ -301,18 +356,18 @@ Item {
y: (scaledBounds.y * sceneItem.height) - rc_throttle.height + (scaledBounds.height * sceneItem.height)
smooth: true
-
- states: State {
+
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: rc_throttle; x: Math.floor(scaledBounds.x * sceneItem.width) - (rc_input_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: rc_throttle; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
}
- }
+ }
}
SvgElementImage {
@@ -320,7 +375,7 @@ Item {
elementName: "rc-stick"
sceneSize: panels.sceneSize
z: rc_input_bg.z+3
-
+
width: scaledBounds.width * sceneItem.width
height: scaledBounds.height * sceneItem.height
@@ -328,7 +383,7 @@ Item {
y: (scaledBounds.y * sceneItem.height) + (ManualControlCommand.Pitch * rc_stick.width * 2.5)
smooth: true
-
+
//rotate it around his center
transform: Rotation {
angle: ManualControlCommand.Yaw * 90
@@ -336,17 +391,17 @@ Item {
origin.x : rc_stick.width / 2
}
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: rc_stick; x: Math.floor(scaledBounds.x * sceneItem.width) - (rc_input_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: rc_stick; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
}
- }
+ }
}
//
@@ -360,17 +415,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: 20
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: battery_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - (battery_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: battery_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
}
- }
+ }
}
SvgElementPositionItem {
@@ -378,22 +433,22 @@ Item {
sceneSize: panels.sceneSize
elementName: "battery-volt-text"
z: battery_bg.z+1
-
+
width: scaledBounds.width * sceneItem.width
height: scaledBounds.height * sceneItem.height
y: scaledBounds.y * sceneItem.height
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: battery_volt; x: Math.floor(scaledBounds.x * sceneItem.width) - (battery_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: battery_volt; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Rectangle {
anchors.fill: parent
@@ -424,17 +479,17 @@ Item {
height: scaledBounds.height * sceneItem.height
y: scaledBounds.y * sceneItem.height
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: battery_amp; x: Math.floor(scaledBounds.x * sceneItem.width) - (battery_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: battery_amp; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Rectangle {
anchors.fill: parent
@@ -465,25 +520,31 @@ Item {
height: scaledBounds.height * sceneItem.height
y: scaledBounds.y * sceneItem.height
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: battery_milliamp; x: Math.floor(scaledBounds.x * sceneItem.width) - (battery_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: battery_milliamp; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Rectangle {
anchors.fill: parent
+ TooltipArea {
+ text: "Reset consumed energy"
+ visible: display_bat == true ? 1 : 0
+ }
+
MouseArea {
id: reset_panel_consumed_energy_mouseArea;
anchors.fill: parent;
- cursorShape: Qt.PointingHandCursor;
+ cursorShape: Qt.PointingHandCursor;
+ visible: display_bat == true ? 1 : 0
onClicked: qmlWidget.resetConsumedEnergy();
}
@@ -517,26 +578,32 @@ Item {
height: scaledBounds.height * sceneItem.height
y: scaledBounds.y * sceneItem.height
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: battery_estimated_flight_time; x: Math.floor(scaledBounds.x * sceneItem.width) - (battery_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: battery_estimated_flight_time; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Rectangle {
anchors.fill: parent
//color: panels.batColors[SystemAlarms.Alarm_Battery]
+ TooltipArea {
+ text: "Reset consumed energy"
+ visible: display_bat == true ? 1 : 0
+ }
+
MouseArea {
id: reset_panel_consumed_energy_mouseArea2;
anchors.fill: parent;
cursorShape: Qt.PointingHandCursor;
+ visible: display_bat == true ? 1 : 0
onClicked: qmlWidget.resetConsumedEnergy();
}
@@ -567,17 +634,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: battery_bg.z+5
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: battery_labels; x: Math.floor(scaledBounds.x * sceneItem.width) - (battery_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: battery_labels; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
SvgElementImage {
@@ -587,24 +654,28 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: battery_bg.z+6
- MouseArea {
- id: hidedisp_battery;
- anchors.fill: parent;
- cursorShape: Qt.WhatsThisCursor
+ TooltipArea {
+ text: "Battery panel"
+ }
+
+ MouseArea {
+ id: hidedisp_battery;
+ anchors.fill: parent;
+ cursorShape: Qt.PointingHandCursor
onClicked: hide_display_battery()
}
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: battery_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) - (battery_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: battery_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
//
@@ -618,17 +689,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: 30
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: oplm_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: oplm_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
}
- }
+ }
}
SvgElementImage {
@@ -638,17 +709,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: oplm_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: smeter_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: smeter_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
SvgElementImage {
@@ -658,17 +729,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: oplm_bg.z+2
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: smeter_scale; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: smeter_scale; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
SvgElementImage {
@@ -678,41 +749,44 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: oplm_bg.z+3
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: smeter_needle; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: smeter_needle; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
transform: Rotation {
angle: smeter_angle.toFixed(1)
- origin.y : smeter_needle.height
- }
+ origin.y : smeter_needle.height
+ }
}
SvgElementImage {
id: smeter_mask
elementName: "smeter-mask"
sceneSize: panels.sceneSize
- y: Math.floor(scaledBounds.y * sceneItem.height)
+ //y: Math.floor(scaledBounds.y * sceneItem.height)
+ width: smeter_scale.width * 1.09
+ //anchors.horizontalCenter: smeter_scale
+
z: oplm_bg.z+4
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: smeter_mask; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: smeter_mask; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
}
@@ -721,18 +795,20 @@ Item {
elementName: "oplm-button-bg"
sceneSize: panels.sceneSize
y: Math.floor(scaledBounds.y * sceneItem.height)
+ width: smeter_mask.width
+
z: oplm_bg.z+5
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: oplm_button_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: oplm_button_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
}
@@ -746,7 +822,7 @@ Item {
property variant button_color: "button"+index+"_color"
id: idButton_oplm
-
+
elementName: "oplm-button-" + index
sceneSize: panels.sceneSize
@@ -759,23 +835,24 @@ Item {
opacity: smeter_filter == index ? 0.5 : 0
}
- MouseArea {
- id: idButton_oplm_mousearea;
- anchors.fill: parent;
- cursorShape: Qt.PointingHandCursor
+ MouseArea {
+ id: idButton_oplm_mousearea;
+ anchors.fill: parent;
+ cursorShape: Qt.PointingHandCursor;
+ visible: display_oplm == true ? 1 : 0
onClicked: select_oplm(index)
}
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: idButton_oplm; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: idButton_oplm; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
}
}
@@ -786,17 +863,18 @@ Item {
sceneSize: panels.sceneSize
y: Math.floor(scaledBounds.y * sceneItem.height)
z: oplm_bg.z+6
- states: State {
+
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: oplm_id_label; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: oplm_id_label; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
SvgElementPositionItem {
@@ -809,17 +887,17 @@ Item {
height: scaledBounds.height * sceneItem.height
y: scaledBounds.y * sceneItem.height
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: oplm_id_text; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: oplm_id_text; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
text: oplm_pair_id > 0 ? oplm_pair_id.toString(16) : "-- -- -- --"
@@ -834,6 +912,60 @@ Item {
}
}
+ SvgElementImage {
+ id: rx_quality_label
+ elementName: "rx-quality-label"
+ sceneSize: panels.sceneSize
+ y: Math.floor(scaledBounds.y * sceneItem.height)
+ z: oplm_bg.z+8
+
+ states: State {
+ name: "fading"
+ when: show_panels == true
+ PropertyChanges { target: rx_quality_label; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
+ }
+ }
+
+ SvgElementPositionItem {
+ id: rx_quality_text
+ sceneSize: panels.sceneSize
+ elementName: "rx-quality-text"
+ z: oplm_bg.z+9
+
+ width: scaledBounds.width * sceneItem.width
+ height: scaledBounds.height * sceneItem.height
+ y: scaledBounds.y * sceneItem.height
+
+ states: State {
+ name: "fading"
+ when: show_panels == true
+ PropertyChanges { target: rx_quality_text; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
+ }
+
+ Text {
+ text: ReceiverStatus.Quality > 0 ? ReceiverStatus.Quality+"%" : "?? %"
+ anchors.centerIn: parent
+ color: "white"
+ font {
+ family: pt_bold.name
+ pixelSize: Math.floor(parent.height * 1.4)
+ weight: Font.DemiBold
+ }
+ }
+ }
+
SvgElementImage {
id: oplm_mousearea
elementName: "oplm-panel-mousearea"
@@ -841,24 +973,28 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: oplm_bg.z
- MouseArea {
- id: hidedisp_oplm;
- anchors.fill: parent;
- cursorShape: Qt.WhatsThisCursor
+ TooltipArea {
+ text: "Link panel"
+ }
+
+ MouseArea {
+ id: hidedisp_oplm;
+ anchors.fill: parent;
+ cursorShape: Qt.PointingHandCursor
onClicked: hide_display_oplink()
}
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: oplm_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) - (oplm_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: oplm_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
//
@@ -872,18 +1008,18 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: 40
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_bg; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_bg; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ id: system_anim
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- id: system_anim
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
SvgElementPositionItem {
@@ -893,16 +1029,16 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: system_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_frametype; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_frametype; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
Text {
@@ -916,7 +1052,7 @@ Item {
pixelSize: Math.floor(parent.height * 1.4)
weight: Font.DemiBold
}
- }
+ }
}
SvgElementPositionItem {
@@ -926,17 +1062,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: system_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_cpuloadtemp; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_cpuloadtemp; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
// Coptercontrol detect with mem free : Only display Cpu load, no temperature available.
@@ -949,7 +1085,7 @@ Item {
pixelSize: Math.floor(parent.height * 1.4)
weight: Font.DemiBold
}
- }
+ }
}
SvgElementPositionItem {
@@ -959,17 +1095,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: system_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_memfree; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_memfree; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
text: SystemStats.HeapRemaining > 1024 ? memory_free.toFixed(2) +"Kb" : memory_free +"bytes"
@@ -980,7 +1116,7 @@ Item {
pixelSize: Math.floor(parent.height * 1.4)
weight: Font.DemiBold
}
- }
+ }
}
SvgElementPositionItem {
@@ -990,17 +1126,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: system_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_fusion_algo; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_fusion_algo; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
text: ["None", "Basic (No Nav)", "CompMag", "Comp+Mag+GPS", "EKFIndoor", "GPS Nav (INS13)"][RevoSettings.FusionAlgorithm]
@@ -1011,7 +1147,7 @@ Item {
pixelSize: Math.floor(parent.height * 1.35)
weight: Font.DemiBold
}
- }
+ }
}
SvgElementPositionItem {
@@ -1021,17 +1157,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: system_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_mag_used; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_mag_used; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
text: ["Invalid", "OnBoard", "External"][MagState.Source]
@@ -1042,7 +1178,7 @@ Item {
pixelSize: Math.floor(parent.height * 1.4)
weight: Font.DemiBold
}
- }
+ }
}
SvgElementPositionItem {
@@ -1052,17 +1188,17 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: system_bg.z+1
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_gpstype; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_gpstype; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
Text {
text: ["Unknown", "NMEA", "UBX", "UBX7", "UBX8"][GPSPositionSensor.SensorType]
@@ -1073,7 +1209,7 @@ Item {
pixelSize: Math.floor(parent.height * 1.4)
weight: Font.DemiBold
}
- }
+ }
}
SvgElementImage {
@@ -1083,23 +1219,27 @@ Item {
y: Math.floor(scaledBounds.y * sceneItem.height)
z: system_bg.z+1
- MouseArea {
- id: hidedisp_system;
- anchors.fill: parent;
- cursorShape: Qt.WhatsThisCursor
+ TooltipArea {
+ text: "System panel"
+ }
+
+ MouseArea {
+ id: hidedisp_system;
+ anchors.fill: parent;
+ cursorShape: Qt.PointingHandCursor
onClicked: hide_display_system()
}
- states: State {
+ states: State {
name: "fading"
- when: show_panels !== true
- PropertyChanges { target: system_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) - (system_bg.width * 0.85); }
+ when: show_panels == true
+ PropertyChanges { target: system_mousearea; x: Math.floor(scaledBounds.x * sceneItem.width) + offset_value; }
+ }
+
+ transitions: Transition {
+ SequentialAnimation {
+ PropertyAnimation { property: "x"; easing.type: anim_type; easing.amplitude: anim_amplitude; easing.period: anim_period; duration: duration_value }
+ }
}
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAnimation { property: "x"; duration: 800 }
- }
- }
}
}
diff --git a/ground/openpilotgcs/share/openpilotgcs/pfd/default/TooltipArea.qml b/ground/openpilotgcs/share/openpilotgcs/pfd/default/TooltipArea.qml
new file mode 100644
index 000000000..2d6824460
--- /dev/null
+++ b/ground/openpilotgcs/share/openpilotgcs/pfd/default/TooltipArea.qml
@@ -0,0 +1,27 @@
+import QtQuick 2.0
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Private 1.0
+import QtQuick.Controls.Styles 1.1
+
+// TooltipArea.qml
+// This file contains private Qt Quick modules that might change in future versions of Qt
+// Tested on: Qt 5.4.1
+// https://www.kullo.net/blog/tooltiparea-the-missing-tooltip-component-of-qt-quick/
+
+
+MouseArea {
+ id: _root
+ property string text: ""
+
+ anchors.fill: parent
+ hoverEnabled: _root.enabled
+
+ onExited: Tooltip.hideText()
+ onCanceled: Tooltip.hideText()
+
+ Timer {
+ interval: 1000
+ running: _root.enabled && _root.containsMouse && _root.text.length
+ onTriggered: Tooltip.showText(_root, Qt.point(_root.mouseX, _root.mouseY), _root.text)
+ }
+}
diff --git a/ground/openpilotgcs/share/openpilotgcs/pfd/default/pfd.svg b/ground/openpilotgcs/share/openpilotgcs/pfd/default/pfd.svg
index 0c38221fd..3f92fa1d8 100644
--- a/ground/openpilotgcs/share/openpilotgcs/pfd/default/pfd.svg
+++ b/ground/openpilotgcs/share/openpilotgcs/pfd/default/pfd.svg
@@ -15,7 +15,7 @@
height="480"
id="svg2"
version="1.1"
- inkscape:version="0.48.5 r10040"
+ inkscape:version="0.91 r13725"
sodipodi:docname="pfd.svg"
inkscape:export-filename="/Users/muralha/Desktop/new PFD ideas/pfd/test2.png"
inkscape:export-xdpi="72"
@@ -320,6 +320,35 @@
x2="187.44969"
y2="378.5622"
gradientUnits="userSpaceOnUse" />
+
+
+
+
+
+
+ inkscape:snap-bbox-edge-midpoints="false"
+ inkscape:snap-smooth-nodes="false">
+ transform="translate(0,-4)">
+ style="display:inline">
+
+ style="display:inline">
+ style="display:inline">
+ transform="translate(89.22403,-4)">
@@ -1200,17 +1234,17 @@
id="home-eta-label"
transform="matrix(1,0,0,1.0973877,0,-46.442937)">
@@ -1220,22 +1254,22 @@
id="home-distance-label"
transform="matrix(1,0,0,1.0577142,0,-27.456636)">
@@ -1244,29 +1278,29 @@
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
id="home-label">
@@ -1295,49 +1329,48 @@
inkscape:groupmode="layer"
id="layer26"
inkscape:label="home-eta-text"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
+ transform="matrix(1,0,0,0.99160769,88.8,-1.9353412)">
@@ -1347,44 +1380,43 @@
inkscape:groupmode="layer"
id="layer27"
inkscape:label="home-distance-text"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
+ transform="matrix(1,0,0,0.99160769,88.8,-1.9024413)">
@@ -1394,24 +1426,23 @@
inkscape:groupmode="layer"
id="layer28"
inkscape:label="home-heading-text"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
+ transform="matrix(1,0,0,0.99160769,104.08151,-2.0115413)">
@@ -1422,7 +1453,7 @@
inkscape:groupmode="layer"
id="layer95"
inkscape:label="close-panel"
- style="display:none"
+ style="display:inline"
sodipodi:insensitive="true">
-
+ style="fill:url(#linearGradient5150);fill-opacity:1;stroke:#ffffff;stroke-width:0.80921388;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ cx="185.76234"
+ cy="291.50333"
+ r="5.9813085" />
+
+
+
+
+
+
+
+
+
+
+
-
+
+ inkscape:label="close-panel-mousearea"
+ style="display:inline">
+ style="display:none;fill:#191919;fill-opacity:0;fill-rule:nonzero;stroke:#ffffff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ transform="translate(-174,-1.6356582)">
-
-
+
-
+
-
+
+ style="fill:none;stroke:#ffffff;stroke-width:0.13399792;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ cx="155"
+ cy="441"
+ r="2" />
+ style="fill:url(#linearGradient8314);fill-opacity:1;stroke:#ededed;stroke-width:0.08374871;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.81176471" />
@@ -1575,37 +1632,31 @@
-
+
-
+
+ transform="matrix(1.1599442,0,0,1.1601679,-0.06770889,-73.769595)"
+ cx="75"
+ cy="385"
+ r="65" />
+ style="display:inline;fill:url(#linearGradient5006-2);fill-opacity:1;stroke:none" />
PITCH
ROLL
-
+ style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:#5555e6;stroke-width:3.44810915;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.1599442,0,0,1.1601679,-0.06770889,-73.769595)"
+ cx="75"
+ cy="385"
+ r="10" />
THROTTLE
@@ -1690,11 +1738,10 @@
inkscape:groupmode="layer"
id="layer93"
inkscape:label="rc-throttle"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
@@ -1703,28 +1750,24 @@
inkscape:groupmode="layer"
id="layer87"
inkscape:label="rc-stick"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
-
+
+ style="fill:#e58956;fill-opacity:0.47083333;stroke:#eb0037;stroke-width:0.86202729;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ cx="70"
+ cy="385"
+ r="10" />
@@ -1734,15 +1777,14 @@
inkscape:groupmode="layer"
id="layer90"
inkscape:label="rc-input-panel-mousearea"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
@@ -1751,29 +1793,28 @@
inkscape:groupmode="layer"
id="layer84"
inkscape:label="battery-panel"
- style="display:none"
+ style="display:inline"
sodipodi:insensitive="true">
+ style="display:inline">
@@ -1803,34 +1844,33 @@
inkscape:groupmode="layer"
id="layer88"
inkscape:label="battery-labels"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
+ transform="translate(-174,-1.5678281)">
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ffffff;fill-opacity:1;stroke:none">
+ d="m 620.206,52 l 0,-4.224819 l 0.64048,0 l 0,0.592748 c 0.13261,-0.206861 0.30897,-0.372618 0.5291,-0.497271 c 0.22012,-0.127298 0.47075,-0.190948 0.75188,-0.190953 c 0.31294,5e-6 0.56887,0.06498 0.76778,0.194931 c 0.20156,0.129957 0.34345,0.311627 0.42567,0.545009 c 0.33416,-0.493289 0.76911,-0.739935 1.30484,-0.73994 c 0.41903,5e-6 0.74126,0.116698 0.96669,0.350079 c 0.22543,0.230738 0.33814,0.587447 0.33815,1.070129 l 0,2.900087 l -0.71209,0 l 0,-2.661397 c -10e-6,-0.286425 -0.0239,-0.491964 -0.0716,-0.616617 c -0.0451,-0.127298 -0.12863,-0.229404 -0.25063,-0.306319 c -0.122,-0.07691 -0.26521,-0.115363 -0.42964,-0.115367 c -0.29704,4e-6 -0.54369,0.09946 -0.73994,0.298363 c -0.19626,0.19626 -0.29439,0.511861 -0.29438,0.946805 l 0,2.454532 l -0.71608,0 l 0,-2.744939 c 0,-0.31825 -0.0583,-0.55694 -0.17503,-0.716071 c -0.1167,-0.159123 -0.30765,-0.238686 -0.57286,-0.23869 c -0.20156,4e-6 -0.38854,0.05305 -0.56092,0.159127 c -0.16974,0.106088 -0.29306,0.261237 -0.36997,0.465446 c -0.0769,0.204216 -0.11537,0.4986 -0.11537,0.883154 l 0,2.191973 l -0.71607,0" />
+ d="m 632.45877,52 l 0,-5.832 l 0.71607,0 l 0,2.092518 c 0.33416,-0.387204 0.75585,-0.580808 1.26506,-0.580813 c 0.31294,5e-6 0.58479,0.06233 0.81552,0.186974 c 0.23073,0.122002 0.39516,0.291737 0.4933,0.509206 c 0.10077,0.217477 0.15116,0.533079 0.15117,0.946805 l 0,2.67731 l -0.71607,0 l 0,-2.67731 c -10e-6,-0.358032 -0.0782,-0.617939 -0.23472,-0.779721 c -0.15382,-0.164428 -0.37262,-0.246643 -0.65639,-0.246647 c -0.21218,4e-6 -0.41241,0.0557 -0.60071,0.167083 c -0.18565,0.10874 -0.31825,0.257259 -0.39782,0.445555 c -0.0796,0.188304 -0.11934,0.44821 -0.11934,0.779722 l 0,2.311318 l -0.71607,0" />
+ d="m 626.46764,52 l 2.23971,-5.832 l 0.83144,0 l 2.3869,5.832 l -0.87917,0 l -0.68027,-1.766308 l -2.43862,0 L 627.28714,52 l -0.8195,0 m 1.68277,-2.394859 l 1.97715,0 l -0.60866,-1.615138 c -0.18565,-0.490637 -0.32356,-0.893758 -0.41373,-1.209364 c -0.0743,0.373953 -0.17902,0.745248 -0.31428,1.113888 l -0.64048,1.710614" />
@@ -1838,46 +1878,46 @@
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ffffff;fill-opacity:1;stroke:none">
+ d="M 625.76807,14.08992 L 623.5415,8.2578888 l 0.82422,0 l 1.84766,4.9101562 l 1.85156,-4.9101562 l 0.82031,0 L 626.6626,14.08992 l -0.89453,0" />
@@ -1887,14 +1927,14 @@
inkscape:groupmode="layer"
id="layer89"
inkscape:label="battery-panel-mousearea"
- sodipodi:insensitive="true">
+ style="display:inline">
@@ -1902,53 +1942,52 @@
inkscape:groupmode="layer"
id="layer91"
inkscape:label="battery-text"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
+ transform="matrix(0.95,0,0,0.95,-175.4,18.182172)">
+ style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 30.733386,403.38025 l 0,-1.90058 c 0.523336,0.2479 1.053568,0.43727 1.590697,0.56811 c 0.537107,0.13083 1.063913,0.19625 1.580373,0.19625 c 1.37723,0 2.427371,-0.46137 3.150424,-1.38412 c 0.729929,-0.92963 1.146542,-2.33785 1.249838,-4.22467 c -0.399414,0.59223 -0.905552,1.04672 -1.518413,1.36347 c -0.61286,0.31677 -1.291152,0.47515 -2.034852,0.47515 c -1.542508,0 -2.764802,-0.46482 -3.666885,-1.39446 c -0.895207,-0.9365 -1.34279,-2.21389 -1.34279,-3.83215 c 0,-1.5838 0.468251,-2.8543 1.404772,-3.81148 C 32.083072,388.4786 33.329462,388.00002 34.885741,388 c 1.783497,2e-5 3.143527,0.68519 4.080049,2.05552 c 0.943397,1.36348 1.415095,3.34668 1.415095,5.94964 c 0,2.43082 -0.578443,4.37272 -1.735308,5.82569 C 37.495588,403.27695 35.946205,404 33.99743,404 c -0.523358,0 -1.05359,-0.0516 -1.590719,-0.15493 c -0.537129,-0.1033 -1.094904,-0.25823 -1.673325,-0.46482 m 4.152355,-6.53841 c 0.9365,1e-5 1.676773,-0.3202 2.220777,-0.96062 c 0.550879,-0.6404 0.826329,-1.51839 0.82635,-2.63396 c -2.1e-5,-1.10866 -0.275471,-1.9832 -0.82635,-2.62362 c -0.544004,-0.64729 -1.284277,-0.97094 -2.220777,-0.97096 c -0.936522,2e-5 -1.680244,0.32367 -2.231122,0.97096 c -0.544005,0.64042 -0.816006,1.51496 -0.816006,2.62362 c 0,1.11557 0.272001,1.99356 0.816006,2.63396 c 0.550878,0.64042 1.2946,0.96063 2.231122,0.96062" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 44.202704,403.38025 l 0,-1.90058 c 0.523357,0.2479 1.05359,0.43727 1.590718,0.56811 c 0.537107,0.13083 1.063892,0.19625 1.580374,0.19625 c 1.377229,0 2.427349,-0.46137 3.150424,-1.38412 c 0.729907,-0.92963 1.14652,-2.33785 1.249837,-4.22467 c -0.399413,0.59223 -0.905551,1.04672 -1.518412,1.36347 c -0.612861,0.31677 -1.291152,0.47515 -2.034853,0.47515 c -1.542507,0 -2.764802,-0.46482 -3.666884,-1.39446 c -0.895208,-0.9365 -1.342812,-2.21389 -1.342812,-3.83215 c 0,-1.5838 0.468272,-2.8543 1.404793,-3.81148 C 45.55239,388.4786 46.798801,388.00002 48.355059,388 c 1.783518,2e-5 3.143527,0.68519 4.08007,2.05552 c 0.943376,1.36348 1.415095,3.34668 1.415095,5.94964 c 0,2.43082 -0.578442,4.37272 -1.735307,5.82569 C 50.964906,403.27695 49.415523,404 47.466748,404 c -0.523358,0 -1.05359,-0.0516 -1.590697,-0.15493 c -0.537129,-0.1033 -1.094904,-0.25823 -1.673347,-0.46482 m 4.152355,-6.53841 c 0.936522,1e-5 1.676773,-0.3202 2.220798,-0.96062 c 0.550879,-0.6404 0.826329,-1.51839 0.826329,-2.63396 c 0,-1.10866 -0.27545,-1.9832 -0.826329,-2.62362 c -0.544025,-0.64729 -1.284276,-0.97094 -2.220798,-0.97096 c -0.936522,2e-5 -1.680222,0.32367 -2.231101,0.97096 c -0.544025,0.64042 -0.816027,1.51496 -0.816006,2.62362 c -2.1e-5,1.11557 0.271981,1.99356 0.816006,2.63396 c 0.550879,0.64042 1.294579,0.96063 2.231101,0.96062" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 57.672043,403.38025 l 0,-1.90058 c 0.523357,0.2479 1.05359,0.43727 1.590698,0.56811 c 0.537128,0.13083 1.063912,0.19625 1.580394,0.19625 c 1.377207,0 2.42735,-0.46137 3.150403,-1.38412 c 0.729929,-0.92963 1.146541,-2.33785 1.249837,-4.22467 c -0.399393,0.59223 -0.905529,1.04672 -1.518391,1.36347 c -0.612882,0.31677 -1.291173,0.47515 -2.034852,0.47515 c -1.542508,0 -2.764803,-0.46482 -3.666886,-1.39446 c -0.895207,-0.9365 -1.34281,-2.21389 -1.34281,-3.83215 c 0,-1.5838 0.468271,-2.8543 1.404771,-3.81148 C 59.021729,388.4786 60.268119,388.00002 61.824398,388 c 1.783519,2e-5 3.143528,0.68519 4.080049,2.05552 c 0.943397,1.36348 1.415095,3.34668 1.415117,5.94964 c -2.2e-5,2.43082 -0.578443,4.37272 -1.735308,5.82569 C 64.434246,403.27695 62.884862,404 60.936087,404 c -0.523357,0 -1.05359,-0.0516 -1.590697,-0.15493 c -0.537128,-0.1033 -1.094904,-0.25823 -1.673347,-0.46482 m 4.152355,-6.53841 c 0.936521,1e-5 1.676774,-0.3202 2.220799,-0.96062 c 0.550879,-0.6404 0.826329,-1.51839 0.826329,-2.63396 c 0,-1.10866 -0.27545,-1.9832 -0.826329,-2.62362 c -0.544025,-0.64729 -1.284278,-0.97094 -2.220799,-0.97096 c -0.936521,2e-5 -1.680222,0.32367 -2.231122,0.97096 c -0.544004,0.64042 -0.816006,1.51496 -0.816006,2.62362 c 0,1.11557 0.272002,1.99356 0.816006,2.63396 c 0.5509,0.64042 1.294601,0.96063 2.231122,0.96062" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 71.141382,403.38025 l 0,-1.90058 c 0.523336,0.2479 1.053569,0.43727 1.590697,0.56811 c 0.537129,0.13083 1.063913,0.19625 1.580375,0.19625 c 1.377228,0 2.427369,-0.46137 3.150424,-1.38412 c 0.729928,-0.92963 1.146541,-2.33785 1.249837,-4.22467 c -0.399414,0.59223 -0.905531,1.04672 -1.518391,1.36347 c -0.612883,0.31677 -1.291174,0.47515 -2.034874,0.47515 c -1.542508,0 -2.764781,-0.46482 -3.666885,-1.39446 c -0.895186,-0.9365 -1.34279,-2.21389 -1.34279,-3.83215 c 0,-1.5838 0.46825,-2.8543 1.404772,-3.81148 c 0.936522,-0.95717 2.182912,-1.43575 3.73919,-1.43577 c 1.783498,2e-5 3.143528,0.68519 4.08005,2.05552 c 0.943396,1.36348 1.415095,3.34668 1.415116,5.94964 c -2.1e-5,2.43082 -0.578464,4.37272 -1.735329,5.82569 C 77.903584,403.27695 76.354202,404 74.405426,404 c -0.523356,0 -1.053589,-0.0516 -1.590717,-0.15493 c -0.537108,-0.1033 -1.094883,-0.25823 -1.673327,-0.46482 m 4.152355,-6.53841 c 0.936501,1e-5 1.676774,-0.3202 2.220778,-0.96062 c 0.5509,-0.6404 0.82635,-1.51839 0.82635,-2.63396 c 0,-1.10866 -0.27545,-1.9832 -0.82635,-2.62362 c -0.544004,-0.64729 -1.284277,-0.97094 -2.220778,-0.97096 c -0.936522,2e-5 -1.680221,0.32367 -2.231122,0.97096 c -0.544003,0.64042 -0.816005,1.51496 -0.816005,2.62362 c 0,1.11557 0.272002,1.99356 0.816005,2.63396 c 0.550901,0.64042 1.2946,0.96063 2.231122,0.96062" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 84.610722,403.38025 l 0,-1.90058 c 0.523336,0.2479 1.053568,0.43727 1.590697,0.56811 c 0.537107,0.13083 1.063913,0.19625 1.580373,0.19625 c 1.37723,0 2.427371,-0.46137 3.150424,-1.38412 c 0.729929,-0.92963 1.146542,-2.33785 1.249838,-4.22467 c -0.399414,0.59223 -0.905552,1.04672 -1.518412,1.36347 c -0.612861,0.31677 -1.291152,0.47515 -2.034852,0.47515 c -1.542508,0 -2.764803,-0.46482 -3.666886,-1.39446 c -0.895207,-0.9365 -1.342789,-2.21389 -1.342789,-3.83215 c 0,-1.5838 0.46825,-2.8543 1.404771,-3.81148 C 85.960408,388.4786 87.206798,388.00002 88.763077,388 c 1.783497,2e-5 3.143528,0.68519 4.080049,2.05552 c 0.943397,1.36348 1.415096,3.34668 1.415096,5.94964 c 0,2.43082 -0.578444,4.37272 -1.735308,5.82569 C 91.372924,403.27695 89.823542,404 87.874766,404 c -0.523358,0 -1.05359,-0.0516 -1.590719,-0.15493 c -0.537128,-0.1033 -1.094903,-0.25823 -1.673325,-0.46482 m 4.152355,-6.53841 c 0.9365,1e-5 1.676774,-0.3202 2.220777,-0.96062 c 0.55088,-0.6404 0.826329,-1.51839 0.826351,-2.63396 c -2.2e-5,-1.10866 -0.275471,-1.9832 -0.826351,-2.62362 c -0.544003,-0.64729 -1.284277,-0.97094 -2.220777,-0.97096 c -0.936522,2e-5 -1.680243,0.32367 -2.231122,0.97096 c -0.544004,0.64042 -0.816005,1.51496 -0.816005,2.62362 c 0,1.11557 0.272001,1.99356 0.816005,2.63396 c 0.550879,0.64042 1.2946,0.96063 2.231122,0.96062" />
+ transform="matrix(0.95,0,0,0.95,-175.4,14.182172)">
+ transform="matrix(0.95,0,0,0.95,-175.4,10.182172)">
+ style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 34.816055,309.65268 c -1.074235,1e-5 -1.883366,0.53024 -2.42737,1.5907 c -0.537107,1.05359 -0.805682,2.64085 -0.805682,4.76178 c 0,2.11406 0.268575,3.70132 0.805682,4.76178 c 0.544004,1.05358 1.353135,1.58038 2.42737,1.58038 c 1.081133,0 1.890263,-0.5268 2.427392,-1.58038 c 0.543982,-1.06046 0.815984,-2.64772 0.816005,-4.76178 c -2.1e-5,-2.12093 -0.272023,-3.70819 -0.816005,-4.76178 c -0.537129,-1.06046 -1.346259,-1.59069 -2.427392,-1.5907 m 0,-1.65268 c 1.728433,10e-6 3.047128,0.68518 3.956107,2.05552 c 0.915854,1.36347 1.37378,3.34668 1.373802,5.94964 c -2.2e-5,2.59609 -0.457948,4.5793 -1.373802,5.94965 c -0.908979,1.36346 -2.227674,2.04518 -3.956107,2.04519 c -1.728411,-10e-6 -3.050555,-0.68173 -3.966429,-2.04519 c -0.908958,-1.37035 -1.363458,-3.35356 -1.363458,-5.94965 c 0,-2.60296 0.4545,-4.58617 1.363458,-5.94964 C 31.7655,308.68518 33.087644,308.00001 34.816055,308" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 48.285395,309.65268 c -1.074237,1e-5 -1.883367,0.53024 -2.427371,1.5907 c -0.537128,1.05359 -0.805682,2.64085 -0.805682,4.76178 c 0,2.11406 0.268554,3.70132 0.805682,4.76178 c 0.544004,1.05358 1.353134,1.58038 2.427371,1.58038 c 1.081132,0 1.890241,-0.5268 2.42737,-1.58038 c 0.544004,-1.06046 0.816006,-2.64772 0.816027,-4.76178 c -2.1e-5,-2.12093 -0.272023,-3.70819 -0.816027,-4.76178 c -0.537129,-1.06046 -1.346238,-1.59069 -2.42737,-1.5907 m 0,-1.65268 c 1.728433,10e-6 3.047128,0.68518 3.956106,2.05552 c 0.915854,1.36347 1.373781,3.34668 1.373781,5.94964 c 0,2.59609 -0.457927,4.5793 -1.373781,5.94965 c -0.908978,1.36346 -2.227673,2.04518 -3.956106,2.04519 c -1.728433,-10e-6 -3.050576,-0.68173 -3.96643,-2.04519 c -0.908978,-1.37035 -1.363457,-3.35356 -1.363457,-5.94965 c 0,-2.60296 0.454479,-4.58617 1.363457,-5.94964 c 0.915854,-1.37034 2.237997,-2.05551 3.96643,-2.05552" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 57.29249,321.07682 l 2.179484,0 l 0,2.62362 l -2.179484,0 l 0,-2.62362" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 68.489393,309.65268 c -1.074236,1e-5 -1.883366,0.53024 -2.42737,1.5907 c -0.537129,1.05359 -0.805683,2.64085 -0.805683,4.76178 c 0,2.11406 0.268554,3.70132 0.805683,4.76178 c 0.544004,1.05358 1.353134,1.58038 2.42737,1.58038 c 1.081132,0 1.890242,-0.5268 2.427371,-1.58038 c 0.544003,-1.06046 0.816005,-2.64772 0.816026,-4.76178 c -2.1e-5,-2.12093 -0.272023,-3.70819 -0.816026,-4.76178 c -0.537129,-1.06046 -1.346239,-1.59069 -2.427371,-1.5907 m 0,-1.65268 c 1.728433,10e-6 3.047128,0.68518 3.956107,2.05552 c 0.915854,1.36347 1.37378,3.34668 1.37378,5.94964 c 0,2.59609 -0.457926,4.5793 -1.37378,5.94965 c -0.908979,1.36346 -2.227674,2.04518 -3.956107,2.04519 c -1.728432,-10e-6 -3.050575,-0.68173 -3.966429,-2.04519 c -0.908958,-1.37035 -1.363458,-3.35356 -1.363458,-5.94965 c 0,-2.60296 0.4545,-4.58617 1.363458,-5.94964 c 0.915854,-1.37034 2.237997,-2.05551 3.966429,-2.05552" />
+ style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 81.958732,309.65268 c -1.074235,1e-5 -1.883366,0.53024 -2.42737,1.5907 c -0.537128,1.05359 -0.805682,2.64085 -0.805682,4.76178 c 0,2.11406 0.268554,3.70132 0.805682,4.76178 c 0.544004,1.05358 1.353135,1.58038 2.42737,1.58038 c 1.081133,0 1.890242,-0.5268 2.427371,-1.58038 c 0.544004,-1.06046 0.816005,-2.64772 0.816005,-4.76178 c 0,-2.12093 -0.272001,-3.70819 -0.816005,-4.76178 c -0.537129,-1.06046 -1.346238,-1.59069 -2.427371,-1.5907 m 0,-1.65268 c 1.728412,10e-6 3.047128,0.68518 3.956107,2.05552 c 0.915853,1.36347 1.373781,3.34668 1.373781,5.94964 c 0,2.59609 -0.457928,4.5793 -1.373781,5.94965 C 85.00586,323.31827 83.687144,323.99999 81.958732,324 c -1.728432,-10e-6 -3.050576,-0.68173 -3.966429,-2.04519 c -0.908979,-1.37035 -1.363458,-3.35356 -1.363458,-5.94965 c 0,-2.60296 0.454479,-4.58617 1.363458,-5.94964 C 78.908156,308.68518 80.2303,308.00001 81.958732,308" />
@@ -2070,22 +2109,21 @@
inkscape:groupmode="layer"
id="layer59"
inkscape:label="system-panel"
- style="display:none"
+ style="display:inline"
sodipodi:insensitive="true">
+ style="display:inline">
@@ -2128,33 +2166,33 @@
id="frame-label"
transform="translate(-0.82096087,24.266719)">
@@ -2162,23 +2200,23 @@
id="cpu-label"
transform="translate(-0.43424217,22.190022)">
@@ -2186,43 +2224,43 @@
id="memfree-label"
transform="translate(-0.72721087,20.125045)">
@@ -2230,58 +2268,58 @@
id="fusionalgo-label"
transform="translate(0.18099223,-37.43501)">
@@ -2289,67 +2327,67 @@
id="mag-used"
transform="translate(-0.72721087,-37.781958)">
+ d="m 35.617,417.76968 l 0,-0.85731 c -0.454396,0.65947 -1.071854,0.98921 -1.852379,0.98921 c -0.344461,0 -0.666931,-0.066 -0.967413,-0.19784 c -0.296823,-0.1319 -0.518522,-0.29677 -0.665098,-0.4946 c -0.142915,-0.20151 -0.243687,-0.44698 -0.302317,-0.73642 c -0.04031,-0.19417 -0.06046,-0.50193 -0.06046,-0.92326 l 0,-3.61612 l 0.9894,0 l 0,3.23692 c -2e-6,0.51659 0.02015,0.86464 0.06046,1.04417 c 0.06229,0.26013 0.194214,0.46529 0.395761,0.6155 c 0.201542,0.14655 0.450725,0.21983 0.747547,0.21983 c 0.296818,0 0.575315,-0.0751 0.835494,-0.22532 c 0.260173,-0.15387 0.443395,-0.36088 0.549667,-0.62101 c 0.10993,-0.26378 0.164897,-0.64481 0.164901,-1.14308 l 0,-3.12701 l 0.989401,0 l 0,5.83634 l -0.884964,0" />
+ d="m 37.661762,416.02757 l 0.978408,-0.15387 c 0.05497,0.39202 0.207039,0.69245 0.456224,0.90128 c 0.252844,0.20883 0.604631,0.31325 1.05536,0.31325 c 0.454389,0 0.791518,-0.0916 1.011388,-0.27478 c 0.219863,-0.18685 0.329796,-0.40485 0.3298,-0.65398 c -4e-6,-0.22349 -0.09711,-0.39935 -0.291324,-0.52757 c -0.135588,-0.0879 -0.472717,-0.19968 -1.011387,-0.33524 c -0.725563,-0.18318 -1.229424,-0.34073 -1.511585,-0.47262 c -0.278499,-0.13556 -0.491037,-0.32058 -0.637614,-0.55506 c -0.142914,-0.23814 -0.21437,-0.5001 -0.21437,-0.78587 c 0,-0.26012 0.05863,-0.5001 0.175893,-0.71992 c 0.120926,-0.22349 0.283995,-0.40851 0.489204,-0.55506 c 0.153906,-0.11357 0.362779,-0.20883 0.62662,-0.28578 c 0.267504,-0.0806 0.553331,-0.12089 0.857481,-0.1209 c 0.458053,1e-5 0.859311,0.066 1.203771,0.19784 c 0.348119,0.1319 0.604629,0.31143 0.769535,0.53858 c 0.164895,0.22349 0.278492,0.52391 0.340794,0.90127 l -0.967415,0.13189 c -0.04398,-0.30041 -0.172232,-0.5349 -0.384767,-0.70343 c -0.208877,-0.16853 -0.505696,-0.2528 -0.890461,-0.2528 c -0.454393,0 -0.778696,0.0751 -0.97291,0.22532 c -0.194218,0.15022 -0.291325,0.32608 -0.291324,0.52758 c -10e-7,0.12824 0.04031,0.24365 0.120927,0.34623 c 0.08062,0.10624 0.207039,0.19418 0.37927,0.26378 c 0.09894,0.0366 0.390261,0.12091 0.873971,0.2528 c 0.699906,0.18685 1.187277,0.34073 1.462115,0.46164 c 0.278492,0.11723 0.496528,0.28943 0.654103,0.51658 c 0.157567,0.22716 0.236351,0.50926 0.236357,0.84633 c -6e-6,0.32974 -0.09711,0.64115 -0.291325,0.93425 c -0.190555,0.28944 -0.467221,0.51475 -0.829996,0.67596 c -0.362783,0.15754 -0.773202,0.23631 -1.231254,0.23631 c -0.758543,0 -1.337525,-0.15754 -1.736948,-0.47263 c -0.395762,-0.31507 -0.648609,-0.7822 -0.758541,-1.40138" />
+ d="m 47.682194,415.89018 l 1.02238,0.1264 c -0.16124,0.59719 -0.459893,1.06066 -0.895957,1.39039 c -0.436073,0.32974 -0.99307,0.49461 -1.670989,0.49461 c -0.853818,0 -1.53174,-0.26196 -2.033767,-0.78587 c -0.498366,-0.52758 -0.747548,-1.26583 -0.747547,-2.21474 c -10e-7,-0.98187 0.252845,-1.74393 0.75854,-2.28617 c 0.505693,-0.54222 1.161628,-0.81334 1.967809,-0.81335 c 0.780523,1e-5 1.418135,0.26562 1.91284,0.79687 c 0.494696,0.53124 0.742045,1.27865 0.742051,2.2422 c -6e-6,0.0586 -0.0018,0.14656 -0.0055,0.2638 l -4.353363,0 c 0.03664,0.64115 0.218032,1.13209 0.54417,1.47282 c 0.326133,0.34073 0.732885,0.51109 1.22026,0.51109 c 0.362777,0 0.672422,-0.0953 0.928937,-0.28577 c 0.256508,-0.19051 0.459884,-0.49461 0.610132,-0.91228 m -3.248534,-1.59921 l 3.259527,0 c -0.04398,-0.49095 -0.168569,-0.85915 -0.373774,-1.10462 c -0.315146,-0.38103 -0.723732,-0.57155 -1.225757,-0.57155 c -0.454395,0 -0.837329,0.15205 -1.148805,0.45614 c -0.307815,0.30409 -0.478212,0.71077 -0.511191,1.22003" />
+ d="m 53.739527,417.76968 l 0,-0.7364 c -0.370114,0.57887 -0.914285,0.8683 -1.632511,0.8683 c -0.465388,0 -0.894129,-0.12823 -1.286222,-0.38469 c -0.388433,-0.25646 -0.690749,-0.61368 -0.906951,-1.07164 c -0.212539,-0.46164 -0.318808,-0.99104 -0.318807,-1.58824 c -10e-7,-0.58253 0.09711,-1.11011 0.291324,-1.58274 c 0.194216,-0.47628 0.485538,-0.84082 0.87397,-1.09362 c 0.388431,-0.25279 0.822666,-0.37919 1.302712,-0.3792 c 0.351783,1e-5 0.665093,0.0751 0.939931,0.22532 c 0.27483,0.14656 0.498361,0.3389 0.670594,0.57704 l 0,-2.8907 l 0.983903,0 l 0,8.05657 l -0.917943,0 m -3.127607,-2.91267 c 0,0.7474 0.157569,1.30613 0.472715,1.67616 c 0.31514,0.37004 0.687081,0.55506 1.115824,0.55506 c 0.432402,0 0.798845,-0.17586 1.099334,-0.52757 c 0.304145,-0.35539 0.456218,-0.8958 0.456223,-1.62121 c -5e-6,-0.7987 -0.15391,-1.3849 -0.461721,-1.7586 c -0.307816,-0.37369 -0.687085,-0.56054 -1.137811,-0.56055 c -0.439735,1e-5 -0.808012,0.17952 -1.10483,0.53856 c -0.293158,0.35906 -0.439734,0.92511 -0.439734,1.69815" />
@@ -2359,259 +2397,258 @@
inkscape:groupmode="layer"
id="layer77"
inkscape:label="system-text"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
+ transform="matrix(1.0095471,0,0,1.0095471,-142.7577,-4.3461312)">
+ transform="matrix(1.049406,0,0,1.049406,-162.01338,-16.61335)">
+ transform="matrix(1.0830555,0,0,1.0830555,-143.62608,-28.210044)">
+ transform="matrix(1.0257274,0,0,1.0257274,-173.86635,-65.129933)">
+ transform="matrix(1.0687763,0,0,1.0687763,-153.95309,-82.217652)">
+ transform="matrix(1.0830555,0,0,1.0830555,-167.19044,-86.430872)">
@@ -2619,17 +2656,16 @@
+ inkscape:label="system-panel-mousearea">
+ style="display:none;fill:#191919;fill-opacity:0;fill-rule:nonzero;stroke:#ffffff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ transform="matrix(1.35,0,0,1.35,-232.42552,-108.3337)">
+ sodipodi:start="3.9451474"
+ sodipodi:end="5.6199602"
+ sodipodi:open="true" />
@@ -2760,11 +2796,11 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4785"
- d="M 133.42882,312.44292 L 129.4774,320.21777"
+ d="m 133.42882,312.44292 l -3.95142,7.77485"
style="fill:none;stroke:#000000;stroke-width:0.74074072px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
@@ -2772,30 +2808,30 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4789"
- d="M 149.24954,324.42277 L 142.88094,330.37857"
+ d="m 149.24954,324.42277 l -6.3686,5.9558"
style="fill:none;stroke:#000000;stroke-width:0.74074072px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
@@ -2803,11 +2839,11 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4797"
- d="M 98.60121,306.91389 L 99.961998,315.5343"
+ d="m 98.60121,306.91389 l 1.360788,8.62041"
style="fill:none;stroke:#000000;stroke-width:0.74074072px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
@@ -2815,11 +2851,11 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4801"
- d="M 87.076675,310.01949 L 90.195473,318.16739"
+ d="m 87.076675,310.01949 l 3.118798,8.1479"
style="fill:none;stroke:#000000;stroke-width:0.74074072px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
@@ -2827,36 +2863,36 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4805"
- d="M 76.44715,315.47142 L 81.181543,322.78057"
+ d="m 76.44715,315.47142 l 4.734393,7.30915"
style="fill:none;stroke:#000000;stroke-width:0.74074072px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
-
+
@@ -2864,7 +2900,7 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4813"
- d="M 59.662758,332.34302 L 66.992525,337.06321"
+ d="m 59.662758,332.34302 l 7.329767,4.72019"
style="fill:none;stroke:#000000;stroke-width:0.74074072px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 84.037888,342.20654 l 0,-1.11621 l -0.922852,0 l 0,-0.77051 l 0.922852,0 l 0,-1.11621 l 0.615234,0 l 0,1.11621 l 0.925781,0 l 0,0.77051 l -0.925781,0 l 0,1.11621 l -0.615234,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 87.720505,342.82471 l -0.673828,0 l 0,-3.10254 c -0.251954,0.2832 -0.54297,0.49121 -0.873047,0.62402 l 0,-0.74707 c 0.187499,-0.0762 0.381835,-0.21191 0.583008,-0.40723 c 0.20117,-0.19726 0.340819,-0.42382 0.418945,-0.67968 l 0.544922,0 l 0,4.3125" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 89.876755,338.51221 c 0.341795,0 0.618162,0.16309 0.829101,0.48925 c 0.210935,0.32423 0.316404,0.89259 0.316407,1.70508 c -3e-6,0.81055 -0.105472,1.37891 -0.316407,1.70508 c -0.210939,0.32422 -0.486329,0.48633 -0.826172,0.48633 c -0.341797,0 -0.618164,-0.16113 -0.829101,-0.4834 c -0.210938,-0.32226 -0.316407,-0.89453 -0.316406,-1.7168 c -10e-7,-0.80663 0.105468,-1.37206 0.316406,-1.69629 c 0.210937,-0.32616 0.486327,-0.48925 0.826172,-0.48925 m 0,0.68261 c -0.132814,1e-5 -0.239259,0.0879 -0.319336,0.26368 c -0.07813,0.17578 -0.117189,0.5918 -0.117188,1.24804 c -10e-7,0.65625 0.03906,1.07227 0.117188,1.24805 c 0.08008,0.17383 0.186522,0.26074 0.319336,0.26074 c 0.134764,0 0.241209,-0.0879 0.319336,-0.26367 c 0.07812,-0.17578 0.117185,-0.59082 0.117187,-1.24512 c -2e-6,-0.65624 -0.03906,-1.07226 -0.117187,-1.24804 c -0.07813,-0.17578 -0.184572,-0.26367 -0.319336,-0.26368" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 93.76445,342.20654 l 0,-1.11621 l -0.922851,0 l 0,-0.77051 l 0.922851,0 l 0,-1.11621 l 0.615234,0 l 0,1.11621 l 0.925782,0 l 0,0.77051 l -0.925782,0 l 0,1.11621 l -0.615234,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 98.000778,342.06006 l 0,0.76465 l -2.367187,0 c 0.02539,-0.28907 0.102539,-0.56348 0.231445,-0.82325 c 0.130859,-0.26171 0.383788,-0.60449 0.758789,-1.02832 c 0.296874,-0.33788 0.479491,-0.5664 0.547852,-0.68554 c 0.10156,-0.17383 0.152342,-0.34863 0.152343,-0.52442 c -10e-7,-0.18749 -0.04199,-0.32909 -0.125976,-0.4248 c -0.08399,-0.0957 -0.194338,-0.14355 -0.331055,-0.14356 c -0.298829,1e-5 -0.459962,0.22364 -0.483398,0.6709 l -0.670899,-0.082 c 0.04102,-0.4375 0.162109,-0.75878 0.363282,-0.96387 c 0.203124,-0.20507 0.472655,-0.30761 0.808593,-0.30761 c 0.369139,0 0.647459,0.12012 0.834961,0.36035 c 0.187498,0.24024 0.281248,0.51563 0.28125,0.82617 c -2e-6,0.17578 -0.02442,0.34668 -0.07324,0.5127 c -0.04688,0.16406 -0.120119,0.33008 -0.219727,0.49804 c -0.09961,0.16602 -0.265626,0.37891 -0.498046,0.63867 c -0.216799,0.24415 -0.354494,0.40528 -0.413086,0.4834 c -0.05664,0.0781 -0.102541,0.1543 -0.137696,0.22852 l 1.341797,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 99.603317,338.51221 c 0.341795,0 0.618163,0.16309 0.829103,0.48925 c 0.21093,0.32423 0.3164,0.89259 0.31641,1.70508 c -1e-5,0.81055 -0.10548,1.37891 -0.31641,1.70508 c -0.21094,0.32422 -0.486331,0.48633 -0.826173,0.48633 c -0.341798,0 -0.618165,-0.16113 -0.829102,-0.4834 c -0.210937,-0.32226 -0.316406,-0.89453 -0.316406,-1.7168 c 0,-0.80663 0.105469,-1.37206 0.316406,-1.69629 c 0.210937,-0.32616 0.486328,-0.48925 0.826172,-0.48925 m 0,0.68261 c -0.132813,1e-5 -0.239259,0.0879 -0.319336,0.26368 c -0.07813,0.17578 -0.117188,0.5918 -0.117187,1.24804 c -10e-7,0.65625 0.03906,1.07227 0.117187,1.24805 c 0.08008,0.17383 0.186523,0.26074 0.319336,0.26074 c 0.134764,0 0.24121,-0.0879 0.319336,-0.26367 c 0.07813,-0.17578 0.117187,-0.59082 0.117187,-1.24512 c 0,-0.65624 -0.0391,-1.07226 -0.117187,-1.24804 c -0.07813,-0.17578 -0.184572,-0.26367 -0.319336,-0.26368" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 103.49101,342.20654 l 0,-1.11621 l -0.92285,0 l 0,-0.77051 l 0.92285,0 l 0,-1.11621 l 0.61524,0 l 0,1.11621 l 0.92578,0 l 0,0.77051 l -0.92578,0 l 0,1.11621 l -0.61524,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 105.42168,341.68506 l 0.65332,-0.0967 c 0.0176,0.20312 0.0732,0.3584 0.16699,0.46582 c 0.0937,0.10742 0.2041,0.16113 0.33105,0.16113 c 0.13867,0 0.25586,-0.0635 0.35157,-0.19043 c 0.0957,-0.12695 0.14355,-0.30273 0.14355,-0.52734 c 0,-0.20898 -0.0459,-0.37305 -0.13769,-0.49219 c -0.0918,-0.11914 -0.20313,-0.17871 -0.33399,-0.17871 c -0.0859,0 -0.18848,0.0205 -0.30762,0.0615 l 0.0733,-0.67089 c 0.17382,0.004 0.31152,-0.043 0.41308,-0.14063 c 0.0996,-0.0976 0.14941,-0.23535 0.14942,-0.41309 c -1e-5,-0.14843 -0.0361,-0.26464 -0.1084,-0.34863 c -0.0723,-0.084 -0.16504,-0.12597 -0.27832,-0.12598 c -0.11328,1e-5 -0.21192,0.0488 -0.2959,0.14649 c -0.082,0.0957 -0.13086,0.23828 -0.14649,0.42773 l -0.62402,-0.1289 c 0.0644,-0.39258 0.19043,-0.67773 0.37793,-0.85547 c 0.1875,-0.17773 0.42383,-0.2666 0.70899,-0.2666 c 0.32031,0 0.57421,0.11426 0.76171,0.34277 c 0.18945,0.22852 0.28418,0.48145 0.28418,0.75879 c 0,0.1875 -0.043,0.35645 -0.1289,0.50684 c -0.084,0.15039 -0.21094,0.28222 -0.38086,0.3955 c 0.19726,0.0527 0.35742,0.16895 0.48047,0.34864 c 0.12499,0.17969 0.18749,0.40429 0.1875,0.67382 c -1e-5,0.39258 -0.11719,0.71778 -0.35157,0.97559 c -0.23242,0.25586 -0.50976,0.38379 -0.83203,0.38379 c -0.30859,0 -0.57031,-0.1084 -0.78515,-0.3252 c -0.21289,-0.21679 -0.33692,-0.51269 -0.37207,-0.88769" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 109.32988,338.51221 c 0.34179,0 0.61816,0.16309 0.8291,0.48925 c 0.21094,0.32423 0.31641,0.89259 0.31641,1.70508 c 0,0.81055 -0.10547,1.37891 -0.31641,1.70508 c -0.21094,0.32422 -0.48633,0.48633 -0.82617,0.48633 c -0.3418,0 -0.61817,-0.16113 -0.8291,-0.4834 c -0.21094,-0.32226 -0.31641,-0.89453 -0.31641,-1.7168 c 0,-0.80663 0.10547,-1.37206 0.31641,-1.69629 c 0.21093,-0.32616 0.48633,-0.48925 0.82617,-0.48925 m 0,0.68261 c -0.13281,1e-5 -0.23926,0.0879 -0.31934,0.26368 c -0.0781,0.17578 -0.11718,0.5918 -0.11718,1.24804 c 0,0.65625 0.0391,1.07227 0.11718,1.24805 c 0.0801,0.17383 0.18653,0.26074 0.31934,0.26074 c 0.13476,0 0.24121,-0.0879 0.31934,-0.26367 c 0.0781,-0.17578 0.11718,-0.59082 0.11718,-1.24512 c 0,-0.65624 -0.0391,-1.07226 -0.11718,-1.24804 c -0.0781,-0.17578 -0.18458,-0.26367 -0.31934,-0.26368" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 113.21758,342.20654 l 0,-1.11621 l -0.92286,0 l 0,-0.77051 l 0.92286,0 l 0,-1.11621 l 0.61523,0 l 0,1.11621 l 0.92578,0 l 0,0.77051 l -0.92578,0 l 0,1.11621 l -0.61523,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 116.4959,342.82471 l 0,-0.86426 l -1.44141,0 l 0,-0.7207 l 1.52637,-2.72754 l 0.56836,0 l 0,2.72461 l 0.43652,0 l 0,0.72363 l -0.43652,0 l 0,0.86426 l -0.65332,0 m 0,-1.58789 l 0,-1.46778 l -0.8086,1.46778 l 0.8086,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 119.05644,338.51221 c 0.3418,0 0.61816,0.16309 0.8291,0.48925 c 0.21094,0.32423 0.31641,0.89259 0.31641,1.70508 c 0,0.81055 -0.10547,1.37891 -0.31641,1.70508 c -0.21094,0.32422 -0.48633,0.48633 -0.82617,0.48633 c -0.3418,0 -0.61816,-0.16113 -0.8291,-0.4834 c -0.21094,-0.32226 -0.31641,-0.89453 -0.31641,-1.7168 c 0,-0.80663 0.10547,-1.37206 0.31641,-1.69629 c 0.21094,-0.32616 0.48633,-0.48925 0.82617,-0.48925 m 0,0.68261 c -0.13281,1e-5 -0.23926,0.0879 -0.31933,0.26368 c -0.0781,0.17578 -0.11719,0.5918 -0.11719,1.24804 c 0,0.65625 0.0391,1.07227 0.11719,1.24805 c 0.0801,0.17383 0.18652,0.26074 0.31933,0.26074 c 0.13477,0 0.24121,-0.0879 0.31934,-0.26367 c 0.0781,-0.17578 0.11718,-0.59082 0.11719,-1.24512 c -1e-5,-0.65624 -0.0391,-1.07226 -0.11719,-1.24804 c -0.0781,-0.17578 -0.18457,-0.26367 -0.31934,-0.26368" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 122.94414,342.20654 l 0,-1.11621 l -0.92285,0 l 0,-0.77051 l 0.92285,0 l 0,-1.11621 l 0.61523,0 l 0,1.11621 l 0.92578,0 l 0,0.77051 l -0.92578,0 l 0,1.11621 l -0.61523,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 124.90996,341.72021 l 0.67383,-0.085 c 0.0176,0.1875 0.0752,0.33497 0.17285,0.44239 c 0.0977,0.10742 0.20507,0.16113 0.32226,0.16113 c 0.13867,0 0.25781,-0.0684 0.35743,-0.20508 c 0.0996,-0.13867 0.14941,-0.35058 0.14941,-0.63574 c 0,-0.26953 -0.0498,-0.46875 -0.14941,-0.59766 c -0.0977,-0.1289 -0.22266,-0.19335 -0.375,-0.19336 c -0.19337,10e-6 -0.36719,0.1045 -0.52149,0.31348 l -0.54785,-0.0967 l 0.3457,-2.23535 l 1.78418,0 l 0,0.77051 l -1.27148,0 l -0.1084,0.72949 c 0.15234,-0.0918 0.30664,-0.13769 0.46289,-0.1377 c 0.27734,10e-6 0.51269,0.10938 0.70605,0.32813 c 0.24414,0.2793 0.36621,0.64746 0.36622,1.10449 c -1e-5,0.37695 -0.1045,0.72363 -0.31348,1.04004 c -0.20703,0.31641 -0.50391,0.47461 -0.89063,0.47461 c -0.3125,0 -0.57422,-0.10156 -0.78515,-0.30469 c -0.20899,-0.20508 -0.33496,-0.49609 -0.37793,-0.87305" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 128.783,338.51221 c 0.3418,0 0.61817,0.16309 0.82911,0.48925 c 0.21093,0.32423 0.3164,0.89259 0.3164,1.70508 c 0,0.81055 -0.10547,1.37891 -0.3164,1.70508 c -0.21094,0.32422 -0.48633,0.48633 -0.82618,0.48633 c -0.34179,0 -0.61816,-0.16113 -0.8291,-0.4834 c -0.21093,-0.32226 -0.3164,-0.89453 -0.3164,-1.7168 c 0,-0.80663 0.10547,-1.37206 0.3164,-1.69629 c 0.21094,-0.32616 0.48633,-0.48925 0.82617,-0.48925 m 0,0.68261 c -0.13281,1e-5 -0.23925,0.0879 -0.31933,0.26368 c -0.0781,0.17578 -0.11719,0.5918 -0.11719,1.24804 c 0,0.65625 0.0391,1.07227 0.11719,1.24805 c 0.0801,0.17383 0.18652,0.26074 0.31933,0.26074 c 0.13477,0 0.24121,-0.0879 0.31934,-0.26367 c 0.0781,-0.17578 0.11719,-0.59082 0.11719,-1.24512 c 0,-0.65624 -0.0391,-1.07226 -0.11719,-1.24804 c -0.0781,-0.17578 -0.18457,-0.26367 -0.31934,-0.26368" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 132.6707,342.20654 l 0,-1.11621 l -0.92285,0 l 0,-0.77051 l 0.92285,0 l 0,-1.11621 l 0.61523,0 l 0,1.11621 l 0.92579,0 l 0,0.77051 l -0.92579,0 l 0,1.11621 l -0.61523,0" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 136.91289,339.58154 l -0.65332,0.0879 c -0.0312,-0.32031 -0.15918,-0.48046 -0.38379,-0.48047 c -0.14649,1e-5 -0.26856,0.0801 -0.36621,0.24024 c -0.0957,0.16016 -0.15625,0.4834 -0.18164,0.96973 c 0.084,-0.1211 0.17773,-0.21192 0.28125,-0.27247 c 0.10351,-0.0605 0.21777,-0.0908 0.34277,-0.0908 c 0.27539,1e-5 0.51562,0.12891 0.7207,0.38672 c 0.20508,0.25586 0.30762,0.59668 0.30762,1.02246 c 0,0.45313 -0.1084,0.8086 -0.32519,1.06641 c -0.2168,0.25781 -0.48536,0.38672 -0.80567,0.38672 c -0.35156,0 -0.64355,-0.16699 -0.87598,-0.50098 c -0.23046,-0.33593 -0.3457,-0.8916 -0.3457,-1.66699 c 0,-0.78711 0.12012,-1.35351 0.36035,-1.69922 c 0.24024,-0.3457 0.54883,-0.51855 0.92578,-0.51855 c 0.25977,0 0.47852,0.0889 0.65625,0.2666 c 0.17969,0.17578 0.29395,0.44336 0.34278,0.80273 m -1.52637,1.7959 c 0,0.27149 0.0498,0.47949 0.14941,0.62402 c 0.10157,0.14258 0.2168,0.21387 0.34571,0.21387 c 0.125,0 0.22851,-0.0596 0.31054,-0.17871 c 0.084,-0.11914 0.12598,-0.31445 0.12598,-0.58594 c 0,-0.28124 -0.0449,-0.48632 -0.13476,-0.61523 c -0.0899,-0.1289 -0.20118,-0.19336 -0.33399,-0.19336 c -0.12891,0 -0.23828,0.0615 -0.32812,0.18457 c -0.0898,0.12305 -0.13477,0.30664 -0.13477,0.55078" />
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:condensed;font-size:6px;line-height:125%;font-family:'Arial Narrow';-inkscape-font-specification:'Arial Narrow Bold Condensed';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 138.50957,338.51221 c 0.34179,0 0.61816,0.16309 0.8291,0.48925 c 0.21093,0.32423 0.3164,0.89259 0.31641,1.70508 c -1e-5,0.81055 -0.10548,1.37891 -0.31641,1.70508 c -0.21094,0.32422 -0.48633,0.48633 -0.82617,0.48633 c -0.3418,0 -0.61817,-0.16113 -0.8291,-0.4834 c -0.21094,-0.32226 -0.31641,-0.89453 -0.31641,-1.7168 c 0,-0.80663 0.10547,-1.37206 0.31641,-1.69629 c 0.21093,-0.32616 0.48632,-0.48925 0.82617,-0.48925 m 0,0.68261 c -0.13282,1e-5 -0.23926,0.0879 -0.31934,0.26368 c -0.0781,0.17578 -0.11719,0.5918 -0.11719,1.24804 c 0,0.65625 0.0391,1.07227 0.11719,1.24805 c 0.0801,0.17383 0.18652,0.26074 0.31934,0.26074 c 0.13476,0 0.24121,-0.0879 0.31933,-0.26367 c 0.0781,-0.17578 0.11719,-0.59082 0.11719,-1.24512 c 0,-0.65624 -0.0391,-1.07226 -0.11719,-1.24804 c -0.0781,-0.17578 -0.18457,-0.26367 -0.31933,-0.26368" />
- LINK METER
+
+
+
+
+
+
+
+
+
+
+
+ style="display:inline">
+ transform="matrix(0.67499999,1.1691343,-1.1691343,0.67499999,267.78535,10.865462)">
+ d="m 105.81964,316.81754 l -1.74737,-6.03282 l -1.25263,6.18907 l 1.25,24.24219 l 2.75,24.16408 l 0.25,-24.32031 z"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.44444445;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:accumulate" />
@@ -3117,27 +3181,26 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path5528"
- d="M 104.08793,312.53421 L 106.82762,365.38988"
- style="fill:none;stroke:#000000;stroke-width:0.22222222;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ d="m 104.08793,312.53421 l 2.73969,52.85567"
+ style="fill:none;stroke:#000000;stroke-width:0.22222222;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ style="display:inline">
+ transform="matrix(1.35,0,0,1.35,-232.42552,-108.3337)">
+ style="display:inline">
+ style="display:inline;fill:#aaaaaa;fill-opacity:1;fill-rule:evenodd;stroke:#5a5a5a;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ id="oplm-button-0"
+ transform="translate(-172,-5.5678281)">
+ style="display:inline;fill:#323232;fill-opacity:1;fill-rule:evenodd;stroke:#1e1e1e;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
1
+ id="oplm-button-1"
+ transform="translate(-172,-5.5678281)">
2
+ id="oplm-button-2"
+ transform="translate(-172,-5.5678281)">
3
+ id="oplm-button-3"
+ transform="translate(-172,-5.5678281)">
+ style="display:inline;fill:#323232;fill-opacity:1;fill-rule:evenodd;stroke:#1e1e1e;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
4
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.50032997px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:0.94117647;stroke:none"
+ id="oplm-id-label"
+ transform="translate(-172,-5.5678281)">
+
+
+
+
+
+
+
+
+
+
+ style="display:inline">
+ transform="translate(-166,-5.5678281)">
+
+
+
+
+
+
+ style="display:inline">
@@ -3343,8 +3478,7 @@
id="layer3"
inkscape:label="info"
style="display:inline"
- transform="translate(0,-4)"
- sodipodi:insensitive="true">
+ transform="translate(0,-4)">
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ style="display:inline">
+ style="display:inline">
+ transform="translate(0,-0.972157)">
+ transform="matrix(1.4543578,0,0,1.4543578,-1.981688,-0.6276354)">
+ style="display:inline">
+ style="display:inline">
+ id="warnings-bg"
+ transform="translate(0,0.00296)">
Core::Internal::MainWindow
-
+
&Fichier
@@ -161,12 +161,7 @@
&Aide
-
-
-
-
-
-
+
Ctrl+Maj+S
@@ -181,7 +176,12 @@
Enregistrer Paramètres &GCS par Défaut
-
+
+
+
+
+
+
Ctrl+Q
@@ -5600,172 +5600,108 @@ La même valeur est utilisé pour tous les axes.
CC_HW_Widget
-
- Formulaire
+ Formulaire
-
- Paramètres Matériels
+ Paramètres Matériels
-
- Messages
+ Messages
-
- Les changements sur cette page ne prendront effet qu'après un reset ou une coupure d'alimentation
+ Les changements sur cette page ne prendront effet qu'après un reset ou une coupure d'alimentation
-
- Vitesse de télémétrie :
+ Vitesse de télémétrie :
-
- Vitesse GPS :
+ Vitesse GPS :
-
- Vitesse COMUsbBridge :
+ Vitesse COMUsbBridge :
-
- Sélectionner ici la vitesse.
+ Sélectionner ici la vitesse.
-
-
-
-
-
-
-
-
-
-
-
- Vous renvoie à la page wiki
+ Vous renvoie à la page wiki
-
- Envoie vers l'OpenPilot mais n'écrit pas dans la SD.
+ Envoie vers l'OpenPilot mais n'écrit pas dans la SD.
Méfiez-vous de ne pas vous verrouiller l'accès !
-
- Appliquer
+ Appliquer
-
- Applique et Enregistre tous les paramètres dans la SD.
+ Applique et Enregistre tous les paramètres dans la SD.
Méfiez-vous de ne pas vous verrouiller l'accès !
-
- Enregistrer
+ Enregistrer
-
- Protocole GPS :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Protocole GPS :
ccattitude
-
- Formulaire
+ Formulaire
-
- Attitude
+ Attitude
-
- Pivoter l'attitude virtuelle par rapport à la carte
+ Pivoter l'attitude virtuelle par rapport à la carte
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Calibration
+ Calibration
-
- Placer l'appareil bien à plat et cliquer ensuite sur Niveau pour calculer les ajustements des accéléromètres et gyroscopes
+ Placer l'appareil bien à plat et cliquer ensuite sur Niveau pour calculer les ajustements des accéléromètres et gyroscopes
-
- Lancer la calibration du niveau horizontal.
+ Lancer la calibration du niveau horizontal.
-
- Niveau
+ Niveau
-
- Si activé, une recalibration rapide des gyros est effectuée à chaque fois que
+ Si activé, une recalibration rapide des gyros est effectuée à chaque fois que
la carte est armée. Dans ce cas ne bougez pas l'appareil lors de l'armement !
-
- Mettre les gyros à zéro lors de l'armement
+ Mettre les gyros à zéro lors de l'armement
-
- Filtrage accéléromètres.
+ Filtrage accéléromètres.
Ajuste le niveau de filtrage passe-bas des données d'accéléromètres pour
l'estimation de l'inclinaison. Des valeurs élevées donnent un filtrage plus
@@ -5788,35 +5724,29 @@ Commencez à un niveau bas et augmentez jusqu'à ce que le glissement s&apo
Une valeur de 0.00 désactive le filtre.
-
- Vous renvoie à la page wiki
+ Vous renvoie à la page wiki
-
- Appliquer
+ Appliquer
-
- Cliquer pour enregistrer définitivement les ajustements des
+ Cliquer pour enregistrer définitivement les ajustements des
accéléromètres dans la mémoire Flash de la carte.
-
- Enregistrer
+ Enregistrer
-
- Filtrage
+ Filtrage
-
- Accéléromètres
+ Accéléromètres
@@ -6490,9 +6420,8 @@ Applique et Enregistre tous les paramètres sur la SD
Stabilisé 6
-
- <html><head/><body><p>Éviter "Manuel" pour les multirotors ! Ne jamais sélectionner "Altitude", "VelocityControl" ou "CruiseControl" sur une aile volante !</p></body></html>
+ <html><head/><body><p>Éviter "Manuel" pour les multirotors ! Ne jamais sélectionner "Altitude", "VelocityControl" ou "CruiseControl" sur une aile volante !</p></body></html>
@@ -6541,6 +6470,11 @@ Applique et Enregistre tous les paramètres sur la SD
Do not translate !
+
+
+
+ <html><head/><body><p>Éviter "Manuel" comme Mode de Vol pour les multirotors ! Ne jamais sélectionner "Altitude" ou "CruiseControl" comme Mode de Stabilisation sur une aile volante !</p></body></html>
+
MixerCurve
@@ -7964,30 +7898,12 @@ Useful if you have accidentally changed some settings.
Intégrale Vitesse Verticale
-
-
-
- Pas toucher !
-
-
Pas toucher !
-
-
-
- Pas toucher !
-
-
-
-
-
- Pas toucher !
-
-
@@ -8070,9 +7986,8 @@ Useful if you have accidentally changed some settings.
<html><head/><body><p>Détermine de combien le véhicule augmente ou diminue les gaz pour compenser ou atteindre une certaine vitesse verticale. Des valeurs plus élevées entraînent des variations de gaz plus agressives qui peuvent produire des oscillations. C'est le paramètre à changer en fonction de la poussée moteur de l'appareil. Des appareils chargés avec des moteurs faibles peuvent demander des valeurs plus élevées.</p></body></html>
-
- <html><head/><body><p>Détermine la vitesse à laquelle le véhicule doit ajuster son estimation de gaz au neutre. Le Maintien d'Altitude suppose que lorsque il est activé, il est la plage nécessaire pour se maintenir en l'air. Si les gaz est beaucoup plus élevé ou plus bas, il faut ajuster ce "trim". Des valeurs plus élevées peuvent lui permettre de faire cet ajustement plus rapidement mais cela pourrait conduire à des oscillations. A laisser par défaut, à moins de savoir ce que vous faites.</p></body></html>
+ <html><head/><body><p>Détermine la vitesse à laquelle le véhicule doit ajuster son estimation de gaz au neutre. Le Maintien d'Altitude suppose que lorsque il est activé, il est la plage nécessaire pour se maintenir en l'air. Si les gaz est beaucoup plus élevé ou plus bas, il faut ajuster ce "trim". Des valeurs plus élevées peuvent lui permettre de faire cet ajustement plus rapidement mais cela pourrait conduire à des oscillations. A laisser par défaut, à moins de savoir ce que vous faites.</p></body></html>
@@ -8431,8 +8346,55 @@ response (deg)
<html><head/><body><p>Ceci ajuste le niveau de stabilité en lacet de votre véhicule en mode Rate. Un bon point de départ pour l'Intégrale est le double de la valeur Proportionnel</p></body></html>
-
+ <html><head/><body><p>Détermine la vitesse à laquelle doit monter ou descendre le véhicule pour compenser une certaine différence d'altitude. Des valeurs plus élevées pourraient entraîner un maintien d'altitude plus précis mais aussi des réactions plus violentes, des valeurs inférieures sont plus sûres et donnent un vol plus doux. La valeur par défaut devrait être bonne pour la plupart des appareils.</p></body></html>
+
+
+
+
+ Pas toucher !
+
+
+
+
+
+ <html><head/><body><p>Détermine la rapidité à laquelle le véhicule doit atteindre la vitesse désirée. Pour l'estimation du neutre de manche des gaz, le module Altitude suppose que lorsqu'il est activé le manche des gaz est dans la zone nécessaire à un vol stabilisé. Si la valeur de gaz est beaucoup plus haute ou basse, il doit ajuster son "Trim de Gaz". Des valeurs élevées donneront un ajustement plus rapide mais cela peut entrainer de vilaines oscillations. Laissez par défaut si vous ne savez pas ce que vous faites.</p></body></html>
+
+
+
+
+ Pas toucher !
+
+
+
+
+
+ Dérivée Vitesse Verticale
+
+
+
+
+ <html><head/><body><p>Un faible valeur de Kd peut réduire les oscillations dans le controlleur de vitesse.</p></body></html>
+
+
+
+
+ Beta Vitesse Verticale
+
+
+
+
+ <html><head/><body><p>La valeur de Beta applique une pondération de consigne qui réduit la sensibilité à des changements rapides de la vitesse souhaitée. Les transitions montée/descente en maintien d'altitude peuvent être adoucies en mettant une valeur de Beta entre 80 et 90%.</p></body></html>
+
+
+
+
+ Pas toucher !
+
+
+
+
+
<html><head/><body><p>Détermine la vitesse à laquelle doit monter ou descendre le véhicule pour compenser une certaine différence d'altitude. Des valeurs plus élevées pourraient entraîner un maintien d'altitude plus précis mais aussi des réactions plus violentes, des valeurs inférieures sont plus sûres et donnent un vol plus doux. La valeur par défaut devrait être bonne pour la plupart des appareils.</p></body></html>
@@ -9146,7 +9108,7 @@ les données en cache
Diagramme de Connexion
-
+
Enregistrer Fichier
@@ -9277,7 +9239,7 @@ p, li { white-space: pre-wrap; }
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">It is necessary that your firmware and ground control software are the same version.</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">When you are ready you can start the upgrade below by pushing the button. It is critical that nothing disturbs the board while the firmware is being written.</span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">It is recommended that you erase all settings on the board when upgrading firmware. Using saved settings for a previous version of the firmware </span><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">may result in undefined behaviour</span><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;"> and in worst case danger. It is possible to suppress the erase by deselecting the check box below.</span></p></body></html>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
@@ -9311,25 +9273,15 @@ p, li { white-space: pre-wrap; }
-
+
Connecter
-
+
<Inconnu>
-
-
-
-
-
-
-
-
-
-
@@ -9637,12 +9589,12 @@ Veuillez sélectionner le type de multirotor désiré pour la configuration ci-d
-
+
Valeur de sortie : <b>%1</b> µs
-
+
<html><head/><body><p><span style=" font-size:10pt;">Pour trouver </span><span style=" font-size:10pt; font-weight:600;">la valeur de neutre de ce moteur inversable</span><span style=" font-size:10pt;">, appuyez sur le bouton Démarrer et bouger le curseur à gauche ou à droite jusqu'à trouver la position centrale où le moteur ne démarre pas. <br/><br/>Lorsque c'est terminé, appuyer à nouveau sur le bouton pour arrêter.</span></p></body></html>
@@ -9662,7 +9614,7 @@ Please make sure the correct firmware version is used then restart the wizard an
Soyez certain d'utiliser la bonne version de firmware puis redémarrer l'assistant et essayez à nouveau. Si le problème persiste, consultez le forum openpilot.org.
-
+
Valeur de sortie : <b>%1</b> µs (Min)
@@ -10650,54 +10602,38 @@ p, li { white-space: pre-wrap; }
ConfigCCHWWidget
-
- Activez le module GPS et redémarrez la carte pour pouvoir choisir le protocole GPS
+ Activez le module GPS et redémarrez la carte pour pouvoir choisir le protocole GPS
-
- Attention : vous avez configuré plus d'une DebugConsole, ce n'est actuellement pas possible
+ Attention : vous avez configuré plus d'une DebugConsole, ce n'est actuellement pas possible
-
Attention
- Attention : vous avez configuré la même fonction sur les deux ports MainPort et FlexiPort, ce n'est actuellement pas possible
+ Attention : vous avez configuré la même fonction sur les deux ports MainPort et FlexiPort, ce n'est actuellement pas possible
-
- Attention : vous avez configuré la même fonction sur les deux ports USB HID et USB VCP, ce n'est actuellement pas possible
+ Attention : vous avez configuré la même fonction sur les deux ports USB HID et USB VCP, ce n'est actuellement pas possible
-
- Attention : vous avez désactivé la télémétrie USB sur les deux ports USB HID et USB VCP, ce n'est actuellement pas possible
-
-
-
-
-
+ Attention : vous avez désactivé la télémétrie USB sur les deux ports USB HID et USB VCP, ce n'est actuellement pas possible
ConfigCCAttitudeWidget
-
- Temps d'attente dépassé avant d'avoir reçu les mises à jour demandées.
-
-
-
-
-
+ Temps d'attente dépassé avant d'avoir reçu les mises à jour demandées.
ConfigGadgetWidget
-
+
Modifications non sauvegardées
@@ -11001,13 +10937,27 @@ Bougez le manche %1.
Connexions :
-
+
Déconnecter
-
-
+
+
+ CopterControl Non Supporté
+
+
+
+
+ Cette version d'OpenPilot GCS ne supporte pas les cartes CC et CC3D.
+
+Veuillez utiliser OpenPilot GCS version 15.02.xx à la place
+
+
+
+
Connecter
@@ -11295,20 +11245,10 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.Assistant Configuration OpenPilot
-
+
Type de contrôleur :
-
-
-
-
-
-
-
-
-
-
@@ -11610,7 +11550,7 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.Échoué !
-
+
Écriture paramètres Compas Externe
@@ -11630,7 +11570,7 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.Écriture paramètres matériels
-
+
@@ -11652,7 +11592,6 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.Écriture paramètres d'ajustement gyro et accéléromètres
-
Écriture paramètres carte
@@ -11892,12 +11831,12 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.
-
+
Périphérique
-
+
@@ -11907,20 +11846,20 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.En cours d'exécution
-
+
Bof
Expiration du temps d'attente de la déconnexion de toutes les cartes !
-
-
+
+
Bof
Expiration du temps dans l'attente d'une connexion de carte !
-
+
Pour mettre à jour une carte OPLinkMini veuillez la déconnecterdu port USB, appuyez à nouveau sur le bouton de mise à jour et suivez les instructions à l'écran.
@@ -11936,7 +11875,7 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.Échec du passage en mode bootloader.
-
+
Carte inconnue id '0x%1'
@@ -11966,7 +11905,7 @@ Double clic sur la légende ou le tracé pour afficher/cacher la légende.Échec du téléversement de la description firmware.
-
+
Expiration du temps d'attente lors du démarrage.
@@ -12132,7 +12071,7 @@ La carte sera redémarrée et tous les paramètres effacés.
Veuillez vérifier que la carte n'est pas armée et appuyez à nouveau Réinitialiser pour continuer ou allumer/éteindre la carte pour forcer la réinitialisation.
-
+
Annuler
@@ -13669,12 +13608,12 @@ p, li { white-space: pre-wrap; }
-
+
%1 Hz
-
+
Le module actionneur est en erreur. Cela peut aussi arriver lorsque il n'y a pas d'entrées (Rx radiocommande). Veuillez corriger cela avant de tester les sorties.
@@ -13689,7 +13628,7 @@ p, li { white-space: pre-wrap; }
Vous pouvez enregistrer vos changements des réglages de neutre.
-
+
@@ -13718,7 +13657,7 @@ En utilisant "PPM_PIN6+OneShot" la banque 4 (sortie 6) doit être rég
Désactivé
-
+
@@ -13811,7 +13750,7 @@ En utilisant "PPM_PIN6+OneShot" la banque 4 (sortie 6) doit être rég
DeviceWidget
-
+
ID Périphérique :
@@ -13821,7 +13760,7 @@ En utilisant "PPM_PIN6+OneShot" la banque 4 (sortie 6) doit être rég
Révision Matériel :
-
+
Accès flash :
@@ -13906,7 +13845,7 @@ En utilisant "PPM_PIN6+OneShot" la banque 4 (sortie 6) doit être rég
Firmware chargé :
-
+
Sélectionner le fichier de firmware
@@ -13935,7 +13874,7 @@ En utilisant "PPM_PIN6+OneShot" la banque 4 (sortie 6) doit être rég
CRC Firmware :
-
+
Version BL :
@@ -14831,7 +14770,7 @@ Des valeurs trop élevées pour les contrôles principaux peuvent entraîner des
et même conduire au crash. A utiliser avec prudence.
-
+
Canal %1
@@ -16399,7 +16338,7 @@ Il est suggéré que si cela est une première configuration de votre contrôleu
&Ne pas afficher ce message à nouveau.
-
+
Inconnu
diff --git a/ground/openpilotgcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp b/ground/openpilotgcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp
index 616328091..bce9246c2 100644
--- a/ground/openpilotgcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp
+++ b/ground/openpilotgcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp
@@ -60,6 +60,7 @@ PfdQmlGadgetWidget::PfdQmlGadgetWidget(QWindow *parent) :
"PathDesired" <<
"AltitudeHoldDesired" <<
"GPSPositionSensor" <<
+ "GPSSatellites" <<
"GCSTelemetryStats" <<
"SystemAlarms" <<
"NedAccel" <<
@@ -78,7 +79,8 @@ PfdQmlGadgetWidget::PfdQmlGadgetWidget(QWindow *parent) :
"SystemSettings" <<
"RevoSettings" <<
"MagState" <<
- "FlightBatterySettings";
+ "FlightBatterySettings" <<
+ "ReceiverStatus";
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
UAVObjectManager *objManager = pm->getObject();
diff --git a/shared/uavobjectdefinition/altitudeholdsettings.xml b/shared/uavobjectdefinition/altitudeholdsettings.xml
index e85ff09e6..7058041e2 100644
--- a/shared/uavobjectdefinition/altitudeholdsettings.xml
+++ b/shared/uavobjectdefinition/altitudeholdsettings.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/shared/uavobjectdefinition/mpu6000settings.xml b/shared/uavobjectdefinition/mpu6000settings.xml
index 943243fa7..4813a9c71 100644
--- a/shared/uavobjectdefinition/mpu6000settings.xml
+++ b/shared/uavobjectdefinition/mpu6000settings.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/shared/uavobjectdefinition/stabilizationsettings.xml b/shared/uavobjectdefinition/stabilizationsettings.xml
index 9187d13f3..644bfbf41 100644
--- a/shared/uavobjectdefinition/stabilizationsettings.xml
+++ b/shared/uavobjectdefinition/stabilizationsettings.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/shared/uavobjectdefinition/vtolpathfollowersettings.xml b/shared/uavobjectdefinition/vtolpathfollowersettings.xml
index 4f6758035..62469c113 100644
--- a/shared/uavobjectdefinition/vtolpathfollowersettings.xml
+++ b/shared/uavobjectdefinition/vtolpathfollowersettings.xml
@@ -7,11 +7,11 @@
-
-
+
+
-
+