motor mix rules for all default presets
parent
7fbf63b7fc
commit
d0cdef46f4
@ -1,30 +1,295 @@
|
||||
'use strict';
|
||||
|
||||
// generate mixer
|
||||
var mixerList = [
|
||||
{name: 'Tricopter', model: 'tricopter', image: 'tri', hasCustomServoMixer: false}, // 1
|
||||
{name: 'Quad +', model: 'quad_x', image: 'quad_p', hasCustomServoMixer: false}, // 2
|
||||
{name: 'Quad X', model: 'quad_x', image: 'quad_x', hasCustomServoMixer: false}, // 3
|
||||
{name: 'Bicopter', model: 'custom', image: 'bicopter', hasCustomServoMixer: false}, // 4
|
||||
{name: 'Gimbal', model: 'custom', image: 'custom', hasCustomServoMixer: false}, // 5
|
||||
{name: 'Y6', model: 'y6', image: 'y6', hasCustomServoMixer: false}, // 6
|
||||
{name: 'Hex +', model: 'hex_plus', image: 'hex_p', hasCustomServoMixer: false}, // 7
|
||||
{name: 'Flying Wing', model: 'custom', image: 'flying_wing', hasCustomServoMixer: false}, // 8
|
||||
{name: 'Y4', model: 'y4', image: 'y4', hasCustomServoMixer: false}, // 9
|
||||
{name: 'Hex X', model: 'hex_x', image: 'hex_x', hasCustomServoMixer: false}, // 10
|
||||
{name: 'Octo X8', model: 'custom', image: 'octo_x8', hasCustomServoMixer: false}, // 11
|
||||
{name: 'Octo Flat +', model: 'custom', image: 'octo_flat_p', hasCustomServoMixer: false}, // 12
|
||||
{name: 'Octo Flat X', model: 'custom', image: 'octo_flat_x', hasCustomServoMixer: false}, // 13
|
||||
{name: 'Airplane', model: 'custom', image: 'airplane', hasCustomServoMixer: false}, // 14
|
||||
{name: 'Heli 120', model: 'custom', image: 'custom', hasCustomServoMixer: false}, // 15
|
||||
{name: 'Heli 90', model: 'custom', image: 'custom', hasCustomServoMixer: false}, // 16
|
||||
{name: 'V-tail Quad', model: 'quad_vtail', image: 'vtail_quad', hasCustomServoMixer: false}, // 17
|
||||
{name: 'Hex H', model: 'custom', image: 'custom', hasCustomServoMixer: false}, // 18
|
||||
{name: 'PPM to SERVO', model: 'custom', image: 'custom', hasCustomServoMixer: false}, // 19
|
||||
{name: 'Dualcopter', model: 'custom', image: 'custom', hasCustomServoMixer: false}, // 20
|
||||
{name: 'Singlecopter', model: 'custom', image: 'custom', hasCustomServoMixer: false}, // 21
|
||||
{name: 'A-tail Quad', model: 'quad_atail', image: 'atail_quad', hasCustomServoMixer: false}, // 22
|
||||
{name: 'Custom', model: 'custom', image: 'custom', hasCustomServoMixer: true}, // 23
|
||||
{name: 'Custom Airplane', model: 'custom', image: 'custom', hasCustomServoMixer: true}, // 24
|
||||
{name: 'Custom Tricopter', model: 'custom', image: 'custom', hasCustomServoMixer: true} // 25
|
||||
];
|
||||
const mixerList = [
|
||||
{
|
||||
name: 'Tricopter',
|
||||
model: 'tricopter',
|
||||
image: 'tri',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.0, 1.333333, 0.0), // REAR
|
||||
new MotorMixRule(1.0, -1.0, -0.666667, 0.0), // RIGHT
|
||||
new MotorMixRule(1.0, 1.0, -0.666667, 0.0), // LEFT
|
||||
]
|
||||
}, // 1
|
||||
{
|
||||
name: 'Quad +',
|
||||
model: 'quad_x',
|
||||
image: 'quad_p',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.0, 1.0, -1.0), // REAR
|
||||
new MotorMixRule(1.0, -1.0, 0.0, 1.0), // RIGHT
|
||||
new MotorMixRule(1.0, 1.0, 0.0, 1.0), // LEFT
|
||||
new MotorMixRule(1.0, 0.0, -1.0, -1.0), // FRONT
|
||||
]
|
||||
}, // 2
|
||||
{
|
||||
name: 'Quad X',
|
||||
model: 'quad_x',
|
||||
image: 'quad_x',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, -1.0, 1.0, -1.0), // REAR_R
|
||||
new MotorMixRule(1.0, -1.0, -1.0, 1.0), // FRONT_R
|
||||
new MotorMixRule(1.0, 1.0, 1.0, 1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 1.0, -1.0, -1.0), // FRONT_L
|
||||
]
|
||||
}, // 3
|
||||
{
|
||||
name: 'Bicopter',
|
||||
model: 'custom',
|
||||
image: 'bicopter',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 4
|
||||
{
|
||||
name: 'Gimbal',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 5
|
||||
{
|
||||
name: 'Y6',
|
||||
model: 'y6',
|
||||
image: 'y6',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.0, 1.333333, 1.0), // REAR
|
||||
new MotorMixRule(1.0, -1.0, -0.666667, -1.0), // RIGHT
|
||||
new MotorMixRule(1.0, 1.0, -0.666667, -1.0), // LEFT
|
||||
new MotorMixRule(1.0, 0.0, 1.333333, -1.0), // UNDER_REAR
|
||||
new MotorMixRule(1.0, -1.0, -0.666667, 1.0), // UNDER_RIGHT
|
||||
new MotorMixRule(1.0, 1.0, -0.666667, 1.0), // UNDER_LEFT
|
||||
]
|
||||
}, // 6
|
||||
{
|
||||
name: 'Hex +',
|
||||
model: 'hex_plus',
|
||||
image: 'hex_p',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, -0.866025, 0.5, 1.0), // REAR_R
|
||||
new MotorMixRule(1.0, -0.866025, -0.5, -1.0), // FRONT_R
|
||||
new MotorMixRule(1.0, 0.866025, 0.5, 1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 0.866025, -0.5, -1.0), // FRONT_L
|
||||
new MotorMixRule(1.0, 0.0, -1.0, 1.0), // FRONT
|
||||
new MotorMixRule(1.0, 0.0, 1.0, -1.0), // REAR
|
||||
]
|
||||
}, // 7
|
||||
{
|
||||
name: 'Flying Wing',
|
||||
model: 'custom',
|
||||
image: 'flying_wing',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.0, 0.0, 0.0),
|
||||
new MotorMixRule(1.0, 0.0, 0.0, 0.0),
|
||||
]
|
||||
}, // 8
|
||||
{
|
||||
name: 'Y4',
|
||||
model: 'y4',
|
||||
image: 'y4',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.0, 1.0, -1.0), // REAR_TOP CW
|
||||
new MotorMixRule(1.0, -1.0, -1.0, 0.0), // FRONT_R CCW
|
||||
new MotorMixRule(1.0, 0.0, 1.0, 1.0), // REAR_BOTTOM CCW
|
||||
new MotorMixRule(1.0, 1.0, -1.0, 0.0), // FRONT_L CW
|
||||
]
|
||||
}, // 9
|
||||
{
|
||||
name: 'Hex X',
|
||||
model: 'hex_x',
|
||||
image: 'hex_x',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, -0.5, 0.866025, 1.0), // REAR_R
|
||||
new MotorMixRule(1.0, -0.5, -0.866025, 1.0), // FRONT_R
|
||||
new MotorMixRule(1.0, 0.5, 0.866025, -1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 0.5, -0.866025, -1.0), // FRONT_L
|
||||
new MotorMixRule(1.0, -1.0, 0.0, -1.0), // RIGHT
|
||||
new MotorMixRule(1.0, 1.0, 0.0, 1.0), // LEFT
|
||||
]
|
||||
}, // 10
|
||||
{
|
||||
name: 'Octo X8',
|
||||
model: 'custom',
|
||||
image: 'octo_x8',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, -1.0, 1.0, -1.0), // REAR_R
|
||||
new MotorMixRule(1.0, -1.0, -1.0, 1.0), // FRONT_R
|
||||
new MotorMixRule(1.0, 1.0, 1.0, 1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 1.0, -1.0, -1.0), // FRONT_L
|
||||
new MotorMixRule(1.0, -1.0, 1.0, 1.0), // UNDER_REAR_R
|
||||
new MotorMixRule(1.0, -1.0, -1.0, -1.0), // UNDER_FRONT_R
|
||||
new MotorMixRule(1.0, 1.0, 1.0, -1.0), // UNDER_REAR_L
|
||||
new MotorMixRule(1.0, 1.0, -1.0, 1.0), // UNDER_FRONT_L
|
||||
]
|
||||
}, // 11
|
||||
{
|
||||
name: 'Octo Flat +',
|
||||
model: 'custom',
|
||||
image: 'octo_flat_p',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.707107, -0.707107, 1.0), // FRONT_L
|
||||
new MotorMixRule(1.0, -0.707107, -0.707107, 1.0), // FRONT_R
|
||||
new MotorMixRule(1.0, -0.707107, 0.707107, 1.0), // REAR_R
|
||||
new MotorMixRule(1.0, 0.707107, 0.707107, 1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 0.0, -1.0, -1.0), // FRONT
|
||||
new MotorMixRule(1.0, -1.0, 0.0, -1.0), // RIGHT
|
||||
new MotorMixRule(1.0, 0.0, 1.0, -1.0), // REAR
|
||||
new MotorMixRule(1.0, 1.0, 0.0, -1.0), // LEFT
|
||||
]
|
||||
}, // 12
|
||||
{
|
||||
name: 'Octo Flat X',
|
||||
model: 'custom',
|
||||
image: 'octo_flat_x',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 1.0, -0.414178, 1.0), // MIDFRONT_L
|
||||
new MotorMixRule(1.0, -0.414178, -1.0, 1.0), // FRONT_R
|
||||
new MotorMixRule(1.0, -1.0, 0.414178, 1.0), // MIDREAR_R
|
||||
new MotorMixRule(1.0, 0.414178, 1.0, 1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 0.414178, -1.0, -1.0), // FRONT_L
|
||||
new MotorMixRule(1.0, -1.0, -0.414178, -1.0), // MIDFRONT_R
|
||||
new MotorMixRule(1.0, -0.414178, 1.0, -1.0), // REAR_R
|
||||
new MotorMixRule(1.0, 1.0, 0.414178, -1.0), // MIDREAR_L
|
||||
]
|
||||
}, // 13
|
||||
{
|
||||
name: 'Airplane',
|
||||
model: 'custom',
|
||||
image: 'airplane',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.0, 0.0, 0.0),
|
||||
new MotorMixRule(1.0, 0.0, 0.0, 0.0),
|
||||
]
|
||||
}, // 14
|
||||
{
|
||||
name: 'Heli 120',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 15
|
||||
{
|
||||
name: 'Heli 90',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 16
|
||||
{
|
||||
name: 'V-tail Quad',
|
||||
model: 'quad_vtail',
|
||||
image: 'vtail_quad',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, -0.58, 0.58, 1.0), // REAR_R
|
||||
new MotorMixRule(1.0, -0.46, -0.39, -0.5), // FRONT_R
|
||||
new MotorMixRule(1.0, 0.58, 0.58, -1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 0.46, -0.39, 0.5), // FRONT_L
|
||||
]
|
||||
}, // 17
|
||||
{
|
||||
name: 'Hex H',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, -1.0, 1.0, -1.0), // REAR_R
|
||||
new MotorMixRule(1.0, -1.0, -1.0, 1.0), // FRONT_R
|
||||
new MotorMixRule(1.0, 1.0, 1.0, 1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 1.0, -1.0, -1.0), // FRONT_L
|
||||
new MotorMixRule(1.0, 0.0, 0.0, 0.0), // RIGHT
|
||||
new MotorMixRule(1.0, 0.0, 0.0, 0.0), // LEFT
|
||||
]
|
||||
}, // 18
|
||||
{
|
||||
name: 'PPM to SERVO',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 19
|
||||
{
|
||||
name: 'Dualcopter',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 20
|
||||
{
|
||||
name: 'Singlecopter',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 21
|
||||
{
|
||||
name: 'A-tail Quad',
|
||||
model: 'quad_atail',
|
||||
image: 'atail_quad',
|
||||
hasCustomServoMixer: false,
|
||||
enabled: true,
|
||||
motorMixer: [
|
||||
new MotorMixRule(1.0, 0.0, 1.0, 1.0), // REAR_R
|
||||
new MotorMixRule(1.0, -1.0, -1.0, 0.0), // FRONT_R
|
||||
new MotorMixRule(1.0, 0.0, 1.0, -1.0), // REAR_L
|
||||
new MotorMixRule(1.0, 1.0, -1.0, -0.0), // FRONT_L
|
||||
]
|
||||
}, // 22
|
||||
{
|
||||
name: 'Custom',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: true,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 23
|
||||
{
|
||||
name: 'Custom Airplane',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: true,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
}, // 24
|
||||
{
|
||||
name: 'Custom Tricopter',
|
||||
model: 'custom',
|
||||
image: 'custom',
|
||||
hasCustomServoMixer: true,
|
||||
enabled: false,
|
||||
motorMixer: []
|
||||
} // 25
|
||||
];
|
Loading…
Reference in New Issue