mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 17:55:19 +03:00
Bug in channels order in templates
This commit is contained in:
parent
ba941f02bf
commit
3e453ec236
4 changed files with 35 additions and 32 deletions
|
@ -117,6 +117,10 @@ PACK(typedef struct t_LimitData {
|
|||
int16_t offset;
|
||||
}) LimitData;
|
||||
|
||||
#define SRC_RUD 1
|
||||
#define SRC_ELE 2
|
||||
#define SRC_THR 3
|
||||
#define SRC_AIL 4
|
||||
#define MIX_P1 5
|
||||
#define MIX_P2 6
|
||||
#define MIX_P3 7
|
||||
|
|
|
@ -71,7 +71,7 @@ inline void applyDefaultTemplate()
|
|||
MixData *md = mixaddress(i);
|
||||
md->destCh = i+1;
|
||||
md->weight = 100;
|
||||
md->srcRaw = i+1;
|
||||
md->srcRaw = CHANNEL_ORDER(i+1);
|
||||
}
|
||||
|
||||
STORE_MODELVARS;
|
||||
|
|
|
@ -127,10 +127,10 @@ void applyTemplate(uint8_t idx)
|
|||
// Simple 4-Ch
|
||||
case (0):
|
||||
clearMixes();
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=CM(STK_RUD); md->weight=100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CM(STK_ELE); md->weight=100;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=CM(STK_THR); md->weight=100;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=CM(STK_AIL); md->weight=100;
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=SRC_RUD; md->weight=100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=SRC_ELE; md->weight=100;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=SRC_THR; md->weight=100;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=SRC_AIL; md->weight=100;
|
||||
break;
|
||||
|
||||
// T-Cut
|
||||
|
@ -140,30 +140,30 @@ void applyTemplate(uint8_t idx)
|
|||
|
||||
// V-Tail
|
||||
case (2):
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=CM(STK_RUD); md->weight= 100;
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=CM(STK_ELE); md->weight=-100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CM(STK_RUD); md->weight= 100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CM(STK_ELE); md->weight= 100;
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=SRC_RUD; md->weight= 100;
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=SRC_ELE; md->weight=-100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=SRC_RUD; md->weight= 100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=SRC_ELE; md->weight= 100;
|
||||
break;
|
||||
|
||||
// Elevon\\Delta
|
||||
case (3):
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CM(STK_ELE); md->weight= 100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CM(STK_AIL); md->weight= 100;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=CM(STK_ELE); md->weight= 100;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=CM(STK_AIL); md->weight=-100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=SRC_ELE; md->weight= 100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=SRC_AIL; md->weight= 100;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=SRC_ELE; md->weight= 100;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=SRC_AIL; md->weight=-100;
|
||||
break;
|
||||
|
||||
// eCCPM
|
||||
case (4):
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CM(STK_ELE); md->weight= 72;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CM(STK_THR); md->weight= 55;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=CM(STK_ELE); md->weight=-36;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=CM(STK_AIL); md->weight= 62;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=CM(STK_THR); md->weight= 55;
|
||||
md=setDest(6); md->srcRaw=CM(STK_ELE); md->weight=-36;
|
||||
md=setDest(6); md->srcRaw=CM(STK_AIL); md->weight=-62;
|
||||
md=setDest(6); md->srcRaw=CM(STK_THR); md->weight= 55;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=SRC_ELE; md->weight= 72;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=SRC_THR; md->weight= 55;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=SRC_ELE; md->weight=-36;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=SRC_AIL; md->weight= 62;
|
||||
md=setDest(ICC(STK_AIL)); md->srcRaw=SRC_THR; md->weight= 55;
|
||||
md=setDest(6); md->srcRaw=SRC_ELE; md->weight=-36;
|
||||
md=setDest(6); md->srcRaw=SRC_AIL; md->weight=-62;
|
||||
md=setDest(6); md->srcRaw=SRC_THR; md->weight= 55;
|
||||
break;
|
||||
|
||||
// Heli Setup
|
||||
|
@ -179,12 +179,12 @@ void applyTemplate(uint8_t idx)
|
|||
md=setDest(ICC(STK_ELE)); md->srcRaw=CH(9); md->weight=-100;
|
||||
md=setDest(ICC(STK_ELE)); md->srcRaw=CH(11); md->weight= 100; md->carryTrim=TRIM_OFF;
|
||||
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=CM(STK_THR); md->weight= 100; md->swtch=DSW_ID0; md->curve=CV(1); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=CM(STK_THR); md->weight= 100; md->swtch=DSW_ID1; md->curve=CV(2); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=CM(STK_THR); md->weight= 110; md->swtch=DSW_ID2; md->curve=CV(2); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=SRC_THR; md->weight= 100; md->swtch=DSW_ID0; md->curve=CV(1); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=SRC_THR; md->weight= 100; md->swtch=DSW_ID1; md->curve=CV(2); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=SRC_THR; md->weight= 110; md->swtch=DSW_ID2; md->curve=CV(2); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(ICC(STK_THR)); md->srcRaw=MIX_MAX; md->weight=-125; md->swtch=DSW_THR; md->mltpx=MLTPX_REP; md->carryTrim=TRIM_OFF;
|
||||
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=CM(STK_RUD); md->weight=100;
|
||||
md=setDest(ICC(STK_RUD)); md->srcRaw=SRC_RUD; md->weight=100;
|
||||
|
||||
md=setDest(5); md->srcRaw=MIX_MAX; md->weight= 50; md->swtch=-DSW_GEA; md->carryTrim=TRIM_OFF;
|
||||
md=setDest(5); md->srcRaw=MIX_MAX; md->weight=-50; md->swtch= DSW_GEA; md->carryTrim=TRIM_OFF;
|
||||
|
@ -194,12 +194,12 @@ void applyTemplate(uint8_t idx)
|
|||
md=setDest(6); md->srcRaw=CH(10); md->weight=-100;
|
||||
md=setDest(6); md->srcRaw=CH(11); md->weight=-100; md->carryTrim=TRIM_OFF;
|
||||
|
||||
md=setDest(9); md->srcRaw=CM(STK_ELE); md->weight= 60;
|
||||
md=setDest(10); md->srcRaw=CM(STK_AIL); md->weight=-52;
|
||||
md=setDest(11); md->srcRaw=CM(STK_THR); md->weight= 70; md->swtch=DSW_ID0; md->curve=CV(3); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(11); md->srcRaw=CM(STK_THR); md->weight= 70; md->swtch=DSW_ID1; md->curve=CV(4); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(11); md->srcRaw=CM(STK_THR); md->weight= 70; md->swtch=DSW_ID2; md->curve=CV(4); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(11); md->srcRaw=CM(STK_THR); md->weight=100; md->swtch=DSW_THR; md->curve=CV(5); md->carryTrim=TRIM_OFF; md->mltpx=MLTPX_REP;
|
||||
md=setDest(9); md->srcRaw=SRC_ELE; md->weight= 60;
|
||||
md=setDest(10); md->srcRaw=SRC_AIL; md->weight=-52;
|
||||
md=setDest(11); md->srcRaw=SRC_THR; md->weight= 70; md->swtch=DSW_ID0; md->curve=CV(3); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(11); md->srcRaw=SRC_THR; md->weight= 70; md->swtch=DSW_ID1; md->curve=CV(4); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(11); md->srcRaw=SRC_THR; md->weight= 70; md->swtch=DSW_ID2; md->curve=CV(4); md->carryTrim=TRIM_OFF;
|
||||
md=setDest(11); md->srcRaw=SRC_THR; md->weight=100; md->swtch=DSW_THR; md->curve=CV(5); md->carryTrim=TRIM_OFF; md->mltpx=MLTPX_REP;
|
||||
|
||||
//Set up Curves
|
||||
setCurve(CURVE5(1), heli_ar1);
|
||||
|
|
|
@ -62,7 +62,6 @@
|
|||
#define TRIM_ON 0
|
||||
#define TRIM_OFF 1
|
||||
|
||||
#define CM(x) (CONVERT_MODE(x)) //good for SRC
|
||||
#define CH(x) (CHOUT_BASE+(x))
|
||||
#define CV(x) (CURVE_BASE+(x)-1)
|
||||
#define CC(x) (CHANNEL_ORDER(x)) //need to invert this to work with dest
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue