mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 14:25:20 +03:00
utilizing new MSP callback api
this resolves a lot of underlying bugs, however bug that causes failed initialization after leaving CLI tab and entering Servo tab is still there.
This commit is contained in:
parent
fbc886787d
commit
474a610a30
1 changed files with 78 additions and 76 deletions
154
tabs/servos.js
154
tabs/servos.js
|
@ -1,84 +1,86 @@
|
|||
function tab_initialize_servos() {
|
||||
ga_tracker.sendAppView('Servos');
|
||||
|
||||
// request current Servos Config
|
||||
send_message(MSP_codes.MSP_IDENT, MSP_codes.MSP_IDENT);
|
||||
send_message(MSP_codes.MSP_SERVO_CONF, MSP_codes.MSP_SERVO_CONF);
|
||||
|
||||
|
||||
var model = $('div.tab-servos strong.model');
|
||||
var servos = [];
|
||||
|
||||
setTimeout(function() {
|
||||
switch (CONFIG.multiType) {
|
||||
case 1: // TRI
|
||||
model.html('TRI');
|
||||
|
||||
process_servos('Rear', SERVO_CONFIG[5], 5);
|
||||
|
||||
servos = [5];
|
||||
break;
|
||||
case 4: // BI
|
||||
model.html('BI');
|
||||
|
||||
process_servos('Left', SERVO_CONFIG[4], 4);
|
||||
process_servos('Right', SERVO_CONFIG[5], 5);
|
||||
|
||||
servos = [4, 5];
|
||||
break;
|
||||
case 5: // Gimbal
|
||||
model.html('Gimbal');
|
||||
|
||||
process_servos('Pitch Servo', SERVO_CONFIG[0], 0);
|
||||
process_servos('Roll Servo', SERVO_CONFIG[1], 1);
|
||||
|
||||
servos = [0, 1];
|
||||
break;
|
||||
case 8: // Flying Wing
|
||||
model.html('Flying Wing');
|
||||
|
||||
process_servos('Left', SERVO_CONFIG[3], 3);
|
||||
process_servos('Right', SERVO_CONFIG[4], 4);
|
||||
|
||||
servos = [3, 4];
|
||||
break;
|
||||
case 14: // Airplane
|
||||
model.html('Airplane');
|
||||
|
||||
// rate
|
||||
process_servos('Wing 1', SERVO_CONFIG[3], 3);
|
||||
process_servos('Wing 2', SERVO_CONFIG[4], 4);
|
||||
process_servos('Rudd', SERVO_CONFIG[5], 5);
|
||||
process_servos('Elev', SERVO_CONFIG[6], 6);
|
||||
process_servos('Thro', SERVO_CONFIG[7], 7);
|
||||
|
||||
servos = [2, 3, 4, 5, 6, 7];
|
||||
break;
|
||||
case 20: // Dualcopter
|
||||
model.html('Dualcopter');
|
||||
|
||||
process_servos('Pitch', SERVO_CONFIG[4], 4);
|
||||
process_servos('Roll', SERVO_CONFIG[5], 5);
|
||||
process_servos('M 1', SERVO_CONFIG[6], 6);
|
||||
process_servos('M 0', SERVO_CONFIG[7], 7);
|
||||
|
||||
servos = [4, 5, 6, 7];
|
||||
break;
|
||||
case 21: // Singlecopter
|
||||
model.html('Singlecopter');
|
||||
|
||||
process_servos('Right', SERVO_CONFIG[3], 3);
|
||||
process_servos('Left', SERVO_CONFIG[4], 4);
|
||||
process_servos('Front', SERVO_CONFIG[5], 5);
|
||||
process_servos('Rear', SERVO_CONFIG[6], 6);
|
||||
process_servos('Motor', SERVO_CONFIG[7], 7);
|
||||
|
||||
servos = [3, 4, 5, 6, 7];
|
||||
break;
|
||||
default:
|
||||
model.html('Doesn\'t support servos');
|
||||
}
|
||||
}, 50);
|
||||
|
||||
// request current Servos Config
|
||||
send_message(MSP_codes.MSP_IDENT, MSP_codes.MSP_IDENT, false, function() {
|
||||
send_message(MSP_codes.MSP_SERVO_CONF, MSP_codes.MSP_SERVO_CONF, false, function() {
|
||||
// drop previous table
|
||||
$('div.tab-servos table.fields tr:not(:first)').remove();
|
||||
|
||||
switch (CONFIG.multiType) {
|
||||
case 1: // TRI
|
||||
model.html('TRI');
|
||||
|
||||
process_servos('Rear', SERVO_CONFIG[5], 5);
|
||||
|
||||
servos = [5];
|
||||
break;
|
||||
case 4: // BI
|
||||
model.html('BI');
|
||||
|
||||
process_servos('Left', SERVO_CONFIG[4], 4);
|
||||
process_servos('Right', SERVO_CONFIG[5], 5);
|
||||
|
||||
servos = [4, 5];
|
||||
break;
|
||||
case 5: // Gimbal
|
||||
model.html('Gimbal');
|
||||
|
||||
process_servos('Pitch Servo', SERVO_CONFIG[0], 0);
|
||||
process_servos('Roll Servo', SERVO_CONFIG[1], 1);
|
||||
|
||||
servos = [0, 1];
|
||||
break;
|
||||
case 8: // Flying Wing
|
||||
model.html('Flying Wing');
|
||||
|
||||
process_servos('Left', SERVO_CONFIG[3], 3);
|
||||
process_servos('Right', SERVO_CONFIG[4], 4);
|
||||
|
||||
servos = [3, 4];
|
||||
break;
|
||||
case 14: // Airplane
|
||||
model.html('Airplane');
|
||||
|
||||
// rate
|
||||
process_servos('Wing 1', SERVO_CONFIG[3], 3);
|
||||
process_servos('Wing 2', SERVO_CONFIG[4], 4);
|
||||
process_servos('Rudd', SERVO_CONFIG[5], 5);
|
||||
process_servos('Elev', SERVO_CONFIG[6], 6);
|
||||
process_servos('Thro', SERVO_CONFIG[7], 7);
|
||||
|
||||
servos = [2, 3, 4, 5, 6, 7];
|
||||
break;
|
||||
case 20: // Dualcopter
|
||||
model.html('Dualcopter');
|
||||
|
||||
process_servos('Pitch', SERVO_CONFIG[4], 4);
|
||||
process_servos('Roll', SERVO_CONFIG[5], 5);
|
||||
process_servos('M 1', SERVO_CONFIG[6], 6);
|
||||
process_servos('M 0', SERVO_CONFIG[7], 7);
|
||||
|
||||
servos = [4, 5, 6, 7];
|
||||
break;
|
||||
case 21: // Singlecopter
|
||||
model.html('Singlecopter');
|
||||
|
||||
process_servos('Right', SERVO_CONFIG[3], 3);
|
||||
process_servos('Left', SERVO_CONFIG[4], 4);
|
||||
process_servos('Front', SERVO_CONFIG[5], 5);
|
||||
process_servos('Rear', SERVO_CONFIG[6], 6);
|
||||
process_servos('Motor', SERVO_CONFIG[7], 7);
|
||||
|
||||
servos = [3, 4, 5, 6, 7];
|
||||
break;
|
||||
default:
|
||||
model.html('Doesn\'t support servos');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// UI hooks
|
||||
$('a.update').click(function() {
|
||||
// update objects
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue