@@ -491,7 +491,7 @@ function connectCli() {
491491 $ ( '#tabs .tab_cli a' ) . click ( ) ;
492492}
493493
494- function onConnect ( ) {
494+ async function onConnect ( ) {
495495 if ( $ ( 'div#flashbutton a.flash_state' ) . hasClass ( 'active' ) && $ ( 'div#flashbutton a.flash' ) . hasClass ( 'active' ) ) {
496496 $ ( 'div#flashbutton a.flash_state' ) . removeClass ( 'active' ) ;
497497 $ ( 'div#flashbutton a.flash' ) . removeClass ( 'active' ) ;
@@ -532,13 +532,12 @@ function onConnect() {
532532
533533 $ ( '#tabs ul.mode-connected' ) . show ( ) ;
534534
535- MSP . send_message ( MSPCodes . MSP_FEATURE_CONFIG , false , false ) ;
535+ await MSP . promise ( MSPCodes . MSP_FEATURE_CONFIG ) ;
536536 if ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_33 ) ) {
537- MSP . send_message ( MSPCodes . MSP_BATTERY_CONFIG , false , false ) ;
537+ await MSP . promise ( MSPCodes . MSP_BATTERY_CONFIG ) ;
538538 }
539- MSP . send_message ( MSPCodes . MSP_STATUS_EX , false , false ) ;
540- MSP . send_message ( MSPCodes . MSP_DATAFLASH_SUMMARY , false , false ) ;
541-
539+ await MSP . promise ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_32 ) ? MSPCodes . MSP_STATUS_EX : MSPCodes . MSP_STATUS ) ;
540+ await MSP . promise ( MSPCodes . MSP_DATAFLASH_SUMMARY ) ;
542541 if ( FC . CONFIG . boardType == 0 || FC . CONFIG . boardType == 2 ) {
543542 startLiveDataRefreshTimer ( ) ;
544543 }
@@ -686,10 +685,10 @@ function have_sensor(sensors_detected, sensor_code) {
686685
687686function startLiveDataRefreshTimer ( ) {
688687 // live data refresh
689- GUI . timeout_add ( 'data_refresh' , function ( ) { update_live_status ( ) ; } , 100 ) ;
688+ GUI . timeout_add ( 'data_refresh' , update_live_status , 100 ) ;
690689}
691690
692- function update_live_status ( ) {
691+ async function update_live_status ( ) {
693692
694693 const statuswrapper = $ ( '#quad-status_wrapper' ) ;
695694
@@ -698,75 +697,54 @@ function update_live_status() {
698697 } ) ;
699698
700699 if ( GUI . active_tab !== 'cli' && GUI . active_tab !== 'presets' ) {
701- MSP . send_message ( MSPCodes . MSP_BOXNAMES , false , false ) ;
702- if ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_32 ) ) {
703- MSP . send_message ( MSPCodes . MSP_STATUS_EX , false , false ) ;
704- } else {
705- MSP . send_message ( MSPCodes . MSP_STATUS , false , false ) ;
706- }
707- MSP . send_message ( MSPCodes . MSP_ANALOG , false , false ) ;
708- }
700+ await MSP . promise ( MSPCodes . MSP_BOXNAMES ) ;
701+ await MSP . promise ( semver . gte ( FC . CONFIG . apiVersion , API_VERSION_1_32 ) ? MSPCodes . MSP_STATUS_EX : MSPCodes . MSP_STATUS ) ;
702+ await MSP . promise ( MSPCodes . MSP_ANALOG ) ;
709703
710- const active = ( ( Date . now ( ) - FC . ANALOG . last_received_timestamp ) < 300 ) ;
704+ const active = ( ( Date . now ( ) - FC . ANALOG . last_received_timestamp ) < 300 ) ;
711705
712- for ( let i = 0 ; i < FC . AUX_CONFIG . length ; i ++ ) {
713- if ( FC . AUX_CONFIG [ i ] === 'ARM' ) {
714- if ( bit_check ( FC . CONFIG . mode , i ) ) {
715- $ ( ".armedicon" ) . addClass ( 'active' ) ;
716- } else {
717- $ ( ".armedicon" ) . removeClass ( 'active' ) ;
706+ for ( let i = 0 ; i < FC . AUX_CONFIG . length ; i ++ ) {
707+ if ( FC . AUX_CONFIG [ i ] === 'ARM' ) {
708+ $ ( ".armedicon" ) . toggleClass ( 'active' , bit_check ( FC . CONFIG . mode , i ) ) ;
718709 }
719- }
720- if ( FC . AUX_CONFIG [ i ] === 'FAILSAFE' ) {
721- if ( bit_check ( FC . CONFIG . mode , i ) ) {
722- $ ( ".failsafeicon" ) . addClass ( 'active' ) ;
723- } else {
724- $ ( ".failsafeicon" ) . removeClass ( 'active' ) ;
710+ if ( FC . AUX_CONFIG [ i ] === 'FAILSAFE' ) {
711+ $ ( ".failsafeicon" ) . toggleClass ( 'active' , bit_check ( FC . CONFIG . mode , i ) ) ;
725712 }
726713 }
727- }
728714
729- if ( FC . ANALOG != undefined ) {
730- let nbCells = Math . floor ( FC . ANALOG . voltage / FC . BATTERY_CONFIG . vbatmaxcellvoltage ) + 1 ;
715+ if ( FC . ANALOG != undefined ) {
716+ let nbCells = Math . floor ( FC . ANALOG . voltage / FC . BATTERY_CONFIG . vbatmaxcellvoltage ) + 1 ;
731717
732- if ( FC . ANALOG . voltage == 0 ) {
733- nbCells = 1 ;
734- }
718+ if ( FC . ANALOG . voltage == 0 ) {
719+ nbCells = 1 ;
720+ }
735721
736- const min = FC . BATTERY_CONFIG . vbatmincellvoltage * nbCells ;
737- const max = FC . BATTERY_CONFIG . vbatmaxcellvoltage * nbCells ;
738- const warn = FC . BATTERY_CONFIG . vbatwarningcellvoltage * nbCells ;
739-
740- 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
741-
742- if ( FC . ANALOG . voltage < min && FC . ANALOG . voltage > NO_BATTERY_VOLTAGE_MAXIMUM ) {
743- $ ( ".battery-status" ) . addClass ( 'state-empty' ) . removeClass ( 'state-ok' ) . removeClass ( 'state-warning' ) ;
744- $ ( ".battery-status" ) . css ( {
745- width : "100%" ,
746- } ) ;
747- } else {
748- $ ( ".battery-status" ) . css ( {
749- width : `${ ( ( FC . ANALOG . voltage - min ) / ( max - min ) * 100 ) } %` ,
750- } ) ;
751-
752- if ( FC . ANALOG . voltage < warn ) {
753- $ ( ".battery-status" ) . addClass ( 'state-warning' ) . removeClass ( 'state-empty' ) . removeClass ( 'state-ok' ) ;
754- } else {
755- $ ( ".battery-status" ) . addClass ( 'state-ok' ) . removeClass ( 'state-warning' ) . removeClass ( 'state-empty' ) ;
756- }
757- }
722+ const min = FC . BATTERY_CONFIG . vbatmincellvoltage * nbCells ;
723+ const max = FC . BATTERY_CONFIG . vbatmaxcellvoltage * nbCells ;
724+ const warn = FC . BATTERY_CONFIG . vbatwarningcellvoltage * nbCells ;
758725
759- }
726+ 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
760727
761- if ( active ) {
762- $ ( ".linkicon " ) . addClass ( 'active ' ) ;
763- } else {
764- $ ( ".linkicon" ) . removeClass ( 'active' ) ;
765- }
728+ if ( FC . ANALOG . voltage < min && FC . ANALOG . voltage > NO_BATTERY_VOLTAGE_MAXIMUM ) {
729+ $ ( ".battery-status " ) . addClass ( 'state-empty' ) . removeClass ( 'state-ok' ) . removeClass ( 'state-warning ') ;
730+ $ ( ".battery-status" ) . css ( { width : "100%" } ) ;
731+ } else {
732+ $ ( ".battery-status" ) . css ( { width : ` ${ ( ( FC . ANALOG . voltage - min ) / ( max - min ) * 100 ) } %` } ) ;
766733
767- statuswrapper . show ( ) ;
768- GUI . timeout_remove ( 'data_refresh' ) ;
769- startLiveDataRefreshTimer ( ) ;
734+ if ( FC . ANALOG . voltage < warn ) {
735+ $ ( ".battery-status" ) . addClass ( 'state-warning' ) . removeClass ( 'state-empty' ) . removeClass ( 'state-ok' ) ;
736+ } else {
737+ $ ( ".battery-status" ) . addClass ( 'state-ok' ) . removeClass ( 'state-warning' ) . removeClass ( 'state-empty' ) ;
738+ }
739+ }
740+ }
741+
742+ $ ( ".linkicon" ) . toggleClass ( 'active' , active ) ;
743+
744+ statuswrapper . show ( ) ;
745+ GUI . timeout_remove ( 'data_refresh' ) ;
746+ startLiveDataRefreshTimer ( ) ;
747+ }
770748}
771749
772750function specificByte ( num , pos ) {
@@ -846,15 +824,14 @@ function reinitializeConnection(originatorTab, callback) {
846824 let attempts = 0 ;
847825 const reconnect = setInterval ( waitforSerial , 100 ) ;
848826
849- function waitforSerial ( ) {
827+ async function waitforSerial ( ) {
850828 if ( connectionTimestamp !== previousTimeStamp && CONFIGURATOR . connectionValid ) {
851829 console . log ( `Serial connection available after ${ attempts / 10 } seconds` ) ;
852830 clearInterval ( reconnect ) ;
853- MSP . promise ( MSPCodes . MSP_STATUS ) . then ( ( ) => {
854- GUI . log ( i18n . getMessage ( 'deviceReady' ) ) ;
855- originatorTab . initialize ( false , $ ( '#content' ) . scrollTop ( ) ) ;
856- callback ?. ( ) ;
857- } ) ;
831+ await MSP . promise ( MSPCodes . MSP_STATUS ) ;
832+ GUI . log ( i18n . getMessage ( 'deviceReady' ) ) ;
833+ originatorTab . initialize ( false , $ ( '#content' ) . scrollTop ( ) ) ;
834+ callback ?. ( ) ;
858835 } else {
859836 attempts ++ ;
860837 if ( attempts > 100 ) {
0 commit comments