mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-17 05:15:25 +03:00
Add Heli 120 Mixer
(Squashed)
This commit is contained in:
parent
36c91c76f6
commit
f14574a222
3 changed files with 29 additions and 3 deletions
|
@ -294,7 +294,7 @@ const mixer_t mixers[] = {
|
|||
{ 8, false, mixerOctoFlatP }, // MIXER_OCTOFLATP
|
||||
{ 8, false, mixerOctoFlatX }, // MIXER_OCTOFLATX
|
||||
{ 1, true, mixerSingleProp }, // * MIXER_AIRPLANE
|
||||
{ 0, true, NULL }, // * MIXER_HELI_120_CCPM
|
||||
{ 1, true, mixerSingleProp }, // * MIXER_HELI_120_CCPM
|
||||
{ 0, true, NULL }, // * MIXER_HELI_90_DEG
|
||||
{ 4, false, mixerVtail4 }, // MIXER_VTAIL4
|
||||
{ 6, false, mixerHex6H }, // MIXER_HEX6H
|
||||
|
|
|
@ -152,6 +152,18 @@ static const servoMixer_t servoMixerSingle[] = {
|
|||
{ SERVO_SINGLECOPTER_4, INPUT_STABILIZED_ROLL, 100, 0, 0, 100, 0 },
|
||||
};
|
||||
|
||||
static const servoMixer_t servoMixerHeli[] = {
|
||||
{ SERVO_HELI_LEFT, INPUT_STABILIZED_PITCH, -50, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_LEFT, INPUT_STABILIZED_ROLL, 87, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_LEFT, INPUT_RC_AUX1, 100, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_RIGHT, INPUT_STABILIZED_PITCH, -50, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_RIGHT, INPUT_STABILIZED_ROLL, -87, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_RIGHT, INPUT_RC_AUX1, 100, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_TOP, INPUT_STABILIZED_PITCH, 100, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_TOP, INPUT_RC_AUX1, 100, 0, 0, 100, 0 },
|
||||
{ SERVO_HELI_RUD, INPUT_STABILIZED_YAW, 100, 0, 0, 100, 0 },
|
||||
};
|
||||
|
||||
static const servoMixer_t servoMixerGimbal[] = {
|
||||
{ SERVO_GIMBAL_PITCH, INPUT_GIMBAL_PITCH, 125, 0, 0, 100, 0 },
|
||||
{ SERVO_GIMBAL_ROLL, INPUT_GIMBAL_ROLL, 125, 0, 0, 100, 0 },
|
||||
|
@ -173,7 +185,7 @@ const mixerRules_t servoMixers[] = {
|
|||
{ 0, NULL }, // MULTITYPE_OCTOFLATP
|
||||
{ 0, NULL }, // MULTITYPE_OCTOFLATX
|
||||
{ COUNT_SERVO_RULES(servoMixerAirplane), servoMixerAirplane }, // * MULTITYPE_AIRPLANE
|
||||
{ 0, NULL }, // * MULTITYPE_HELI_120_CCPM
|
||||
{ COUNT_SERVO_RULES(servoMixerHeli), servoMixerHeli }, // * MULTITYPE_HELI_120_CCPM
|
||||
{ 0, NULL }, // * MULTITYPE_HELI_90_DEG
|
||||
{ 0, NULL }, // MULTITYPE_VTAIL4
|
||||
{ 0, NULL }, // MULTITYPE_HEX6H
|
||||
|
@ -312,6 +324,13 @@ void writeServos(void)
|
|||
pwmWriteServo(servoIndex++, servo[SERVO_BICOPTER_RIGHT]);
|
||||
break;
|
||||
|
||||
case MIXER_HELI_120_CCPM:
|
||||
pwmWriteServo(servoIndex++, servo[SERVO_HELI_LEFT]);
|
||||
pwmWriteServo(servoIndex++, servo[SERVO_HELI_RIGHT]);
|
||||
pwmWriteServo(servoIndex++, servo[SERVO_HELI_TOP]);
|
||||
pwmWriteServo(servoIndex++, servo[SERVO_HELI_RUD]);
|
||||
break;
|
||||
|
||||
case MIXER_TRI:
|
||||
case MIXER_CUSTOM_TRI:
|
||||
if (servoConfig()->tri_unarmed_servo) {
|
||||
|
@ -456,6 +475,7 @@ static void servoTable(void)
|
|||
case MIXER_TRI:
|
||||
case MIXER_DUALCOPTER:
|
||||
case MIXER_SINGLECOPTER:
|
||||
case MIXER_HELI_120_CCPM:
|
||||
case MIXER_GIMBAL:
|
||||
servoMixer();
|
||||
break;
|
||||
|
|
|
@ -60,7 +60,13 @@ typedef enum {
|
|||
SERVO_SINGLECOPTER_1 = 3,
|
||||
SERVO_SINGLECOPTER_2 = 4,
|
||||
SERVO_SINGLECOPTER_3 = 5,
|
||||
SERVO_SINGLECOPTER_4 = 6
|
||||
SERVO_SINGLECOPTER_4 = 6,
|
||||
|
||||
SERVO_HELI_LEFT = 0,
|
||||
SERVO_HELI_RIGHT = 1,
|
||||
SERVO_HELI_TOP = 2,
|
||||
SERVO_HELI_RUD = 3
|
||||
|
||||
} servoIndex_e; // FIXME rename to servoChannel_e
|
||||
|
||||
#define SERVO_PLANE_INDEX_MIN SERVO_FLAPS
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue