1
0
Fork 0
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:
bsongis 2012-01-16 13:51:18 +00:00
parent ba941f02bf
commit 3e453ec236
4 changed files with 35 additions and 32 deletions

View file

@ -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

View file

@ -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;

View file

@ -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);

View file

@ -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