1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-20 06:45:16 +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:
cTn 2013-11-09 04:05:33 +01:00
parent fbc886787d
commit 474a610a30

View file

@ -1,83 +1,85 @@
function tab_initialize_servos() { function tab_initialize_servos() {
ga_tracker.sendAppView('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 model = $('div.tab-servos strong.model');
var servos = []; var servos = [];
setTimeout(function() { // request current Servos Config
switch (CONFIG.multiType) { send_message(MSP_codes.MSP_IDENT, MSP_codes.MSP_IDENT, false, function() {
case 1: // TRI send_message(MSP_codes.MSP_SERVO_CONF, MSP_codes.MSP_SERVO_CONF, false, function() {
model.html('TRI'); // drop previous table
$('div.tab-servos table.fields tr:not(:first)').remove();
process_servos('Rear', SERVO_CONFIG[5], 5); switch (CONFIG.multiType) {
case 1: // TRI
model.html('TRI');
servos = [5]; process_servos('Rear', SERVO_CONFIG[5], 5);
break;
case 4: // BI
model.html('BI');
process_servos('Left', SERVO_CONFIG[4], 4); servos = [5];
process_servos('Right', SERVO_CONFIG[5], 5); break;
case 4: // BI
model.html('BI');
servos = [4, 5]; process_servos('Left', SERVO_CONFIG[4], 4);
break; process_servos('Right', SERVO_CONFIG[5], 5);
case 5: // Gimbal
model.html('Gimbal');
process_servos('Pitch Servo', SERVO_CONFIG[0], 0); servos = [4, 5];
process_servos('Roll Servo', SERVO_CONFIG[1], 1); break;
case 5: // Gimbal
model.html('Gimbal');
servos = [0, 1]; process_servos('Pitch Servo', SERVO_CONFIG[0], 0);
break; process_servos('Roll Servo', SERVO_CONFIG[1], 1);
case 8: // Flying Wing
model.html('Flying Wing');
process_servos('Left', SERVO_CONFIG[3], 3); servos = [0, 1];
process_servos('Right', SERVO_CONFIG[4], 4); break;
case 8: // Flying Wing
model.html('Flying Wing');
servos = [3, 4]; process_servos('Left', SERVO_CONFIG[3], 3);
break; process_servos('Right', SERVO_CONFIG[4], 4);
case 14: // Airplane
model.html('Airplane');
// rate servos = [3, 4];
process_servos('Wing 1', SERVO_CONFIG[3], 3); break;
process_servos('Wing 2', SERVO_CONFIG[4], 4); case 14: // Airplane
process_servos('Rudd', SERVO_CONFIG[5], 5); model.html('Airplane');
process_servos('Elev', SERVO_CONFIG[6], 6);
process_servos('Thro', SERVO_CONFIG[7], 7);
servos = [2, 3, 4, 5, 6, 7]; // rate
break; process_servos('Wing 1', SERVO_CONFIG[3], 3);
case 20: // Dualcopter process_servos('Wing 2', SERVO_CONFIG[4], 4);
model.html('Dualcopter'); process_servos('Rudd', SERVO_CONFIG[5], 5);
process_servos('Elev', SERVO_CONFIG[6], 6);
process_servos('Thro', SERVO_CONFIG[7], 7);
process_servos('Pitch', SERVO_CONFIG[4], 4); servos = [2, 3, 4, 5, 6, 7];
process_servos('Roll', SERVO_CONFIG[5], 5); break;
process_servos('M 1', SERVO_CONFIG[6], 6); case 20: // Dualcopter
process_servos('M 0', SERVO_CONFIG[7], 7); model.html('Dualcopter');
servos = [4, 5, 6, 7]; process_servos('Pitch', SERVO_CONFIG[4], 4);
break; process_servos('Roll', SERVO_CONFIG[5], 5);
case 21: // Singlecopter process_servos('M 1', SERVO_CONFIG[6], 6);
model.html('Singlecopter'); process_servos('M 0', SERVO_CONFIG[7], 7);
process_servos('Right', SERVO_CONFIG[3], 3); servos = [4, 5, 6, 7];
process_servos('Left', SERVO_CONFIG[4], 4); break;
process_servos('Front', SERVO_CONFIG[5], 5); case 21: // Singlecopter
process_servos('Rear', SERVO_CONFIG[6], 6); model.html('Singlecopter');
process_servos('Motor', SERVO_CONFIG[7], 7);
servos = [3, 4, 5, 6, 7]; process_servos('Right', SERVO_CONFIG[3], 3);
break; process_servos('Left', SERVO_CONFIG[4], 4);
default: process_servos('Front', SERVO_CONFIG[5], 5);
model.html('Doesn\'t support servos'); process_servos('Rear', SERVO_CONFIG[6], 6);
} process_servos('Motor', SERVO_CONFIG[7], 7);
}, 50);
servos = [3, 4, 5, 6, 7];
break;
default:
model.html('Doesn\'t support servos');
}
});
});
// UI hooks // UI hooks
$('a.update').click(function() { $('a.update').click(function() {