diff --git a/tabs/configuration_altern.html b/tabs/configuration_altern.html deleted file mode 100644 index 27deb974..00000000 --- a/tabs/configuration_altern.html +++ /dev/null @@ -1,424 +0,0 @@ -
-
Configuration
-
- -
-
-
-

-
-
-
-
-
-
-
-
-
-
- -
-
- -
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - -
- -
-
-
- -
-
- -
- -
- -
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
- -
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - -
-
-
-
-
-
-
-
-
-
-
-

-
-
- -
-
-
-
-
-
-
-
- - - - - - - - - - -
-
- -
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
-
- - - - - - - - - - -
- -
- -
-
- -
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
-
- -
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
- - - - - - - - - - -
-
- - -
-
- - -
-
- - -
-
- -
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - -
-
-
-
-
-
-
-
-
diff --git a/tabs/configuration_altern.js b/tabs/configuration_altern.js deleted file mode 100644 index dd7e0fea..00000000 --- a/tabs/configuration_altern.js +++ /dev/null @@ -1,476 +0,0 @@ -'use strict'; - -TABS.configuration = {}; - -TABS.configuration.initialize = function (callback, scrollPosition) { - var self = this; - - if (GUI.active_tab != 'configuration') { - GUI.active_tab = 'configuration'; - googleAnalytics.sendAppView('Configuration'); - } - - function load_config() { - MSP.send_message(MSP_codes.MSP_BF_CONFIG, false, false, load_serial_config); - } - - function load_serial_config() { - if (semver.lt(CONFIG.apiVersion, "1.6.0")) { - MSP.send_message(MSP_codes.MSP_CF_SERIAL_CONFIG, false, false, load_rc_map); - } else { - load_rc_map(); - } - } - - function load_rc_map() { - MSP.send_message(MSP_codes.MSP_RX_MAP, false, false, load_misc); - } - - function load_misc() { - MSP.send_message(MSP_codes.MSP_MISC, false, false, load_acc_trim); - } - - function load_acc_trim() { - MSP.send_message(MSP_codes.MSP_ACC_TRIM, false, false - , semver.gte(CONFIG.apiVersion, "1.8.0") ? load_arming_config : load_html); - } - - function load_arming_config() { - MSP.send_message(MSP_codes.MSP_ARMING_CONFIG, false, false, load_loop_time); - } - - function load_loop_time() { - MSP.send_message(MSP_codes.MSP_LOOP_TIME, false, false, load_html); - } - - function load_html() { - $('#content').load("./tabs/configuration.html", process_html); - } - - - - - MSP.send_message(MSP_codes.MSP_IDENT, false, false, load_config); - - function recalculate_cycles_sec() { - var looptime = $('input[name="looptime"]').val(); - - var message = 'Max'; - if (looptime > 0) { - message = parseFloat((1 / looptime) * 1000 * 1000).toFixed(0); - } - - $('input[name="looptimehz"]').val(message); - } - - function process_html() { - // translate to user-selected language - localize(); - - var mixer_list_e = $('select.mixerList'); - for (var i = 0; i < mixerList.length; i++) { - mixer_list_e.append(''); - } - - mixer_list_e.change(function () { - var val = parseInt($(this).val()); - - BF_CONFIG.mixerConfiguration = val; - - $('.mixerPreview img').attr('src', './resources/motor_order/' + mixerList[val - 1].image + '.svg'); - }); - - // select current mixer configuration - mixer_list_e.val(BF_CONFIG.mixerConfiguration).change(); - - // generate features - var features = [ - {bit: 0, group: 'rxMode', mode: 'group', name: 'RX_PPM', description: 'PPM RX input'}, - {bit: 1, group: 'batteryVoltage', name: 'VBAT', description: 'Battery voltage monitoring'}, - {bit: 2, group: 'other', name: 'INFLIGHT_ACC_CAL', description: 'In-flight level calibration'}, - {bit: 3, group: 'rxMode', mode: 'group', name: 'RX_SERIAL', description: 'Serial-based receiver (SPEKSAT, SBUS, SUMD)'}, - {bit: 4, group: 'esc', name: 'MOTOR_STOP', description: 'Don\'t spin the motors when armed'}, - {bit: 5, group: 'other', name: 'SERVO_TILT', description: 'Servo gimbal'}, - {bit: 6, group: 'other', name: 'SOFTSERIAL', description: 'Enable CPU based serial ports'}, - {bit: 7, group: 'gps', name: 'GPS', description: 'GPS (configure port scenario first)'}, - {bit: 8, group: 'rxFailsafe', name: 'FAILSAFE', description: 'Failsafe settings on RX signal loss'}, - {bit: 9, group: 'other', name: 'SONAR', description: 'Sonar'}, - {bit: 10, group: 'other', name: 'TELEMETRY', description: 'Telemetry output'}, - {bit: 11, group: 'batteryCurrent', name: 'CURRENT_METER', description: 'Battery current monitoring'}, - {bit: 12, group: 'other', name: '3D', description: '3D mode (for use with reversible ESCs)'}, - {bit: 13, group: 'rxMode', mode: 'group', name: 'RX_PARALLEL_PWM', description: 'PWM RX input'}, - {bit: 14, group: 'rxMode', mode: 'group', name: 'RX_MSP', description: 'MSP RX input'}, - {bit: 15, group: 'rssi', name: 'RSSI_ADC', description: 'Analog RSSI input'}, - {bit: 16, group: 'other', name: 'LED_STRIP', description: 'Addressable RGB LED strip support'}, - {bit: 17, group: 'other', name: 'DISPLAY', description: 'OLED Screen Display'}, - {bit: 18, group: 'esc', name: 'ONESHOT125', description: 'ONESHOT ESC support (disconnect ESCs, remove props)'}, - {bit: 19, group: 'other', name: 'BLACKBOX', description: 'Blackbox flight data recorder'} - ]; - - if (semver.gte(CONFIG.apiVersion, "1.12.0")) { - features.push( - {bit: 20, group: 'other', name: 'CHANNEL_FORWARDING', description: 'Forward aux channels to remaining servo outputs'} - ); - } - - var radioGroups = []; - - var features_e = $('.features'); - for (var i = 0; i < features.length; i++) { - var row_e; - - if (features[i].mode === 'group') { - row_e = $(' ' - + features[i].name - + ''); - radioGroups.push(features[i].group); - } else { - row_e = $(' ' - + features[i].name - + ''); - - var feature_e = row_e.find('input.feature'); - - feature_e.prop('checked', bit_check(BF_CONFIG.features, features[i].bit)); - feature_e.data('bit', features[i].bit); - } - - features_e.each(function () { - if ($(this).hasClass(features[i].group)) { - $(this).append(row_e); - } - }); - } - - for (var i = 0; i < radioGroups.length; i++) { - var group = radioGroups[i]; - var controls_e = $('input[name="' + group + '"].feature'); - - - controls_e.each(function() { - var bit = parseInt($(this).attr('value')); - var state = bit_check(BF_CONFIG.features, bit); - - $(this).prop('checked', state); - }); - } - - // generate GPS - var gpsProtocols = [ - 'NMEA', - 'UBLOX' - ]; - - var gpsBaudRates = [ - '115200', - '57600', - '38400', - '19200', - '9600' - ]; - - var gpsSbas = [ - 'Disabled', - 'Auto-detect', - 'European EGNOS', - 'North American WAAS', - 'Japanese MSAS', - 'Indian GAGAN' - ]; - - var gps_protocol_e = $('select.gps_protocol'); - for (var i = 0; i < gpsProtocols.length; i++) { - gps_protocol_e.append(''); - } - - gps_protocol_e.change(function () { - MISC.gps_type = parseInt($(this).val()); - }); - - gps_protocol_e.val(MISC.gps_type); - - - var gps_baudrate_e = $('select.gps_baudrate'); - for (var i = 0; i < gpsBaudRates.length; i++) { - gps_baudrate_e.append(''); - } - - if (semver.lt(CONFIG.apiVersion, "1.6.0")) { - gps_baudrate_e.change(function () { - SERIAL_CONFIG.gpsBaudRate = parseInt($(this).val()); - }); - gps_baudrate_e.val(SERIAL_CONFIG.gpsBaudRate); - } else { - gps_baudrate_e.prop("disabled", true); - gps_baudrate_e.parent().hide(); - } - - - var gps_ubx_sbas_e = $('select.gps_ubx_sbas'); - for (var i = 0; i < gpsSbas.length; i++) { - gps_ubx_sbas_e.append(''); - } - - gps_ubx_sbas_e.change(function () { - MISC.gps_ubx_sbas = parseInt($(this).val()); - }); - - gps_ubx_sbas_e.val(MISC.gps_ubx_sbas); - - - // generate serial RX - var serialRXtypes = [ - 'SPEKTRUM1024', - 'SPEKTRUM2048', - 'SBUS', - 'SUMD', - 'SUMH', - 'XBUS_MODE_B', - 'XBUS_MODE_B_RJ01' - ]; - - var serialRX_e = $('select.serialRX'); - for (var i = 0; i < serialRXtypes.length; i++) { - serialRX_e.append(''); - } - - serialRX_e.change(function () { - BF_CONFIG.serialrx_type = parseInt($(this).val()); - }); - - // select current serial RX type - serialRX_e.val(BF_CONFIG.serialrx_type); - - // for some odd reason chrome 38+ changes scroll according to the touched select element - // i am guessing this is a bug, since this wasn't happening on 37 - // code below is a temporary fix, which we will be able to remove in the future (hopefully) - $('#content').scrollTop((scrollPosition) ? scrollPosition : 0); - - // fill board alignment - $('input[name="board_align_roll"]').val(BF_CONFIG.board_align_roll); - $('input[name="board_align_pitch"]').val(BF_CONFIG.board_align_pitch); - $('input[name="board_align_yaw"]').val(BF_CONFIG.board_align_yaw); - - // fill accel trims - $('input[name="roll"]').val(CONFIG.accelerometerTrims[1]); - $('input[name="pitch"]').val(CONFIG.accelerometerTrims[0]); - - // fill magnetometer - $('input[name="mag_declination"]').val(MISC.mag_declination); - - //fill motor disarm params and FC loop time - if(semver.gte(CONFIG.apiVersion, "1.8.0")) { - $('input[name="autodisarmdelay"]').val(ARMING_CONFIG.auto_disarm_delay); - $('input[name="disarmkillswitch"]').prop('checked', ARMING_CONFIG.disarm_kill_switch); - $('div.disarm').show(); - if(bit_check(BF_CONFIG.features, 4))//MOTOR_STOP - $('div.disarmdelay').show(); - else - $('div.disarmdelay').hide(); - - // fill FC loop time - $('input[name="looptime"]').val(FC_CONFIG.loopTime); - - recalculate_cycles_sec(); - - $('div.cycles').show(); - } - - // fill throttle - $('input[name="minthrottle"]').val(MISC.minthrottle); - $('input[name="midthrottle"]').val(MISC.midrc); - $('input[name="maxthrottle"]').val(MISC.maxthrottle); - $('input[name="failsafe_throttle"]').val(MISC.failsafe_throttle); - $('input[name="mincommand"]').val(MISC.mincommand); - - // fill battery - $('input[name="mincellvoltage"]').val(MISC.vbatmincellvoltage); - $('input[name="maxcellvoltage"]').val(MISC.vbatmaxcellvoltage); - $('input[name="warningcellvoltage"]').val(MISC.vbatwarningcellvoltage); - $('input[name="voltagescale"]').val(MISC.vbatscale); - - // fill current - $('input[name="currentscale"]').val(BF_CONFIG.currentscale); - $('input[name="currentoffset"]').val(BF_CONFIG.currentoffset); - $('input[name="multiwiicurrentoutput"]').prop('checked', MISC.multiwiicurrentoutput); - - - // UI hooks - $('input[name="looptime"]').change(function() { - recalculate_cycles_sec(); - }); - - $('input[type="checkbox"].feature', features_e).change(function () { - var element = $(this), - index = element.data('bit'), - state = element.is(':checked'); - - if (state) { - BF_CONFIG.features = bit_set(BF_CONFIG.features, index); - if(element.attr('name') === 'MOTOR_STOP') - $('div.disarmdelay').show(); - } else { - BF_CONFIG.features = bit_clear(BF_CONFIG.features, index); - if(element.attr('name') === 'MOTOR_STOP') - $('div.disarmdelay').hide(); - } - }); - - // UI hooks - $('input[type="radio"].feature', features_e).change(function () { - var element = $(this), - group = element.attr('name'); - - var controls_e = $('input[name="' + group + '"]'); - var selected_bit = controls_e.filter(':checked').val(); - - controls_e.each(function() { - var bit = $(this).attr('value'); - - var selected = (selected_bit == bit); - if (selected) { - BF_CONFIG.features = bit_set(BF_CONFIG.features, bit); - } else { - BF_CONFIG.features = bit_clear(BF_CONFIG.features, bit); - } - - }); - }); - - - -// load switchery - var elems = Array.prototype.slice.call(document.querySelectorAll('#toggle')); - -elems.forEach(function(html) { - var switchery = new Switchery(html, - { - color: '#59aa29', - secondaryColor: '#c4c4c4' -}); - }); - // load switchery END - - - - - $('a.save').click(function () { - // gather data that doesn't have automatic change event bound - BF_CONFIG.board_align_roll = parseInt($('input[name="board_align_roll"]').val()); - BF_CONFIG.board_align_pitch = parseInt($('input[name="board_align_pitch"]').val()); - BF_CONFIG.board_align_yaw = parseInt($('input[name="board_align_yaw"]').val()); - - CONFIG.accelerometerTrims[1] = parseInt($('input[name="roll"]').val()); - CONFIG.accelerometerTrims[0] = parseInt($('input[name="pitch"]').val()); - MISC.mag_declination = parseFloat($('input[name="mag_declination"]').val()); - - // motor disarm - if(semver.gte(CONFIG.apiVersion, "1.8.0")) { - ARMING_CONFIG.auto_disarm_delay = parseInt($('input[name="autodisarmdelay"]').val()); - ARMING_CONFIG.disarm_kill_switch = ~~$('input[name="disarmkillswitch"]').is(':checked'); // ~~ boolean to decimal conversion - FC_CONFIG.loopTime = parseInt($('input[name="looptime"]').val()); - } - - MISC.minthrottle = parseInt($('input[name="minthrottle"]').val()); - MISC.midrc = parseInt($('input[name="midthrottle"]').val()); - MISC.maxthrottle = parseInt($('input[name="maxthrottle"]').val()); - MISC.failsafe_throttle = parseInt($('input[name="failsafe_throttle"]').val()); - MISC.mincommand = parseInt($('input[name="mincommand"]').val()); - - MISC.vbatmincellvoltage = parseFloat($('input[name="mincellvoltage"]').val()); - MISC.vbatmaxcellvoltage = parseFloat($('input[name="maxcellvoltage"]').val()); - MISC.vbatwarningcellvoltage = parseFloat($('input[name="warningcellvoltage"]').val()); - MISC.vbatscale = parseInt($('input[name="voltagescale"]').val()); - - BF_CONFIG.currentscale = parseInt($('input[name="currentscale"]').val()); - BF_CONFIG.currentoffset = parseInt($('input[name="currentoffset"]').val()); - MISC.multiwiicurrentoutput = ~~$('input[name="multiwiicurrentoutput"]').is(':checked'); // ~~ boolean to decimal conversion - - function save_serial_config() { - if (semver.lt(CONFIG.apiVersion, "1.6.0")) { - MSP.send_message(MSP_codes.MSP_SET_CF_SERIAL_CONFIG, MSP.crunch(MSP_codes.MSP_SET_CF_SERIAL_CONFIG), false, save_misc); - } else { - save_misc(); - } - } - - function save_misc() { - MSP.send_message(MSP_codes.MSP_SET_MISC, MSP.crunch(MSP_codes.MSP_SET_MISC), false, save_acc_trim); - } - - function save_acc_trim() { - MSP.send_message(MSP_codes.MSP_SET_ACC_TRIM, MSP.crunch(MSP_codes.MSP_SET_ACC_TRIM), false - , semver.gte(CONFIG.apiVersion, "1.8.0") ? save_arming_config : save_to_eeprom); - } - - function save_arming_config() { - MSP.send_message(MSP_codes.MSP_SET_ARMING_CONFIG, MSP.crunch(MSP_codes.MSP_SET_ARMING_CONFIG), false, save_looptime_config); - } - - function save_looptime_config() { - MSP.send_message(MSP_codes.MSP_SET_LOOP_TIME, MSP.crunch(MSP_codes.MSP_SET_LOOP_TIME), false, save_to_eeprom); - } - - function save_to_eeprom() { - MSP.send_message(MSP_codes.MSP_EEPROM_WRITE, false, false, reboot); - } - - function reboot() { - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); - - GUI.tab_switch_cleanup(function() { - MSP.send_message(MSP_codes.MSP_SET_REBOOT, false, false, reinitialize); - }); - } - - function reinitialize() { - GUI.log(chrome.i18n.getMessage('deviceRebooting')); - - GUI.timeout_add('waiting_for_bootup', function waiting_for_bootup() { - MSP.send_message(MSP_codes.MSP_IDENT, false, false, function () { - GUI.log(chrome.i18n.getMessage('deviceReady')); - TABS.configuration.initialize(false, $('#content').scrollTop()); - }); - },1500); // 1500 ms seems to be just the right amount of delay to prevent data request timeouts - } - - MSP.send_message(MSP_codes.MSP_SET_BF_CONFIG, MSP.crunch(MSP_codes.MSP_SET_BF_CONFIG), false, save_serial_config); - }); - - // status data pulled via separate timer with static speed - GUI.interval_add('status_pull', function status_pull() { - MSP.send_message(MSP_codes.MSP_STATUS); - }, 250, true); - - if (callback) callback(); - } -}; - - - - - TABS.configuration.cleanup = function (callback) { - if (callback) callback(); -}; \ No newline at end of file