@@ -298,11 +298,15 @@ function onDisconnect(context, caller, handler) {
298298}
299299
300300MetaWear . prototype . updateFirmwareToRev = function ( rev , callback ) {
301+ this . updateFirmwareToRevAndFlavor ( rev , 'vanilla' , callback ) ;
302+ }
303+
304+ MetaWear . prototype . updateFirmwareToRevAndFlavor = function ( rev , flavor , callback ) {
301305 var sanitaizedCallback = ( typeof callback === 'function' ) ? callback : function ( ) { } ;
302306 // Helper block to do the update
303307 var doUpdate = function ( ) {
304308 debug ( 'updating...' ) ;
305- findAndPerformDfu . call ( this , rev , function ( error ) {
309+ findAndPerformDfu . call ( this , rev , flavor , function ( error ) {
306310 debug ( 'metaboot updateFirmware: ' + error ) ;
307311 sanitaizedCallback ( error ) ;
308312 } ) ;
@@ -317,7 +321,8 @@ MetaWear.prototype.updateFirmwareToRev = function (rev, callback) {
317321 sanitaizedCallback ( error ) ;
318322 return ;
319323 }
320- if ( firmwareRev === rev ) {
324+ var currentFlavor = MetaWear . mbl_mw_settings_get_firware_build_id ( this . board ) . toString ( ) ;
325+ if ( ( firmwareRev === rev ) && ( currentFlavor === flavor ) ) {
321326 sanitaizedCallback ( null ) ;
322327 return ;
323328 }
@@ -370,7 +375,7 @@ MetaWear.prototype.updateFirmwareWithUrl = function (url, callback) {
370375 } . bind ( this ) ) ;
371376} ;
372377
373- function findAndPerformDfu ( firmwareRev , callback ) {
378+ function findAndPerformDfu ( firmwareRev , flavor , callback ) {
374379 this . readModelNumber ( function ( error , modelNumber ) {
375380 if ( error ) {
376381 console . error ( error ) ;
@@ -386,12 +391,12 @@ function findAndPerformDfu(firmwareRev, callback) {
386391 }
387392 debug ( 'hardwareRev: ' + hardwareRev ) ;
388393 // Use the zip firmware if it exists
389- var url = firmwareUrl ( hardwareRev , modelNumber , firmwareRev , 'firmware.zip' ) ;
394+ var url = firmwareUrl ( hardwareRev , modelNumber , flavor , firmwareRev , 'firmware.zip' ) ;
390395 urlExists ( url , function ( err , exists ) {
391396 if ( exists ) {
392397 this . updateFirmwareWithUrl ( url , callback ) ;
393398 } else {
394- url = firmwareUrl ( hardwareRev , modelNumber , firmwareRev , 'firmware.bin' ) ;
399+ url = firmwareUrl ( hardwareRev , modelNumber , flavor , firmwareRev , 'firmware.bin' ) ;
395400 urlExists ( url , function ( err , exists ) {
396401 if ( exists ) {
397402 this . updateFirmwareWithUrl ( url , callback ) ;
@@ -405,8 +410,8 @@ function findAndPerformDfu(firmwareRev, callback) {
405410 } . bind ( this ) ) ;
406411}
407412
408- function firmwareUrl ( hardwareRev , modelNumber , firmwareRev , filename ) {
409- return "https://mbientlab.com/releases/metawear/" + hardwareRev + "/" + modelNumber + "/vanilla /" + firmwareRev + "/" + filename ;
413+ function firmwareUrl ( hardwareRev , modelNumber , flavor , firmwareRev , filename ) {
414+ return "https://mbientlab.com/releases/metawear/" + hardwareRev + "/" + modelNumber + "/" + flavor + " /" + firmwareRev + "/" + filename ;
410415}
411416
412417function download ( url , dest , cb ) {
0 commit comments