diff --git a/locales/en/messages.json b/locales/en/messages.json index acf7a1a8..c29bba7b 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -610,18 +610,12 @@ "initialSetupButtonRebootBootloader": { "message": "Activate Boot Loader / DFU" }, - "initialSetupButtonRebootMsc": { - "message": "Activate Mass Storage Device Mode" - }, "initialSetupBackupRestoreText": { "message": "Backup your configuration in case of an accident, CLI settings are
included - use the command 'diff all' in CLI for this." }, "initialSetupRebootBootloaderText": { "message": "Reboot into boot loader / DFU mode." }, - "initialSetupRebootMscText": { - "message": "Reboot into mass storage device (MSC) mode. Once activated, the onboard flash or SD card on your flight controller will be recognised as a storage device by your computer, and allow you to download your log files. Eject and power cycel your flight controller to leave mass storage device mode." - }, "initialSetupBackupSuccess": { "message": "Backup saved " }, @@ -3597,6 +3591,18 @@ "onboardLoggingOnboardSDCard": { "message": "Onboard SD card" }, + "onboardLoggingMsc": { + "message": "Mass Storage Mode" + }, + "onboardLoggingMscNote": { + "message": "Reboot into mass storage device (MSC) mode. Once activated, the onboard flash or SD card on your flight controller will be recognised as a storage device by your computer, and allow you to download your log files. Eject and power cycel your flight controller to leave mass storage device mode." + }, + "onboardLoggingRebootMscText": { + "message": "Activate Mass Storage Device Mode" + }, + "onboardLoggingMscNotReady": { + "message": "Mass storage mode can not be activated because the storage device is not ready." + }, "dialogConfirmResetTitle": { "message": "Confirm" }, diff --git a/src/css/tabs/onboard_logging.css b/src/css/tabs/onboard_logging.css index 87d48452..11e5b431 100644 --- a/src/css/tabs/onboard_logging.css +++ b/src/css/tabs/onboard_logging.css @@ -206,6 +206,22 @@ display: none; } +.require-msc-supported { + display: none; +} + +.tab-onboard_logging.msc-supported .require-msc-supported { + display: block; +} + +.require-msc-not-ready { + display: none; +} + +.tab-onboard_logging.msc-not-ready .require-msc-not-ready { + display: block; +} + @media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { .tab-onboard_logging table thead tr:first-child { font-size: 12px; @@ -300,4 +316,4 @@ pointer-events: none; text-shadow: none; opacity: 0.5; -} \ No newline at end of file +} diff --git a/src/js/tabs/onboard_logging.js b/src/js/tabs/onboard_logging.js index 68dc1d12..688ab7ca 100644 --- a/src/js/tabs/onboard_logging.js +++ b/src/js/tabs/onboard_logging.js @@ -145,6 +145,20 @@ TABS.onboard_logging.initialize = function (callback) { $("div.blackboxRate").show(); } }).change(); + + if (semver.gte(CONFIG.apiVersion, "1.40.0")) { + if (SDCARD.supported || DATAFLASH.supported) { + + $(".tab-onboard_logging") + .toggleClass("msc-supported", true); + + $('a.onboardLoggingRebootMsc').click(function () { + var buffer = []; + buffer.push(2); + MSP.send_message(MSPCodes.MSP_SET_REBOOT, buffer, false); + }); + } + } update_html(); @@ -296,6 +310,18 @@ TABS.onboard_logging.initialize = function (callback) { .toggleClass("sdcard-error", SDCARD.state === MSP.SDCARD_STATE_FATAL) .toggleClass("sdcard-initializing", SDCARD.state === MSP.SDCARD_STATE_CARD_INIT || SDCARD.state === MSP.SDCARD_STATE_FS_INIT) .toggleClass("sdcard-ready", SDCARD.state === MSP.SDCARD_STATE_READY); + + if (semver.gte(CONFIG.apiVersion, "1.40.0")) { + var mscIsReady = (DATAFLASH.totalSize > 0) || (SDCARD.state === MSP.SDCARD_STATE_READY); + $(".tab-onboard_logging") + .toggleClass("msc-not-ready", !mscIsReady); + + if (!mscIsReady) { + $('a.onboardLoggingRebootMsc').addClass('disabled'); + } else { + $('a.onboardLoggingRebootMsc').removeClass('disabled'); + } + } switch (SDCARD.state) { case MSP.SDCARD_STATE_NOT_PRESENT: diff --git a/src/js/tabs/setup.js b/src/js/tabs/setup.js index 6682c6db..c3f6663f 100755 --- a/src/js/tabs/setup.js +++ b/src/js/tabs/setup.js @@ -73,15 +73,8 @@ TABS.setup.initialize = function (callback) { buffer.push(1); MSP.send_message(MSPCodes.MSP_SET_REBOOT, buffer, false); }); - - $('a.rebootMsc').click(function () { - var buffer = []; - buffer.push(2); - MSP.send_message(MSPCodes.MSP_SET_REBOOT, buffer, false); - }); } else { $('.initialSetupRebootBootloader').hide(); - $('.initialSetupRebootMsc').hide(); } // UI Hooks diff --git a/src/tabs/onboard_logging.html b/src/tabs/onboard_logging.html index 2a70b0b5..ca85163b 100644 --- a/src/tabs/onboard_logging.html +++ b/src/tabs/onboard_logging.html @@ -133,6 +133,23 @@ + diff --git a/src/tabs/setup.html b/src/tabs/setup.html index c8d03858..1e93dbd8 100644 --- a/src/tabs/setup.html +++ b/src/tabs/setup.html @@ -49,9 +49,6 @@ + -