mirror of
https://github.com/opentx/opentx.git
synced 2025-07-16 12:55:12 +03:00
[X9D] P3 fix
This commit is contained in:
parent
63614a06f8
commit
f78dbafa17
7 changed files with 32 additions and 14 deletions
|
@ -632,8 +632,13 @@ enum MixSources {
|
||||||
#elif defined(PCBTARANIS)
|
#elif defined(PCBTARANIS)
|
||||||
MIXSRC_POT1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer 1")
|
MIXSRC_POT1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer 1")
|
||||||
MIXSRC_POT2, LUA_EXPORT("s2", "Potentiometer 2")
|
MIXSRC_POT2, LUA_EXPORT("s2", "Potentiometer 2")
|
||||||
|
#if defined(PCBX9D)
|
||||||
|
MIXSRC_POT3 = MIXSRC_NONE,
|
||||||
|
MIXSRC_FIRST_SLIDER = MIXSRC_POT2 + 1,
|
||||||
|
#else
|
||||||
MIXSRC_POT3, LUA_EXPORT("s3", "Potentiometer 3")
|
MIXSRC_POT3, LUA_EXPORT("s3", "Potentiometer 3")
|
||||||
MIXSRC_FIRST_SLIDER,
|
MIXSRC_FIRST_SLIDER,
|
||||||
|
#endif
|
||||||
MIXSRC_SLIDER1 = MIXSRC_FIRST_SLIDER, LUA_EXPORT("ls", "Left slider")
|
MIXSRC_SLIDER1 = MIXSRC_FIRST_SLIDER, LUA_EXPORT("ls", "Left slider")
|
||||||
MIXSRC_SLIDER2, LUA_EXPORT("rs", "Right slider")
|
MIXSRC_SLIDER2, LUA_EXPORT("rs", "Right slider")
|
||||||
MIXSRC_LAST_POT = MIXSRC_SLIDER2,
|
MIXSRC_LAST_POT = MIXSRC_SLIDER2,
|
||||||
|
|
|
@ -165,19 +165,23 @@ void displayTrims(uint8_t phase)
|
||||||
|
|
||||||
void drawSliders()
|
void drawSliders()
|
||||||
{
|
{
|
||||||
for (uint8_t i=NUM_STICKS; i<NUM_STICKS+NUM_POTS+NUM_SLIDERS; i++) {
|
for (uint8_t i = NUM_STICKS; i < NUM_STICKS + NUM_POTS + NUM_SLIDERS; i++) {
|
||||||
#if defined(PCBX9E)
|
#if defined(PCBX9E)
|
||||||
if (i < SLIDER1) continue; // TODO change and display more values
|
if (i < SLIDER1)
|
||||||
|
continue; // TODO change and display more values
|
||||||
coord_t x = ((i==SLIDER1 || i==SLIDER3) ? 3 : LCD_W-5);
|
coord_t x = ((i==SLIDER1 || i==SLIDER3) ? 3 : LCD_W-5);
|
||||||
int8_t y = (i<SLIDER3 ? LCD_H/2+1 : 1);
|
int8_t y = (i<SLIDER3 ? LCD_H/2+1 : 1);
|
||||||
#else
|
#else
|
||||||
if (i == POT3) continue;
|
#if defined(HARDWARE_POT3)
|
||||||
|
if (i == POT3)
|
||||||
|
continue;
|
||||||
|
#endif
|
||||||
coord_t x = ((i==POT1 || i==SLIDER1) ? 3 : LCD_W-5);
|
coord_t x = ((i==POT1 || i==SLIDER1) ? 3 : LCD_W-5);
|
||||||
int8_t y = (i>=SLIDER1 ? LCD_H/2+1 : 1);
|
int8_t y = (i>=SLIDER1 ? LCD_H/2+1 : 1);
|
||||||
#endif
|
#endif
|
||||||
lcdDrawSolidVerticalLine(x, y, LCD_H/2-2);
|
lcdDrawSolidVerticalLine(x, y, LCD_H/2-2);
|
||||||
lcdDrawSolidVerticalLine(x+1, y, LCD_H/2-2);
|
lcdDrawSolidVerticalLine(x+1, y, LCD_H/2-2);
|
||||||
y += LCD_H/2-4;
|
y += LCD_H / 2 - 4;
|
||||||
y -= ((calibratedAnalogs[i]+RESX)*(LCD_H/2-4)/(RESX*2)); // calculate once per loop
|
y -= ((calibratedAnalogs[i]+RESX)*(LCD_H/2-4)/(RESX*2)); // calculate once per loop
|
||||||
lcdDrawSolidVerticalLine(x-1, y, 2);
|
lcdDrawSolidVerticalLine(x-1, y, 2);
|
||||||
lcdDrawSolidVerticalLine(x+2, y, 2);
|
lcdDrawSolidVerticalLine(x+2, y, 2);
|
||||||
|
|
|
@ -311,7 +311,7 @@ getvalue_t getValue(mixsrc_t i)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
else if (i <= MIXSRC_LAST_POT+NUM_MOUSE_ANALOGS) {
|
else if (i <= MIXSRC_LAST_POT + NUM_MOUSE_ANALOGS) {
|
||||||
return calibratedAnalogs[i - MIXSRC_Rud];
|
return calibratedAnalogs[i - MIXSRC_Rud];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,7 +420,7 @@ void evalInputs(uint8_t mode)
|
||||||
{
|
{
|
||||||
BeepANACenter anaCenter = 0;
|
BeepANACenter anaCenter = 0;
|
||||||
|
|
||||||
for (uint8_t i=0; i<NUM_STICKS+NUM_POTS+NUM_SLIDERS; i++) {
|
for (uint8_t i = 0; i < NUM_STICKS + NUM_POTS + NUM_SLIDERS; i++) {
|
||||||
// normalization [0..2048] -> [-1024..1024]
|
// normalization [0..2048] -> [-1024..1024]
|
||||||
uint8_t ch = (i < NUM_STICKS ? CONVERT_MODE(i) : i);
|
uint8_t ch = (i < NUM_STICKS ? CONVERT_MODE(i) : i);
|
||||||
int16_t v = anaIn(i);
|
int16_t v = anaIn(i);
|
||||||
|
|
|
@ -113,7 +113,7 @@ OpenTxSim::OpenTxSim(FXApp* a):
|
||||||
sliders[i]->setValue(0);
|
sliders[i]->setValue(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i=0; i<NUM_POTS+NUM_SLIDERS; i++){
|
for (int i = 0; i < NUM_POTS + NUM_SLIDERS; i++) {
|
||||||
knobs[i]= new FXKnob(hf11, nullptr, 0, KNOB_TICKS|LAYOUT_LEFT);
|
knobs[i]= new FXKnob(hf11, nullptr, 0, KNOB_TICKS|LAYOUT_LEFT);
|
||||||
knobs[i]->setValue(0);
|
knobs[i]->setValue(0);
|
||||||
|
|
||||||
|
@ -125,6 +125,7 @@ OpenTxSim::OpenTxSim(FXApp* a):
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
knobs[i]->setRange(-1024, 1024);
|
knobs[i]->setRange(-1024, 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,7 +153,7 @@ OpenTxSim::~OpenTxSim()
|
||||||
delete sliders[2];
|
delete sliders[2];
|
||||||
delete sliders[3];
|
delete sliders[3];
|
||||||
|
|
||||||
for(int i=0; i<NUM_POTS+NUM_SLIDERS; i++){
|
for (int i = 0; i < NUM_POTS + NUM_SLIDERS; i++) {
|
||||||
delete knobs[i];
|
delete knobs[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -521,10 +522,10 @@ int main(int argc, char ** argv)
|
||||||
|
|
||||||
uint16_t anaIn(uint8_t chan)
|
uint16_t anaIn(uint8_t chan)
|
||||||
{
|
{
|
||||||
if (chan<NUM_STICKS)
|
if (chan < NUM_STICKS)
|
||||||
return opentxSim->sliders[chan]->getValue();
|
return opentxSim->sliders[chan]->getValue();
|
||||||
else if (chan<NUM_STICKS+NUM_POTS+NUM_SLIDERS)
|
else if (chan < NUM_STICKS + NUM_POTS + NUM_SLIDERS)
|
||||||
return opentxSim->knobs[chan-NUM_STICKS]->getValue();
|
return opentxSim->knobs[chan - NUM_STICKS]->getValue();
|
||||||
#if defined(PCBTARANIS)
|
#if defined(PCBTARANIS)
|
||||||
else if (chan == TX_RTC_VOLTAGE)
|
else if (chan == TX_RTC_VOLTAGE)
|
||||||
return 800; // 2.34V
|
return 800; // 2.34V
|
||||||
|
|
|
@ -36,14 +36,14 @@
|
||||||
9 /*TX_VOLTAGE*/, 10 /*TX_VBAT*/ };
|
9 /*TX_VOLTAGE*/, 10 /*TX_VBAT*/ };
|
||||||
#elif defined(PCBX9DP)
|
#elif defined(PCBX9DP)
|
||||||
const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,-1, 1,1, 1, 1};
|
const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,-1, 1,1, 1, 1};
|
||||||
|
#elif defined(PCBX9D)
|
||||||
|
const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1, 1,1, 1, 1};
|
||||||
#elif defined(PCBX7)
|
#elif defined(PCBX7)
|
||||||
const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1, 1};
|
const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1, 1};
|
||||||
#elif defined(PCBX9LITE)
|
#elif defined(PCBX9LITE)
|
||||||
const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1};
|
const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1};
|
||||||
#elif defined(PCBXLITE)
|
#elif defined(PCBXLITE)
|
||||||
const int8_t adcDirection[NUM_ANALOGS] = {1,-1,-1,1, -1,1, 1, 1};
|
const int8_t adcDirection[NUM_ANALOGS] = {1,-1,-1,1, -1,1, 1, 1};
|
||||||
#else
|
|
||||||
const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,0, 1,1, 1, 1};
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NUM_PWMSTICKS > 0
|
#if NUM_PWMSTICKS > 0
|
||||||
|
|
|
@ -465,6 +465,11 @@ enum Analogs {
|
||||||
SLIDER2,
|
SLIDER2,
|
||||||
SLIDER3,
|
SLIDER3,
|
||||||
SLIDER4,
|
SLIDER4,
|
||||||
|
#elif defined(PCBX9D)
|
||||||
|
POT2,
|
||||||
|
POT_LAST = POT2,
|
||||||
|
SLIDER1,
|
||||||
|
SLIDER2,
|
||||||
#else
|
#else
|
||||||
POT2,
|
POT2,
|
||||||
POT3,
|
POT3,
|
||||||
|
@ -556,7 +561,7 @@ enum CalibratedAnalogs {
|
||||||
CALIBRATED_STICK3,
|
CALIBRATED_STICK3,
|
||||||
CALIBRATED_STICK4,
|
CALIBRATED_STICK4,
|
||||||
CALIBRATED_POT_FIRST,
|
CALIBRATED_POT_FIRST,
|
||||||
CALIBRATED_POT_LAST = CALIBRATED_POT_FIRST + NUM_POTS - 1,
|
CALIBRATED_POT_LAST = CALIBRATED_POT_FIRST + STORAGE_NUM_POTS - 1,
|
||||||
CALIBRATED_SLIDER_FIRST,
|
CALIBRATED_SLIDER_FIRST,
|
||||||
CALIBRATED_SLIDER_LAST = CALIBRATED_SLIDER_FIRST + NUM_SLIDERS - 1,
|
CALIBRATED_SLIDER_LAST = CALIBRATED_SLIDER_FIRST + NUM_SLIDERS - 1,
|
||||||
NUM_CALIBRATED_ANALOGS
|
NUM_CALIBRATED_ANALOGS
|
||||||
|
|
|
@ -50,6 +50,9 @@
|
||||||
#elif defined(PCBX9LITE)
|
#elif defined(PCBX9LITE)
|
||||||
#define TR_POTS_VSRCRAW "\310S1\0"
|
#define TR_POTS_VSRCRAW "\310S1\0"
|
||||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0"
|
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0"
|
||||||
|
#elif defined(PCBX9D)
|
||||||
|
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\311LS\0""\311RS\0"
|
||||||
|
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0"
|
||||||
#elif defined(PCBTARANIS)
|
#elif defined(PCBTARANIS)
|
||||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0"
|
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0"
|
||||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0"
|
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue