M1 CCW
|
|
.
M2 (Servo)
|
|
M5 ---- ---- M3
(Servo) | (Servo)
|
M4 (Servo)
MotorOut1 = RxInCollective;
MotorOut2 = 840; // 840
MotorOut3 = 840; // 840
MotorOut4 = 945; // 840 + 840/8
MotorOut5 = 945; // 840 + 840/8
MotorOut2+= RxInRoll;
MotorOut4-= RxInRoll;
MotorOut3+= RxInPitch;
MotorOut5-= RxInPitch;
MotorOut2+= RxInYaw;
MotorOut3+= RxInYaw;
MotorOut4+= RxInYaw;
MotorOut5+= RxInYaw;
M1 CCW
|
M2 CW
|
.
|
|
M5/M3 ----+----
(Servo) |
|
M6/M4 (Servo)
MotorOut1 = RxInCollective;
MotorOut2 = RxInCollective;
MotorOut3 = 500;
MotorOut4 = 500;
MotorOut4+= RxInRoll;
MotorOut3+= RxInPitch;
MotorOut1-= RxInYaw;
MotorOut2+= RxInYaw;
/ ---- \
/ | \
M1 CW | M2 CCW
|
M3 | M4
(Servo) | (Servo)
MotorOut1 = RxInCollective;
MotorOut2 = RxInCollective;
MotorOut3 = 500;
MotorOut4 = 500;
RxInRoll = (RxInRoll * 7) >> 3; // Approximation of sin(60) without div
MotorOut1+= RxInRoll;
MotorOut2-= RxInRoll;
MotorOut3-= SERVO_REVERSE RxInPitch;
MotorOut4+= SERVO_REVERSE RxInPitch;
MotorOut3+= SERVO_REVERSE(RxInYaw >> 1);
MotorOut4+= SERVO_REVERSE(RxInYaw >> 1);