From d0ae8dd9211c4800d52a969b49a88b1e9b98ba52 Mon Sep 17 00:00:00 2001 From: Nicholas Sherlock Date: Mon, 16 Feb 2015 19:13:09 +1300 Subject: [PATCH] Show "dataflash unsupported" for old versions missing new MSP commands --- js/msp.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/js/msp.js b/js/msp.js index 2f09c20e25..1fea8bb3e8 100644 --- a/js/msp.js +++ b/js/msp.js @@ -675,10 +675,18 @@ var MSP = { console.log('Led strip config saved'); break; case MSP_codes.MSP_DATAFLASH_SUMMARY: - DATAFLASH.ready = (data.getUint8(0) & 1) != 0; - DATAFLASH.sectors = data.getUint32(1, 1); - DATAFLASH.totalSize = data.getUint32(5, 1); - DATAFLASH.usedSize = data.getUint32(9, 1); + if (data.byteLength >= 13) { + DATAFLASH.ready = (data.getUint8(0) & 1) != 0; + DATAFLASH.sectors = data.getUint32(1, 1); + DATAFLASH.totalSize = data.getUint32(5, 1); + DATAFLASH.usedSize = data.getUint32(9, 1); + } else { + // Firmware version too old to support MSP_DATAFLASH_SUMMARY + DATAFLASH.ready = false; + DATAFLASH.sectors = 0; + DATAFLASH.totalSize = 0; + DATAFLASH.usedSize = 0; + } break; case MSP_codes.MSP_DATAFLASH_READ: // No-op, let callback handle it