t_Open9xArmExpoData_v210::operator ExpoData () { ExpoData c9x; c9x.mode = mode; c9x.chn = chn; if (expo!=0 && curve!=0) { EEPROMWarnings.push_back(::QObject::tr("Simultaneous usage of expo and curves is no longer supported")); } else { if (curve == 0) { c9x.curve = CurveReference(CurveReference::CURVE_REF_EXPO, expo); } else { // TODO } } c9x.swtch = open9xArmToSwitch(swtch); if (phase<0) { c9x.phases= 1 << (-phase -1); } else if (phase==0) { c9x.phases=0; } else { c9x.phases=63; c9x.phases &= ~(1 << (phase -1)); } c9x.weight = weight; getEEPROMZString(c9x.name, name, sizeof(name)); return c9x; }
t_Open9xArmMixData_v212::operator MixData () { MixData c9x; if (srcRaw) { c9x.destCh = destCh+1; if (srcRaw == 0) { c9x.srcRaw = RawSource(SOURCE_TYPE_NONE); } else if (srcRaw <= 7) { c9x.srcRaw = RawSource(SOURCE_TYPE_STICK, srcRaw-1); } else if (srcRaw <= 8) { c9x.srcRaw = RawSource(SOURCE_TYPE_ROTARY_ENCODER, srcRaw-8); } else if (srcRaw <= 12) { c9x.srcRaw = RawSource(SOURCE_TYPE_TRIM, srcRaw-9); } else if (srcRaw == 13) { c9x.srcRaw = RawSource(SOURCE_TYPE_MAX); } else if (srcRaw == 14) { c9x.srcRaw = RawSource(SOURCE_TYPE_SWITCH, 0); } else if (srcRaw <= 14+9+O9X_ARM_NUM_CSW) { c9x.srcRaw = RawSource(SOURCE_TYPE_SWITCH, srcRaw-14); } else if (srcRaw <= 14+9+O9X_ARM_NUM_CSW+NUM_CYC) { c9x.srcRaw = RawSource(SOURCE_TYPE_CYC, srcRaw-15-9-O9X_ARM_NUM_CSW); } else if (srcRaw <= 14+9+O9X_ARM_NUM_CSW+NUM_CYC+8) { c9x.srcRaw = RawSource(SOURCE_TYPE_PPM, srcRaw-15-9-O9X_ARM_NUM_CSW-NUM_CYC); } else { c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-15-9-O9X_ARM_NUM_CSW-NUM_CYC-8); } c9x.weight = weight; if (curveMode==0) { c9x.curve = CurveReference(CurveReference::CURVE_REF_DIFF, curveParam); } else { // TODO } c9x.swtch = open9xArmToSwitch(swtch); c9x.delayUp = delayUp; c9x.delayDown = delayDown; c9x.speedUp = speedUp; c9x.speedDown = speedDown; c9x.carryTrim = carryTrim; c9x.noExpo = noExpo; c9x.mltpx = (MltpxValue)mltpx; c9x.mixWarn = mixWarn; c9x.phases = phases; c9x.sOffset = sOffset; getEEPROMZString(c9x.name, name, sizeof(name)); } return c9x; }
t_Open9xArmFuncSwData_v208::operator FuncSwData () { FuncSwData c9x; c9x.swtch = open9xArmToSwitch(swtch); c9x.func = (AssignFunc)(func); if (c9x.func <= FuncOverrideCH32) { c9x.enabled=param & 0x01; c9x.param = (param>>1)<<1; }
t_Open9xArmFlightModeData_v208::operator FlightModeData () { FlightModeData c9x; for (int i=0; i<NUM_STICKS; i++) c9x.trim[i] = trim[i]; c9x.swtch = open9xArmToSwitch(swtch); getEEPROMZString(c9x.name, name, sizeof(name)); c9x.fadeIn = fadeIn; c9x.fadeOut = fadeOut; return c9x; }
t_Open9xArmLogicalSwitchData_v209::operator LogicalSwitchData () { LogicalSwitchData c9x; c9x.func = func; c9x.val1 = v1; c9x.val2 = v2; if ((c9x.func >= LS_FN_VPOS && c9x.func <= LS_FN_ANEG) || c9x.func >= LS_FN_EQUAL) { c9x.val1 = open9xArm209ToSource(v1).toValue(); } if (c9x.func >= LS_FN_EQUAL) { c9x.val2 = open9xArm209ToSource(v2).toValue(); } if (c9x.func >= LS_FN_AND && c9x.func <= LS_FN_XOR) { c9x.val1 = open9xArmToSwitch(v1).toValue(); c9x.val2 = open9xArmToSwitch(v2).toValue(); } return c9x; }
t_Open9xArmExpoData_v212::operator ExpoData () { ExpoData c9x; c9x.mode = mode; c9x.chn = chn; // TODO c9x.curveMode=curveMode; // c9x.curveParam=curveParam; c9x.swtch = open9xArmToSwitch(swtch); c9x.phases= phases; c9x.weight = weight; getEEPROMZString(c9x.name, name, sizeof(name)); return c9x; }
t_Open9xArmLogicalSwitchData_v210::operator LogicalSwitchData () { LogicalSwitchData c9x; c9x.func = func; c9x.val1 = v1; c9x.val2 = v2; c9x.delay = delay; c9x.duration = duration; if ((c9x.func >= LS_FN_VPOS && c9x.func <= LS_FN_ANEG) || c9x.func >= LS_FN_EQUAL) { c9x.val1 = open9xArm210ToSource(v1).toValue(); } if (c9x.func >= LS_FN_EQUAL && c9x.func <= LS_FN_ELESS) { c9x.val2 = open9xArm210ToSource(v2).toValue(); } if (c9x.func >= LS_FN_AND && c9x.func <= LS_FN_XOR) { c9x.val1 = open9xArmToSwitch(v1).toValue(); c9x.val2 = open9xArmToSwitch(v2).toValue(); } return c9x; }
t_Open9xArmMixData_v210::operator MixData () { MixData c9x; if (srcRaw) { c9x.destCh = destCh+1; if (srcRaw == 0) { c9x.srcRaw = RawSource(SOURCE_TYPE_NONE); } else if (srcRaw <= 7) { c9x.srcRaw = RawSource(SOURCE_TYPE_STICK, srcRaw-1); } else if (srcRaw <= 11) { c9x.srcRaw = RawSource(SOURCE_TYPE_TRIM, srcRaw-8); } else if (srcRaw == 12) { c9x.srcRaw = RawSource(SOURCE_TYPE_MAX); } else if (srcRaw == 13) { c9x.srcRaw = RawSource(SOURCE_TYPE_SWITCH, 0); } else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW) { c9x.srcRaw = RawSource(SOURCE_TYPE_SWITCH, srcRaw-13); } else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC) { c9x.srcRaw = RawSource(SOURCE_TYPE_CYC, srcRaw-14-9-O9X_ARM_NUM_CSW); } else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC+8) { c9x.srcRaw = RawSource(SOURCE_TYPE_PPM, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC); } else { c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC-8); } c9x.weight = weight; if (differential) { c9x.curve = CurveReference(CurveReference::CURVE_REF_DIFF, differential*2); } else { // TODO c9x.curve = curve; } c9x.swtch = open9xArmToSwitch(swtch); c9x.delayUp = delayUp; c9x.delayDown = delayDown; c9x.speedUp = speedUp; c9x.speedDown = speedDown; c9x.carryTrim = carryTrim; c9x.mltpx = (MltpxValue)mltpx; c9x.mixWarn = mixWarn; if (phase<0) { c9x.phases= 1 << (-phase -1); } else if (phase==0) { c9x.phases=0; } else { c9x.phases=511; c9x.phases &= ~(1 << (phase -1)); } c9x.sOffset = sOffset; getEEPROMZString(c9x.name, name, sizeof(name)); } return c9x; }
t_Open9xArmMixData_v208::operator MixData () { MixData c9x; if (srcRaw) { c9x.destCh = destCh+1; if (srcRaw == 0) { c9x.srcRaw = RawSource(SOURCE_TYPE_NONE); } else if (srcRaw <= 7) { c9x.srcRaw = RawSource(SOURCE_TYPE_STICK, srcRaw-1); } else if (srcRaw == 8) { c9x.srcRaw = RawSource(SOURCE_TYPE_MAX); } else if (srcRaw == 9) { c9x.srcRaw = RawSource(SOURCE_TYPE_SWITCH, 0); } else if (srcRaw <= 9+9+32) { c9x.srcRaw = RawSource(SOURCE_TYPE_SWITCH, srcRaw-9); } else if (srcRaw <= 9+9+32+NUM_CYC) { c9x.srcRaw = RawSource(SOURCE_TYPE_CYC, srcRaw-10-9-32); } else if (srcRaw <= 9+9+32+NUM_CYC+8) { c9x.srcRaw = RawSource(SOURCE_TYPE_PPM, srcRaw-10-9-32-NUM_CYC); } else { c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-10-9-32-NUM_CYC-8); } c9x.weight = weight; c9x.swtch = open9xArmToSwitch(swtch); if (differential) { c9x.curve = CurveReference(CurveReference::CURVE_REF_DIFF, differential*2); } else { // TODO c9x.curve = curve; } c9x.delayUp = delayUp; c9x.delayDown = delayDown; c9x.speedUp = speedUp; c9x.speedDown = speedDown; c9x.carryTrim = carryTrim; c9x.mltpx = (MltpxValue)mltpx; c9x.mixWarn = mixWarn; if (phase<0) { c9x.flightModes= 1 << (-phase -1); } else if (phase==0) { c9x.flightModes=0; } else { c9x.flightModes=511; c9x.flightModes &= ~(1 << (phase -1)); } c9x.sOffset = sOffset; } return c9x; }