diff --git a/src/templates.cpp b/src/templates.cpp index d3d25bfa2..6d900d485 100644 --- a/src/templates.cpp +++ b/src/templates.cpp @@ -188,42 +188,42 @@ void applyTemplate(uint8_t idx) case TMPL_HELI_SETUP: clearCurves(); - //Set up Mixes - md=setDest(ICC(STK_AIL), MIXSRC_CH9); md->weight= 50; - md=setDest(ICC(STK_AIL), MIXSRC_CH10); md->weight=-100; - md=setDest(ICC(STK_AIL), MIXSRC_CH11); md->carryTrim=TRIM_OFF; + //Set up Mixes + // 3 cyclic channels + md=setDest(0, MIXSRC_CYC1); md->weight=100; + md=setDest(1, MIXSRC_CYC2); md->weight=100; + md=setDest(2, MIXSRC_CYC3); md->weight=100; - md=setDest(ICC(STK_ELE), MIXSRC_CH9); md->weight=-100; - md=setDest(ICC(STK_ELE), MIXSRC_CH11); md->carryTrim=TRIM_OFF; + // rudder + md=setDest(3, MIXSRC_Rud); md->weight=100; - md=setDest(ICC(STK_THR), MIXSRC_Thr); md->swtch=DSW(SW_ID0); md->curveMode=MODE_CURVE; md->curveParam=CV(1); md->carryTrim=TRIM_OFF; - md=setDest(ICC(STK_THR), MIXSRC_Thr); md->swtch=DSW(SW_ID1); md->curveMode=MODE_CURVE; md->curveParam=CV(2); md->carryTrim=TRIM_OFF; - md=setDest(ICC(STK_THR), MIXSRC_Thr); md->weight= 110; md->swtch=DSW(SW_ID2); md->curveMode=MODE_CURVE; md->curveParam=CV(2); md->carryTrim=TRIM_OFF; - md=setDest(ICC(STK_THR), MIXSRC_MAX); md->weight=-125; md->swtch=DSW(SW_THR); md->mltpx=MLTPX_REP; md->carryTrim=TRIM_OFF; + // throttle + md=setDest(4, MIXSRC_Thr); md->swtch=DSW(SW_ID0); md->curveMode=MODE_CURVE; md->curveParam=CV(1); md->carryTrim=TRIM_OFF; + md=setDest(4, MIXSRC_Thr); md->swtch=DSW(SW_ID1); md->curveMode=MODE_CURVE; md->curveParam=CV(2); md->carryTrim=TRIM_OFF; + md=setDest(4, MIXSRC_Thr); md->swtch=DSW(SW_ID2); md->curveMode=MODE_CURVE; md->curveParam=CV(3); md->carryTrim=TRIM_OFF; + md=setDest(4, MIXSRC_MAX); md->weight=-100; md->swtch=DSW(SW_THR); md->mltpx=MLTPX_REP; - md=setDest(ICC(STK_RUD), MIXSRC_Rud); - - md=setDest(4, MIXSRC_MAX); md->weight= 50; md->swtch=-DSW(SW_GEA); md->carryTrim=TRIM_OFF; - md=setDest(4, MIXSRC_MAX); md->weight=-50; md->swtch= DSW(SW_GEA); md->carryTrim=TRIM_OFF; - md=setDest(4, STK_P3); md->weight= 40; md->carryTrim=TRIM_OFF; - - md=setDest(5, MIXSRC_CH9); md->weight= -50; - md=setDest(5, MIXSRC_CH10); md->weight=-100; - md=setDest(5, MIXSRC_CH11); md->weight=-100; md->carryTrim=TRIM_OFF; - - md=setDest(8, MIXSRC_Ele); md->weight= 60; - md=setDest(9, MIXSRC_Ail); md->weight=-52; - md=setDest(10, MIXSRC_Thr); md->weight= 70; md->swtch=DSW(SW_ID0); md->curveMode=MODE_CURVE; md->curveParam=CV(3); md->carryTrim=TRIM_OFF; - md=setDest(10, MIXSRC_Thr); md->weight= 70; md->swtch=DSW(SW_ID1); md->curveMode=MODE_CURVE; md->curveParam=CV(4); md->carryTrim=TRIM_OFF; - md=setDest(10, MIXSRC_Thr); md->weight= 70; md->swtch=DSW(SW_ID2); md->curveMode=MODE_CURVE; md->curveParam=CV(4); md->carryTrim=TRIM_OFF; - md=setDest(10, MIXSRC_Thr); md->swtch=DSW(SW_THR); md->curveMode=MODE_CURVE; md->curveParam=CV(5); md->carryTrim=TRIM_OFF; md->mltpx=MLTPX_REP; + // gyro gain + md=setDest(5, MIXSRC_MAX); md->weight= 30; md->swtch=-DSW(SW_GEA); + md=setDest(5, MIXSRC_MAX); md->weight=-30; md->swtch= DSW(SW_GEA); + + // collective + md=setDest(11, MIXSRC_Thr); md->weight= 100; md->swtch=DSW(SW_ID0); md->curveMode=MODE_CURVE; md->curveParam=CV(4); md->carryTrim=TRIM_OFF; + md=setDest(11, MIXSRC_Thr); md->weight= 100; md->swtch=DSW(SW_ID1); md->curveMode=MODE_CURVE; md->curveParam=CV(5); md->carryTrim=TRIM_OFF; + md=setDest(11, MIXSRC_Thr); md->weight= 100; md->swtch=DSW(SW_ID2); md->curveMode=MODE_CURVE; md->curveParam=CV(6); md->carryTrim=TRIM_OFF; + g_model.swashR.collectiveSource = MIXSRC_CH11 - MAX_SWITCH; + //g_model.swashRingData.type = HELI_SWASH_TYPE_120; + g_model.swashR.type = SWASH_TYPE_120; + //g_model.swashRingData.collectiveSource = RawSource(SOURCE_TYPE_CH, 10); + //Set up Curves setCurve(CURVE5(1), heli_ar1); setCurve(CURVE5(2), heli_ar2); setCurve(CURVE5(3), heli_ar3); setCurve(CURVE5(4), heli_ar4); setCurve(CURVE5(5), heli_ar5); + setCurve(CURVE5(6), heli_ar5); break; // Servo Test