mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 16:25:16 +03:00
Companion bug in speed values (Logical Switches)
This commit is contained in:
parent
79abc49a6c
commit
1560fa8bd9
3 changed files with 15 additions and 7 deletions
|
@ -1,5 +1,6 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <list>
|
#include <list>
|
||||||
|
#include <float.h>
|
||||||
#include "eeprominterface.h"
|
#include "eeprominterface.h"
|
||||||
#include "firmwares/er9x/er9xinterface.h"
|
#include "firmwares/er9x/er9xinterface.h"
|
||||||
#include "firmwares/th9x/th9xinterface.h"
|
#include "firmwares/th9x/th9xinterface.h"
|
||||||
|
@ -103,6 +104,10 @@ RawSourceRange RawSource::getRange(bool singleprec)
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SOURCE_TYPE_TELEMETRY:
|
case SOURCE_TYPE_TELEMETRY:
|
||||||
|
if (singleprec) {
|
||||||
|
result.offset = -DBL_MAX;
|
||||||
|
}
|
||||||
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case TELEMETRY_SOURCE_TX_BATT:
|
case TELEMETRY_SOURCE_TX_BATT:
|
||||||
result.step = 0.1;
|
result.step = 0.1;
|
||||||
|
@ -165,10 +170,12 @@ RawSourceRange RawSource::getRange(bool singleprec)
|
||||||
case TELEMETRY_SOURCE_FUEL:
|
case TELEMETRY_SOURCE_FUEL:
|
||||||
result.max = 100;
|
result.max = 100;
|
||||||
break;
|
break;
|
||||||
|
case TELEMETRY_SOURCE_ASPEED:
|
||||||
|
case TELEMETRY_SOURCE_ASPEED_MAX:
|
||||||
case TELEMETRY_SOURCE_SPEED:
|
case TELEMETRY_SOURCE_SPEED:
|
||||||
case TELEMETRY_SOURCE_SPEED_MAX:
|
case TELEMETRY_SOURCE_SPEED_MAX:
|
||||||
result.step = singleprec ? 4 : 1;
|
result.step = singleprec ? 1 : 1;
|
||||||
result.max = singleprec ? (4*236) : 2000;
|
result.max = singleprec ? (1*255) : 2000;
|
||||||
if (model && !model->frsky.imperial) {
|
if (model && !model->frsky.imperial) {
|
||||||
result.step *= 1.852;
|
result.step *= 1.852;
|
||||||
result.max *= 1.852;
|
result.max *= 1.852;
|
||||||
|
@ -225,14 +232,15 @@ RawSourceRange RawSource::getRange(bool singleprec)
|
||||||
result.max = 125;
|
result.max = 125;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (singleprec && !result.offset) {
|
|
||||||
|
if (singleprec && result.offset==-DBL_MAX) {
|
||||||
result.offset = result.max - (127*result.step);
|
result.offset = result.max - (127*result.step);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
result.max = (model && model->extendedLimits ? 125 : 100);
|
result.max = (model && model->extendedLimits ? 125 : 100);
|
||||||
result.min = - result.max;
|
result.min = -result.max;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -252,7 +252,7 @@ enum TelemetrySource {
|
||||||
TELEMETRY_SOURCE_ACCZ,
|
TELEMETRY_SOURCE_ACCZ,
|
||||||
TELEMETRY_SOURCE_HDG,
|
TELEMETRY_SOURCE_HDG,
|
||||||
TELEMETRY_SOURCE_VERTICAL_SPEED,
|
TELEMETRY_SOURCE_VERTICAL_SPEED,
|
||||||
TELEMETRY_SOURCE_ASPD,
|
TELEMETRY_SOURCE_ASPEED,
|
||||||
TELEMETRY_SOURCE_DTE,
|
TELEMETRY_SOURCE_DTE,
|
||||||
TELEMETRY_SOURCE_A1_MIN,
|
TELEMETRY_SOURCE_A1_MIN,
|
||||||
TELEMETRY_SOURCE_A2_MIN,
|
TELEMETRY_SOURCE_A2_MIN,
|
||||||
|
|
|
@ -260,7 +260,7 @@ class SourcesConversionTable: public ConversionTable {
|
||||||
|
|
||||||
for (int i=0; i<TELEMETRY_SOURCE_ACC; i++) {
|
for (int i=0; i<TELEMETRY_SOURCE_ACC; i++) {
|
||||||
if (version < 216) {
|
if (version < 216) {
|
||||||
if (i==TELEMETRY_SOURCE_TX_TIME || i==TELEMETRY_SOURCE_SWR || i==TELEMETRY_SOURCE_A3 || i==TELEMETRY_SOURCE_A4 || i==TELEMETRY_SOURCE_ASPD || i==TELEMETRY_SOURCE_DTE || i==TELEMETRY_SOURCE_CELL_MIN || i==TELEMETRY_SOURCE_CELLS_MIN || i==TELEMETRY_SOURCE_VFAS_MIN)
|
if (i==TELEMETRY_SOURCE_TX_TIME || i==TELEMETRY_SOURCE_SWR || i==TELEMETRY_SOURCE_A3 || i==TELEMETRY_SOURCE_A4 || i==TELEMETRY_SOURCE_ASPEED || i==TELEMETRY_SOURCE_DTE || i==TELEMETRY_SOURCE_CELL_MIN || i==TELEMETRY_SOURCE_CELLS_MIN || i==TELEMETRY_SOURCE_VFAS_MIN)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!IS_ARM(board)) {
|
if (!IS_ARM(board)) {
|
||||||
|
@ -443,7 +443,7 @@ class TelemetrySourcesConversionTable: public ConversionTable {
|
||||||
addConversion(1+TELEMETRY_SOURCE_HDG, val++);
|
addConversion(1+TELEMETRY_SOURCE_HDG, val++);
|
||||||
addConversion(1+TELEMETRY_SOURCE_VERTICAL_SPEED, val++);
|
addConversion(1+TELEMETRY_SOURCE_VERTICAL_SPEED, val++);
|
||||||
if (version >= 216) {
|
if (version >= 216) {
|
||||||
addConversion(1+TELEMETRY_SOURCE_ASPD, val++);
|
addConversion(1+TELEMETRY_SOURCE_ASPEED, val++);
|
||||||
addConversion(1+TELEMETRY_SOURCE_DTE, val++);
|
addConversion(1+TELEMETRY_SOURCE_DTE, val++);
|
||||||
}
|
}
|
||||||
if (IS_ARM(board) && version >= 216) {
|
if (IS_ARM(board) && version >= 216) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue