mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-20 10:54:14 +01:00
Merge branch 'pt/CC3D_Release' of ssh://gitolite@git.openpilot.org/OpenPilot.git into CC3D_Release
This commit is contained in:
commit
c414f80fd7
@ -33,7 +33,6 @@
|
||||
#define PIOS_INCLUDE_SYS
|
||||
#define PIOS_INCLUDE_DELAY
|
||||
#define PIOS_INCLUDE_LED
|
||||
#define PIOS_INCLUDE_SDCARD
|
||||
#define PIOS_INCLUDE_FREERTOS
|
||||
#define PIOS_INCLUDE_COM
|
||||
#define PIOS_INCLUDE_UDP
|
||||
|
@ -463,15 +463,6 @@ static void updateSystemAlarms()
|
||||
AlarmsClear(SYSTEMALARMS_ALARM_STACKOVERFLOW);
|
||||
}
|
||||
|
||||
#if defined(PIOS_INCLUDE_SDCARD)
|
||||
// Check for SD card
|
||||
if (PIOS_SDCARD_IsMounted() == 0) {
|
||||
AlarmsSet(SYSTEMALARMS_ALARM_SDCARD, SYSTEMALARMS_ALARM_ERROR);
|
||||
} else {
|
||||
AlarmsClear(SYSTEMALARMS_ALARM_SDCARD);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Check for event errors
|
||||
UAVObjGetStats(&objStats);
|
||||
EventGetStats(&evStats);
|
||||
|
@ -33,7 +33,6 @@
|
||||
#define PIOS_INCLUDE_SYS
|
||||
#define PIOS_INCLUDE_DELAY
|
||||
#define PIOS_INCLUDE_LED
|
||||
#define PIOS_INCLUDE_SDCARD
|
||||
#define PIOS_INCLUDE_FREERTOS
|
||||
#define PIOS_INCLUDE_COM
|
||||
#define PIOS_INCLUDE_UDP
|
||||
|
@ -46,13 +46,6 @@
|
||||
#define UAVOBJ_GCS_TELEMETRY_UPDATE_MODE_SHIFT 6
|
||||
#define UAVOBJ_UPDATE_MODE_MASK 0x3
|
||||
|
||||
|
||||
// FIXME: All this typedef for SDCARD needs to be abstracted away
|
||||
#if !defined(PIOS_INCLUDE_SDCARD)
|
||||
typedef struct {} FILEINFO;
|
||||
#endif
|
||||
|
||||
|
||||
typedef void* UAVObjHandle;
|
||||
|
||||
/**
|
||||
@ -164,8 +157,10 @@ int32_t UAVObjPack(UAVObjHandle obj_handle, uint16_t instId, uint8_t* dataOut);
|
||||
int32_t UAVObjSave(UAVObjHandle obj_handle, uint16_t instId);
|
||||
int32_t UAVObjLoad(UAVObjHandle obj_handle, uint16_t instId);
|
||||
int32_t UAVObjDelete(UAVObjHandle obj_handle, uint16_t instId);
|
||||
#if defined(PIOS_INCLUDE_SDCARD)
|
||||
int32_t UAVObjSaveToFile(UAVObjHandle obj_handle, uint16_t instId, FILEINFO* file);
|
||||
UAVObjHandle UAVObjLoadFromFile(FILEINFO* file);
|
||||
#endif
|
||||
int32_t UAVObjSaveSettings();
|
||||
int32_t UAVObjLoadSettings();
|
||||
int32_t UAVObjDeleteSettings();
|
||||
|
@ -668,6 +668,7 @@ unlock_exit:
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if defined(PIOS_INCLUDE_SDCARD)
|
||||
/**
|
||||
* Save the data of the specified object instance to the file system (SD card).
|
||||
* The object will be appended and the file will not be closed.
|
||||
@ -682,7 +683,6 @@ int32_t UAVObjSaveToFile(UAVObjHandle obj_handle, uint16_t instId,
|
||||
{
|
||||
PIOS_Assert(obj_handle);
|
||||
|
||||
#if defined(PIOS_INCLUDE_SDCARD)
|
||||
uint32_t bytesWritten;
|
||||
// Check for file system availability
|
||||
if (PIOS_SDCARD_IsMounted() == 0) {
|
||||
@ -741,9 +741,9 @@ int32_t UAVObjSaveToFile(UAVObjHandle obj_handle, uint16_t instId,
|
||||
}
|
||||
// Done
|
||||
xSemaphoreGiveRecursive(mutex);
|
||||
#endif /* PIOS_INCLUDE_SDCARD */
|
||||
return 0;
|
||||
}
|
||||
#endif /* PIOS_INCLUDE_SDCARD */
|
||||
|
||||
/**
|
||||
* Save the data of the specified object to the file system (SD card).
|
||||
@ -811,6 +811,7 @@ int32_t UAVObjSave(UAVObjHandle obj_handle, uint16_t instId)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(PIOS_INCLUDE_SDCARD)
|
||||
/**
|
||||
* Load an object from the file system (SD card).
|
||||
* @param[in] file File to read from
|
||||
@ -818,7 +819,6 @@ int32_t UAVObjSave(UAVObjHandle obj_handle, uint16_t instId)
|
||||
*/
|
||||
UAVObjHandle UAVObjLoadFromFile(FILEINFO * file)
|
||||
{
|
||||
#if defined(PIOS_INCLUDE_SDCARD)
|
||||
uint32_t bytesRead;
|
||||
struct UAVOBase *objEntry;
|
||||
InstanceHandle instEntry;
|
||||
@ -898,10 +898,8 @@ UAVObjHandle UAVObjLoadFromFile(FILEINFO * file)
|
||||
// Unlock
|
||||
xSemaphoreGiveRecursive(mutex);
|
||||
return obj_handle;
|
||||
#else /* PIOS_INCLUDE_SDCARD */
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
#endif /* PIOS_INCLUDE_SDCARD */
|
||||
|
||||
/**
|
||||
* Load an object from the file system (SD card).
|
||||
|
@ -6,7 +6,19 @@
|
||||
<OverrideLanguage>en_AU</OverrideLanguage>
|
||||
<SaveSettingsOnExit>true</SaveSettingsOnExit>
|
||||
<UDPMirror>false</UDPMirror>
|
||||
<Description>Default configuration</Description>
|
||||
<Details>Default configuration built to work on all screen sizes</Details>
|
||||
<StyleSheet>default</StyleSheet>
|
||||
</General>
|
||||
<IPconnection>
|
||||
<Current>
|
||||
<arr_1>
|
||||
<Port>1</Port>
|
||||
<UseTCP>0</UseTCP>
|
||||
</arr_1>
|
||||
<size>1</size>
|
||||
</Current>
|
||||
</IPconnection>
|
||||
<KeyBindings>
|
||||
<size>0</size>
|
||||
</KeyBindings>
|
||||
@ -24,6 +36,58 @@
|
||||
<Mode6>86</Mode6>
|
||||
<Welcome>100</Welcome>
|
||||
</ModePriorities>
|
||||
<Plugins>
|
||||
<SoundNotifyPlugin>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>1.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<Current>
|
||||
<arr_1>
|
||||
<CurrentLanguage>default</CurrentLanguage>
|
||||
<DataObject>FlightStatus</DataObject>
|
||||
<ExpireTimeout>0</ExpireTimeout>
|
||||
<Mute>false</Mute>
|
||||
<ObjectField>Armed</ObjectField>
|
||||
<RangeLimit>0</RangeLimit>
|
||||
<Repeat>0</Repeat>
|
||||
<SayOrder>0</SayOrder>
|
||||
<Sound1>armed</Sound1>
|
||||
<Sound2></Sound2>
|
||||
<Sound3></Sound3>
|
||||
<SoundCollectionPath>%%DATAPATH%%sounds</SoundCollectionPath>
|
||||
<Value1>Armed</Value1>
|
||||
<Value2>0</Value2>
|
||||
</arr_1>
|
||||
<size>1</size>
|
||||
</Current>
|
||||
<EnableSound>true</EnableSound>
|
||||
<listNotifies>
|
||||
<arr_1>
|
||||
<CurrentLanguage>default</CurrentLanguage>
|
||||
<DataObject>FlightStatus</DataObject>
|
||||
<ExpireTimeout>15</ExpireTimeout>
|
||||
<Mute>false</Mute>
|
||||
<ObjectField>Armed</ObjectField>
|
||||
<RangeLimit>0</RangeLimit>
|
||||
<Repeat>0</Repeat>
|
||||
<SayOrder>0</SayOrder>
|
||||
<Sound1>armed</Sound1>
|
||||
<Sound2></Sound2>
|
||||
<Sound3></Sound3>
|
||||
<SoundCollectionPath>%%DATAPATH%%sounds</SoundCollectionPath>
|
||||
<Value1>Armed</Value1>
|
||||
<Value2>0</Value2>
|
||||
</arr_1>
|
||||
<size>1</size>
|
||||
</listNotifies>
|
||||
</data>
|
||||
</SoundNotifyPlugin>
|
||||
</Plugins>
|
||||
<SerialConnection>
|
||||
<speed>57600</speed>
|
||||
</SerialConnection>
|
||||
<UAVGadgetConfigurations>
|
||||
<ConfigGadget>
|
||||
<default>
|
||||
@ -1691,8 +1755,8 @@
|
||||
<altitude>2000</altitude>
|
||||
<cacheOnly>false</cacheOnly>
|
||||
<earthFile>%%DATAPATH%%pfd/default/readymap.earth</earthFile>
|
||||
<latitude>46.671478</latitude>
|
||||
<longitude>10.158932</longitude>
|
||||
<latitude>46.6715</latitude>
|
||||
<longitude>10.1589</longitude>
|
||||
<qmlFile>%%DATAPATH%%pfd/default/Pfd.qml</qmlFile>
|
||||
<terrainEnabled>false</terrainEnabled>
|
||||
</data>
|
||||
@ -1707,10 +1771,10 @@
|
||||
<altitude>2000</altitude>
|
||||
<cacheOnly>false</cacheOnly>
|
||||
<earthFile>%%DATAPATH%%pfd/default/readymap.earth</earthFile>
|
||||
<latitude>46.671478</latitude>
|
||||
<longitude>10.158932</longitude>
|
||||
<latitude>46.6715</latitude>
|
||||
<longitude>10.1589</longitude>
|
||||
<qmlFile>%%DATAPATH%%pfd/default/Pfd.qml</qmlFile>
|
||||
<terrainEnabled>true</terrainEnabled>
|
||||
<terrainEnabled>false</terrainEnabled>
|
||||
</data>
|
||||
</Terrain>
|
||||
</PfdQmlGadget>
|
||||
@ -1735,7 +1799,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
@ -1781,7 +1844,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>20</dataSize>
|
||||
<plotCurve0>
|
||||
@ -1837,7 +1899,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
@ -1883,7 +1944,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
@ -1909,7 +1969,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>40</dataSize>
|
||||
<plotCurve0>
|
||||
@ -2005,7 +2064,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
@ -2051,7 +2109,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
@ -2097,7 +2154,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
@ -2143,7 +2199,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>240</dataSize>
|
||||
<plotCurve0>
|
||||
@ -2279,7 +2334,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>20</dataSize>
|
||||
<plotCurve0>
|
||||
@ -2325,7 +2379,6 @@
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<LoggingPath></LoggingPath>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>240</dataSize>
|
||||
<plotCurve0>
|
||||
@ -2340,9 +2393,6 @@
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>0</color>
|
||||
<mathFunction></mathFunction>
|
||||
<uavField></uavField>
|
||||
<uavObject></uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
@ -0,0 +1,2765 @@
|
||||
<gcs>
|
||||
<General>
|
||||
<AutoConnect>true</AutoConnect>
|
||||
<AutoSelect>true</AutoSelect>
|
||||
<ExpertMode>false</ExpertMode>
|
||||
<LastPreferenceCategory>Notify Plugin</LastPreferenceCategory>
|
||||
<LastPreferencePage>settings</LastPreferencePage>
|
||||
<SaveSettingsOnExit>true</SaveSettingsOnExit>
|
||||
<SettingsWindowHeight>600</SettingsWindowHeight>
|
||||
<SettingsWindowWidth>800</SettingsWindowWidth>
|
||||
<UDPMirror>false</UDPMirror>
|
||||
<Description>Wide configuration</Description>
|
||||
<Details>Default configuration built for wide screens (17"up)</Details>
|
||||
<StyleSheet>wide</StyleSheet>
|
||||
</General>
|
||||
<IPconnection>
|
||||
<Current>
|
||||
<arr_1>
|
||||
<Port>1</Port>
|
||||
<UseTCP>0</UseTCP>
|
||||
</arr_1>
|
||||
<size>1</size>
|
||||
</Current>
|
||||
</IPconnection>
|
||||
<KeyBindings>
|
||||
<size>0</size>
|
||||
</KeyBindings>
|
||||
<MainWindow>
|
||||
<Color>#666666</Color>
|
||||
<FullScreen>false</FullScreen>
|
||||
<Maximized>true</Maximized>
|
||||
</MainWindow>
|
||||
<ModePriorities>
|
||||
<Mode1>91</Mode1>
|
||||
<Mode2>90</Mode2>
|
||||
<Mode3>89</Mode3>
|
||||
<Mode4>88</Mode4>
|
||||
<Mode5>87</Mode5>
|
||||
<Mode6>86</Mode6>
|
||||
<Welcome>100</Welcome>
|
||||
</ModePriorities>
|
||||
<Plugins>
|
||||
<SoundNotifyPlugin>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>1.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<Current>
|
||||
<arr_1>
|
||||
<CurrentLanguage>default</CurrentLanguage>
|
||||
<DataObject>FlightStatus</DataObject>
|
||||
<ExpireTimeout>0</ExpireTimeout>
|
||||
<Mute>false</Mute>
|
||||
<ObjectField>Armed</ObjectField>
|
||||
<RangeLimit>0</RangeLimit>
|
||||
<Repeat>0</Repeat>
|
||||
<SayOrder>0</SayOrder>
|
||||
<Sound1>armed</Sound1>
|
||||
<Sound2></Sound2>
|
||||
<Sound3></Sound3>
|
||||
<SoundCollectionPath>%%DATAPATH%%sounds</SoundCollectionPath>
|
||||
<Value1>Armed</Value1>
|
||||
<Value2>0</Value2>
|
||||
</arr_1>
|
||||
<size>1</size>
|
||||
</Current>
|
||||
<EnableSound>true</EnableSound>
|
||||
<listNotifies>
|
||||
<arr_1>
|
||||
<CurrentLanguage>default</CurrentLanguage>
|
||||
<DataObject>FlightStatus</DataObject>
|
||||
<ExpireTimeout>15</ExpireTimeout>
|
||||
<Mute>false</Mute>
|
||||
<ObjectField>Armed</ObjectField>
|
||||
<RangeLimit>0</RangeLimit>
|
||||
<Repeat>0</Repeat>
|
||||
<SayOrder>0</SayOrder>
|
||||
<Sound1>armed</Sound1>
|
||||
<Sound2></Sound2>
|
||||
<Sound3></Sound3>
|
||||
<SoundCollectionPath>%%DATAPATH%%sounds</SoundCollectionPath>
|
||||
<Value1>Armed</Value1>
|
||||
<Value2>0</Value2>
|
||||
</arr_1>
|
||||
<size>1</size>
|
||||
</listNotifies>
|
||||
</data>
|
||||
</SoundNotifyPlugin>
|
||||
</Plugins>
|
||||
<SerialConnection>
|
||||
<speed>57600</speed>
|
||||
</SerialConnection>
|
||||
<UAVGadgetConfigurations>
|
||||
<ConfigGadget>
|
||||
<default>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
</default>
|
||||
</ConfigGadget>
|
||||
<DialGadget>
|
||||
<Attitude>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/attitude.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>AttitudeActual</needle1DataObject>
|
||||
<needle1Factor>-1</needle1Factor>
|
||||
<needle1MaxValue>360</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Roll</needle1ObjectField>
|
||||
<needle2DataObject>AttitudeActual</needle2DataObject>
|
||||
<needle2Factor>75</needle2Factor>
|
||||
<needle2MaxValue>20</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Vertical</needle2Move>
|
||||
<needle2ObjectField>Pitch</needle2ObjectField>
|
||||
<needle3DataObject>AttitudeActual</needle3DataObject>
|
||||
<needle3Factor>-1</needle3Factor>
|
||||
<needle3MaxValue>360</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Roll</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Attitude>
|
||||
<Baro__PCT__20Altimeter>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/altimeter.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>1</needle1Factor>
|
||||
<needle1MaxValue>10</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Altitude</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Baro__PCT__20Altimeter>
|
||||
<Barometer>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/barometer.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>10</needle1Factor>
|
||||
<needle1MaxValue>1120</needle1MaxValue>
|
||||
<needle1MinValue>1000</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Pressure</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Barometer>
|
||||
<Climbrate>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/vsi.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>VelocityActual</needle1DataObject>
|
||||
<needle1Factor>0.01</needle1Factor>
|
||||
<needle1MaxValue>12</needle1MaxValue>
|
||||
<needle1MinValue>-12</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Down</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Climbrate>
|
||||
<Compass>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/compass.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>AttitudeActual</needle1DataObject>
|
||||
<needle1Factor>-1</needle1Factor>
|
||||
<needle1MaxValue>360</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Yaw</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Compass>
|
||||
<Deluxe__PCT__20Attitude>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/deluxe/attitude.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>AttitudeActual</needle1DataObject>
|
||||
<needle1Factor>-1</needle1Factor>
|
||||
<needle1MaxValue>360</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Roll</needle1ObjectField>
|
||||
<needle2DataObject>AttitudeActual</needle2DataObject>
|
||||
<needle2Factor>75</needle2Factor>
|
||||
<needle2MaxValue>20</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Vertical</needle2Move>
|
||||
<needle2ObjectField>Pitch</needle2ObjectField>
|
||||
<needle3DataObject>AttitudeActual</needle3DataObject>
|
||||
<needle3Factor>-1</needle3Factor>
|
||||
<needle3MaxValue>360</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Roll</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Attitude>
|
||||
<Deluxe__PCT__20Baro__PCT__20Altimeter>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/deluxe/altimeter.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>1</needle1Factor>
|
||||
<needle1MaxValue>10</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Altitude</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Baro__PCT__20Altimeter>
|
||||
<Deluxe__PCT__20Barometer>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/deluxe/barometer.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>10</needle1Factor>
|
||||
<needle1MaxValue>1120</needle1MaxValue>
|
||||
<needle1MinValue>1000</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Pressure</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Barometer>
|
||||
<Deluxe__PCT__20Climbrate>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/deluxe/vsi.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>VelocityActual</needle1DataObject>
|
||||
<needle1Factor>0.01</needle1Factor>
|
||||
<needle1MaxValue>11.2</needle1MaxValue>
|
||||
<needle1MinValue>-11.2</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Down</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Climbrate>
|
||||
<Deluxe__PCT__20Compass>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/deluxe/compass.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>AttitudeActual</needle1DataObject>
|
||||
<needle1Factor>-1</needle1Factor>
|
||||
<needle1MaxValue>360</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Yaw</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Compass>
|
||||
<Deluxe__PCT__20Groundspeed__PCT__20kph>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/deluxe/speed.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>GPSPosition</needle1DataObject>
|
||||
<needle1Factor>3.6</needle1Factor>
|
||||
<needle1MaxValue>120</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Groundspeed</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Groundspeed__PCT__20kph>
|
||||
<Deluxe__PCT__20Temperature>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/deluxe/thermometer.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>1</needle1Factor>
|
||||
<needle1MaxValue>120</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Temperature</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Temperature>
|
||||
<Deluxe__PCT__20Turn__PCT__20Coordinator>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>/home/lafargue/OP/OpenPilot/trunk/artwork/Dials/deluxe/turncoordinator.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle2</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>AttitudeActual</needle1DataObject>
|
||||
<needle1Factor>-1</needle1Factor>
|
||||
<needle1MaxValue>360</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Roll</needle1ObjectField>
|
||||
<needle2DataObject>Accels</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>20</needle2MaxValue>
|
||||
<needle2MinValue>-20</needle2MinValue>
|
||||
<needle2Move>Horizontal</needle2Move>
|
||||
<needle2ObjectField>x</needle2ObjectField>
|
||||
<needle3DataObject>Accels</needle3DataObject>
|
||||
<needle3Factor>-1</needle3Factor>
|
||||
<needle3MaxValue>360</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>x</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Deluxe__PCT__20Turn__PCT__20Coordinator>
|
||||
<Groundspeed__PCT__20kph>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/speed.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>GPSPosition</needle1DataObject>
|
||||
<needle1Factor>3.6</needle1Factor>
|
||||
<needle1MaxValue>120</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Groundspeed</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Groundspeed__PCT__20kph>
|
||||
<HiContrast__PCT__20Attitude>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/hi-contrast/attitude.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>AttitudeActual</needle1DataObject>
|
||||
<needle1Factor>-1</needle1Factor>
|
||||
<needle1MaxValue>360</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Roll</needle1ObjectField>
|
||||
<needle2DataObject>AttitudeActual</needle2DataObject>
|
||||
<needle2Factor>75</needle2Factor>
|
||||
<needle2MaxValue>20</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Vertical</needle2Move>
|
||||
<needle2ObjectField>Pitch</needle2ObjectField>
|
||||
<needle3DataObject>AttitudeActual</needle3DataObject>
|
||||
<needle3Factor>-1</needle3Factor>
|
||||
<needle3MaxValue>360</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Roll</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</HiContrast__PCT__20Attitude>
|
||||
<HiContrast__PCT__20Baro__PCT__20Altimeter>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/hi-contrast/altimeter.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>1</needle1Factor>
|
||||
<needle1MaxValue>10</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Altitude</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</HiContrast__PCT__20Baro__PCT__20Altimeter>
|
||||
<HiContrast__PCT__20Barometer>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/hi-contrast/barometer.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>10</needle1Factor>
|
||||
<needle1MaxValue>1120</needle1MaxValue>
|
||||
<needle1MinValue>1000</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Pressure</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</HiContrast__PCT__20Barometer>
|
||||
<HiContrast__PCT__20Climbrate>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/hi-contrast/vsi.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>VelocityActual</needle1DataObject>
|
||||
<needle1Factor>0.01</needle1Factor>
|
||||
<needle1MaxValue>12</needle1MaxValue>
|
||||
<needle1MinValue>-12</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Down</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</HiContrast__PCT__20Climbrate>
|
||||
<HiContrast__PCT__20Compass>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/hi-contrast/compass.svg</dialFile>
|
||||
<dialForegroundID>foreground</dialForegroundID>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>AttitudeActual</needle1DataObject>
|
||||
<needle1Factor>-1</needle1Factor>
|
||||
<needle1MaxValue>360</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Yaw</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</HiContrast__PCT__20Compass>
|
||||
<HiContrast__PCT__20Groundspeed__PCT__20kph>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/hi-contrast/speed.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>GPSPosition</needle1DataObject>
|
||||
<needle1Factor>3.6</needle1Factor>
|
||||
<needle1MaxValue>120</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Groundspeed</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</HiContrast__PCT__20Groundspeed__PCT__20kph>
|
||||
<HiContrast__PCT__20Temperature>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/hi-contrast/thermometer.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>1</needle1Factor>
|
||||
<needle1MaxValue>120</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Temperature</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</HiContrast__PCT__20Temperature>
|
||||
<Servo__PCT__20Channel__PCT__201>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/thermometer.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>ManualControlCommand</needle1DataObject>
|
||||
<needle1Factor>1</needle1Factor>
|
||||
<needle1MaxValue>2000</needle1MaxValue>
|
||||
<needle1MinValue>1000</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Channel-3</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Servo__PCT__20Channel__PCT__201>
|
||||
<Temperature>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialBackgroundID>background</dialBackgroundID>
|
||||
<dialFile>%%DATAPATH%%dials/default/thermometer.svg</dialFile>
|
||||
<dialNeedleID1>needle</dialNeedleID1>
|
||||
<dialNeedleID2>needle2</dialNeedleID2>
|
||||
<dialNeedleID3>needle3</dialNeedleID3>
|
||||
<font>MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0</font>
|
||||
<needle1DataObject>BaroAltitude</needle1DataObject>
|
||||
<needle1Factor>1</needle1Factor>
|
||||
<needle1MaxValue>120</needle1MaxValue>
|
||||
<needle1MinValue>0</needle1MinValue>
|
||||
<needle1Move>Rotate</needle1Move>
|
||||
<needle1ObjectField>Temperature</needle1ObjectField>
|
||||
<needle2DataObject>BaroAltitude</needle2DataObject>
|
||||
<needle2Factor>1</needle2Factor>
|
||||
<needle2MaxValue>100</needle2MaxValue>
|
||||
<needle2MinValue>0</needle2MinValue>
|
||||
<needle2Move>Rotate</needle2Move>
|
||||
<needle2ObjectField>Altitude</needle2ObjectField>
|
||||
<needle3DataObject>BaroAltitude</needle3DataObject>
|
||||
<needle3Factor>1</needle3Factor>
|
||||
<needle3MaxValue>1000</needle3MaxValue>
|
||||
<needle3MinValue>0</needle3MinValue>
|
||||
<needle3Move>Rotate</needle3Move>
|
||||
<needle3ObjectField>Altitude</needle3ObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</Temperature>
|
||||
</DialGadget>
|
||||
<GCSControlGadget>
|
||||
<MS__PCT__20Sidewinder>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<button0Action>0</button0Action>
|
||||
<button0Amount>0</button0Amount>
|
||||
<button0Function>0</button0Function>
|
||||
<button1Action>0</button1Action>
|
||||
<button1Amount>0</button1Amount>
|
||||
<button1Function>0</button1Function>
|
||||
<button2Action>0</button2Action>
|
||||
<button2Amount>0.1</button2Amount>
|
||||
<button2Function>3</button2Function>
|
||||
<button3Action>0</button3Action>
|
||||
<button3Amount>0.1</button3Amount>
|
||||
<button3Function>3</button3Function>
|
||||
<button4Action>0</button4Action>
|
||||
<button4Amount>0</button4Amount>
|
||||
<button4Function>0</button4Function>
|
||||
<button5Action>0</button5Action>
|
||||
<button5Amount>0</button5Amount>
|
||||
<button5Function>0</button5Function>
|
||||
<button6Action>0</button6Action>
|
||||
<button6Amount>0</button6Amount>
|
||||
<button6Function>0</button6Function>
|
||||
<button7Action>0</button7Action>
|
||||
<button7Amount>0</button7Amount>
|
||||
<button7Function>0</button7Function>
|
||||
<channel0Reverse>false</channel0Reverse>
|
||||
<channel1Reverse>false</channel1Reverse>
|
||||
<channel2Reverse>true</channel2Reverse>
|
||||
<channel3Reverse>false</channel3Reverse>
|
||||
<channel4Reverse>false</channel4Reverse>
|
||||
<channel5Reverse>false</channel5Reverse>
|
||||
<channel6Reverse>false</channel6Reverse>
|
||||
<channel7Reverse>false</channel7Reverse>
|
||||
<controlPortUDP>0</controlPortUDP>
|
||||
<controlsMode>2</controlsMode>
|
||||
<pitchChannel>1</pitchChannel>
|
||||
<rollChannel>0</rollChannel>
|
||||
<throttleChannel>2</throttleChannel>
|
||||
<yawChannel>3</yawChannel>
|
||||
</data>
|
||||
</MS__PCT__20Sidewinder>
|
||||
</GCSControlGadget>
|
||||
<GpsDisplayGadget>
|
||||
<Flight__PCT__20GPS>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<connectionMode>Telemetry</connectionMode>
|
||||
<defaultDataBits>3</defaultDataBits>
|
||||
<defaultFlow>0</defaultFlow>
|
||||
<defaultParity>0</defaultParity>
|
||||
<defaultPort>Communications Port (COM1)</defaultPort>
|
||||
<defaultSpeed>11</defaultSpeed>
|
||||
<defaultStopBits>0</defaultStopBits>
|
||||
</data>
|
||||
</Flight__PCT__20GPS>
|
||||
<GPS__PCT__20Mouse>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<connectionMode>Serial</connectionMode>
|
||||
<defaultDataBits>3</defaultDataBits>
|
||||
<defaultFlow>0</defaultFlow>
|
||||
<defaultParity>0</defaultParity>
|
||||
<defaultPort>Communications Port (COM1)</defaultPort>
|
||||
<defaultSpeed>17</defaultSpeed>
|
||||
<defaultStopBits>0</defaultStopBits>
|
||||
</data>
|
||||
</GPS__PCT__20Mouse>
|
||||
</GpsDisplayGadget>
|
||||
<HITL>
|
||||
<Flightgear__PCT__20HITL>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<binPath>\usr\games\fgfs</binPath>
|
||||
<dataPath>\usr\share\games\FlightGear</dataPath>
|
||||
<hostAddress>127.0.0.1</hostAddress>
|
||||
<inPort>9009</inPort>
|
||||
<manual>false</manual>
|
||||
<outPort>9010</outPort>
|
||||
<remoteHostAddress>127.0.0.1</remoteHostAddress>
|
||||
<simulatorId>FG</simulatorId>
|
||||
<startSim>true</startSim>
|
||||
</data>
|
||||
</Flightgear__PCT__20HITL>
|
||||
<XPlane__PCT__20HITL>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<binPath>\home\lafargue\X-Plane 9\X-Plane-i686</binPath>
|
||||
<dataPath>\usr\share\games\FlightGear</dataPath>
|
||||
<hostAddress>127.0.0.3</hostAddress>
|
||||
<inPort>6756</inPort>
|
||||
<manual>false</manual>
|
||||
<outPort>49000</outPort>
|
||||
<remoteHostAddress>127.0.0.1</remoteHostAddress>
|
||||
<simulatorId>X-Plane</simulatorId>
|
||||
<startSim>false</startSim>
|
||||
</data>
|
||||
</XPlane__PCT__20HITL>
|
||||
</HITL>
|
||||
<HITLv2>
|
||||
<default>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<attActCalc>false</attActCalc>
|
||||
<attActHW>false</attActHW>
|
||||
<attActSim>true</attActSim>
|
||||
<attActual>true</attActual>
|
||||
<attRaw>true</attRaw>
|
||||
<attRawRate>20</attRawRate>
|
||||
<gcsReciever>true</gcsReciever>
|
||||
<gpsPosRate>200</gpsPosRate>
|
||||
<gpsPosition>true</gpsPosition>
|
||||
<homeLocRate>0</homeLocRate>
|
||||
<homeLocation>true</homeLocation>
|
||||
<hostAddress>127.0.0.1</hostAddress>
|
||||
<inPort>40100</inPort>
|
||||
<inputCommand>true</inputCommand>
|
||||
<manualControl>false</manualControl>
|
||||
<manualOutput>false</manualOutput>
|
||||
<outPort>40200</outPort>
|
||||
<outputRate>20</outputRate>
|
||||
<remoteAddress>127.0.0.1</remoteAddress>
|
||||
<simulatorId>ASimRC</simulatorId>
|
||||
<sonarAltRate>50</sonarAltRate>
|
||||
<sonarAltitude>false</sonarAltitude>
|
||||
<sonarMaxAlt>@Variant(AAAAh0CgAAA=)</sonarMaxAlt>
|
||||
</data>
|
||||
</default>
|
||||
</HITLv2>
|
||||
<LineardialGadget>
|
||||
<Accel__PCT__20Horizontal__PCT__20X>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-horizontal.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,8,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>-9</greenMax>
|
||||
<greenMin>-10</greenMin>
|
||||
<maxValue>11</maxValue>
|
||||
<minValue>-11</minValue>
|
||||
<redMax>11</redMax>
|
||||
<redMin>-11</redMin>
|
||||
<sourceDataObject>Accels</sourceDataObject>
|
||||
<sourceObjectField>x</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>-5</yellowMax>
|
||||
<yellowMin>-11</yellowMin>
|
||||
</data>
|
||||
</Accel__PCT__20Horizontal__PCT__20X>
|
||||
<Accel__PCT__20Horizontal__PCT__20Y>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-horizontal.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,6,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>-9</greenMax>
|
||||
<greenMin>-10</greenMin>
|
||||
<maxValue>11</maxValue>
|
||||
<minValue>-11</minValue>
|
||||
<redMax>11</redMax>
|
||||
<redMin>-11</redMin>
|
||||
<sourceDataObject>Accels</sourceDataObject>
|
||||
<sourceObjectField>y</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>-5</yellowMax>
|
||||
<yellowMin>-11</yellowMin>
|
||||
</data>
|
||||
</Accel__PCT__20Horizontal__PCT__20Y>
|
||||
<Accel__PCT__20Horizontal__PCT__20Z>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-horizontal.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,8,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>-9</greenMax>
|
||||
<greenMin>-10</greenMin>
|
||||
<maxValue>11</maxValue>
|
||||
<minValue>-11</minValue>
|
||||
<redMax>11</redMax>
|
||||
<redMin>-11</redMin>
|
||||
<sourceDataObject>Accels</sourceDataObject>
|
||||
<sourceObjectField>z</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>-5</yellowMax>
|
||||
<yellowMin>-11</yellowMin>
|
||||
</data>
|
||||
</Accel__PCT__20Horizontal__PCT__20Z>
|
||||
<Arm__PCT__20Status>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/default/arm-status.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>,12,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>100</greenMax>
|
||||
<greenMin>66</greenMin>
|
||||
<maxValue>100</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>33</redMax>
|
||||
<redMin>0</redMin>
|
||||
<sourceDataObject>FlightStatus</sourceDataObject>
|
||||
<sourceObjectField>Armed</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>66</yellowMax>
|
||||
<yellowMin>33</yellowMin>
|
||||
</data>
|
||||
</Arm__PCT__20Status>
|
||||
<Flight__PCT__20Time>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/default/textonly.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>0.001</factor>
|
||||
<font>,12,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>100</greenMax>
|
||||
<greenMin>66</greenMin>
|
||||
<maxValue>100</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>33</redMax>
|
||||
<redMin>0</redMin>
|
||||
<sourceDataObject>SystemStats</sourceDataObject>
|
||||
<sourceObjectField>FlightTime</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>66</yellowMax>
|
||||
<yellowMin>33</yellowMin>
|
||||
</data>
|
||||
</Flight__PCT__20Time>
|
||||
<Flight__PCT__20mode>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/default/flightmode-status.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>,12,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>100</greenMax>
|
||||
<greenMin>66</greenMin>
|
||||
<maxValue>100</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>33</redMax>
|
||||
<redMin>0</redMin>
|
||||
<sourceDataObject>FlightStatus</sourceDataObject>
|
||||
<sourceObjectField>FlightMode</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>66</yellowMax>
|
||||
<yellowMin>33</yellowMin>
|
||||
</data>
|
||||
</Flight__PCT__20mode>
|
||||
<GPS__PCT__20Sats>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/default/gps-signal.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>,12,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>0</greenMax>
|
||||
<greenMin>0</greenMin>
|
||||
<maxValue>12</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>0</redMax>
|
||||
<redMin>0</redMin>
|
||||
<sourceDataObject>GPSPosition</sourceDataObject>
|
||||
<sourceObjectField>Satellites</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0</yellowMax>
|
||||
<yellowMin>0</yellowMin>
|
||||
</data>
|
||||
</GPS__PCT__20Sats>
|
||||
<GPS__PCT__20Status>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/default/gps-status.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>,12,-1,5,50,0,0,0,0,0</font>
|
||||
<greenMax>100</greenMax>
|
||||
<greenMin>66</greenMin>
|
||||
<maxValue>100</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>33</redMax>
|
||||
<redMin>0</redMin>
|
||||
<sourceDataObject>GPSPosition</sourceDataObject>
|
||||
<sourceObjectField>Status</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>66</yellowMax>
|
||||
<yellowMin>33</yellowMin>
|
||||
</data>
|
||||
</GPS__PCT__20Status>
|
||||
<Mainboard__PCT__20CPU>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>90</greenMax>
|
||||
<greenMin>0</greenMin>
|
||||
<maxValue>100</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>100</redMax>
|
||||
<redMin>95</redMin>
|
||||
<sourceDataObject>SystemStats</sourceDataObject>
|
||||
<sourceObjectField>CPULoad</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>95</yellowMax>
|
||||
<yellowMin>90</yellowMin>
|
||||
</data>
|
||||
</Mainboard__PCT__20CPU>
|
||||
<Pitch__PCT__20Desired>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.5</greenMax>
|
||||
<greenMin>-0.5</greenMin>
|
||||
<maxValue>1</maxValue>
|
||||
<minValue>-1</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>-1</redMin>
|
||||
<sourceDataObject>ActuatorDesired</sourceDataObject>
|
||||
<sourceObjectField>Pitch</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.8</yellowMax>
|
||||
<yellowMin>-0.8</yellowMin>
|
||||
</data>
|
||||
</Pitch__PCT__20Desired>
|
||||
<Pitch>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.5</greenMax>
|
||||
<greenMin>-0.5</greenMin>
|
||||
<maxValue>1</maxValue>
|
||||
<minValue>-1</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>-1</redMin>
|
||||
<sourceDataObject>ManualControlCommand</sourceDataObject>
|
||||
<sourceObjectField>Pitch</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.8</yellowMax>
|
||||
<yellowMin>-0.8</yellowMin>
|
||||
</data>
|
||||
</Pitch>
|
||||
<PitchActual>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.8</greenMax>
|
||||
<greenMin>0.3</greenMin>
|
||||
<maxValue>90</maxValue>
|
||||
<minValue>-90</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>0</redMin>
|
||||
<sourceDataObject>AttitudeActual</sourceDataObject>
|
||||
<sourceObjectField>Pitch</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.9</yellowMax>
|
||||
<yellowMin>0.1</yellowMin>
|
||||
</data>
|
||||
</PitchActual>
|
||||
<Roll__PCT__20Desired>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.5</greenMax>
|
||||
<greenMin>-0.5</greenMin>
|
||||
<maxValue>1</maxValue>
|
||||
<minValue>-1</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>-1</redMin>
|
||||
<sourceDataObject>ActuatorDesired</sourceDataObject>
|
||||
<sourceObjectField>Roll</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.8</yellowMax>
|
||||
<yellowMin>-0.8</yellowMin>
|
||||
</data>
|
||||
</Roll__PCT__20Desired>
|
||||
<Roll>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.5</greenMax>
|
||||
<greenMin>-0.5</greenMin>
|
||||
<maxValue>1</maxValue>
|
||||
<minValue>-1</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>-1</redMin>
|
||||
<sourceDataObject>ManualControlCommand</sourceDataObject>
|
||||
<sourceObjectField>Roll</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.8</yellowMax>
|
||||
<yellowMin>-0.8</yellowMin>
|
||||
</data>
|
||||
</Roll>
|
||||
<Telemetry__PCT__20RX__PCT__20Rate__PCT__20Horizontal>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-horizontal.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>650</greenMax>
|
||||
<greenMin>0</greenMin>
|
||||
<maxValue>1200</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>1200</redMax>
|
||||
<redMin>900</redMin>
|
||||
<sourceDataObject>GCSTelemetryStats</sourceDataObject>
|
||||
<sourceObjectField>RxDataRate</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>900</yellowMax>
|
||||
<yellowMin>650</yellowMin>
|
||||
</data>
|
||||
</Telemetry__PCT__20RX__PCT__20Rate__PCT__20Horizontal>
|
||||
<Telemetry__PCT__20TX__PCT__20Rate__PCT__20Horizontal>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-horizontal.svg</dFile>
|
||||
<decimalPlaces>0</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>650</greenMax>
|
||||
<greenMin>0</greenMin>
|
||||
<maxValue>1200</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>1200</redMax>
|
||||
<redMin>900</redMin>
|
||||
<sourceDataObject>GCSTelemetryStats</sourceDataObject>
|
||||
<sourceObjectField>TxDataRate</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>900</yellowMax>
|
||||
<yellowMin>650</yellowMin>
|
||||
</data>
|
||||
</Telemetry__PCT__20TX__PCT__20Rate__PCT__20Horizontal>
|
||||
<Throttle>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.5</greenMax>
|
||||
<greenMin>0</greenMin>
|
||||
<maxValue>1</maxValue>
|
||||
<minValue>0</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>0.75</redMin>
|
||||
<sourceDataObject>ManualControlCommand</sourceDataObject>
|
||||
<sourceObjectField>Throttle</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.75</yellowMax>
|
||||
<yellowMin>0.5</yellowMin>
|
||||
</data>
|
||||
</Throttle>
|
||||
<Yaw__PCT__20Desired>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.5</greenMax>
|
||||
<greenMin>-0.5</greenMin>
|
||||
<maxValue>1</maxValue>
|
||||
<minValue>-1</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>-1</redMin>
|
||||
<sourceDataObject>ActuatorDesired</sourceDataObject>
|
||||
<sourceObjectField>Yaw</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.8</yellowMax>
|
||||
<yellowMin>-0.8</yellowMin>
|
||||
</data>
|
||||
</Yaw__PCT__20Desired>
|
||||
<Yaw>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dFile>%%DATAPATH%%dials/deluxe/lineardial-vertical.svg</dFile>
|
||||
<decimalPlaces>2</decimalPlaces>
|
||||
<factor>1</factor>
|
||||
<font>Andale Mono,12,-1,5,75,0,0,0,0,0</font>
|
||||
<greenMax>0.5</greenMax>
|
||||
<greenMin>-0.5</greenMin>
|
||||
<maxValue>1</maxValue>
|
||||
<minValue>-1</minValue>
|
||||
<redMax>1</redMax>
|
||||
<redMin>-1</redMin>
|
||||
<sourceDataObject>ManualControlCommand</sourceDataObject>
|
||||
<sourceObjectField>Yaw</sourceObjectField>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
<yellowMax>0.8</yellowMax>
|
||||
<yellowMin>-0.8</yellowMin>
|
||||
</data>
|
||||
</Yaw>
|
||||
</LineardialGadget>
|
||||
<ModelViewGadget>
|
||||
<Aeroquad__PCT__20__PCT__2B>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/aeroquad/aeroquad_+.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Aeroquad__PCT__20__PCT__2B>
|
||||
<CopterControl>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/boards/CopterControl/CopterControl.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</CopterControl>
|
||||
<Easyquad__PCT__20X>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/easy_quad/easy_quad_X.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Easyquad__PCT__20X>
|
||||
<Easystar>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/planes/Easystar/easystar.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Easystar>
|
||||
<Firecracker>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/planes/firecracker/firecracker.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Firecracker>
|
||||
<Funjet>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/planes/funjet/funjet.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Funjet>
|
||||
<Gaui__PCT__20330X>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/gaui_330x/gaui_330x.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Gaui__PCT__20330X>
|
||||
<Helicopter__PCT__20-__PCT__20TRex__PCT__20450>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/helis/t-rex/t-rex_450_xl.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Helicopter__PCT__20-__PCT__20TRex__PCT__20450>
|
||||
<Hexacopter>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/mikrokopter/MK_Hexa.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Hexacopter>
|
||||
<Joe__PCT__27s__PCT__2014__PCT__22__PCT__20Quad__PCT__20__PCT__2B>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/joes_cnc/J14-Q_+.3DS</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Joe__PCT__27s__PCT__2014__PCT__22__PCT__20Quad__PCT__20__PCT__2B>
|
||||
<Joe__PCT__27s__PCT__2014__PCT__22__PCT__20Quad__PCT__20X__PCT__20>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/joes_cnc/J14-Q_X.3DS</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Joe__PCT__27s__PCT__2014__PCT__22__PCT__20Quad__PCT__20X__PCT__20>
|
||||
<Joe__PCT__27s__PCT__2014__PCT__22__PCT__20T__PCT__20Quad__PCT__20__PCT__2B>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/joes_cnc/J14-QT_+.3DS</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Joe__PCT__27s__PCT__2014__PCT__22__PCT__20T__PCT__20Quad__PCT__20__PCT__2B>
|
||||
<Joe__PCT__27s__PCT__2014__PCT__22__PCT__20T__PCT__20Quad__PCT__20X>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/joes_cnc/J14-QT_X.3DS</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Joe__PCT__27s__PCT__2014__PCT__22__PCT__20T__PCT__20Quad__PCT__20X>
|
||||
<Quadcopter>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/mikrokopter/MK_L4-ME.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Quadcopter>
|
||||
<Ricoo>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/ricoo/ricoo.3DS</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Ricoo>
|
||||
<Scorpion__PCT__20Tricopter>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/scorpion_tricopter/scorpion_tricopter.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Scorpion__PCT__20Tricopter>
|
||||
<Test__PCT__20Quad__PCT__20__PCT__2B>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/test_quad/test_quad_+.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Test__PCT__20Quad__PCT__20__PCT__2B>
|
||||
<Test__PCT__20Quad__PCT__20X>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<acFilename>%%DATAPATH%%models/multi/test_quad/test_quad_X.3ds</acFilename>
|
||||
<bgFilename>%%DATAPATH%%models/backgrounds/default_background.png</bgFilename>
|
||||
<enableVbo>false</enableVbo>
|
||||
</data>
|
||||
</Test__PCT__20Quad__PCT__20X>
|
||||
</ModelViewGadget>
|
||||
<OPMapGadget>
|
||||
<Google__PCT__20Sat>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<accessMode>ServerAndCache</accessMode>
|
||||
<cacheLocation>%%STOREPATH%%mapscache/</cacheLocation>
|
||||
<defaultLatitude>0</defaultLatitude>
|
||||
<defaultLongitude>0</defaultLongitude>
|
||||
<defaultZoom>2</defaultZoom>
|
||||
<mapProvider>GoogleSatellite</mapProvider>
|
||||
<maxUpdateRate>2000</maxUpdateRate>
|
||||
<showTileGridLines>false</showTileGridLines>
|
||||
<uavSymbol>mapquad.png</uavSymbol>
|
||||
<useMemoryCache>true</useMemoryCache>
|
||||
<useOpenGL>false</useOpenGL>
|
||||
</data>
|
||||
</Google__PCT__20Sat>
|
||||
<Memory__PCT__20Only>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<accessMode>CacheOnly</accessMode>
|
||||
<cacheLocation>%%STOREPATH%%mapscache/</cacheLocation>
|
||||
<defaultLatitude>0</defaultLatitude>
|
||||
<defaultLongitude>0</defaultLongitude>
|
||||
<defaultZoom>2</defaultZoom>
|
||||
<mapProvider>GoogleMap</mapProvider>
|
||||
<maxUpdateRate>2000</maxUpdateRate>
|
||||
<showTileGridLines>false</showTileGridLines>
|
||||
<uavSymbol>airplanepip.png</uavSymbol>
|
||||
<useMemoryCache>true</useMemoryCache>
|
||||
<useOpenGL>false</useOpenGL>
|
||||
</data>
|
||||
</Memory__PCT__20Only>
|
||||
<default>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<accessMode>ServerAndCache</accessMode>
|
||||
<cacheLocation>%%STOREPATH%%mapscache/</cacheLocation>
|
||||
<defaultLatitude>0</defaultLatitude>
|
||||
<defaultLongitude>0</defaultLongitude>
|
||||
<defaultZoom>2</defaultZoom>
|
||||
<mapProvider>GoogleMap</mapProvider>
|
||||
<maxUpdateRate>2000</maxUpdateRate>
|
||||
<showTileGridLines>false</showTileGridLines>
|
||||
<uavSymbol>mapquad.png</uavSymbol>
|
||||
<useMemoryCache>true</useMemoryCache>
|
||||
<useOpenGL>false</useOpenGL>
|
||||
</data>
|
||||
</default>
|
||||
</OPMapGadget>
|
||||
<PFDGadget>
|
||||
<raw>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>false</beSmooth>
|
||||
<dialFile>%%DATAPATH%%pfd/default/pfd.svg</dialFile>
|
||||
<hqFonts>false</hqFonts>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</raw>
|
||||
<smooth>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<beSmooth>true</beSmooth>
|
||||
<dialFile>%%DATAPATH%%pfd/default/pfd.svg</dialFile>
|
||||
<hqFonts>false</hqFonts>
|
||||
<useOpenGLFlag>false</useOpenGLFlag>
|
||||
</data>
|
||||
</smooth>
|
||||
</PFDGadget>
|
||||
<PfdQmlGadget>
|
||||
<NoTerrain>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<actualPositionUsed>false</actualPositionUsed>
|
||||
<altitude>2000</altitude>
|
||||
<cacheOnly>false</cacheOnly>
|
||||
<earthFile>%%DATAPATH%%pfd/default/readymap.earth</earthFile>
|
||||
<latitude>46.6715</latitude>
|
||||
<longitude>10.1589</longitude>
|
||||
<qmlFile>%%DATAPATH%%pfd/default/Pfd.qml</qmlFile>
|
||||
<terrainEnabled>false</terrainEnabled>
|
||||
</data>
|
||||
</NoTerrain>
|
||||
<Terrain>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<actualPositionUsed>false</actualPositionUsed>
|
||||
<altitude>2000</altitude>
|
||||
<cacheOnly>false</cacheOnly>
|
||||
<earthFile>%%DATAPATH%%pfd/default/readymap.earth</earthFile>
|
||||
<latitude>46.6715</latitude>
|
||||
<longitude>10.1589</longitude>
|
||||
<qmlFile>%%DATAPATH%%pfd/default/Pfd.qml</qmlFile>
|
||||
<terrainEnabled>false</terrainEnabled>
|
||||
</data>
|
||||
</Terrain>
|
||||
</PfdQmlGadget>
|
||||
<QmlViewGadget>
|
||||
<default>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<dialFile>Unknown</dialFile>
|
||||
<useOpenGLFlag>true</useOpenGLFlag>
|
||||
</data>
|
||||
</default>
|
||||
</QmlViewGadget>
|
||||
<ScopeGadget>
|
||||
<Accel>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>x</uavField>
|
||||
<uavObject>Accels</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>y</uavField>
|
||||
<uavObject>Accels</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4283804160</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>z</uavField>
|
||||
<uavObject>Accels</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurveCount>3</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>100</refreshInterval>
|
||||
</data>
|
||||
</Accel>
|
||||
<Actuators>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>20</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-4</uavField>
|
||||
<uavObject>ActuatorCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-5</uavField>
|
||||
<uavObject>ActuatorCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4289374847</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-6</uavField>
|
||||
<uavObject>ActuatorCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurve3>
|
||||
<color>4289374847</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-7</uavField>
|
||||
<uavObject>ActuatorCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve3>
|
||||
<plotCurveCount>4</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>100</refreshInterval>
|
||||
</data>
|
||||
</Actuators>
|
||||
<Attitude>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4283760895</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Roll</uavField>
|
||||
<uavObject>AttitudeActual</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4278233600</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Yaw</uavField>
|
||||
<uavObject>AttitudeActual</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Pitch</uavField>
|
||||
<uavObject>AttitudeActual</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurveCount>3</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>100</refreshInterval>
|
||||
</data>
|
||||
</Attitude>
|
||||
<Barometer>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4278190080</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Pressure</uavField>
|
||||
<uavObject>BaroAltitude</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurveCount>1</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>1000</refreshInterval>
|
||||
</data>
|
||||
</Barometer>
|
||||
<Inputs>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>40</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4278190207</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-1</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-4</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-5</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurve3>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-6</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve3>
|
||||
<plotCurve4>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-7</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve4>
|
||||
<plotCurve5>
|
||||
<color>4283825920</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-2</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve5>
|
||||
<plotCurve6>
|
||||
<color>4294923520</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-3</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve6>
|
||||
<plotCurve7>
|
||||
<color>4294967040</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Channel-0</uavField>
|
||||
<uavObject>ManualControlCommand</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve7>
|
||||
<plotCurveCount>8</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>200</refreshInterval>
|
||||
</data>
|
||||
</Inputs>
|
||||
<Raw__PCT__20Accels>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>x</uavField>
|
||||
<uavObject>Accels</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>y</uavField>
|
||||
<uavObject>Accels</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4283804160</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>z</uavField>
|
||||
<uavObject>Accels</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurveCount>3</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>500</refreshInterval>
|
||||
</data>
|
||||
</Raw__PCT__20Accels>
|
||||
<Raw__PCT__20Gyros>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4283804160</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>z</uavField>
|
||||
<uavObject>Gyros</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>y</uavField>
|
||||
<uavObject>Gyros</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>x</uavField>
|
||||
<uavObject>Gyros</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurveCount>3</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>500</refreshInterval>
|
||||
</data>
|
||||
</Raw__PCT__20Gyros>
|
||||
<Raw__PCT__20magnetometers>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>60</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>X</uavField>
|
||||
<uavObject>Magnetometer</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Y</uavField>
|
||||
<uavObject>Magnetometer</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4283804160</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>Z</uavField>
|
||||
<uavObject>Magnetometer</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurveCount>3</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>500</refreshInterval>
|
||||
</data>
|
||||
</Raw__PCT__20magnetometers>
|
||||
<Stacks__PCT__20monitor>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>240</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-System</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-Actuator</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve10>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-Guidance</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve10>
|
||||
<plotCurve11>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-Watchdog</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve11>
|
||||
<plotCurve2>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-TelemetryTx</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurve3>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-TelemetryTxPri</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve3>
|
||||
<plotCurve4>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-TelemetryRx</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve4>
|
||||
<plotCurve5>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-GPS</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve5>
|
||||
<plotCurve6>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-ManualControl</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve6>
|
||||
<plotCurve7>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-Altitude</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve7>
|
||||
<plotCurve8>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-AHRSComms</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve8>
|
||||
<plotCurve9>
|
||||
<color>4294945280</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>StackRemaining-Stabilization</uavField>
|
||||
<uavObject>TaskInfo</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve9>
|
||||
<plotCurveCount>12</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>1000</refreshInterval>
|
||||
</data>
|
||||
</Stacks__PCT__20monitor>
|
||||
<Telemetry__PCT__20quality>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>20</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4289374847</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>TxFailures</uavField>
|
||||
<uavObject>GCSTelemetryStats</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>RxFailures</uavField>
|
||||
<uavObject>GCSTelemetryStats</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurve2>
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>TxRetries</uavField>
|
||||
<uavObject>GCSTelemetryStats</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve2>
|
||||
<plotCurveCount>3</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>100</refreshInterval>
|
||||
</data>
|
||||
</Telemetry__PCT__20quality>
|
||||
<Uptimes>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<LoggingEnabled>false</LoggingEnabled>
|
||||
<LoggingNewFileOnConnect>false</LoggingNewFileOnConnect>
|
||||
<configurationStreamVersion>1000</configurationStreamVersion>
|
||||
<dataSize>240</dataSize>
|
||||
<plotCurve0>
|
||||
<color>4294945407</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>FlightTime</uavField>
|
||||
<uavObject>SystemStats</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve0>
|
||||
<plotCurve1>
|
||||
<color>0</color>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
<yScalePower>0</yScalePower>
|
||||
</plotCurve1>
|
||||
<plotCurveCount>2</plotCurveCount>
|
||||
<plotType>1</plotType>
|
||||
<refreshInterval>800</refreshInterval>
|
||||
</data>
|
||||
</Uptimes>
|
||||
</ScopeGadget>
|
||||
<SystemHealthGadget>
|
||||
<default>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<diagram>%%DATAPATH%%diagrams/default/system-health.svg</diagram>
|
||||
</data>
|
||||
</default>
|
||||
</SystemHealthGadget>
|
||||
<UAVObjectBrowser>
|
||||
<default>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<CategorizedView>false</CategorizedView>
|
||||
<ScientificView>false</ScientificView>
|
||||
<manuallyChangedColor>#5baa56</manuallyChangedColor>
|
||||
<onlyHilightChangedValues>false</onlyHilightChangedValues>
|
||||
<recentlyUpdatedColor>#ff7957</recentlyUpdatedColor>
|
||||
<recentlyUpdatedTimeout>500</recentlyUpdatedTimeout>
|
||||
<showMetaData>false</showMetaData>
|
||||
</data>
|
||||
</default>
|
||||
</UAVObjectBrowser>
|
||||
<Uploader>
|
||||
<default>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>0.0.0</version>
|
||||
</configInfo>
|
||||
<data>
|
||||
<defaultDataBits>3</defaultDataBits>
|
||||
<defaultFlow>0</defaultFlow>
|
||||
<defaultParity>0</defaultParity>
|
||||
<defaultPort>/dev/ttyS0</defaultPort>
|
||||
<defaultSpeed>14</defaultSpeed>
|
||||
<defaultStopBits>0</defaultStopBits>
|
||||
</data>
|
||||
</default>
|
||||
</Uploader>
|
||||
<configInfo>
|
||||
<locked>false</locked>
|
||||
<version>1.2.0</version>
|
||||
</configInfo>
|
||||
</UAVGadgetConfigurations>
|
||||
<UAVGadgetManager>
|
||||
<Mode1>
|
||||
<showToolbars>false</showToolbars>
|
||||
<splitter>
|
||||
<side0>
|
||||
<side0>
|
||||
<side0>
|
||||
<side0>
|
||||
<classId>LineardialGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Flight Time</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<side0>
|
||||
<classId>LineardialGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Arm Status</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>LineardialGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Flight mode</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAAsQAAAAIAAAEV)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAArgAAAAIAAAHH)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>PFDGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>raw</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAAQAAAAAIAAAG4)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<side0>
|
||||
<classId>ModelViewGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Test Quad X</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>SystemHealthGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>default</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAABIAAAAAIAAAFV)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAB7wAAAAIAAAEf)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>OPMapGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Google Sat</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAACdgAAAAIAAAMp)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</splitter>
|
||||
<version>UAVGadgetManagerV1</version>
|
||||
</Mode1>
|
||||
<Mode2>
|
||||
<showToolbars>false</showToolbars>
|
||||
<splitter>
|
||||
<classId>ConfigGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>default</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</splitter>
|
||||
<version>UAVGadgetManagerV1</version>
|
||||
</Mode2>
|
||||
<Mode3>
|
||||
<showToolbars>false</showToolbars>
|
||||
<splitter>
|
||||
<side0>
|
||||
<side0>
|
||||
<classId>UAVObjectBrowser</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>default</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>DebugGadget</classId>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAA=)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<side0>
|
||||
<classId>EmptyGadget</classId>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>EmptyGadget</classId>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAA=)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAACJgAAAAIAAADo)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</splitter>
|
||||
<version>UAVGadgetManagerV1</version>
|
||||
</Mode3>
|
||||
<Mode4>
|
||||
<showToolbars>false</showToolbars>
|
||||
<splitter>
|
||||
<side0>
|
||||
<side0>
|
||||
<classId>ScopeGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Accel</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>ScopeGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Raw Gyros</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAA=)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<side0>
|
||||
<side0>
|
||||
<classId>ScopeGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Attitude</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>ScopeGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Uptimes</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAABhgAAAAIAAAEO)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>LoggingGadget</classId>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAClQAAAAIAAAB3)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAACjQAAAAIAAAKU)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</splitter>
|
||||
<version>UAVGadgetManagerV1</version>
|
||||
</Mode4>
|
||||
<Mode5>
|
||||
<showToolbars>false</showToolbars>
|
||||
<splitter>
|
||||
<side0>
|
||||
<side0>
|
||||
<classId>HITL</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>XPlane HITL</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>HITLv2</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>default</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAA=)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<side0>
|
||||
<classId>EmptyGadget</classId>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>GCSControlGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>MS Sidewinder</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAB6AAAAAIAAADC)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAADDAAAAAIAAAJJ)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</splitter>
|
||||
<version>UAVGadgetManagerV1</version>
|
||||
</Mode5>
|
||||
<Mode6>
|
||||
<showToolbars>false</showToolbars>
|
||||
<splitter>
|
||||
<side0>
|
||||
<classId>Uploader</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>default</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<side0>
|
||||
<side0>
|
||||
<classId>LineardialGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Flight Time</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>SystemHealthGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>default</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAABQgAAAAIAAAGM)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>PFDGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>raw</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>2</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAABLwAAAAIAAAHf)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAADVQAAAAIAAAJK)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</splitter>
|
||||
<version>UAVGadgetManagerV1</version>
|
||||
</Mode6>
|
||||
</UAVGadgetManager>
|
||||
<Workspace>
|
||||
<AllowTabBarMovement>false</AllowTabBarMovement>
|
||||
<Icon1>:\core\images\ah.png</Icon1>
|
||||
<Icon10>:/core/images/openpilot_logo_64.png</Icon10>
|
||||
<Icon2>:/core/images/config.png</Icon2>
|
||||
<Icon3>:/core/images/cog.png</Icon3>
|
||||
<Icon4>:/core/images/scopes.png</Icon4>
|
||||
<Icon5>:/core/images/joystick.png</Icon5>
|
||||
<Icon6>:/core/images/cpu.png</Icon6>
|
||||
<Icon7>:/core/images/openpilot_logo_64.png</Icon7>
|
||||
<Icon8>:/core/images/openpilot_logo_64.png</Icon8>
|
||||
<Icon9>:/core/images/openpilot_logo_64.png</Icon9>
|
||||
<NumberOfWorkspaces>6</NumberOfWorkspaces>
|
||||
<TabBarPlacementIndex>1</TabBarPlacementIndex>
|
||||
<Workspace1>Flight data</Workspace1>
|
||||
<Workspace10>Workspace10</Workspace10>
|
||||
<Workspace2>Configuration</Workspace2>
|
||||
<Workspace3>System</Workspace3>
|
||||
<Workspace4>Scopes</Workspace4>
|
||||
<Workspace5>HITL</Workspace5>
|
||||
<Workspace6>Firmware</Workspace6>
|
||||
<Workspace7>Workspace7</Workspace7>
|
||||
<Workspace8>Workspace8</Workspace8>
|
||||
<Workspace9>Workspace9</Workspace9>
|
||||
</Workspace>
|
||||
</gcs>
|
@ -1385,26 +1385,6 @@
|
||||
id="Telemetry-Critical"
|
||||
style="fill:#cf0e0e;fill-opacity:1;stroke:#ffffff;stroke-width:0.29055119;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
|
||||
</g>
|
||||
<g
|
||||
style="display:inline"
|
||||
inkscape:label="SDCard-OK"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer" />
|
||||
<g
|
||||
style="display:inline"
|
||||
inkscape:label="SDCard-Warning"
|
||||
id="layer6"
|
||||
inkscape:groupmode="layer" />
|
||||
<g
|
||||
style="display:inline"
|
||||
inkscape:label="SDCard-Error"
|
||||
id="layer11"
|
||||
inkscape:groupmode="layer" />
|
||||
<g
|
||||
style="display:inline"
|
||||
inkscape:label="SDCard-Critical"
|
||||
id="layer20"
|
||||
inkscape:groupmode="layer" />
|
||||
<g
|
||||
style="display:none"
|
||||
inkscape:label="Memory-OK"
|
||||
|
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 235 KiB |
@ -0,0 +1 @@
|
||||
MyListWidget {font-size: 11px;}
|
@ -0,0 +1 @@
|
||||
MyListWidget {font-size: 11px;}
|
@ -0,0 +1 @@
|
||||
MyListWidget {font-size: 11px;}
|
@ -3,7 +3,7 @@ include(../openpilotgcs.pri)
|
||||
TEMPLATE = subdirs
|
||||
SUBDIRS = openpilotgcs/translations
|
||||
|
||||
DATACOLLECTIONS = dials models pfd sounds diagrams mapicons
|
||||
DATACOLLECTIONS = dials models pfd sounds diagrams mapicons stylesheets default_configurations
|
||||
|
||||
equals(copydata, 1) {
|
||||
for(dir, DATACOLLECTIONS) {
|
||||
|
@ -28,15 +28,3 @@ win32 {
|
||||
}
|
||||
|
||||
OTHER_FILES += openpilotgcs.rc
|
||||
|
||||
STYLESHEETS = windows.qss \
|
||||
macos.qss \
|
||||
linux.qss
|
||||
|
||||
for(qss, STYLESHEETS) {
|
||||
style_copy.commands += $(COPY_FILE) $$targetPath(\"$$GCS_SOURCE_TREE/src/app/stylesheets/$$qss\") $$targetPath(\"$$GCS_APP_PATH/$$qss\") $$addNewline()
|
||||
}
|
||||
|
||||
style_copy.target = FORCE
|
||||
QMAKE_EXTRA_TARGETS += style_copy
|
||||
|
||||
|
@ -229,30 +229,6 @@ static void overrideSettings(QSettings &settings, int argc, char **argv){
|
||||
settings.sync();
|
||||
}
|
||||
|
||||
static inline void loadStyleSheet() {
|
||||
/* Let's use QFile and point to a resource... */
|
||||
#ifdef Q_OS_MAC
|
||||
QFile data(QCoreApplication::applicationDirPath()+"/macos.qss");
|
||||
#elif defined(Q_OS_LINUX)
|
||||
QFile data(QCoreApplication::applicationDirPath()+"/linux.qss");
|
||||
#else
|
||||
QFile data(QCoreApplication::applicationDirPath()+"/windows.qss");
|
||||
#endif
|
||||
QString style;
|
||||
/* ...to open the file */
|
||||
if(data.open(QFile::ReadOnly)) {
|
||||
/* QTextStream... */
|
||||
QTextStream styleIn(&data);
|
||||
/* ...read file to a string. */
|
||||
style = styleIn.readAll();
|
||||
data.close();
|
||||
/* We'll use qApp macro to get the QApplication pointer
|
||||
* and set the style sheet application wide. */
|
||||
qApp->setStyleSheet(style);
|
||||
qDebug()<<"Loaded stylesheet:"<<style;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
#ifdef Q_OS_MAC
|
||||
@ -367,7 +343,6 @@ int main(int argc, char **argv)
|
||||
return sendArguments(app, pluginManager.arguments()) ? 0 : -1;
|
||||
|
||||
pluginManager.loadPlugins();
|
||||
loadStyleSheet();
|
||||
if (coreplugin->hasError()) {
|
||||
displayError(msgCoreLoadFailure(coreplugin->errorString()));
|
||||
return 1;
|
||||
|
@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>862</width>
|
||||
<width>867</width>
|
||||
<height>598</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -128,7 +128,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>808</width>
|
||||
<width>813</width>
|
||||
<height>491</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -1352,6 +1352,18 @@ margin:1px;</string>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
@ -2733,8 +2745,8 @@ margin:1px;</string>
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>902</width>
|
||||
<height>595</height>
|
||||
<width>813</width>
|
||||
<height>455</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_18">
|
||||
|
@ -94,12 +94,12 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent)
|
||||
connect(m_config->wzBack,SIGNAL(clicked()),this,SLOT(wzBack()));
|
||||
|
||||
m_config->stackedWidget->setCurrentIndex(0);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos1,0);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos2,1);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos3,2);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos4,3);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos5,4);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos6,5);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos1,0,1,true);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos2,1,1,true);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos3,2,1,true);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos4,3,1,true);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos5,4,1,true);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos6,5,1,true);
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","FlightModeNumber",m_config->fmsPosNum);
|
||||
|
||||
addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization1Settings",m_config->fmsSsPos1Roll,"Roll");
|
||||
|
@ -187,6 +187,18 @@ Up to 3 separate PID options (or option pairs) can be selected and updated.</str
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="label_51">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
@ -204,6 +216,18 @@ margin:1px;</string>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_50">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
@ -221,6 +245,18 @@ margin:1px;</string>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel" name="label_49">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
@ -238,6 +274,18 @@ margin:1px;</string>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
@ -545,6 +593,18 @@ only when system is armed without disabling the module.</string>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
@ -562,6 +622,18 @@ margin:1px;</string>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
|
@ -58,10 +58,10 @@ ConnectionManager::ConnectionManager(Internal::MainWindow *mainWindow, QTabWidge
|
||||
|
||||
QHBoxLayout *layout = new QHBoxLayout;
|
||||
layout->setSpacing(5);
|
||||
layout->setContentsMargins(5,5,5,5);
|
||||
layout->setContentsMargins(5,2,5,2);
|
||||
|
||||
m_monitor = new TelemetryMonitorWidget(this);
|
||||
layout->addWidget(m_monitor);
|
||||
layout->addWidget(m_monitor, Qt::AlignHCenter);
|
||||
|
||||
layout->addWidget(new QLabel(tr("Connections:")));
|
||||
|
||||
|
@ -59,7 +59,6 @@
|
||||
<file>images/scopes.png</file>
|
||||
<file>images/world.png</file>
|
||||
<file>images/cog.png</file>
|
||||
<file>OpenPilotGCS.xml</file>
|
||||
<file>images/helpicon.svg</file>
|
||||
<file>images/cpu.png</file>
|
||||
<file>images/tx-rx.svg</file>
|
||||
|
@ -63,7 +63,8 @@ SOURCES += mainwindow.cpp \
|
||||
workspacesettings.cpp \
|
||||
uavconfiginfo.cpp \
|
||||
authorsdialog.cpp \
|
||||
telemetrymonitorwidget.cpp
|
||||
telemetrymonitorwidget.cpp \
|
||||
dialogs/importsettings.cpp
|
||||
HEADERS += mainwindow.h \
|
||||
tabpositionindicator.h \
|
||||
fancyactionbar.h \
|
||||
@ -124,12 +125,14 @@ HEADERS += mainwindow.h \
|
||||
uavconfiginfo.h \
|
||||
authorsdialog.h \
|
||||
iconfigurableplugin.h \
|
||||
telemetrymonitorwidget.h
|
||||
telemetrymonitorwidget.h \
|
||||
dialogs/importsettings.h
|
||||
FORMS += dialogs/settingsdialog.ui \
|
||||
dialogs/shortcutsettings.ui \
|
||||
generalsettings.ui \
|
||||
uavgadgetoptionspage.ui \
|
||||
workspacesettings.ui
|
||||
workspacesettings.ui \
|
||||
dialogs/importsettings.ui
|
||||
RESOURCES += core.qrc \
|
||||
fancyactionbar.qrc
|
||||
unix:!macx {
|
||||
|
@ -0,0 +1,55 @@
|
||||
#include "importsettings.h"
|
||||
#include "ui_importsettings.h"
|
||||
#include <QDir>
|
||||
#include <QSettings>
|
||||
#include <utils/xmlconfig.h>
|
||||
|
||||
importSettings::importSettings(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::importSettings)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(ui->cbConfigs,SIGNAL(currentIndexChanged(int)),this,SLOT(updateDetails(int)));
|
||||
connect(ui->btnLoad,SIGNAL(clicked()),this,SLOT(accept()));
|
||||
}
|
||||
void importSettings::loadFiles(QString path)
|
||||
{
|
||||
QDir myDir(path);
|
||||
QStringList filters;
|
||||
filters << "*.xml";
|
||||
QStringList list = myDir.entryList(filters,QDir::Files);
|
||||
int x=0;
|
||||
foreach(QString fileStr, list)
|
||||
{
|
||||
fileInfo * info=new fileInfo;
|
||||
QSettings settings(path+QDir::separator()+fileStr, XmlConfig::XmlSettingsFormat);
|
||||
settings.beginGroup("General");
|
||||
info->description=settings.value("Description","None").toString();
|
||||
info->details=settings.value("Details","None").toString();
|
||||
settings.endGroup();
|
||||
info->file=path+QDir::separator()+fileStr;
|
||||
configList.insert(x,info);
|
||||
ui->cbConfigs->addItem(info->description,x);
|
||||
++x;
|
||||
}
|
||||
}
|
||||
|
||||
void importSettings::updateDetails(int index)
|
||||
{
|
||||
fileInfo * info=configList.value(ui->cbConfigs->itemData(index).toInt());
|
||||
ui->lblDetails->setText(info->details);
|
||||
}
|
||||
QString importSettings::choosenConfig()
|
||||
{
|
||||
fileInfo * info=configList.value(ui->cbConfigs->itemData(ui->cbConfigs->currentIndex()).toInt());
|
||||
return info->file;
|
||||
}
|
||||
|
||||
importSettings::~importSettings()
|
||||
{
|
||||
foreach(fileInfo * info,configList.values())
|
||||
{
|
||||
delete info;
|
||||
}
|
||||
delete ui;
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
#ifndef IMPORTSETTINGS_H
|
||||
#define IMPORTSETTINGS_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QMap>
|
||||
namespace Ui {
|
||||
class importSettings;
|
||||
}
|
||||
|
||||
class importSettings : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
struct fileInfo
|
||||
{
|
||||
QString file;
|
||||
QString description;
|
||||
QString details;
|
||||
};
|
||||
|
||||
public:
|
||||
explicit importSettings(QWidget *parent = 0);
|
||||
~importSettings();
|
||||
|
||||
void loadFiles(QString path);
|
||||
QString choosenConfig();
|
||||
private:
|
||||
Ui::importSettings *ui;
|
||||
QMap<int,fileInfo*> configList;
|
||||
private slots:
|
||||
void updateDetails(int);
|
||||
};
|
||||
|
||||
#endif // IMPORTSETTINGS_H
|
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>importSettings</class>
|
||||
<widget class="QDialog" name="importSettings">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>373</width>
|
||||
<height>167</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>OpenPilotGCS</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>No configuration file could be found.
|
||||
Please choose from one of the default configurations</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="cbConfigs"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="lblDetails">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnLoad">
|
||||
<property name="text">
|
||||
<string>Load</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -84,18 +84,8 @@
|
||||
#include <QtGui/QToolButton>
|
||||
#include <QtGui/QMessageBox>
|
||||
#include <QDesktopServices>
|
||||
|
||||
/*
|
||||
#ifdef Q_OS_UNIX
|
||||
#include <signal.h>
|
||||
extern "C" void handleSigInt(int sig)
|
||||
{
|
||||
Q_UNUSED(sig)
|
||||
Core::ICore::instance()->exit();
|
||||
qDebug() << "SIGINT caught. Shutting down.";
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
#include "dialogs/importsettings.h"
|
||||
#include <QDir>
|
||||
|
||||
using namespace Core;
|
||||
using namespace Core::Internal;
|
||||
@ -125,7 +115,6 @@ MainWindow::MainWindow() :
|
||||
m_modeManager(0),
|
||||
m_connectionManager(0),
|
||||
m_mimeDatabase(new MimeDatabase),
|
||||
// m_rightPaneWidget(0),
|
||||
m_versionDialog(0),
|
||||
m_authorsDialog(0),
|
||||
m_activeContext(0),
|
||||
@ -197,12 +186,6 @@ MainWindow::MainWindow() :
|
||||
connect(m_workspaceSettings, SIGNAL(tabBarSettingsApplied(QTabWidget::TabPosition,bool)),
|
||||
this, SLOT(applyTabBarSettings(QTabWidget::TabPosition,bool)));
|
||||
connect(m_modeManager, SIGNAL(newModeOrder(QVector<IMode*>)), m_workspaceSettings, SLOT(newModeOrder(QVector<IMode*>)));
|
||||
|
||||
// setUnifiedTitleAndToolBarOnMac(true);
|
||||
#ifdef Q_OS_UNIX
|
||||
//signal(SIGINT, handleSigInt);
|
||||
#endif
|
||||
|
||||
statusBar()->setProperty("p_styled", true);
|
||||
setAcceptDrops(true);
|
||||
foreach (QString engine, qxtLog->allLoggerEngines())
|
||||
@ -254,9 +237,6 @@ MainWindow::~MainWindow()
|
||||
delete m_coreImpl;
|
||||
m_coreImpl = 0;
|
||||
|
||||
// delete m_rightPaneWidget;
|
||||
// m_rightPaneWidget = 0;
|
||||
|
||||
delete m_modeManager;
|
||||
m_modeManager = 0;
|
||||
delete m_mimeDatabase;
|
||||
@ -288,19 +268,24 @@ void MainWindow::extensionsInitialized()
|
||||
{
|
||||
|
||||
QSettings* qs = m_settings;
|
||||
QSettings defaultSettings(":/core/OpenPilotGCS.xml", XmlConfig::XmlSettingsFormat);
|
||||
// QSettings defaultSettings(":/core/OpenPilotGCS.ini", QSettings::IniFormat);
|
||||
|
||||
QSettings * settings;
|
||||
if ( ! qs->allKeys().count() ){
|
||||
QMessageBox msgBox;
|
||||
msgBox.setText(tr("No configuration file could be found."));
|
||||
msgBox.setInformativeText(tr("The default configuration will be loaded."));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok);
|
||||
msgBox.exec();
|
||||
qDebug() << "Load default config from resource /core/OpenPilotGCS.xml";
|
||||
qs = &defaultSettings;
|
||||
importSettings * dialog=new importSettings(this);
|
||||
QDir directory(QCoreApplication::applicationDirPath());
|
||||
directory.cdUp();
|
||||
directory.cd("share");
|
||||
directory.cd("openpilotgcs");
|
||||
directory.cd("default_configurations");
|
||||
dialog->loadFiles(directory.absolutePath());
|
||||
dialog->exec();
|
||||
settings=new QSettings(dialog->choosenConfig(), XmlConfig::XmlSettingsFormat);
|
||||
qs=settings;
|
||||
qDebug() << "Load default config from resource "<<dialog->choosenConfig();
|
||||
delete dialog;
|
||||
}
|
||||
|
||||
qs->beginGroup("General");
|
||||
loadStyleSheet(qs->value("StyleSheet","none").toString());
|
||||
qs->endGroup();
|
||||
m_uavGadgetInstanceManager = new UAVGadgetInstanceManager(this);
|
||||
m_uavGadgetInstanceManager->readSettings(qs);
|
||||
|
||||
@ -314,6 +299,37 @@ void MainWindow::extensionsInitialized()
|
||||
emit m_coreImpl->coreOpened();
|
||||
}
|
||||
|
||||
void MainWindow::loadStyleSheet(QString name) {
|
||||
/* Let's use QFile and point to a resource... */
|
||||
QDir directory(QCoreApplication::applicationDirPath());
|
||||
directory.cdUp();
|
||||
directory.cd("share");
|
||||
directory.cd("openpilotgcs");
|
||||
directory.cd("stylesheets");
|
||||
#ifdef Q_OS_MAC
|
||||
QFile data(directory.absolutePath()+QDir::separator()+name+"_macos.qss");
|
||||
#elif defined(Q_OS_LINUX)
|
||||
QFile data(directory.absolutePath()+QDir::separator()+name+"_linux.qss");
|
||||
#else
|
||||
QFile data(directory.absolutePath()+QDir::separator()+name+"_windows.qss");
|
||||
#endif
|
||||
QString style;
|
||||
/* ...to open the file */
|
||||
if(data.open(QFile::ReadOnly)) {
|
||||
/* QTextStream... */
|
||||
QTextStream styleIn(&data);
|
||||
/* ...read file to a string. */
|
||||
style = styleIn.readAll();
|
||||
data.close();
|
||||
/* We'll use qApp macro to get the QApplication pointer
|
||||
* and set the style sheet application wide. */
|
||||
qApp->setStyleSheet(style);
|
||||
qDebug()<<"Loaded stylesheet:"<<style;
|
||||
}
|
||||
else
|
||||
qDebug()<<"Failed to openstylesheet file"<<directory.absolutePath()<<name;
|
||||
}
|
||||
|
||||
void MainWindow::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
if ( !m_generalSettings->saveSettingsOnExit() ){
|
||||
@ -1220,7 +1236,11 @@ void MainWindow::saveSettings(QSettings* qs)
|
||||
|
||||
m_actionManager->saveSettings(qs);
|
||||
m_generalSettings->saveSettings(qs);
|
||||
|
||||
qs->beginGroup("General");
|
||||
qs->setValue("Description",m_settings->value("Description","None"));
|
||||
qs->setValue("Details",m_settings->value("Details","None"));
|
||||
qs->setValue("StyleSheet",m_settings->value("StyleSheet","default"));
|
||||
qs->endGroup();
|
||||
}
|
||||
|
||||
void MainWindow::readSettings(IConfigurablePlugin* plugin, QSettings* qs)
|
||||
|
@ -170,6 +170,7 @@ private:
|
||||
void registerDefaultContainers();
|
||||
void registerDefaultActions();
|
||||
void createWorkspaces(QSettings* qs, bool diffOnly = false);
|
||||
void loadStyleSheet(QString name);
|
||||
|
||||
CoreImpl *m_coreImpl;
|
||||
UniqueIDManager *m_uniqueIDManager;
|
||||
|
@ -40,7 +40,7 @@ DialGadgetWidget::DialGadgetWidget(QWidget *parent) : QGraphicsView(parent)
|
||||
setMinimumSize(64,64);
|
||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
|
||||
setScene(new QGraphicsScene(this));
|
||||
setRenderHints(QPainter::Antialiasing);
|
||||
setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
|
||||
|
||||
m_renderer = new QSvgRenderer();
|
||||
|
||||
|
@ -40,7 +40,7 @@ JoystickControl::JoystickControl(QWidget *parent) : QGraphicsView(parent)
|
||||
setMinimumSize(64, 64);
|
||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
|
||||
setScene(new QGraphicsScene(this));
|
||||
setRenderHints(QPainter::Antialiasing);
|
||||
setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
|
||||
|
||||
m_renderer = new QSvgRenderer();
|
||||
bool test = m_renderer->load(QString(":/gcscontrol/images/joystick.svg"));
|
||||
|
@ -36,7 +36,7 @@ LineardialGadgetWidget::LineardialGadgetWidget(QWidget *parent) : QGraphicsView(
|
||||
setMinimumSize(32,32);
|
||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
|
||||
setScene(new QGraphicsScene(this));
|
||||
setRenderHints(QPainter::Antialiasing);
|
||||
setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
|
||||
m_renderer = new QSvgRenderer();
|
||||
verticalDial = false;
|
||||
|
||||
|
@ -46,7 +46,7 @@ PositionField::PositionField(QWidget *parent) :
|
||||
setMinimumSize(64,64);
|
||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
|
||||
setScene(new QGraphicsScene(this));
|
||||
setRenderHints(QPainter::Antialiasing);
|
||||
setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
|
||||
|
||||
m_renderer = new QSvgRenderer();
|
||||
Q_ASSERT( m_renderer->load(QString(":/magicwaypoint/images/positionfield.svg")) != 0 );
|
||||
|
@ -206,7 +206,9 @@ void SoundNotifyPlugin::connectNotifications()
|
||||
if (!lstNotifiedUAVObjects.contains(obj)) {
|
||||
lstNotifiedUAVObjects.append(obj);
|
||||
|
||||
connect(obj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(on_arrived_Notification(UAVObject*)));
|
||||
connect(obj, SIGNAL(objectUpdated(UAVObject*)),
|
||||
this, SLOT(on_arrived_Notification(UAVObject*)),
|
||||
Qt::QueuedConnection);
|
||||
}
|
||||
} else {
|
||||
qNotifyDebug() << "Error: Object is unknown (" << notify->getDataObject() << ").";
|
||||
@ -297,8 +299,6 @@ void SoundNotifyPlugin::on_expiredTimer_Notification()
|
||||
return;
|
||||
notification->stopExpireTimer();
|
||||
|
||||
volatile QMutexLocker lock(&_mutex);
|
||||
|
||||
if (!_pendingNotifications.isEmpty()) {
|
||||
qNotifyDebug() << QString("expireTimer: %1% | %2 | %3").arg(notification->getDataObject())
|
||||
.arg(notification->getObjectField())
|
||||
@ -327,7 +327,6 @@ void SoundNotifyPlugin::stateChanged(Phonon::State newstate, Phonon::State oldst
|
||||
{
|
||||
qNotifyDebug() << "New State: " << QVariant(newstate).toString();
|
||||
|
||||
volatile QMutexLocker lock(&_mutex);
|
||||
// assignment to NULL needed to detect that palying is finished
|
||||
// it's useful in repeat timer handler, where we can detect
|
||||
// that notification has not overlap with itself
|
||||
@ -442,7 +441,6 @@ void SoundNotifyPlugin::checkNotificationRule(NotificationItem* notification, UA
|
||||
}
|
||||
if(notification->retryValue() == NotificationItem::repeatOncePerUpdate && notification->getCurrentUpdatePlayed())
|
||||
return;
|
||||
volatile QMutexLocker lock(&_mutex);
|
||||
|
||||
if (!playNotification(notification)) {
|
||||
if (!_pendingNotifications.contains(notification)
|
||||
|
@ -74,7 +74,6 @@ private:
|
||||
|
||||
bool playNotification(NotificationItem* notification);
|
||||
void checkNotificationRule(NotificationItem* notification, UAVObject* object);
|
||||
void readConfig_0_0_0();
|
||||
|
||||
private slots:
|
||||
|
||||
@ -90,10 +89,6 @@ private slots:
|
||||
|
||||
private:
|
||||
bool enableSound;
|
||||
QList< QList<Phonon::MediaSource>* > lstMediaSource;
|
||||
QStringList mediaSource;
|
||||
QMultiMap<QString, PhononObject> mapMediaObjects;
|
||||
QSettings* settings;
|
||||
|
||||
QList<UAVDataObject*> lstNotifiedUAVObjects;
|
||||
QList<NotificationItem*> _notificationList;
|
||||
@ -106,7 +101,6 @@ private:
|
||||
PhononObject phonon;
|
||||
NotifyPluginOptionsPage* mop;
|
||||
TelemetryManager* telMngr;
|
||||
QMutex _mutex;
|
||||
};
|
||||
|
||||
#endif // SOUNDNOTIFYPLUGIN_H
|
||||
|
@ -75,7 +75,11 @@ plugin_modelview.depends = plugin_coreplugin
|
||||
plugin_modelview.depends += plugin_uavobjects
|
||||
SUBDIRS += plugin_modelview
|
||||
|
||||
!contains(QT_VERSION, ^4\\.8\\..*) {
|
||||
|
||||
#Qt 4.8.0 / phonon may crash on Mac, fixed in Qt 4.8.1, QTBUG-23128
|
||||
macx:contains(QT_VERSION, ^4\\.8\\.0): CONFIG += disable_notify_plugin
|
||||
|
||||
!disable_notify_plugin {
|
||||
#Notify gadget
|
||||
plugin_notify.subdir = notify
|
||||
plugin_notify.depends = plugin_coreplugin
|
||||
|
@ -112,327 +112,370 @@ void UAVObjectField::limitsInitialize(const QString &limits)
|
||||
QStringList stringPerElement=limits.split(",");
|
||||
quint32 index=0;
|
||||
foreach (QString str, stringPerElement) {
|
||||
QString _str=str.trimmed();
|
||||
QStringList valuesPerElement=_str.split(":");
|
||||
LimitStruct lstruc;
|
||||
bool b1=valuesPerElement.at(0).startsWith("%");
|
||||
bool b2=(int)(index)<(int)numElements;
|
||||
if(b1 && b2)
|
||||
QStringList ruleList=str.split(";");
|
||||
QList<LimitStruct> limitList;
|
||||
foreach(QString rule,ruleList)
|
||||
{
|
||||
if(valuesPerElement.at(0).right(2)=="EQ")
|
||||
lstruc.type=EQUAL;
|
||||
else if(valuesPerElement.at(0).right(2)=="NE")
|
||||
lstruc.type=NOT_EQUAL;
|
||||
else if(valuesPerElement.at(0).right(2)=="BE")
|
||||
lstruc.type=BETWEEN;
|
||||
else if(valuesPerElement.at(0).right(2)=="BI")
|
||||
lstruc.type=BIGGER;
|
||||
else if(valuesPerElement.at(0).right(2)=="SM")
|
||||
lstruc.type=SMALLER;
|
||||
else
|
||||
qDebug()<<"limits parsing failed (invalid property) on UAVObjectField"<<name;
|
||||
valuesPerElement.removeAt(0);
|
||||
foreach(QString _value,valuesPerElement)
|
||||
QString _str=rule.trimmed();
|
||||
if(_str.isEmpty())
|
||||
continue;
|
||||
QStringList valuesPerElement=_str.split(":");
|
||||
LimitStruct lstruc;
|
||||
bool b1=valuesPerElement.at(0).startsWith("%");
|
||||
bool b2=(int)(index)<(int)numElements;
|
||||
bool b3=valuesPerElement.at(0).size()==3;
|
||||
bool auxb;
|
||||
valuesPerElement.at(0).mid(1,4).toInt(&auxb,16);
|
||||
bool b4=((valuesPerElement.at(0).size())==7 && auxb);
|
||||
if(b1 && b2 && (b3 || b4))
|
||||
{
|
||||
QString value=_value.trimmed();
|
||||
switch (type)
|
||||
if(b4)
|
||||
lstruc.board=valuesPerElement.at(0).mid(1,4).toInt(&auxb,16);
|
||||
else
|
||||
lstruc.board=0;
|
||||
if(valuesPerElement.at(0).right(2)=="EQ")
|
||||
lstruc.type=EQUAL;
|
||||
else if(valuesPerElement.at(0).right(2)=="NE")
|
||||
lstruc.type=NOT_EQUAL;
|
||||
else if(valuesPerElement.at(0).right(2)=="BE")
|
||||
lstruc.type=BETWEEN;
|
||||
else if(valuesPerElement.at(0).right(2)=="BI")
|
||||
lstruc.type=BIGGER;
|
||||
else if(valuesPerElement.at(0).right(2)=="SM")
|
||||
lstruc.type=SMALLER;
|
||||
else
|
||||
qDebug()<<"limits parsing failed (invalid property) on UAVObjectField"<<name;
|
||||
valuesPerElement.removeAt(0);
|
||||
foreach(QString _value,valuesPerElement)
|
||||
{
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
lstruc.values.append((quint32)value.toULong());
|
||||
break;
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
lstruc.values.append((qint32)value.toLong());
|
||||
break;
|
||||
case FLOAT32:
|
||||
lstruc.values.append((float)value.toFloat());
|
||||
break;
|
||||
case ENUM:
|
||||
lstruc.values.append((QString)value);
|
||||
break;
|
||||
case STRING:
|
||||
lstruc.values.append((QString)value);
|
||||
break;
|
||||
default:
|
||||
lstruc.values.append(QVariant());
|
||||
QString value=_value.trimmed();
|
||||
switch (type)
|
||||
{
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
lstruc.values.append((quint32)value.toULong());
|
||||
break;
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
lstruc.values.append((qint32)value.toLong());
|
||||
break;
|
||||
case FLOAT32:
|
||||
lstruc.values.append((float)value.toFloat());
|
||||
break;
|
||||
case ENUM:
|
||||
lstruc.values.append((QString)value);
|
||||
break;
|
||||
case STRING:
|
||||
lstruc.values.append((QString)value);
|
||||
break;
|
||||
default:
|
||||
lstruc.values.append(QVariant());
|
||||
}
|
||||
}
|
||||
limitList.append(lstruc);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!valuesPerElement.at(0).isEmpty() && !b1)
|
||||
qDebug()<<"limits parsing failed (property doesn't start with %) on UAVObjectField"<<name;
|
||||
else if(!b2)
|
||||
qDebug()<<"limits parsing failed (index>numelements) on UAVObjectField"<<name<<"index"<<index<<"numElements"<<numElements;
|
||||
else if(!b3 || !b4 )
|
||||
qDebug()<<"limits parsing failed limit not starting with %XX or %YYYYXX where XX is the limit type and YYYY is the board type on UAVObjectField"<<name;
|
||||
}
|
||||
elementLimits.insert(index,lstruc);
|
||||
++index;
|
||||
}
|
||||
else
|
||||
elementLimits.insert(index,limitList);
|
||||
++index;
|
||||
|
||||
}
|
||||
foreach(QList<LimitStruct> limitList,elementLimits)
|
||||
{
|
||||
foreach(LimitStruct limit,limitList)
|
||||
{
|
||||
if(!valuesPerElement.at(0).isEmpty() && !b1)
|
||||
qDebug()<<"limits parsing failed (property doesn't start with %) on UAVObjectField"<<name;
|
||||
else if(!b2)
|
||||
qDebug()<<"limits parsing failed (index>numelements) on UAVObjectField"<<name<<"index"<<index<<"numElements"<<numElements;
|
||||
qDebug()<<"Limit type"<<limit.type<<"for board"<<limit.board<<"for field"<<getName();
|
||||
foreach(QVariant var,limit.values)
|
||||
{
|
||||
qDebug()<<"value"<<var;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bool UAVObjectField::isWithinLimits(QVariant var,quint32 index)
|
||||
bool UAVObjectField::isWithinLimits(QVariant var,quint32 index, int board)
|
||||
{
|
||||
if(!elementLimits.keys().contains(index))
|
||||
return true;
|
||||
LimitStruct struc=elementLimits.value(index);
|
||||
switch(struc.type)
|
||||
|
||||
foreach(LimitStruct struc,elementLimits.value(index))
|
||||
{
|
||||
case EQUAL:
|
||||
switch (type)
|
||||
if((struc.board!=board) && board!=0 && struc.board!=0)
|
||||
continue;
|
||||
switch(struc.type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toInt()==vars.toInt())
|
||||
return true;
|
||||
case EQUAL:
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toInt()==vars.toInt())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toUInt()==vars.toUInt())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ENUM:
|
||||
case STRING:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toString()==vars.toString())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case FLOAT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toFloat()==vars.toFloat())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toUInt()==vars.toUInt())
|
||||
return true;
|
||||
case NOT_EQUAL:
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toInt()==vars.toInt())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toUInt()==vars.toUInt())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
case STRING:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toString()==vars.toString())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toFloat()==vars.toFloat())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ENUM:
|
||||
case STRING:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toString()==vars.toString())
|
||||
return true;
|
||||
case BETWEEN:
|
||||
if(struc.values.length()<2)
|
||||
{
|
||||
qDebug()<<__FUNCTION__<<"between limit with less than 1 pair, aborting; field:"<<name;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case FLOAT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toFloat()==vars.toFloat())
|
||||
return true;
|
||||
if(struc.values.length()>2)
|
||||
qDebug()<<__FUNCTION__<<"between limit with more than 1 pair, using first; field"<<name;
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
if(!(var.toInt()>=struc.values.at(0).toInt() && var.toInt()<=struc.values.at(1).toInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
if(!(var.toUInt()>=struc.values.at(0).toUInt() && var.toUInt()<=struc.values.at(1).toUInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
if(!(options.indexOf(var.toString())>=options.indexOf(struc.values.at(0).toString()) && options.indexOf(var.toString())<=options.indexOf(struc.values.at(1).toString())))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case STRING:
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
if(!(var.toFloat()>=struc.values.at(0).toFloat() && var.toFloat()<=struc.values.at(1).toFloat()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case NOT_EQUAL:
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toInt()==vars.toInt())
|
||||
return false;
|
||||
case BIGGER:
|
||||
if(struc.values.length()<1)
|
||||
{
|
||||
qDebug()<<__FUNCTION__<<"BIGGER limit with less than 1 value, aborting; field:"<<name;
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toUInt()==vars.toUInt())
|
||||
return false;
|
||||
if(struc.values.length()>1)
|
||||
qDebug()<<__FUNCTION__<<"BIGGER limit with more than 1 value, using first; field"<<name;
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
if(!(var.toInt()>=struc.values.at(0).toInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
if(!(var.toUInt()>=struc.values.at(0).toUInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
if(!(options.indexOf(var.toString())>=options.indexOf(struc.values.at(0).toString())))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case STRING:
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
if(!(var.toFloat()>=struc.values.at(0).toFloat()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
case STRING:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toString()==vars.toString())
|
||||
return false;
|
||||
case SMALLER:
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
if(!(var.toInt()<=struc.values.at(0).toInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
if(!(var.toUInt()<=struc.values.at(0).toUInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
if(!(options.indexOf(var.toString())<=options.indexOf(struc.values.at(0).toString())))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case STRING:
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
if(!(var.toFloat()<=struc.values.at(0).toFloat()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
foreach (QVariant vars, struc.values) {
|
||||
if(var.toFloat()==vars.toFloat())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case BETWEEN:
|
||||
if(struc.values.length()<2)
|
||||
{
|
||||
qDebug()<<__FUNCTION__<<"between limit with less than 1 pair, aborting; field:"<<name;
|
||||
return true;
|
||||
}
|
||||
if(struc.values.length()>2)
|
||||
qDebug()<<__FUNCTION__<<"between limit with more than 1 pair, using first; field"<<name;
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
if(!(var.toInt()>=struc.values.at(0).toInt() && var.toInt()<=struc.values.at(1).toInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
if(!(var.toUInt()>=struc.values.at(0).toUInt() && var.toUInt()<=struc.values.at(1).toUInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
if(!(options.indexOf(var.toString())>=options.indexOf(struc.values.at(0).toString()) && options.indexOf(var.toString())<=options.indexOf(struc.values.at(1).toString())))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case STRING:
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
if(!(var.toFloat()>=struc.values.at(0).toFloat() && var.toFloat()<=struc.values.at(1).toFloat()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case BIGGER:
|
||||
if(struc.values.length()<1)
|
||||
{
|
||||
qDebug()<<__FUNCTION__<<"BIGGER limit with less than 1 value, aborting; field:"<<name;
|
||||
return true;
|
||||
}
|
||||
if(struc.values.length()>1)
|
||||
qDebug()<<__FUNCTION__<<"BIGGER limit with more than 1 value, using first; field"<<name;
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
if(!(var.toInt()>=struc.values.at(0).toInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
if(!(var.toUInt()>=struc.values.at(0).toUInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
if(!(options.indexOf(var.toString())>=options.indexOf(struc.values.at(0).toString())))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case STRING:
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
if(!(var.toFloat()>=struc.values.at(0).toFloat()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case SMALLER:
|
||||
switch (type)
|
||||
{
|
||||
case INT8:
|
||||
case INT16:
|
||||
case INT32:
|
||||
if(!(var.toInt()<=struc.values.at(0).toInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case UINT8:
|
||||
case UINT16:
|
||||
case UINT32:
|
||||
case BITFIELD:
|
||||
if(!(var.toUInt()<=struc.values.at(0).toUInt()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case ENUM:
|
||||
if(!(options.indexOf(var.toString())<=options.indexOf(struc.values.at(0).toString())))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
case STRING:
|
||||
return true;
|
||||
break;
|
||||
case FLOAT32:
|
||||
if(!(var.toFloat()<=struc.values.at(0).toFloat()))
|
||||
return false;
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
QVariant UAVObjectField::getMaxLimit(quint32 index)
|
||||
QVariant UAVObjectField::getMaxLimit(quint32 index,int board)
|
||||
{
|
||||
if(!elementLimits.keys().contains(index))
|
||||
return QVariant();
|
||||
LimitStruct struc=elementLimits.value(index);
|
||||
switch(struc.type)
|
||||
foreach(LimitStruct struc,elementLimits.value(index))
|
||||
{
|
||||
case EQUAL:
|
||||
case NOT_EQUAL:
|
||||
case BIGGER:
|
||||
return QVariant();
|
||||
break;
|
||||
break;
|
||||
case BETWEEN:
|
||||
return struc.values.at(1);
|
||||
break;
|
||||
case SMALLER:
|
||||
return struc.values.at(0);
|
||||
break;
|
||||
default:
|
||||
return QVariant();
|
||||
break;
|
||||
if((struc.board!=board) && board!=0 && struc.board!=0)
|
||||
continue;
|
||||
switch(struc.type)
|
||||
{
|
||||
case EQUAL:
|
||||
case NOT_EQUAL:
|
||||
case BIGGER:
|
||||
return QVariant();
|
||||
break;
|
||||
break;
|
||||
case BETWEEN:
|
||||
return struc.values.at(1);
|
||||
break;
|
||||
case SMALLER:
|
||||
return struc.values.at(0);
|
||||
break;
|
||||
default:
|
||||
return QVariant();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
return QVariant();
|
||||
}
|
||||
QVariant UAVObjectField::getMinLimit(quint32 index)
|
||||
QVariant UAVObjectField::getMinLimit(quint32 index, int board)
|
||||
{
|
||||
if(!elementLimits.keys().contains(index))
|
||||
return QVariant();
|
||||
LimitStruct struc=elementLimits.value(index);
|
||||
switch(struc.type)
|
||||
foreach(LimitStruct struc,elementLimits.value(index))
|
||||
{
|
||||
case EQUAL:
|
||||
case NOT_EQUAL:
|
||||
case SMALLER:
|
||||
return QVariant();
|
||||
break;
|
||||
break;
|
||||
case BETWEEN:
|
||||
return struc.values.at(0);
|
||||
break;
|
||||
case BIGGER:
|
||||
return struc.values.at(0);
|
||||
break;
|
||||
default:
|
||||
return QVariant();
|
||||
break;
|
||||
if((struc.board!=board) && board!=0 && struc.board!=0)
|
||||
return QVariant();
|
||||
switch(struc.type)
|
||||
{
|
||||
case EQUAL:
|
||||
case NOT_EQUAL:
|
||||
case SMALLER:
|
||||
return QVariant();
|
||||
break;
|
||||
break;
|
||||
case BETWEEN:
|
||||
return struc.values.at(0);
|
||||
break;
|
||||
case BIGGER:
|
||||
return struc.values.at(0);
|
||||
break;
|
||||
default:
|
||||
return QVariant();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
return QVariant();
|
||||
}
|
||||
void UAVObjectField::initialize(quint8* data, quint32 dataOffset, UAVObject* obj)
|
||||
{
|
||||
|
@ -48,6 +48,7 @@ public:
|
||||
{
|
||||
LimitType type;
|
||||
QList<QVariant> values;
|
||||
int board;
|
||||
} LimitStruct;
|
||||
|
||||
UAVObjectField(const QString& name, const QString& units, FieldType type, quint32 numElements, const QStringList& options,const QString& limits=QString());
|
||||
@ -74,9 +75,9 @@ public:
|
||||
bool isText();
|
||||
QString toString();
|
||||
|
||||
bool isWithinLimits(QVariant var, quint32 index);
|
||||
QVariant getMaxLimit(quint32 index);
|
||||
QVariant getMinLimit(quint32 index);
|
||||
bool isWithinLimits(QVariant var, quint32 index, int board=0);
|
||||
QVariant getMaxLimit(quint32 index, int board=0);
|
||||
QVariant getMinLimit(quint32 index, int board=0);
|
||||
signals:
|
||||
void fieldUpdated(UAVObjectField* field);
|
||||
|
||||
@ -91,7 +92,7 @@ protected:
|
||||
quint32 offset;
|
||||
quint8* data;
|
||||
UAVObject* obj;
|
||||
QMap<quint32,LimitStruct> elementLimits;
|
||||
QMap<quint32, QList<LimitStruct> > elementLimits;
|
||||
void clear();
|
||||
void constructorInitialize(const QString& name, const QString& units, FieldType type, const QStringList& elementNames, const QStringList& options, const QString &limits);
|
||||
void limitsInitialize(const QString &limits);
|
||||
|
@ -37,6 +37,7 @@ ConfigTaskWidget::ConfigTaskWidget(QWidget *parent) : QWidget(parent),isConnecte
|
||||
pm = ExtensionSystem::PluginManager::instance();
|
||||
objManager = pm->getObject<UAVObjectManager>();
|
||||
TelemetryManager* telMngr = pm->getObject<TelemetryManager>();
|
||||
utilMngr = pm->getObject<UAVObjectUtilManager>();
|
||||
connect(telMngr, SIGNAL(connected()), this, SLOT(onAutopilotConnect()));
|
||||
connect(telMngr, SIGNAL(disconnected()), this, SLOT(onAutopilotDisconnect()));
|
||||
connect(telMngr, SIGNAL(connected()), this, SIGNAL(autoPilotConnected()));
|
||||
@ -232,9 +233,15 @@ void ConfigTaskWidget::forceConnectedState()
|
||||
|
||||
void ConfigTaskWidget::onAutopilotConnect()
|
||||
{
|
||||
if (utilMngr)
|
||||
currentBoard = utilMngr->getBoardModel();//TODO REMEMBER TO ADD THIS TO FORCE CONNECTED FUNC ON CC3D_RELEASE
|
||||
invalidateObjects();
|
||||
dirty=false;
|
||||
isConnected=true;
|
||||
foreach(objectToWidget * ow,objOfInterest)
|
||||
{
|
||||
loadWidgetLimits(ow->widget,ow->field,ow->index,ow->isLimited,ow->scale);
|
||||
}
|
||||
enableControls(true);
|
||||
refreshWidgetsValues();
|
||||
}
|
||||
@ -1077,7 +1084,7 @@ void ConfigTaskWidget::checkWidgetsLimits(QWidget * widget,UAVObjectField * fiel
|
||||
{
|
||||
if(!hasLimits)
|
||||
return;
|
||||
if(!field->isWithinLimits(value,index))
|
||||
if(!field->isWithinLimits(value,index,currentBoard))
|
||||
{
|
||||
if(!widget->property("styleBackup").isValid())
|
||||
widget->setProperty("styleBackup",widget->styleSheet());
|
||||
@ -1151,7 +1158,7 @@ void ConfigTaskWidget::loadWidgetLimits(QWidget * widget,UAVObjectField * field,
|
||||
{
|
||||
foreach(QString str,option)
|
||||
{
|
||||
if(field->isWithinLimits(str,index))
|
||||
if(field->isWithinLimits(str,index,currentBoard))
|
||||
cb->addItem(str);
|
||||
}
|
||||
}
|
||||
@ -1164,33 +1171,33 @@ void ConfigTaskWidget::loadWidgetLimits(QWidget * widget,UAVObjectField * field,
|
||||
{
|
||||
if(field->getMaxLimit(index).isValid())
|
||||
{
|
||||
cb->setMaximum((double)(field->getMaxLimit(index).toDouble()/scale));
|
||||
cb->setMaximum((double)(field->getMaxLimit(index,currentBoard).toDouble()/scale));
|
||||
}
|
||||
if(field->getMinLimit(index).isValid())
|
||||
if(field->getMinLimit(index,currentBoard).isValid())
|
||||
{
|
||||
cb->setMinimum((double)(field->getMinLimit(index).toDouble()/scale));
|
||||
cb->setMinimum((double)(field->getMinLimit(index,currentBoard).toDouble()/scale));
|
||||
}
|
||||
}
|
||||
else if(QSpinBox * cb=qobject_cast<QSpinBox *>(widget))
|
||||
{
|
||||
if(field->getMaxLimit(index).isValid())
|
||||
if(field->getMaxLimit(index,currentBoard).isValid())
|
||||
{
|
||||
cb->setMaximum((int)qRound(field->getMaxLimit(index).toDouble()/scale));
|
||||
cb->setMaximum((int)qRound(field->getMaxLimit(index,currentBoard).toDouble()/scale));
|
||||
}
|
||||
if(field->getMinLimit(index).isValid())
|
||||
if(field->getMinLimit(index,currentBoard).isValid())
|
||||
{
|
||||
cb->setMinimum((int)qRound(field->getMinLimit(index).toDouble()/scale));
|
||||
cb->setMinimum((int)qRound(field->getMinLimit(index,currentBoard).toDouble()/scale));
|
||||
}
|
||||
}
|
||||
else if(QSlider * cb=qobject_cast<QSlider *>(widget))
|
||||
{
|
||||
if(field->getMaxLimit(index).isValid())
|
||||
if(field->getMaxLimit(index,currentBoard).isValid())
|
||||
{
|
||||
cb->setMaximum((int)qRound(field->getMaxLimit(index).toDouble()/scale));
|
||||
cb->setMaximum((int)qRound(field->getMaxLimit(index,currentBoard).toDouble()/scale));
|
||||
}
|
||||
if(field->getMinLimit(index).isValid())
|
||||
if(field->getMinLimit(index,currentBoard).isValid())
|
||||
{
|
||||
cb->setMinimum((int)(field->getMinLimit(index).toDouble()/scale));
|
||||
cb->setMinimum((int)(field->getMinLimit(index,currentBoard).toDouble()/scale));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -155,12 +155,14 @@ private slots:
|
||||
void defaultButtonClicked();
|
||||
void reloadButtonClicked();
|
||||
private:
|
||||
int currentBoard;
|
||||
bool isConnected;
|
||||
bool allowWidgetUpdates;
|
||||
QStringList objectsList;
|
||||
QList <objectToWidget*> objOfInterest;
|
||||
ExtensionSystem::PluginManager *pm;
|
||||
UAVObjectManager *objManager;
|
||||
UAVObjectUtilManager* utilMngr;
|
||||
smartSaveButton *smartsave;
|
||||
QMap<UAVObject *,bool> objectUpdates;
|
||||
QMap<int,QList<objectToWidget*> *> defaultReloadGroups;
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
<!-- Note these options values should be identical to those defined in FlightMode -->
|
||||
<field name="FlightModeNumber" units="" type="uint8" elements="1" defaultvalue="3"/>
|
||||
<field name="FlightModePosition" units="" type="enum" elements="6" options="Manual,Stabilized1,Stabilized2,Stabilized3,AltitudeHold,VelocityControl,PositionHold" defaultvalue="Manual,Stabilized1,Stabilized2,Stabilized3,AltitudeHold,PositionHold"/>
|
||||
<field name="FlightModePosition" units="" type="enum" elements="6" options="Manual,Stabilized1,Stabilized2,Stabilized3,AltitudeHold,VelocityControl,PositionHold" defaultvalue="Manual,Stabilized1,Stabilized2,Stabilized3,Stabilized1,Stabilized2" limits="%0401NE:AltitudeHold:VelocityControl:PositionHold;%0402NE:AltitudeHold:VelocityControl:PositionHold,%0401NE:AltitudeHold:VelocityControl:PositionHold;%0402NE:AltitudeHold:VelocityControl:PositionHold,%0401NE:AltitudeHold:VelocityControl:PositionHold;%0402NE:AltitudeHold:VelocityControl:PositionHold,%0401NE:AltitudeHold:VelocityControl:PositionHold;%0402NE:AltitudeHold:VelocityControl:PositionHold,%0401NE:AltitudeHold:VelocityControl:PositionHold;%0402NE:AltitudeHold:VelocityControl:PositionHold,%0401NE:AltitudeHold:VelocityControl:PositionHold;%0402NE:AltitudeHold:VelocityControl:PositionHold"/>
|
||||
|
||||
<field name="ArmedTimeout" units="ms" type="uint16" elements="1" defaultvalue="30000"/>
|
||||
<access gcs="readwrite" flight="readwrite"/>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<object name="SystemAlarms" singleinstance="true" settings="false">
|
||||
<description>Alarms from OpenPilot to indicate failure conditions or warnings. Set by various modules.</description>
|
||||
<field name="Alarm" units="" type="enum" options="Uninitialised,OK,Warning,Error,Critical"
|
||||
elementnames="OutOfMemory,StackOverflow,CPUOverload,EventSystem,SDCard,Telemetry,ManualControl,Actuator,Attitude,Sensors,Stabilization,Guidance,AHRSComms,Battery,FlightTime,I2C,GPS,BootFault" defaultvalue="Uninitialised"/>
|
||||
elementnames="OutOfMemory,StackOverflow,CPUOverload,EventSystem,Telemetry,ManualControl,Actuator,Attitude,Sensors,Stabilization,Guidance,Battery,FlightTime,I2C,GPS,BootFault" defaultvalue="Uninitialised"/>
|
||||
<access gcs="readwrite" flight="readwrite"/>
|
||||
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
||||
<telemetryflight acked="true" updatemode="onchange" period="0"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user