Merge pull request #6 from opentx/2.3

Merge from original
This commit is contained in:
richardclli
2021-05-03 02:05:28 +08:00
committed by GitHub
8 changed files with 97 additions and 75 deletions
+12
View File
@@ -2238,3 +2238,15 @@ Michael Jakob
Dean Berg
David Hankins
Gary Cripps
Devin Crumb
Daniel Naude
James Miller
Pascal Cayol
eDefine
Mario Sette
Hans-Georg Böhm
Robert Oats
Helmut Suhrbier
Johannes Vorster
Deon du Rand
Stephen Hill-Harriss
+5 -2
View File
@@ -60,7 +60,7 @@ RawSourceRange RawSource::getRange(const ModelData * model, const GeneralSetting
result.min = -30000 * result.step;
result.max = +30000 * result.step;
result.decimals = sensor.prec;
result.unit = SensorData::unitToString(qr.quot);
result.unit = sensor.unitToString();
break;
}
@@ -351,8 +351,11 @@ RawSource RawSource::convert(RadioDataConversionState & cstate)
if (type == SOURCE_TYPE_SWITCH) {
QStringList fromSwitchList(getSwitchList(cstate.fromBoard));
QStringList toSwitchList(getSwitchList(cstate.toBoard));
index = toSwitchList.indexOf(fromSwitchList.at(oldData.id));
// index set to -1 if no match found
if (oldData.id < fromSwitchList.count())
index = toSwitchList.indexOf(fromSwitchList.at(oldData.id));
else
index = -1;
// perform forced mapping
if (index < 0) {
if (IS_TARANIS_X7(cstate.toType) && (IS_TARANIS_X9(cstate.fromType) || IS_FAMILY_HORUS_OR_T16(cstate.fromType))) {
+4 -1
View File
@@ -191,7 +191,10 @@ RawSwitch RawSwitch::convert(RadioDataConversionState & cstate)
QStringList fromSwitchList(getSwitchList(cstate.fromBoard));
QStringList toSwitchList(getSwitchList(cstate.toBoard));
// set to -1 if no match found
newIdx = toSwitchList.indexOf(fromSwitchList.at(swtch.quot));
if (swtch.quot < fromSwitchList.count())
newIdx = toSwitchList.indexOf(fromSwitchList.at(swtch.quot));
else
newIdx = -1;
// perform forced mapping
if (newIdx < 0) {
if (IS_TARANIS_X7(cstate.toType) && (IS_TARANIS_X9(cstate.fromType) || IS_FAMILY_HORUS_OR_T16(cstate.fromType))) {
+5 -5
View File
@@ -75,9 +75,9 @@ QString SensorData::cellIndexToString() const
return cellIndexToString(index);
}
QString SensorData::unitToString() const
QString SensorData::unitToString(bool hideRaw) const
{
return unitToString(unit);
return unitToString(unit, hideRaw);
}
QString SensorData::precToString() const
@@ -342,11 +342,11 @@ QString SensorData::sourceToString(const ModelData * model, const int index, con
}
// static
QString SensorData::unitToString(const int value)
QString SensorData::unitToString(const int value, bool hideRaw)
{
switch (value) {
case UNIT_RAW:
return tr("Raw (-)");
return hideRaw ? QString() : tr("Raw (-)");
case UNIT_VOLTS:
return tr("V");
case UNIT_AMPS:
@@ -496,7 +496,7 @@ AbstractStaticItemModel * SensorData::unitItemModel()
mdl->setName("sensordata.unit");
for (int i = 0; i <= UNIT_MAX; i++) {
QString str = unitToString(i);
QString str = unitToString(i, false);
if (str != CPN_STR_UNKNOWN_ITEM)
mdl->appendToItemList(str, i);
}
+2 -2
View File
@@ -188,7 +188,7 @@ class SensorData {
QString typeToString() const;
QString formulaToString() const;
QString cellIndexToString() const;
QString unitToString() const;
QString unitToString(bool hideRaw = true) const;
QString precToString() const;
int getMask() const;
QString paramsToString(const ModelData * model) const;
@@ -203,7 +203,7 @@ class SensorData {
static QString typeToString(const int value);
static QString formulaToString(const int value);
static QString cellIndexToString(const int value);
static QString unitToString(const int value);
static QString unitToString(const int value, bool hideRaw = true);
static QString precToString(const int value);
static bool isRssiSensorAvailable(const ModelData * model, const int value);
static QString rssiSensorToString(const ModelData * model, const int value);
+61 -56
View File
@@ -1631,7 +1631,7 @@ Si vous avez un fichier de sauvegarde des paramètres, vous pouvez l&apos;import
<message>
<location filename="../firmwares/customfunctiondata.cpp" line="67"/>
<source>Trainer Sticks</source>
<translation>Manches Écolage</translation>
<translation>Écolage Manches</translation>
</message>
<message>
<location filename="../firmwares/customfunctiondata.cpp" line="69"/>
@@ -1656,7 +1656,7 @@ Si vous avez un fichier de sauvegarde des paramètres, vous pouvez l&apos;import
<message>
<location filename="../firmwares/customfunctiondata.cpp" line="77"/>
<source>Trainer Channels</source>
<translation>Écolage Channels</translation>
<translation>Écolage Canaux</translation>
</message>
<message>
<location filename="../firmwares/customfunctiondata.cpp" line="79"/>
@@ -2233,7 +2233,7 @@ Si vous avez un fichier de sauvegarde des paramètres, vous pouvez l&apos;import
<translation>OpenTX ne supporte pas cette fonction sur cette carte</translation>
</message>
<message>
<location filename="../firmwares/opentx/opentxeeprom.cpp" line="2232"/>
<location filename="../firmwares/opentx/opentxeeprom.cpp" line="2233"/>
<source>OpenTX doesn&apos;t accept this radio protocol</source>
<translation>OpenTX ne supporte pas ce protocole radio</translation>
</message>
@@ -8975,28 +8975,33 @@ Mixage actif par défaut si non-renseigné.</translation>
<translation>Maître/Multi</translation>
</message>
<message>
<location filename="../modeledit/setup_module.ui" line="1096"/>
<location filename="../modeledit/setup_module.ui" line="1083"/>
<source>Disable Telemetry</source>
<translation>Désactiver la télémétrie</translation>
</message>
<message>
<location filename="../modeledit/setup_module.ui" line="1103"/>
<location filename="../modeledit/setup_module.ui" line="1090"/>
<source>Racing Mode</source>
<translation>Mode Course/Racing</translation>
</message>
<message>
<location filename="../modeledit/setup_module.ui" line="1110"/>
<source>Disable Ch. Map</source>
<translation>Désactiver &quot;Mapping&quot; des VOIES</translation>
</message>
<message>
<location filename="../modeledit/setup_module.ui" line="1171"/>
<location filename="../modeledit/setup_module.ui" line="1178"/>
<source>Show values in:</source>
<translation>Afficher les valeurs en:</translation>
</message>
<message>
<location filename="../modeledit/setup_module.ui" line="1178"/>
<location filename="../modeledit/setup_module.ui" line="1185"/>
<source>%</source>
<extracomment>abbreviation for percent</extracomment>
<translation></translation>
</message>
<message>
<location filename="../modeledit/setup_module.ui" line="1191"/>
<location filename="../modeledit/setup_module.ui" line="1198"/>
<source>μs</source>
<extracomment>abbreviation for microseconds</extracomment>
<translation></translation>
@@ -9084,7 +9089,7 @@ Mixage actif par défaut si non-renseigné.</translation>
<translation>ID d&apos;enregistrement</translation>
</message>
<message>
<location filename="../modeledit/setup_module.ui" line="1129"/>
<location filename="../modeledit/setup_module.ui" line="1136"/>
<source>Failsafe Positions</source>
<translation>Positions Failsafe</translation>
</message>
@@ -9137,100 +9142,100 @@ Mixage actif par défaut si non-renseigné.</translation>
<translation>Négative</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="131"/>
<location filename="../firmwares/moduledata.cpp" line="118"/>
<source>Trainer Port</source>
<translation>Port écolage</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="135"/>
<location filename="../firmwares/moduledata.cpp" line="122"/>
<source>Internal Radio System</source>
<translation>Module HF interne</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="135"/>
<location filename="../firmwares/moduledata.cpp" line="122"/>
<source>External Radio Module</source>
<translation>Module HF externe</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="137"/>
<location filename="../firmwares/moduledata.cpp" line="124"/>
<source>Extra Radio System</source>
<translation>Module HF supplémentaire</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="139"/>
<location filename="../firmwares/moduledata.cpp" line="126"/>
<source>Radio System</source>
<translation>Module HF</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="175"/>
<location filename="../firmwares/moduledata.cpp" line="162"/>
<source>10mW - 16CH</source>
<translation>10mW - 16 VOIES</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="175"/>
<location filename="../firmwares/moduledata.cpp" line="177"/>
<location filename="../firmwares/moduledata.cpp" line="162"/>
<location filename="../firmwares/moduledata.cpp" line="164"/>
<source>100mW - 16CH</source>
<translation>100mW - 16 VOIES</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="175"/>
<location filename="../firmwares/moduledata.cpp" line="162"/>
<source>500mW - 16CH</source>
<translation>500mW - 16 VOIES</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="175"/>
<location filename="../firmwares/moduledata.cpp" line="162"/>
<source>Auto &lt;= 1W - 16CH</source>
<translation>Auto &lt;= 1W - 16 VOIES</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="176"/>
<location filename="../firmwares/moduledata.cpp" line="178"/>
<location filename="../firmwares/moduledata.cpp" line="163"/>
<location filename="../firmwares/moduledata.cpp" line="165"/>
<source>25mW - 8CH</source>
<translation>25mW - 8 VOIES</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="176"/>
<location filename="../firmwares/moduledata.cpp" line="178"/>
<location filename="../firmwares/moduledata.cpp" line="163"/>
<location filename="../firmwares/moduledata.cpp" line="165"/>
<source>25mW - 16CH</source>
<translation>25mW - 16 VOIES</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="176"/>
<location filename="../firmwares/moduledata.cpp" line="163"/>
<source>200mW - 16CH (no telemetry)</source>
<translation>200mW - 16 VOIES (pas de télémétrie)</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="176"/>
<location filename="../firmwares/moduledata.cpp" line="163"/>
<source>500mW - 16CH (no telemetry)</source>
<translation>500mW - 16 VOIES (pas de télémétrie)</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="178"/>
<location filename="../firmwares/moduledata.cpp" line="165"/>
<source>100mW - 16CH (no telemetry)</source>
<translation>100mW - 16 VOIES (pas de télémétrie)</translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="181"/>
<location filename="../firmwares/moduledata.cpp" line="168"/>
<source>25 mW</source>
<translation></translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="181"/>
<location filename="../firmwares/moduledata.cpp" line="168"/>
<source>100 mW</source>
<translation></translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="181"/>
<location filename="../firmwares/moduledata.cpp" line="168"/>
<source>500 mW</source>
<translation></translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="181"/>
<location filename="../firmwares/moduledata.cpp" line="168"/>
<source>1 W</source>
<translation></translation>
</message>
<message>
<location filename="../firmwares/moduledata.cpp" line="181"/>
<location filename="../firmwares/moduledata.cpp" line="168"/>
<source>2 W</source>
<translation></translation>
</message>
@@ -9238,42 +9243,42 @@ Mixage actif par défaut si non-renseigné.</translation>
<context>
<name>ModulePanel</name>
<message>
<location filename="../modeledit/setup.cpp" line="325"/>
<location filename="../modeledit/setup.cpp" line="326"/>
<source>Value</source>
<translation>Valeur</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="326"/>
<location filename="../modeledit/setup.cpp" line="327"/>
<source>Hold</source>
<translation>Maintien</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="327"/>
<location filename="../modeledit/setup.cpp" line="328"/>
<source>No Pulse</source>
<translation>Pas d&apos;impulsion</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="505"/>
<location filename="../modeledit/setup.cpp" line="506"/>
<source>Ask</source>
<translation>Demander</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="506"/>
<location filename="../modeledit/setup.cpp" line="507"/>
<source>Internal</source>
<translation>Interne</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="507"/>
<location filename="../modeledit/setup.cpp" line="508"/>
<source>Internal + External</source>
<translation>Interne + Externe</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="507"/>
<location filename="../modeledit/setup.cpp" line="508"/>
<source>External</source>
<translation>Externe</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="568"/>
<location filename="../modeledit/setup.cpp" line="577"/>
<source>Bind on channel</source>
<translation>Bind avec VOIE</translation>
</message>
@@ -11031,87 +11036,87 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo
<context>
<name>SetupPanel</name>
<message>
<location filename="../modeledit/setup.cpp" line="1092"/>
<location filename="../modeledit/setup.cpp" line="1106"/>
<source>Popup menu available</source>
<translation>Menu contextuel disponible</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1108"/>
<location filename="../modeledit/setup.cpp" line="1122"/>
<source>Timer %1</source>
<translation>Chrono %1</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1555"/>
<location filename="../modeledit/setup.cpp" line="1569"/>
<source>Profile Settings</source>
<translation>Paramètres du profil</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1555"/>
<location filename="../modeledit/setup.cpp" line="1569"/>
<source>SD structure path not specified or invalid</source>
<translation>Chemin de la structure SD non spécifié ou invalide</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1570"/>
<location filename="../modeledit/setup.cpp" line="1584"/>
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1571"/>
<location filename="../modeledit/setup.cpp" line="1585"/>
<source>Cut</source>
<translation>Couper</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1572"/>
<location filename="../modeledit/setup.cpp" line="1586"/>
<source>Paste</source>
<translation>Coller</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1573"/>
<location filename="../modeledit/setup.cpp" line="1587"/>
<source>Clear</source>
<translation>Effacer</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1575"/>
<location filename="../modeledit/setup.cpp" line="1589"/>
<source>Insert</source>
<translation>Insérer</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1576"/>
<location filename="../modeledit/setup.cpp" line="1590"/>
<source>Delete</source>
<translation>Supprimer</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1577"/>
<location filename="../modeledit/setup.cpp" line="1591"/>
<source>Move Up</source>
<translation>Monter</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1578"/>
<location filename="../modeledit/setup.cpp" line="1592"/>
<source>Move Down</source>
<translation>Descendre</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1580"/>
<location filename="../modeledit/setup.cpp" line="1594"/>
<source>Clear All</source>
<translation>Effacer Tout</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1615"/>
<location filename="../modeledit/setup.cpp" line="1629"/>
<source>Clear Timer. Are you sure?</source>
<translation>Effacer le Chrono. Êtes-vous sûr?</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1627"/>
<location filename="../modeledit/setup.cpp" line="1641"/>
<source>Clear all Timers. Are you sure?</source>
<translation>Effacer tous les Chronos. Êtes-vous sûr?</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1649"/>
<location filename="../modeledit/setup.cpp" line="1663"/>
<source>Cut Timer. Are you sure?</source>
<translation>Couper le Chrono. Êtes-vous sûr?</translation>
</message>
<message>
<location filename="../modeledit/setup.cpp" line="1657"/>
<location filename="../modeledit/setup.cpp" line="1671"/>
<source>Delete Timer. Are you sure?</source>
<translation>Supprimer le Chrono. Êtes-vous sûr?</translation>
</message>
+7 -8
View File
@@ -398,7 +398,7 @@ ModuleSyncStatus::ModuleSyncStatus()
memset(this, 0, sizeof(ModuleSyncStatus));
}
void ModuleSyncStatus::update(uint16_t newRefreshRate, uint16_t newInputLag)
void ModuleSyncStatus::update(uint16_t newRefreshRate, int16_t newInputLag)
{
if (!newRefreshRate)
return;
@@ -449,13 +449,12 @@ void ModuleSyncStatus::getRefreshString(char * statusText)
char * tmp = statusText;
#if defined(DEBUG)
*tmp++ = 'L';
tmp = strAppendUnsigned(tmp, inputLag, 5);
tmp = strAppend(tmp, "us R ");
tmp = strAppendUnsigned(tmp, (uint32_t) (refreshRate / 1000), 5);
tmp = strAppend(tmp, "us");
tmp = strAppendSigned(tmp, inputLag, 5);
tmp = strAppend(tmp, "R");
tmp = strAppendUnsigned(tmp, refreshRate, 5);
#else
tmp = strAppend(tmp, "Sync at ");
tmp = strAppendUnsigned(tmp, (uint32_t) (refreshRate / 1000000));
tmp = strAppend(tmp, " ms");
tmp = strAppend(tmp, "Sync ");
tmp = strAppendUnsigned(tmp, refreshRate);
#endif
tmp = strAppend(tmp, "us");
}
+1 -1
View File
@@ -306,7 +306,7 @@ struct ModuleSyncStatus
}
// Set feedback from RF module
void update(uint16_t newRefreshRate, uint16_t newInputLag);
void update(uint16_t newRefreshRate, int16_t newInputLag);
// Get computed settings for scheduler
uint16_t getAdjustedRefreshRate();