diff --git a/src/js/tabs/firmware_flasher.js b/src/js/tabs/firmware_flasher.js
index 965abc00..fab7cacc 100644
--- a/src/js/tabs/firmware_flasher.js
+++ b/src/js/tabs/firmware_flasher.js
@@ -15,9 +15,9 @@ const firmware_flasher = {
};
firmware_flasher.initialize = function (callback) {
- var self = this;
+ const self = this;
- if (GUI.active_tab != 'firmware_flasher') {
+ if (GUI.active_tab !== 'firmware_flasher') {
GUI.active_tab = 'firmware_flasher';
}
@@ -27,7 +27,7 @@ firmware_flasher.initialize = function (callback) {
self.intel_hex = undefined;
self.parsed_hex = undefined;
- var unifiedSource = 'https://api.github.com/repos/betaflight/unified-targets/contents/configs/default';
+ const unifiedSource = 'https://api.github.com/repos/betaflight/unified-targets/contents/configs/default';
function onFirmwareCacheUpdate(release) {
$('select[name="firmware_version"] option').each(function () {
@@ -46,7 +46,7 @@ firmware_flasher.initialize = function (callback) {
function parse_hex(str, callback) {
// parsing hex in different thread
- var worker = new Worker('./js/workers/hex_parser.js');
+ const worker = new Worker('./js/workers/hex_parser.js');
// "callback"
worker.onmessage = function (event) {
@@ -59,7 +59,7 @@ firmware_flasher.initialize = function (callback) {
function show_loaded_hex(summary) {
self.flashingMessage('' + i18n.getMessage('firmwareFlasherFirmwareOnlineLoaded', self.parsed_hex.bytes_total) + '',
- self.FLASH_MESSAGE_TYPES.NEUTRAL);
+ self.FLASH_MESSAGE_TYPES.NEUTRAL);
self.enableFlashing(true);
@@ -82,7 +82,7 @@ firmware_flasher.initialize = function (callback) {
$('div.release_info #unifiedTargetInfo').hide();
}
- var formattedNotes = summary.notes.replace(/#(\d+)/g, '[#$1](https://github.com/betaflight/betaflight/pull/$1)');
+ let formattedNotes = summary.notes.replace(/#(\d+)/g, '[#$1](https://github.com/betaflight/betaflight/pull/$1)');
formattedNotes = marked(formattedNotes);
$('div.release_info .notes').html(formattedNotes);
$('div.release_info .notes').find('a').each(function() {
@@ -123,7 +123,7 @@ firmware_flasher.initialize = function (callback) {
process_hex(data, summary);
$("a.load_remote_file").removeClass('disabled');
$("a.load_remote_file").text(i18n.getMessage('firmwareFlasherButtonLoadOnline'));
- };
+ }
function populateBoardOptions(builds) {
if (!builds) {
@@ -133,26 +133,24 @@ firmware_flasher.initialize = function (callback) {
return;
}
- var boards_e = $('select[name="board"]');
+ const boards_e = $('select[name="board"]');
boards_e.empty();
boards_e.append($(``));
- var versions_e = $('select[name="firmware_version"]');
+ const versions_e = $('select[name="firmware_version"]');
versions_e.empty();
versions_e.append($(``));
- var selectTargets = [];
+ const selectTargets = [];
Object.keys(builds)
.sort()
.forEach(function(target, i) {
- var descriptors = builds[target];
+ const descriptors = builds[target];
descriptors.forEach(function(descriptor){
- if($.inArray(target, selectTargets) == -1) {
+ if ($.inArray(target, selectTargets) === -1) {
selectTargets.push(target);
- var select_e = $(
- ``,
- );
+ const select_e = $(``) ;
boards_e.append(select_e);
}
});
@@ -162,25 +160,25 @@ firmware_flasher.initialize = function (callback) {
ConfigStorage.get('selected_board', function (result) {
if (result.selected_board) {
- var boardBuilds = builds[result.selected_board];
+ const boardBuilds = builds[result.selected_board];
$('select[name="board"]').val(boardBuilds ? result.selected_board : 0).trigger('change');
}
});
}
function processBoardOptions(releaseData, showDevReleases) {
- var releases = {};
- var sortedTargets = [];
- var unsortedTargets = [];
+ const releases = {};
+ let sortedTargets = [];
+ const unsortedTargets = [];
releaseData.forEach(function(release) {
release.assets.forEach(function(asset) {
- var targetFromFilenameExpression = /betaflight_([\d.]+)?_?(\w+)(\-.*)?\.(.*)/;
- var match = targetFromFilenameExpression.exec(asset.name);
+ const targetFromFilenameExpression = /betaflight_([\d.]+)?_?(\w+)(\-.*)?\.(.*)/;
+ const match = targetFromFilenameExpression.exec(asset.name);
if ((!showDevReleases && release.prerelease) || !match) {
return;
}
- var target = match[2];
- if($.inArray(target, unsortedTargets) == -1) {
+ const target = match[2];
+ if ($.inArray(target, unsortedTargets) === -1) {
unsortedTargets.push(target);
}
});
@@ -190,23 +188,23 @@ firmware_flasher.initialize = function (callback) {
releases[release] = [];
});
releaseData.forEach(function(release) {
- var versionFromTagExpression = /v?(.*)/;
- var matchVersionFromTag = versionFromTagExpression.exec(release.tag_name);
- var version = matchVersionFromTag[1];
+ const versionFromTagExpression = /v?(.*)/;
+ const matchVersionFromTag = versionFromTagExpression.exec(release.tag_name);
+ const version = matchVersionFromTag[1];
release.assets.forEach(function(asset) {
- var targetFromFilenameExpression = /betaflight_([\d.]+)?_?(\w+)(\-.*)?\.(.*)/;
- var match = targetFromFilenameExpression.exec(asset.name);
+ const targetFromFilenameExpression = /betaflight_([\d.]+)?_?(\w+)(\-.*)?\.(.*)/;
+ const match = targetFromFilenameExpression.exec(asset.name);
if ((!showDevReleases && release.prerelease) || !match) {
return;
}
- var target = match[2];
- var format = match[4];
- if (format != 'hex') {
+ const target = match[2];
+ const format = match[4];
+ if (format !== 'hex') {
return;
}
- var date = new Date(release.published_at);
- var formattedDate = ("0" + date.getDate()).slice(-2) + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + date.getFullYear() + " " + ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2);
- var descriptor = {
+ const date = new Date(release.published_at);
+ const formattedDate = ("0" + date.getDate()).slice(-2) + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + date.getFullYear() + " " + ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2);
+ const descriptor = {
"releaseUrl": release.html_url,
"name" : version,
"version" : version,
@@ -220,7 +218,7 @@ firmware_flasher.initialize = function (callback) {
});
});
loadUnifiedBuilds(releases);
- };
+ }
function supportsUnifiedTargets(version) {
return semver.gte(version.split(' ')[0], '4.1.0-RC1');
@@ -236,14 +234,14 @@ firmware_flasher.initialize = function (callback) {
}
function loadUnifiedBuilds(builds) {
- var expirationPeriod = 3600 * 2; // Two of your earth hours.
- var checkTime = Math.floor(Date.now() / 1000); // Lets deal in seconds.
+ const expirationPeriod = 3600 * 2; // Two of your earth hours.
+ const checkTime = Math.floor(Date.now() / 1000); // Lets deal in seconds.
if (builds && hasUnifiedTargetBuild(builds)) {
console.log('loaded some builds for later');
const storageTag = 'unifiedSourceCache';
chrome.storage.local.get(storageTag, function (result) {
let storageObj = result[storageTag];
- if(!storageObj || !storageObj.lastUpdate || checkTime - storageObj.lastUpdate > expirationPeriod) {
+ if (!storageObj || !storageObj.lastUpdate || checkTime - storageObj.lastUpdate > expirationPeriod) {
console.log('go get', unifiedSource);
$.get(unifiedSource, function(data, textStatus, jqXHR) {
// Cache the information for later use.
@@ -295,19 +293,16 @@ firmware_flasher.initialize = function (callback) {
unifiedConfigs[targetName] = (unifiedConfigs[targetName] || {});
unifiedConfigs[targetName][manufacturerId] = target;
});
- var boards_e = $('select[name="board"]');
- var versions_e = $('select[name="firmware_version"]');
+ const boards_e = $('select[name="board"]');
+ const versions_e = $('select[name="firmware_version"]');
boards_e.empty()
.append($(``));
versions_e.empty()
.append($(``));
- var selectTargets = [];
Object.keys(items)
.sort()
- .forEach(function(target, i) {
- let item = items[target];
-
+ .forEach(function(target) {
const select_e = $(`"`);
boards_e.append(select_e);
});
@@ -316,14 +311,14 @@ firmware_flasher.initialize = function (callback) {
ConfigStorage.get('selected_board', function (result) {
if (result.selected_board) {
- var boardReleases = TABS.firmware_flasher.unifiedConfigs[result.selected_board]
+ const boardReleases = TABS.firmware_flasher.unifiedConfigs[result.selected_board]
|| TABS.firmware_flasher.releases[result.selected_board];
$('select[name="board"]').val(boardReleases ? result.selected_board : 0).trigger('change');
}
});
}
- var buildTypes = [
+ const buildTypes = [
{
tag: 'firmwareFlasherOptionLabelBuildTypeRelease',
loader: () => self.releaseChecker.loadReleaseData(releaseData => processBoardOptions(releaseData, false))
@@ -334,7 +329,7 @@ firmware_flasher.initialize = function (callback) {
}
];
- var ciBuildsTypes = self.jenkinsLoader._jobs.map(job => {
+ const ciBuildsTypes = self.jenkinsLoader._jobs.map(job => {
if (job.title === "Development") {
return {
tag: "firmwareFlasherOptionLabelBuildTypeDevelopment",
@@ -346,9 +341,9 @@ firmware_flasher.initialize = function (callback) {
loader: () => self.jenkinsLoader.loadBuilds(job.name, loadUnifiedBuilds)
};
});
- var buildTypesToShow;
+ let buildTypesToShow;
- var buildType_e = $('select[name="build_type"]');
+ const buildType_e = $('select[name="build_type"]');
function buildBuildTypeOptionsList() {
buildType_e.empty();
buildTypesToShow.forEach(({ tag, title }, index) => {
@@ -364,7 +359,7 @@ firmware_flasher.initialize = function (callback) {
}
function showOrHideBuildTypes() {
- var showExtraReleases = $(this).is(':checked');
+ const showExtraReleases = $(this).is(':checked');
if (showExtraReleases) {
$('tr.build_type').show();
@@ -376,9 +371,9 @@ firmware_flasher.initialize = function (callback) {
}
}
- var globalExpertMode_e = $('input[name="expertModeCheckbox"]');
+ const globalExpertMode_e = $('input[name="expertModeCheckbox"]');
function showOrHideBuildTypeSelect() {
- var expertModeChecked = $(this).is(':checked');
+ const expertModeChecked = $(this).is(':checked');
globalExpertMode_e.prop('checked', expertModeChecked);
if (expertModeChecked) {
@@ -391,7 +386,7 @@ firmware_flasher.initialize = function (callback) {
}
}
- var expertMode_e = $('.tab-firmware_flasher input.expert_mode');
+ const expertMode_e = $('.tab-firmware_flasher input.expert_mode');
expertMode_e.prop('checked', globalExpertMode_e.is(':checked'));
$('input.show_development_releases').change(showOrHideBuildTypes).change();
expertMode_e.change(showOrHideBuildTypeSelect).change();
@@ -403,7 +398,7 @@ firmware_flasher.initialize = function (callback) {
analytics.setFirmwareData(analytics.DATA.FIRMWARE_CHANNEL, $('option:selected', this).text());
$("a.load_remote_file").addClass('disabled');
- var build_type = $(this).val();
+ const build_type = $(this).val();
$('select[name="board"]').empty()
.append($(``));
@@ -477,21 +472,19 @@ firmware_flasher.initialize = function (callback) {
let versionLabel;
if (version.isLegacy && Object.values(builds).some(function (build) {
- return build.descriptor.version === version.descriptor.version && !build.isLegacy;
- })) {
+ return build.descriptor.version === version.descriptor.version && !build.isLegacy;
+ })) {
versionLabel = i18n.getMessage("firmwareFlasherLegacyLabel", { target: version.descriptor.version });
} else if (!version.isLegacy && Object.values(builds).some(function (build) {
- return build.descriptor.version === version.descriptor.version && build.manufacturerId !== version.manufacturerId && !build.isLegacy;
- })) {
+ return build.descriptor.version === version.descriptor.version && build.manufacturerId !== version.manufacturerId && !build.isLegacy;
+ })) {
versionLabel = `${version.descriptor.version} (${version.manufacturerId})`;
} else {
versionLabel = version.descriptor.version;
}
- var select_e = $(
- ``
- );
+ const select_e = $(``);
if (FirmwareCache.has(version.descriptor)) {
select_e.addClass("cached");
}
@@ -540,10 +533,10 @@ firmware_flasher.initialize = function (callback) {
$('select[name="board"]').change(function() {
$("a.load_remote_file").addClass('disabled');
- var target = $(this).val();
+ const target = $(this).val();
if (!GUI.connect_lock) {
- if (TABS.firmware_flasher.selectedBoard != target) {
+ if (TABS.firmware_flasher.selectedBoard !== target) {
// We're sure the board actually changed
if (self.isConfigLocal) {
console.log('Board changed, unloading local config');
@@ -566,9 +559,9 @@ firmware_flasher.initialize = function (callback) {
self.enableFlashing(false);
}
- var versions_e = $('select[name="firmware_version"]');
- if (target == 0) {
- // target == 0 is the "Choose a Board" option. Throw out anything loaded
+ const versions_e = $('select[name="firmware_version"]');
+ if (target === 0) {
+ // target is 0 is the "Choose a Board" option. Throw out anything loaded
clearBufferedFirmware();
versions_e.empty();
@@ -590,7 +583,6 @@ firmware_flasher.initialize = function (callback) {
)
);
- let selecteBuild = buildTypesToShow[$('select[name="build_type"]').val()];
const builds = [];
const finishPopulatingBuilds = function () {
@@ -604,8 +596,8 @@ firmware_flasher.initialize = function (callback) {
if (TABS.firmware_flasher.unifiedConfigs[target]) {
const storageTag = 'unifiedConfigLast';
- var expirationPeriod = 3600; // One of your earth hours.
- var checkTime = Math.floor(Date.now() / 1000); // Lets deal in seconds.
+ const expirationPeriod = 3600; // One of your earth hours.
+ const checkTime = Math.floor(Date.now() / 1000); // Lets deal in seconds.
chrome.storage.local.get(storageTag, function (result) {
let storageObj = result[storageTag];
const unifiedConfigList = TABS.firmware_flasher.unifiedConfigs[target];
@@ -713,10 +705,10 @@ firmware_flasher.initialize = function (callback) {
let output = [];
let inComment = false;
for (let i=0; i < input.length; i++) {
- if (input.charAt(i) == "\n" || input.charAt(i) == "\r") {
+ if (input.charAt(i) === "\n" || input.charAt(i) === "\r") {
inComment = false;
}
- if (input.charAt(i) == "#") {
+ if (input.charAt(i) === "#") {
inComment = true;
}
if (!inComment && input.charCodeAt(i) > 255) {
@@ -735,9 +727,9 @@ firmware_flasher.initialize = function (callback) {
const portPickerElement = $('div#port-picker #port');
function flashFirmware(firmware) {
- var options = {};
+ const options = {};
- var eraseAll = false;
+ let eraseAll = false;
if ($('input.erase_chip').is(':checked')) {
options.erase_chip = true;
@@ -810,7 +802,7 @@ firmware_flasher.initialize = function (callback) {
// bind UI hook so the status is saved on change
$('input.updating').change(function() {
- var status = $(this).is(':checked');
+ const status = $(this).is(':checked');
if (status) {
$('.flash_on_connect_wrapper').show();
@@ -834,7 +826,7 @@ firmware_flasher.initialize = function (callback) {
// bind UI hook so the status is saved on change
$('input.flash_manual_baud').change(function() {
- var status = $(this).is(':checked');
+ const status = $(this).is(':checked');
ConfigStorage.set({'flash_manual_baud': status});
});
@@ -846,7 +838,7 @@ firmware_flasher.initialize = function (callback) {
// bind UI hook so the status is saved on change
$('#flash_manual_baud_rate').change(function() {
- var baud = parseInt($('#flash_manual_baud_rate').val());
+ const baud = parseInt($('#flash_manual_baud_rate').val());
ConfigStorage.set({'flash_manual_baud_rate': baud});
});
@@ -878,15 +870,15 @@ firmware_flasher.initialize = function (callback) {
$('div.git_info').slideUp();
chrome.fileSystem.getDisplayPath(fileEntry, function (path) {
- console.log('Loading file from: ' + path);
+ console.log('Loading file from:', path);
fileEntry.file(function (file) {
analytics.setFirmwareData(analytics.DATA.FIRMWARE_NAME, file.name);
- var reader = new FileReader();
+ const reader = new FileReader();
reader.onloadend = function(e) {
- if (e.total != 0 && e.total == e.loaded) {
- console.log('File loaded (' + e.loaded + ')');
+ if (e.total !== 0 && e.total === e.loaded) {
+ console.log(`File loaded (${e.loaded})`);
if (file.name.split('.').pop() === "hex") {
self.intel_hex = e.target.result;
@@ -933,7 +925,7 @@ firmware_flasher.initialize = function (callback) {
if (!self.localFirmwareLoaded) {
self.enableFlashing(false);
self.flashingMessage(i18n.getMessage('firmwareFlasherLoadFirmwareFile'), self.FLASH_MESSAGE_TYPES.NEUTRAL);
- if(self.parsed_hex && self.parsed_hex.bytes_total) {
+ if (self.parsed_hex && self.parsed_hex.bytes_total) {
// Changing the board triggers a version change, so we need only dump it here.
console.log('throw out loaded hex');
self.intel_hex = undefined;
@@ -949,7 +941,7 @@ firmware_flasher.initialize = function (callback) {
FirmwareCache.get(release, cached => {
analytics.setFirmwareData(analytics.DATA.FIRMWARE_NAME, release.file);
- console.info("Release found in cache: " + release.file);
+ console.info("Release found in cache:", release.file);
self.developmentFirmwareLoaded = buildTypesToShow[$('select[name="build_type"]').val()].tag === 'firmwareFlasherOptionLabelBuildTypeDevelopment';
@@ -970,7 +962,7 @@ firmware_flasher.initialize = function (callback) {
analytics.setFirmwareData(analytics.DATA.FIRMWARE_SOURCE, 'http');
- if ($('select[name="firmware_version"]').val() == "0") {
+ if ($('select[name="firmware_version"]').val() === "0") {
GUI.log(i18n.getMessage('firmwareFlasherNoFirmwareSelected'));
return;
}
@@ -982,14 +974,14 @@ firmware_flasher.initialize = function (callback) {
i18n.localizePage();
}
- var summary = $('select[name="firmware_version"] option:selected').data('summary');
+ const summary = $('select[name="firmware_version"] option:selected').data('summary');
if (summary) { // undefined while list is loading or while running offline
if (self.isConfigLocal && FirmwareCache.has(summary)) {
// Load the .hex from Cache if available when the user is providing their own config.
analytics.setFirmwareData(analytics.DATA.FIRMWARE_SOURCE, 'cache');
FirmwareCache.get(summary, cached => {
analytics.setFirmwareData(analytics.DATA.FIRMWARE_NAME, summary.file);
- console.info("Release found in cache: " + summary.file);
+ console.info("Release found in cache:", summary.file);
onLoadSuccess(cached.hexdata, summary);
});
return;
@@ -1104,7 +1096,7 @@ firmware_flasher.initialize = function (callback) {
if (self.parsed_hex) {
try {
if (self.unifiedTarget.config && !self.parsed_hex.configInserted) {
- var configInserter = new ConfigInserter();
+ const configInserter = new ConfigInserter();
if (configInserter.insertConfig(self.parsed_hex, self.unifiedTarget.config)) {
self.parsed_hex.configInserted = true;
@@ -1127,22 +1119,22 @@ firmware_flasher.initialize = function (callback) {
}
$('span.progressLabel a.save_firmware').click(function () {
- var summary = $('select[name="firmware_version"] option:selected').data('summary');
+ const summary = $('select[name="firmware_version"] option:selected').data('summary');
chrome.fileSystem.chooseEntry({type: 'saveFile', suggestedName: summary.file, accepts: [{description: 'HEX files', extensions: ['hex']}]}, function (fileEntry) {
if (checkChromeRuntimeError()) {
return;
}
chrome.fileSystem.getDisplayPath(fileEntry, function (path) {
- console.log('Saving firmware to: ' + path);
+ console.log('Saving firmware to:', path);
// check if file is writable
chrome.fileSystem.isWritableEntry(fileEntry, function (isWritable) {
if (isWritable) {
- var blob = new Blob([self.intel_hex], {type: 'text/plain'});
+ const blob = new Blob([self.intel_hex], {type: 'text/plain'});
fileEntry.createWriter(function (writer) {
- var truncated = false;
+ let truncated = false;
writer.onerror = function (e) {
console.error(e);
@@ -1174,16 +1166,16 @@ firmware_flasher.initialize = function (callback) {
});
$('input.flash_on_connect').change(function () {
- var status = $(this).is(':checked');
+ const status = $(this).is(':checked');
if (status) {
- var catch_new_port = function () {
+ const catch_new_port = function () {
PortHandler.port_detected('flash_detected_device', function (result) {
- var port = result[0];
+ const port = result[0];
if (!GUI.connect_lock) {
GUI.log(i18n.getMessage('firmwareFlasherFlashTrigger', [port]));
- console.log('Detected: ' + port + ' - triggering flash on connect');
+ console.log(`Detected: ${port} - triggering flash on connect`);
// Trigger regular Flashing sequence
GUI.timeout_add('initialization_timeout', function () {
@@ -1205,7 +1197,7 @@ firmware_flasher.initialize = function (callback) {
}).change();
$(document).keypress(function (e) {
- if (e.which == 13) { // enter
+ if (e.which === 13) { // enter
// Trigger regular Flashing sequence
$('a.flash_firmware').click();
}
@@ -1249,10 +1241,12 @@ firmware_flasher.enableFlashing = function (enabled) {
}
};
-firmware_flasher.FLASH_MESSAGE_TYPES = {NEUTRAL : 'NEUTRAL',
- VALID : 'VALID',
- INVALID : 'INVALID',
- ACTION : 'ACTION'};
+firmware_flasher.FLASH_MESSAGE_TYPES = {
+ NEUTRAL : 'NEUTRAL',
+ VALID : 'VALID',
+ INVALID : 'INVALID',
+ ACTION : 'ACTION',
+};
firmware_flasher.flashingMessage = function(message, type) {
let self = this;
@@ -1276,7 +1270,7 @@ firmware_flasher.flashingMessage = function(message, type) {
progressLabel_e.removeClass('valid invalid actionRequired');
break;
}
- if (message != null) {
+ if (message !== null) {
progressLabel_e.html(message);
}