mirror of
https://github.com/opentx/opentx.git
synced 2025-07-21 23:35:17 +03:00
Re #2239: PPM output type added for 9XR-PRO (open drain or push-pull)
This commit is contained in:
parent
1609b1236d
commit
60b2a378dd
20 changed files with 198 additions and 25 deletions
|
@ -821,6 +821,7 @@ class ModuleData {
|
||||||
int failsafeChannels[C9X_NUM_CHNOUT];
|
int failsafeChannels[C9X_NUM_CHNOUT];
|
||||||
int ppmDelay;
|
int ppmDelay;
|
||||||
bool ppmPulsePol; // false = positive
|
bool ppmPulsePol; // false = positive
|
||||||
|
bool ppmOutputType; // false = open drain, true = push pull
|
||||||
int ppmFrameLength;
|
int ppmFrameLength;
|
||||||
void clear() { memset(this, 0, sizeof(ModuleData)); }
|
void clear() { memset(this, 0, sizeof(ModuleData)); }
|
||||||
QString polarityToString() { return ppmPulsePol ? QObject::tr("Positive") : QObject::tr("Negative"); }
|
QString polarityToString() { return ppmPulsePol ? QObject::tr("Positive") : QObject::tr("Negative"); }
|
||||||
|
|
|
@ -2983,7 +2983,16 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne
|
||||||
internalField.Append(new SignedField<16>(modelData.moduleData[module].failsafeChannels[i]));
|
internalField.Append(new SignedField<16>(modelData.moduleData[module].failsafeChannels[i]));
|
||||||
internalField.Append(new ConversionField< SignedField<8> >(modelData.moduleData[module].ppmDelay, exportPpmDelay, importPpmDelay));
|
internalField.Append(new ConversionField< SignedField<8> >(modelData.moduleData[module].ppmDelay, exportPpmDelay, importPpmDelay));
|
||||||
internalField.Append(new SignedField<8>(modelData.moduleData[module].ppmFrameLength));
|
internalField.Append(new SignedField<8>(modelData.moduleData[module].ppmFrameLength));
|
||||||
internalField.Append(new BoolField<8>(modelData.moduleData[module].ppmPulsePol));
|
if (IS_9XRPRO(board)) {
|
||||||
|
internalField.Append(new BoolField<1>(modelData.moduleData[module].ppmPulsePol));
|
||||||
|
internalField.Append(new BoolField<1>(modelData.moduleData[module].ppmOutputType));
|
||||||
|
internalField.Append(new SpareBitsField<6>());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
internalField.Append(new BoolField<1>(modelData.moduleData[module].ppmPulsePol));
|
||||||
|
internalField.Append(new SpareBitsField<7>());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -204,6 +204,7 @@ ModulePanel::~ModulePanel()
|
||||||
#define MASK_CHANNELS_RANGE 8
|
#define MASK_CHANNELS_RANGE 8
|
||||||
#define MASK_PPM_FIELDS 16
|
#define MASK_PPM_FIELDS 16
|
||||||
#define MASK_FAILSAFES 32
|
#define MASK_FAILSAFES 32
|
||||||
|
#define MASK_OPEN_DRAIN 64
|
||||||
|
|
||||||
void ModulePanel::update()
|
void ModulePanel::update()
|
||||||
{
|
{
|
||||||
|
@ -230,6 +231,9 @@ void ModulePanel::update()
|
||||||
break;
|
break;
|
||||||
case PPM:
|
case PPM:
|
||||||
mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE| MASK_CHANNELS_COUNT;
|
mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE| MASK_CHANNELS_COUNT;
|
||||||
|
if (IS_9XRPRO(firmware->getBoard())) {
|
||||||
|
mask |= MASK_OPEN_DRAIN;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case OFF:
|
case OFF:
|
||||||
default:
|
default:
|
||||||
|
@ -259,6 +263,9 @@ void ModulePanel::update()
|
||||||
ui->label_ppmPolarity->setVisible(mask & MASK_PPM_FIELDS);
|
ui->label_ppmPolarity->setVisible(mask & MASK_PPM_FIELDS);
|
||||||
ui->ppmPolarity->setVisible(mask & MASK_PPM_FIELDS);
|
ui->ppmPolarity->setVisible(mask & MASK_PPM_FIELDS);
|
||||||
ui->ppmPolarity->setCurrentIndex(module.ppmPulsePol);
|
ui->ppmPolarity->setCurrentIndex(module.ppmPulsePol);
|
||||||
|
ui->label_ppmOutputType->setVisible(mask & MASK_OPEN_DRAIN);
|
||||||
|
ui->ppmOutputType->setVisible(mask & MASK_OPEN_DRAIN);
|
||||||
|
ui->ppmOutputType->setCurrentIndex(module.ppmOutputType);
|
||||||
ui->label_ppmDelay->setVisible(mask & MASK_PPM_FIELDS);
|
ui->label_ppmDelay->setVisible(mask & MASK_PPM_FIELDS);
|
||||||
ui->ppmDelay->setVisible(mask & MASK_PPM_FIELDS);
|
ui->ppmDelay->setVisible(mask & MASK_PPM_FIELDS);
|
||||||
ui->ppmDelay->setValue(module.ppmDelay);
|
ui->ppmDelay->setValue(module.ppmDelay);
|
||||||
|
@ -306,6 +313,12 @@ void ModulePanel::on_ppmPolarity_currentIndexChanged(int index)
|
||||||
emit modified();
|
emit modified();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ModulePanel::on_ppmOutputType_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
module.ppmOutputType = index;
|
||||||
|
emit modified();
|
||||||
|
}
|
||||||
|
|
||||||
void ModulePanel::on_channelsCount_editingFinished()
|
void ModulePanel::on_channelsCount_editingFinished()
|
||||||
{
|
{
|
||||||
if (!lock) {
|
if (!lock) {
|
||||||
|
|
|
@ -55,6 +55,7 @@ class ModulePanel : public ModelPanel
|
||||||
void on_channelsCount_editingFinished();
|
void on_channelsCount_editingFinished();
|
||||||
void on_channelsStart_editingFinished();
|
void on_channelsStart_editingFinished();
|
||||||
void on_ppmPolarity_currentIndexChanged(int index);
|
void on_ppmPolarity_currentIndexChanged(int index);
|
||||||
|
void on_ppmOutputType_currentIndexChanged(int index);
|
||||||
void on_ppmFrameLength_editingFinished();
|
void on_ppmFrameLength_editingFinished();
|
||||||
void on_rxNumber_editingFinished();
|
void on_rxNumber_editingFinished();
|
||||||
void on_failsafeMode_currentIndexChanged(int value);
|
void on_failsafeMode_currentIndexChanged(int value);
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>692</width>
|
<width>737</width>
|
||||||
<height>300</height>
|
<height>300</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -545,6 +545,27 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="5" column="2">
|
||||||
|
<widget class="QLabel" name="label_ppmOutputType">
|
||||||
|
<property name="text">
|
||||||
|
<string>Output type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="3">
|
||||||
|
<widget class="QComboBox" name="ppmOutputType">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Open Drain</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Push Pull</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -559,6 +580,7 @@
|
||||||
<tabstop>ppmPolarity</tabstop>
|
<tabstop>ppmPolarity</tabstop>
|
||||||
<tabstop>ppmDelay</tabstop>
|
<tabstop>ppmDelay</tabstop>
|
||||||
<tabstop>failsafeMode</tabstop>
|
<tabstop>failsafeMode</tabstop>
|
||||||
|
<tabstop>ppmOutputType</tabstop>
|
||||||
<tabstop>rxNumber</tabstop>
|
<tabstop>rxNumber</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|
|
@ -75,6 +75,9 @@ enum menuModelSetupItems {
|
||||||
ITEM_MODEL_EXTERNAL_MODULE_MODE,
|
ITEM_MODEL_EXTERNAL_MODULE_MODE,
|
||||||
ITEM_MODEL_EXTERNAL_MODULE_CHANNELS,
|
ITEM_MODEL_EXTERNAL_MODULE_CHANNELS,
|
||||||
ITEM_MODEL_EXTERNAL_MODULE_BIND,
|
ITEM_MODEL_EXTERNAL_MODULE_BIND,
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
ITEM_MODEL_EXTERNAL_MODULE_OUTPUT_TYPE,
|
||||||
|
#endif
|
||||||
ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE,
|
ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE,
|
||||||
#if defined(PCBSKY9X) && !defined(REVA) && !defined(REVX)
|
#if defined(PCBSKY9X) && !defined(REVA) && !defined(REVX)
|
||||||
ITEM_MODEL_EXTRA_MODULE_LABEL,
|
ITEM_MODEL_EXTRA_MODULE_LABEL,
|
||||||
|
@ -112,6 +115,12 @@ void menuModelSetup(uint8_t event)
|
||||||
#define IF_EXTERNAL_MODULE_ON(x) (g_model.externalModule == MODULE_TYPE_NONE ? HIDDEN_ROW : (uint8_t)(x))
|
#define IF_EXTERNAL_MODULE_ON(x) (g_model.externalModule == MODULE_TYPE_NONE ? HIDDEN_ROW : (uint8_t)(x))
|
||||||
#define IS_D8_RX(x) (g_model.moduleData[x].rfProtocol == RF_PROTO_D8)
|
#define IS_D8_RX(x) (g_model.moduleData[x].rfProtocol == RF_PROTO_D8)
|
||||||
#define EXTERNAL_MODULE_CHANNELS_ROWS() IF_EXTERNAL_MODULE_ON(IS_MODULE_DSM2(EXTERNAL_MODULE) ? (uint8_t)0 : (uint8_t)1)
|
#define EXTERNAL_MODULE_CHANNELS_ROWS() IF_EXTERNAL_MODULE_ON(IS_MODULE_DSM2(EXTERNAL_MODULE) ? (uint8_t)0 : (uint8_t)1)
|
||||||
|
#define EXTERNAL_MODULE_SETTINGS_ROWS() (IS_MODULE_XJT(EXTERNAL_MODULE) && IS_D8_RX(EXTERNAL_MODULE)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define OUTPUT_TYPE_ROWS() (IS_MODULE_PPM(EXTERNAL_MODULE) ? (uint8_t)0 : HIDDEN_ROW) ,
|
||||||
|
#else
|
||||||
|
#define OUTPUT_TYPE_ROWS()
|
||||||
|
#endif
|
||||||
#define TRAINER_CHANNELS_ROWS() (HIDDEN_ROW)
|
#define TRAINER_CHANNELS_ROWS() (HIDDEN_ROW)
|
||||||
#define PORT_CHANNELS_ROWS(x) (x==EXTERNAL_MODULE ? EXTERNAL_MODULE_CHANNELS_ROWS() : 0)
|
#define PORT_CHANNELS_ROWS(x) (x==EXTERNAL_MODULE ? EXTERNAL_MODULE_CHANNELS_ROWS() : 0)
|
||||||
#define FAILSAFE_ROWS(x) ((g_model.moduleData[x].rfProtocol==RF_PROTO_X16 || g_model.moduleData[x].rfProtocol==RF_PROTO_LR12) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW)
|
#define FAILSAFE_ROWS(x) ((g_model.moduleData[x].rfProtocol==RF_PROTO_X16 || g_model.moduleData[x].rfProtocol==RF_PROTO_LR12) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW)
|
||||||
|
@ -125,7 +134,7 @@ void menuModelSetup(uint8_t event)
|
||||||
#define EXTRA_MODULE_ROWS
|
#define EXTRA_MODULE_ROWS
|
||||||
#endif
|
#endif
|
||||||
#define TRAINER_MODULE_ROWS
|
#define TRAINER_MODULE_ROWS
|
||||||
MENU_TAB({ 0, 0, TIMER_ROWS, TIMER_ROWS, TIMER_ROWS, 0, 1, 0, 0, 0, 0, 0, CASE_CPUARM(LABEL(PreflightCheck)) CASE_CPUARM(0) 0, 6, NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1, 0, LABEL(ExternalModule), (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, EXTERNAL_MODULE_CHANNELS_ROWS(), (IS_MODULE_XJT(EXTERNAL_MODULE) && IS_D8_RX(EXTERNAL_MODULE)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW, IF_EXTERNAL_MODULE_XJT(FAILSAFE_ROWS(EXTERNAL_MODULE)), EXTRA_MODULE_ROWS TRAINER_MODULE_ROWS });
|
MENU_TAB({ 0, 0, TIMER_ROWS, TIMER_ROWS, TIMER_ROWS, 0, 1, 0, 0, 0, 0, 0, CASE_CPUARM(LABEL(PreflightCheck)) CASE_CPUARM(0) 0, 6, NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1, 0, LABEL(ExternalModule), (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, EXTERNAL_MODULE_CHANNELS_ROWS(), EXTERNAL_MODULE_SETTINGS_ROWS(), OUTPUT_TYPE_ROWS() IF_EXTERNAL_MODULE_XJT(FAILSAFE_ROWS(EXTERNAL_MODULE)), EXTRA_MODULE_ROWS TRAINER_MODULE_ROWS });
|
||||||
#elif defined(CPUM64)
|
#elif defined(CPUM64)
|
||||||
#define CURSOR_ON_CELL (true)
|
#define CURSOR_ON_CELL (true)
|
||||||
#define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? 1+ITEM_MODEL_SETUP_MAX : ITEM_MODEL_SETUP_MAX)
|
#define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? 1+ITEM_MODEL_SETUP_MAX : ITEM_MODEL_SETUP_MAX)
|
||||||
|
@ -621,6 +630,16 @@ void menuModelSetup(uint8_t event)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
case ITEM_MODEL_EXTERNAL_MODULE_OUTPUT_TYPE:
|
||||||
|
{
|
||||||
|
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
|
||||||
|
ModuleData & moduleData = g_model.moduleData[moduleIdx];
|
||||||
|
moduleData.ppmOutputType = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_OUTPUT_TYPE, STR_VOUTPUT_TYPE, moduleData.ppmOutputType, 0, 1, attr, event);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE:
|
case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE:
|
||||||
{
|
{
|
||||||
|
|
|
@ -414,7 +414,13 @@ PACK(typedef struct {
|
||||||
int16_t failsafeChannels[NUM_CHNOUT];
|
int16_t failsafeChannels[NUM_CHNOUT];
|
||||||
int8_t ppmDelay;
|
int8_t ppmDelay;
|
||||||
int8_t ppmFrameLength;
|
int8_t ppmFrameLength;
|
||||||
uint8_t ppmPulsePol;
|
uint8_t ppmPulsePol:1;
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
uint8_t ppmOutputType:1; // false = open drain, true = push pull
|
||||||
|
uint8_t spare:6;
|
||||||
|
#else
|
||||||
|
uint8_t spare:7;
|
||||||
|
#endif
|
||||||
}) ModuleData;
|
}) ModuleData;
|
||||||
|
|
||||||
#define SET_DEFAULT_PPM_FRAME_LENGTH(idx) g_model.moduleData[idx].ppmFrameLength = 4 * max((int8_t)0, g_model.moduleData[idx].channelsCount)
|
#define SET_DEFAULT_PPM_FRAME_LENGTH(idx) g_model.moduleData[idx].ppmFrameLength = 4 * max((int8_t)0, g_model.moduleData[idx].channelsCount)
|
||||||
|
|
|
@ -43,7 +43,12 @@ void module_output_active()
|
||||||
pioptr->PIO_ABCDSR[1] |= PIO_PA17 ; // Peripheral C
|
pioptr->PIO_ABCDSR[1] |= PIO_PA17 ; // Peripheral C
|
||||||
pioptr->PIO_PDR = PIO_PA17 ; // Disable bit A17 Assign to peripheral
|
pioptr->PIO_PDR = PIO_PA17 ; // Disable bit A17 Assign to peripheral
|
||||||
#if defined(REVX)
|
#if defined(REVX)
|
||||||
|
if (g_model.moduleData[EXTERNAL_MODULE].ppmOutputType) {
|
||||||
|
pioptr->PIO_MDDR = PIO_PA17 ; // Push Pull O/p in A17
|
||||||
|
}
|
||||||
|
else {
|
||||||
pioptr->PIO_MDER = PIO_PA17 ; // Open Drain O/p in A17
|
pioptr->PIO_MDER = PIO_PA17 ; // Open Drain O/p in A17
|
||||||
|
}
|
||||||
pioptr->PIO_PUER = PIO_PA17 ; // With pull up
|
pioptr->PIO_PUER = PIO_PA17 ; // With pull up
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,6 +68,9 @@ const pm_char STR_OPEN9X[] PROGMEM =
|
||||||
ISTR(RETA123)
|
ISTR(RETA123)
|
||||||
ISTR(VPROTOS)
|
ISTR(VPROTOS)
|
||||||
ISTR(POSNEG)
|
ISTR(POSNEG)
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
ISTR(VOUTPUT_TYPE)
|
||||||
|
#endif
|
||||||
ISTR(VBLMODE)
|
ISTR(VBLMODE)
|
||||||
ISTR(VCURVEFUNC)
|
ISTR(VCURVEFUNC)
|
||||||
ISTR(VMLTPX)
|
ISTR(VMLTPX)
|
||||||
|
@ -155,6 +158,9 @@ const pm_char STR_TTRACE[] PROGMEM = TR_TTRACE;
|
||||||
const pm_char STR_TTRIM[] PROGMEM = TR_TTRIM;
|
const pm_char STR_TTRIM[] PROGMEM = TR_TTRIM;
|
||||||
const pm_char STR_BEEPCTR[] PROGMEM = TR_BEEPCTR;
|
const pm_char STR_BEEPCTR[] PROGMEM = TR_BEEPCTR;
|
||||||
const pm_char STR_USE_GLOBAL_FUNCS[] PROGMEM = TR_USE_GLOBAL_FUNCS;
|
const pm_char STR_USE_GLOBAL_FUNCS[] PROGMEM = TR_USE_GLOBAL_FUNCS;
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
const pm_char STR_OUTPUT_TYPE[] PROGMEM = TR_OUTPUT_TYPE;
|
||||||
|
#endif
|
||||||
const pm_char STR_PROTO[] PROGMEM = TR_PROTO;
|
const pm_char STR_PROTO[] PROGMEM = TR_PROTO;
|
||||||
const pm_char STR_PPMFRAME[] PROGMEM = TR_PPMFRAME;
|
const pm_char STR_PPMFRAME[] PROGMEM = TR_PPMFRAME;
|
||||||
const pm_char STR_MS[] PROGMEM = TR_MS;
|
const pm_char STR_MS[] PROGMEM = TR_MS;
|
||||||
|
|
|
@ -119,7 +119,12 @@ extern const pm_char STR_OPEN9X[];
|
||||||
#endif
|
#endif
|
||||||
#define OFS_VPROTOS (OFS_RETA123 + sizeof(TR_RETA123))
|
#define OFS_VPROTOS (OFS_RETA123 + sizeof(TR_RETA123))
|
||||||
#define OFS_POSNEG (OFS_VPROTOS + sizeof(TR_VPROTOS))
|
#define OFS_POSNEG (OFS_VPROTOS + sizeof(TR_VPROTOS))
|
||||||
#define OFS_VBLMODE (OFS_POSNEG + sizeof(TR_POSNEG))
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define OFS_VOUTPUT_TYPE (OFS_POSNEG + sizeof(TR_POSNEG))
|
||||||
|
#define OFS_VBLMODE (OFS_VOUTPUT_TYPE + sizeof(TR_VOUTPUT_TYPE))
|
||||||
|
#else
|
||||||
|
#define OFS_VBLMODE (OFS_POSNEG + sizeof(TR_POSNEG))
|
||||||
|
#endif
|
||||||
#define OFS_VCURVEFUNC (OFS_VBLMODE + sizeof(TR_VBLMODE))
|
#define OFS_VCURVEFUNC (OFS_VBLMODE + sizeof(TR_VBLMODE))
|
||||||
#define OFS_VMLTPX (OFS_VCURVEFUNC + sizeof(TR_VCURVEFUNC))
|
#define OFS_VMLTPX (OFS_VCURVEFUNC + sizeof(TR_VCURVEFUNC))
|
||||||
#define OFS_VMLTPX2 (OFS_VMLTPX + sizeof(TR_VMLTPX))
|
#define OFS_VMLTPX2 (OFS_VMLTPX + sizeof(TR_VMLTPX))
|
||||||
|
@ -226,6 +231,9 @@ extern const pm_char STR_OPEN9X[];
|
||||||
#define STR_RETA123 (STR_OPEN9X + OFS_RETA123)
|
#define STR_RETA123 (STR_OPEN9X + OFS_RETA123)
|
||||||
#define STR_VPROTOS (STR_OPEN9X + OFS_VPROTOS)
|
#define STR_VPROTOS (STR_OPEN9X + OFS_VPROTOS)
|
||||||
#define STR_POSNEG (STR_OPEN9X + OFS_POSNEG)
|
#define STR_POSNEG (STR_OPEN9X + OFS_POSNEG)
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define STR_VOUTPUT_TYPE (STR_OPEN9X + OFS_VOUTPUT_TYPE)
|
||||||
|
#endif
|
||||||
#define STR_VBLMODE (STR_OPEN9X + OFS_VBLMODE)
|
#define STR_VBLMODE (STR_OPEN9X + OFS_VBLMODE)
|
||||||
#define STR_VCURVEFUNC (STR_OPEN9X + OFS_VCURVEFUNC)
|
#define STR_VCURVEFUNC (STR_OPEN9X + OFS_VCURVEFUNC)
|
||||||
#define STR_VSIDE STR_VCURVEFUNC
|
#define STR_VSIDE STR_VCURVEFUNC
|
||||||
|
@ -343,6 +351,9 @@ extern const pm_char STR_TTRACE[];
|
||||||
extern const pm_char STR_TTRIM[];
|
extern const pm_char STR_TTRIM[];
|
||||||
extern const pm_char STR_BEEPCTR[];
|
extern const pm_char STR_BEEPCTR[];
|
||||||
extern const pm_char STR_USE_GLOBAL_FUNCS[];
|
extern const pm_char STR_USE_GLOBAL_FUNCS[];
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
extern const pm_char STR_OUTPUT_TYPE[];
|
||||||
|
#endif
|
||||||
extern const pm_char STR_PROTO[];
|
extern const pm_char STR_PROTO[];
|
||||||
extern const pm_char STR_PPMFRAME[];
|
extern const pm_char STR_PPMFRAME[];
|
||||||
extern const pm_char STR_MS[];
|
extern const pm_char STR_MS[];
|
||||||
|
|
|
@ -173,6 +173,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POZ""NEG"
|
#define TR_POSNEG "POZ""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -597,6 +602,9 @@
|
||||||
#define TR_TTRIM TR("TrimVolnob.", INDENT "Trim jen volnoběh")
|
#define TR_TTRIM TR("TrimVolnob.", INDENT "Trim jen volnoběh")
|
||||||
#define TR_BEEPCTR TR("Středy \221\222", "Pípat středy \221\222")
|
#define TR_BEEPCTR TR("Středy \221\222", "Pípat středy \221\222")
|
||||||
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO INDENT "Protokol"
|
#define TR_PROTO INDENT "Protokol"
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
#define TR_PPMFRAME INDENT "PPM frame"
|
#define TR_PPMFRAME INDENT "PPM frame"
|
||||||
|
|
|
@ -173,6 +173,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -596,6 +601,9 @@
|
||||||
#define TR_TTRIM TR("Gastrim", INDENT "Gas-Leerlauftrim")
|
#define TR_TTRIM TR("Gastrim", INDENT "Gas-Leerlauftrim")
|
||||||
#define TR_BEEPCTR TR("Mitt.Piep","Mittelstell. -Pieps")
|
#define TR_BEEPCTR TR("Mitt.Piep","Mittelstell. -Pieps")
|
||||||
#define TR_USE_GLOBAL_FUNCS "Globale Funkt verw."
|
#define TR_USE_GLOBAL_FUNCS "Globale Funkt verw."
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT"Protok.",INDENT"Protokoll")
|
#define TR_PROTO TR(INDENT"Protok.",INDENT"Protokoll")
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
#define TR_PPMFRAME INDENT "PPM frame"
|
#define TR_PPMFRAME INDENT "PPM frame"
|
||||||
|
|
|
@ -173,6 +173,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -596,6 +601,9 @@
|
||||||
#define TR_TTRIM TR("T-Trim", INDENT "Trim Idle Only")
|
#define TR_TTRIM TR("T-Trim", INDENT "Trim Idle Only")
|
||||||
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
|
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
|
||||||
#define TR_USE_GLOBAL_FUNCS TR("Glob.Funcs", "Use Global Funcs")
|
#define TR_USE_GLOBAL_FUNCS TR("Glob.Funcs", "Use Global Funcs")
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
|
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
#define TR_PPMFRAME INDENT "PPM frame"
|
#define TR_PPMFRAME INDENT "PPM frame"
|
||||||
|
|
|
@ -165,6 +165,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -562,6 +567,9 @@
|
||||||
#define TR_TTRIM TR("Trim-A", INDENT "Trim Acelerad")
|
#define TR_TTRIM TR("Trim-A", INDENT "Trim Acelerad")
|
||||||
#define TR_BEEPCTR TR("Ctr Beep","Center Beep")
|
#define TR_BEEPCTR TR("Ctr Beep","Center Beep")
|
||||||
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT"Proto",INDENT"Protocol")
|
#define TR_PROTO TR(INDENT"Proto",INDENT"Protocol")
|
||||||
#define TR_PPMFRAME "Trama PPM"
|
#define TR_PPMFRAME "Trama PPM"
|
||||||
#define TR_MS "ms"
|
#define TR_MS "ms"
|
||||||
|
|
|
@ -165,6 +165,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -562,6 +567,9 @@
|
||||||
#define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim")
|
#define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim")
|
||||||
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
|
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
|
||||||
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
|
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
|
||||||
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
|
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
|
||||||
#define TR_MS "ms"
|
#define TR_MS "ms"
|
||||||
|
|
|
@ -173,6 +173,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -596,6 +601,9 @@
|
||||||
#define TR_TTRIM TR("Trim gaz", INDENT "Trim ralenti uniq.")
|
#define TR_TTRIM TR("Trim gaz", INDENT "Trim ralenti uniq.")
|
||||||
#define TR_BEEPCTR TR("Bips centr", "Bips centrage")
|
#define TR_BEEPCTR TR("Bips centr", "Bips centrage")
|
||||||
#define TR_USE_GLOBAL_FUNCS "Fonctions Globales"
|
#define TR_USE_GLOBAL_FUNCS "Fonctions Globales"
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole")
|
#define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole")
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
#define TR_PPMFRAME INDENT "PPM frame"
|
#define TR_PPMFRAME INDENT "PPM frame"
|
||||||
|
|
|
@ -165,6 +165,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -562,6 +567,9 @@
|
||||||
#define TR_TTRIM TR("T-Trim", INDENT "Trim Motore")
|
#define TR_TTRIM TR("T-Trim", INDENT "Trim Motore")
|
||||||
#define TR_BEEPCTR TR("Ctr Beep","Beep al centro")
|
#define TR_BEEPCTR TR("Ctr Beep","Beep al centro")
|
||||||
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo")
|
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo")
|
||||||
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
|
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
|
||||||
#define TR_MS "ms"
|
#define TR_MS "ms"
|
||||||
|
|
|
@ -177,6 +177,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POZ""NEG"
|
#define TR_POSNEG "POZ""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -600,6 +605,9 @@
|
||||||
#define TR_TTRIM TR("TryGaz", INDENT "TrymWolnObrotó")
|
#define TR_TTRIM TR("TryGaz", INDENT "TrymWolnObrotó")
|
||||||
#define TR_BEEPCTR TR("ŚrodBeep", "Pikn.Środka")
|
#define TR_BEEPCTR TR("ŚrodBeep", "Pikn.Środka")
|
||||||
#define TR_USE_GLOBAL_FUNCS TR("Funk.Glb.","Użyj Funkcji Glb")
|
#define TR_USE_GLOBAL_FUNCS TR("Funk.Glb.","Użyj Funkcji Glb")
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT "Proto", INDENT "Protokół")
|
#define TR_PROTO TR(INDENT "Proto", INDENT "Protokół")
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
#define TR_PPMFRAME INDENT "Ramka PPM"
|
#define TR_PPMFRAME INDENT "Ramka PPM"
|
||||||
|
|
|
@ -165,6 +165,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -562,6 +567,9 @@
|
||||||
#define TR_TTRIM TR("T-Trim", INDENT "T-Trim")
|
#define TR_TTRIM TR("T-Trim", INDENT "T-Trim")
|
||||||
#define TR_BEEPCTR "Ctr Beep"
|
#define TR_BEEPCTR "Ctr Beep"
|
||||||
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO INDENT"Proto"
|
#define TR_PROTO INDENT"Proto"
|
||||||
#define TR_PPMFRAME "PPM frame"
|
#define TR_PPMFRAME "PPM frame"
|
||||||
#define TR_MS "ms"
|
#define TR_MS "ms"
|
||||||
|
|
|
@ -165,6 +165,11 @@
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "Pos""Neg"
|
#define TR_POSNEG "Pos""Neg"
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define LEN_VOUTPUT_TYPE "\011"
|
||||||
|
#define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VCURVEFUNC "\003"
|
#define LEN_VCURVEFUNC "\003"
|
||||||
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
|
||||||
|
|
||||||
|
@ -562,6 +567,9 @@
|
||||||
#define TR_TTRIM TR("Gastrim", INDENT "Gastrim")
|
#define TR_TTRIM TR("Gastrim", INDENT "Gastrim")
|
||||||
#define TR_BEEPCTR TR("Cent.pip", "Centerpip")
|
#define TR_BEEPCTR TR("Cent.pip", "Centerpip")
|
||||||
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
#define TR_OUTPUT_TYPE INDENT "Output"
|
||||||
|
#endif
|
||||||
#define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll")
|
#define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll")
|
||||||
#define TR_PPMFRAME TR(INDENT "PPM-paket", INDENT "PPM-paket")
|
#define TR_PPMFRAME TR(INDENT "PPM-paket", INDENT "PPM-paket")
|
||||||
#define TR_MS "ms"
|
#define TR_MS "ms"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue