@@ -704,14 +704,19 @@ export function read_serial(info) {
704704 }
705705}
706706
707- async function update_live_status ( ) {
707+ export async function update_sensor_status ( ) {
708708 const statuswrapper = $ ( '#quad-status_wrapper' ) ;
709709
710- if ( GUI . active_tab !== 'cli' && GUI . active_tab !== 'presets' ) {
711- await MSP . promise ( MSPCodes . MSP_ANALOG ) ;
712- await MSP . promise ( MSPCodes . MSP_BATTERY_STATE ) ;
710+ await MSP . promise ( MSPCodes . MSP_ANALOG ) ;
711+ await MSP . promise ( MSPCodes . MSP_BATTERY_STATE ) ;
712+
713+ if ( FC . ANALOG !== undefined ) {
714+ let nbCells = Math . floor ( FC . ANALOG . voltage / FC . BATTERY_CONFIG . vbatmaxcellvoltage ) + 1 ;
715+
716+ if ( FC . ANALOG . voltage == 0 ) {
717+ nbCells = 1 ;
718+ }
713719
714- const nbCells = FC . ANALOG . voltage === 0 || FC . BATTERY_STATE . cellCount === 0 ? 1 : FC . BATTERY_STATE . cellCount ;
715720 const min = FC . BATTERY_CONFIG . vbatmincellvoltage * nbCells ;
716721 const max = FC . BATTERY_CONFIG . vbatmaxcellvoltage * nbCells ;
717722 const warn = FC . BATTERY_CONFIG . vbatwarningcellvoltage * nbCells ;
@@ -729,29 +734,36 @@ async function update_live_status() {
729734 $ ( ".battery-status" ) . addClass ( 'state-ok' ) . removeClass ( 'state-warning' ) . removeClass ( 'state-empty' ) ;
730735 }
731736 }
737+ }
732738
733- await MSP . promise ( MSPCodes . MSP_BOXNAMES ) ;
734- await MSP . promise ( MSPCodes . MSP_STATUS_EX ) ;
739+ await MSP . promise ( MSPCodes . MSP_BOXNAMES ) ;
740+ await MSP . promise ( MSPCodes . MSP_STATUS_EX ) ;
735741
736- const active = ( performance . now ( ) - FC . ANALOG . last_received_timestamp ) < 300 ;
737- $ ( ".linkicon" ) . toggleClass ( 'active' , active ) ;
742+ const active = ( performance . now ( ) - FC . ANALOG . last_received_timestamp ) < 300 ;
743+ $ ( ".linkicon" ) . toggleClass ( 'active' , active ) ;
738744
739- for ( let i = 0 ; i < FC . AUX_CONFIG . length ; i ++ ) {
740- if ( FC . AUX_CONFIG [ i ] === 'ARM' ) {
741- $ ( ".armedicon" ) . toggleClass ( 'active' , bit_check ( FC . CONFIG . mode , i ) ) ;
742- }
743- if ( FC . AUX_CONFIG [ i ] === 'FAILSAFE' ) {
744- $ ( ".failsafeicon" ) . toggleClass ( 'active' , bit_check ( FC . CONFIG . mode , i ) ) ;
745- }
745+ for ( let i = 0 ; i < FC . AUX_CONFIG . length ; i ++ ) {
746+ if ( FC . AUX_CONFIG [ i ] === 'ARM' ) {
747+ $ ( ".armedicon" ) . toggleClass ( 'active' , bit_check ( FC . CONFIG . mode , i ) ) ;
746748 }
747-
748- if ( have_sensor ( FC . CONFIG . activeSensors , 'gps' ) ) {
749- await MSP . promise ( MSPCodes . MSP_RAW_GPS ) ;
749+ if ( FC . AUX_CONFIG [ i ] === 'FAILSAFE' ) {
750+ $ ( ".failsafeicon" ) . toggleClass ( 'active' , bit_check ( FC . CONFIG . mode , i ) ) ;
750751 }
752+ }
753+
754+ if ( have_sensor ( FC . CONFIG . activeSensors , 'gps' ) ) {
755+ await MSP . promise ( MSPCodes . MSP_RAW_GPS ) ;
756+ }
751757
752- sensor_status ( FC . CONFIG . activeSensors , FC . GPS_DATA . fix ) ;
758+ sensor_status ( FC . CONFIG . activeSensors , FC . GPS_DATA . fix ) ;
753759
754- statuswrapper . show ( ) ;
760+ statuswrapper . show ( ) ;
761+ }
762+
763+ async function update_live_status ( ) {
764+ // cli or presets tab do not use MSP connection
765+ if ( GUI . active_tab !== 'cli' && GUI . active_tab !== 'presets' ) {
766+ await update_sensor_status ( ) ;
755767 }
756768}
757769
@@ -792,7 +804,7 @@ export function reinitializeConnection(callback) {
792804 gui_log ( i18n . getMessage ( 'deviceReady' ) ) ;
793805 } , 2000 ) ;
794806
795- if ( callback ) {
807+ if ( callback && typeof callback === 'function' ) {
796808 callback ( ) ;
797809 }
798810}
0 commit comments