@@ -531,16 +531,16 @@ function onConnect() {
531
531
532
532
$ ( '#tabs ul.mode-connected' ) . show ( ) ;
533
533
534
- MSP . send_message ( MSPCodes . MSP_FEATURE_CONFIG , false , false ) ;
535
- if ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_33 ) ) {
536
- MSP . send_message ( MSPCodes . MSP_BATTERY_CONFIG , false , false ) ;
537
- }
538
- MSP . send_message ( MSPCodes . MSP_STATUS_EX , false , false ) ;
539
- MSP . send_message ( MSPCodes . MSP_DATAFLASH_SUMMARY , false , false ) ;
540
-
541
- if ( FC . CONFIG . boardType == 0 || FC . CONFIG . boardType == 2 ) {
542
- startLiveDataRefreshTimer ( ) ;
543
- }
534
+ Promise . resolve ( true )
535
+ . then ( ( ) => MSP . promise ( MSPCodes . MSP_FEATURE_CONFIG ) )
536
+ . then ( ( ) => semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_33 ) ? MSP . promise ( MSPCodes . MSP_BATTERY_CONFIG ) : true )
537
+ . then ( ( ) => MSP . promise ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_32 ) ? MSPCodes . MSP_STATUS_EX : MSPCodes . MSP_STATUS ) )
538
+ . then ( ( ) => MSP . promise ( MSPCodes . MSP_DATAFLASH_SUMMARY ) )
539
+ . then ( ( ) => {
540
+ if ( FC . CONFIG . boardType == 0 || FC . CONFIG . boardType == 2 ) {
541
+ startLiveDataRefreshTimer ( ) ;
542
+ }
543
+ } ) ;
544
544
}
545
545
546
546
const sensorState = $ ( '#sensor-status' ) ;
@@ -685,7 +685,7 @@ function have_sensor(sensors_detected, sensor_code) {
685
685
686
686
function startLiveDataRefreshTimer ( ) {
687
687
// live data refresh
688
- GUI . timeout_add ( 'data_refresh' , function ( ) { update_live_status ( ) ; } , 100 ) ;
688
+ GUI . timeout_add ( 'data_refresh' , update_live_status , 100 ) ;
689
689
}
690
690
691
691
function update_live_status ( ) {
@@ -697,75 +697,72 @@ function update_live_status() {
697
697
} ) ;
698
698
699
699
if ( GUI . active_tab !== 'cli' && GUI . active_tab !== 'presets' ) {
700
- MSP . send_message ( MSPCodes . MSP_BOXNAMES , false , false ) ;
701
- if ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_32 ) ) {
702
- MSP . send_message ( MSPCodes . MSP_STATUS_EX , false , false ) ;
703
- } else {
704
- MSP . send_message ( MSPCodes . MSP_STATUS , false , false ) ;
705
- }
706
- MSP . send_message ( MSPCodes . MSP_ANALOG , false , false ) ;
707
- }
708
-
709
- const active = ( ( Date . now ( ) - FC . ANALOG . last_received_timestamp ) < 300 ) ;
710
-
711
- for ( let i = 0 ; i < FC . AUX_CONFIG . length ; i ++ ) {
712
- if ( FC . AUX_CONFIG [ i ] === 'ARM' ) {
713
- if ( bit_check ( FC . CONFIG . mode , i ) ) {
714
- $ ( ".armedicon" ) . addClass ( 'active' ) ;
715
- } else {
716
- $ ( ".armedicon" ) . removeClass ( 'active' ) ;
717
- }
718
- }
719
- if ( FC . AUX_CONFIG [ i ] === 'FAILSAFE' ) {
720
- if ( bit_check ( FC . CONFIG . mode , i ) ) {
721
- $ ( ".failsafeicon" ) . addClass ( 'active' ) ;
722
- } else {
723
- $ ( ".failsafeicon" ) . removeClass ( 'active' ) ;
700
+ Promise . resolve ( true )
701
+ . then ( ( ) => MSP . promise ( MSPCodes . MSP_BOXNAMES ) )
702
+ . then ( ( ) => MSP . promise ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_32 ) ? MSPCodes . MSP_STATUS_EX : MSPCodes . MSP_STATUS ) )
703
+ . then ( ( ) => MSP . promise ( MSPCodes . MSP_ANALOG ) )
704
+ . then ( ( ) => {
705
+ const active = ( ( Date . now ( ) - FC . ANALOG . last_received_timestamp ) < 300 ) ;
706
+
707
+ for ( let i = 0 ; i < FC . AUX_CONFIG . length ; i ++ ) {
708
+ if ( FC . AUX_CONFIG [ i ] === 'ARM' ) {
709
+ if ( bit_check ( FC . CONFIG . mode , i ) ) {
710
+ $ ( ".armedicon" ) . addClass ( 'active' ) ;
711
+ } else {
712
+ $ ( ".armedicon" ) . removeClass ( 'active' ) ;
713
+ }
714
+ }
715
+ if ( FC . AUX_CONFIG [ i ] === 'FAILSAFE' ) {
716
+ if ( bit_check ( FC . CONFIG . mode , i ) ) {
717
+ $ ( ".failsafeicon" ) . addClass ( 'active' ) ;
718
+ } else {
719
+ $ ( ".failsafeicon" ) . removeClass ( 'active' ) ;
720
+ }
721
+ }
724
722
}
725
- }
726
- }
727
723
728
- if ( FC . ANALOG != undefined ) {
729
- let nbCells = Math . floor ( FC . ANALOG . voltage / FC . BATTERY_CONFIG . vbatmaxcellvoltage ) + 1 ;
724
+ if ( FC . ANALOG != undefined ) {
725
+ let nbCells = Math . floor ( FC . ANALOG . voltage / FC . BATTERY_CONFIG . vbatmaxcellvoltage ) + 1 ;
730
726
731
- if ( FC . ANALOG . voltage == 0 ) {
732
- nbCells = 1 ;
733
- }
727
+ if ( FC . ANALOG . voltage == 0 ) {
728
+ nbCells = 1 ;
729
+ }
734
730
735
- const min = FC . BATTERY_CONFIG . vbatmincellvoltage * nbCells ;
736
- const max = FC . BATTERY_CONFIG . vbatmaxcellvoltage * nbCells ;
737
- const warn = FC . BATTERY_CONFIG . vbatwarningcellvoltage * nbCells ;
738
-
739
- const NO_BATTERY_VOLTAGE_MAXIMUM = 1.8 ; // Maybe is better to add a call to MSP_BATTERY_STATE but is not available for all versions
740
-
741
- if ( FC . ANALOG . voltage < min && FC . ANALOG . voltage > NO_BATTERY_VOLTAGE_MAXIMUM ) {
742
- $ ( ".battery-status" ) . addClass ( 'state-empty' ) . removeClass ( 'state-ok' ) . removeClass ( 'state-warning' ) ;
743
- $ ( ".battery-status" ) . css ( {
744
- width : "100%" ,
745
- } ) ;
746
- } else {
747
- $ ( ".battery-status" ) . css ( {
748
- width : `${ ( ( FC . ANALOG . voltage - min ) / ( max - min ) * 100 ) } %` ,
749
- } ) ;
750
-
751
- if ( FC . ANALOG . voltage < warn ) {
752
- $ ( ".battery-status" ) . addClass ( 'state-warning' ) . removeClass ( 'state-empty' ) . removeClass ( 'state-ok' ) ;
753
- } else {
754
- $ ( ".battery-status" ) . addClass ( 'state-ok' ) . removeClass ( 'state-warning' ) . removeClass ( 'state-empty' ) ;
755
- }
756
- }
731
+ const min = FC . BATTERY_CONFIG . vbatmincellvoltage * nbCells ;
732
+ const max = FC . BATTERY_CONFIG . vbatmaxcellvoltage * nbCells ;
733
+ const warn = FC . BATTERY_CONFIG . vbatwarningcellvoltage * nbCells ;
734
+
735
+ const NO_BATTERY_VOLTAGE_MAXIMUM = 1.8 ; // Maybe is better to add a call to MSP_BATTERY_STATE but is not available for all versions
736
+
737
+ if ( FC . ANALOG . voltage < min && FC . ANALOG . voltage > NO_BATTERY_VOLTAGE_MAXIMUM ) {
738
+ $ ( ".battery-status" ) . addClass ( 'state-empty' ) . removeClass ( 'state-ok' ) . removeClass ( 'state-warning' ) ;
739
+ $ ( ".battery-status" ) . css ( {
740
+ width : "100%" ,
741
+ } ) ;
742
+ } else {
743
+ $ ( ".battery-status" ) . css ( {
744
+ width : `${ ( ( FC . ANALOG . voltage - min ) / ( max - min ) * 100 ) } %` ,
745
+ } ) ;
746
+
747
+ if ( FC . ANALOG . voltage < warn ) {
748
+ $ ( ".battery-status" ) . addClass ( 'state-warning' ) . removeClass ( 'state-empty' ) . removeClass ( 'state-ok' ) ;
749
+ } else {
750
+ $ ( ".battery-status" ) . addClass ( 'state-ok' ) . removeClass ( 'state-warning' ) . removeClass ( 'state-empty' ) ;
751
+ }
752
+ }
753
+ }
757
754
758
- }
755
+ if ( active ) {
756
+ $ ( ".linkicon" ) . addClass ( 'active' ) ;
757
+ } else {
758
+ $ ( ".linkicon" ) . removeClass ( 'active' ) ;
759
+ }
759
760
760
- if ( active ) {
761
- $ ( ".linkicon" ) . addClass ( 'active ') ;
762
- } else {
763
- $ ( ".linkicon" ) . removeClass ( 'active' ) ;
761
+ statuswrapper . show ( ) ;
762
+ GUI . timeout_remove ( 'data_refresh ') ;
763
+ startLiveDataRefreshTimer ( ) ;
764
+ } ) ;
764
765
}
765
-
766
- statuswrapper . show ( ) ;
767
- GUI . timeout_remove ( 'data_refresh' ) ;
768
- startLiveDataRefreshTimer ( ) ;
769
766
}
770
767
771
768
function specificByte ( num , pos ) {
0 commit comments