'use strict'; TABS.transponder = { available: false }; TABS.transponder.initialize = function(callback, scrollPosition) { let _persistentInputValues = {}; let dataTypes = { NONE: 0, TEXT: 1, LIST: 2, }; // CONFIGURATION HERE FOR ADD NEW TRANSPONDER let transponderConfigurations = { 0: { dataType: dataTypes.NONE // empty }, //NONE 1: { dataType: dataTypes.TEXT // }, //ilap 2: { dataType: dataTypes.LIST, // dataOptions: { 'ID 1': 'E00370FC0FFE07E0FF', 'ID 2': '007C003EF800FC0FFE', 'ID 3': 'F8811FF8811FFFC7FF', 'ID 4': '007C003EF81F800FFE', 'ID 5': 'F00FFF00FFF00FF0FF', 'ID 6': '007CF0C1071F7C00F0', 'ID 7': 'E003F03F00FF03F0C1', 'ID 8': '00FC0FFE071F3E00FE', 'ID 9': 'E083BFF00F9E38C0FF', } }, //arcitimer }; ///////////////////////////////////////////// if ( GUI.active_tab != 'transponder' ) { GUI.active_tab = 'transponder'; // Disabled on merge into betaflight-configurator //googleAnalytics.sendAppView('Transponder'); } // transponder supported added in MSP API Version 1.16.0 if ( CONFIG ) { TABS.transponder.available = semver.gte(CONFIG.apiVersion, "1.16.0"); } ////////////// if ( !TABS.transponder.available ) { load_html(); return; } function load_html() { $('#content').load("./tabs/transponder.html", process_html); } //HELPERS // Convert a hex string to a byte array function hexToBytes(hex) { var bytes = []; for ( let c = 0; c < hex.length; c += 2 ) { bytes.push(~parseInt(hex.substr(c, 2), 16)); } return bytes; } function pad(n, width) { n = n + ''; return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n; } // Convert a byte array to a hex string function bytesToHex(bytes) { var hex = []; for ( let i = 0; i < bytes.length; i++ ) { hex.push(pad(((~bytes[i]) & 0xFF).toString(16), 2)); } return hex.join("").toUpperCase(); } ///////////// function fillByTransponderProviders(transponderProviders, transponderProviderID, toggleTransponderType) { let transponderTypeSelect = $('#transponder_type_select'); transponderTypeSelect.attr('data-defaultValue', transponderProviderID); transponderTypeSelect.off('change').change(toggleTransponderType); transponderTypeSelect.html(''); //build radio buttons transponderTypeSelect.append( $('