Merge pull request #1828 from opentx/projectkk2glider/issue_1811_for_next
Fixes #1811: Companion 2.0.12 Gvar import error (for limits)
This commit is contained in:
@@ -1259,23 +1259,39 @@ class LimitField: public StructField {
|
||||
template <int shift>
|
||||
static int exportLimitValue(int value)
|
||||
{
|
||||
if (value > 10000)
|
||||
return 1023 + value - 10000;
|
||||
else if (value < -10000)
|
||||
return -1024 + value + 10000;
|
||||
else
|
||||
return value + shift;
|
||||
const int GV1 = 4096;
|
||||
if (value > 10000) {
|
||||
return -GV1 + value - 10001;
|
||||
}
|
||||
if (value < -10000) {
|
||||
return GV1 + value + 10000;
|
||||
}
|
||||
return value + shift;
|
||||
}
|
||||
|
||||
template <int shift>
|
||||
static int importLimitValue(int value)
|
||||
{
|
||||
if (value > 1023)
|
||||
return 10000 + value - 1023;
|
||||
else if (value < -1024)
|
||||
return -10000 + value + 1024;
|
||||
else
|
||||
return value - shift;
|
||||
/* GVARS mapping on radio:
|
||||
GV1 = -4096
|
||||
GV9 = -4088
|
||||
-GV1 = 4095
|
||||
-GV9 = 4087
|
||||
*/
|
||||
const int GV1 = 4096;
|
||||
if (value >= GV1) {
|
||||
return 10001 + value - GV1;
|
||||
}
|
||||
if (value >= GV1-9) {
|
||||
return -10000 + value - GV1;
|
||||
}
|
||||
if (value < -GV1) {
|
||||
return -10000 + value + GV1 + 1;
|
||||
}
|
||||
if (value < -GV1+9) {
|
||||
return 10000 + value + GV1 + 1;
|
||||
}
|
||||
return value - shift;
|
||||
}
|
||||
|
||||
LimitField(LimitData & limit, BoardEnum board, unsigned int version):
|
||||
|
||||
Reference in New Issue
Block a user