@@ -66,7 +66,7 @@ Public Class WinNUT
6666 Private Event UpdateBatteryState( ByVal Reason As String )
6767
6868 'Handle sleep/hibernate mode from windows API
69- Declare Function SetSuspendState Lib "PowrProf" ( ByVal Hibernate As Integer , ByVal ForceCritical As Integer , ByVal DisableWakeEvent As Integer ) As Integer
69+ Declare Function SetSuspendState Lib "PowrProf" ( ByVal Hibernate As Integer , ByVal ForceCritical As Integer , ByVal DisableWakeEvent As Integer ) As Integer
7070
7171 Public Property UpdateMethod() As String
7272 Get
@@ -661,38 +661,44 @@ Public Class WinNUT
661661 ' End If
662662
663663 Select Case Me .UPS_BattCh
664- Case 76 To 100
665- Lbl_VBL.BackColor = Color.White
666- ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_100
667- LogFile.LogTracing( "Battery Charged" , LogLvl.LOG_DEBUG, Me )
668- Case 51 To 75
669- Lbl_VBL.BackColor = Color.White
670- ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_75
671- LogFile.LogTracing( "Battery Charged" , LogLvl.LOG_DEBUG, Me )
672- Case 40 To 50
673- Lbl_VBL.BackColor = Color.White
674- ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_50
675- LogFile.LogTracing( "Battery Charged" , LogLvl.LOG_DEBUG, Me )
676- Case 26 To 39
677- Lbl_VBL.BackColor = Color.Red
678- ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_50
679- LogFile.LogTracing( "Low Battery" , LogLvl.LOG_DEBUG, Me )
680- Case 11 To 25
681- Lbl_VBL.BackColor = Color.Red
682- ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_25
683- LogFile.LogTracing( "Low Battery" , LogLvl.LOG_DEBUG, Me )
684- Case 0 To 10
685- Lbl_VBL.BackColor = Color.Red
686- ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_0
687- LogFile.LogTracing( "Low Battery" , LogLvl.LOG_DEBUG, Me )
688- End Select
689-
690- Dim iSpan As TimeSpan = TimeSpan.FromSeconds( Me .UPS_BattRuntime)
691-
664+ Case 76 To 100
665+ Lbl_VBL.BackColor = Color.White
666+ ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_100
667+ LogFile.LogTracing( "Battery Charged" , LogLvl.LOG_DEBUG, Me )
668+ Case 51 To 75
669+ Lbl_VBL.BackColor = Color.White
670+ ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_75
671+ LogFile.LogTracing( "Battery Charged" , LogLvl.LOG_DEBUG, Me )
672+ Case 40 To 50
673+ Lbl_VBL.BackColor = Color.White
674+ ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_50
675+ LogFile.LogTracing( "Battery Charged" , LogLvl.LOG_DEBUG, Me )
676+ Case 26 To 39
677+ Lbl_VBL.BackColor = Color.Red
678+ ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_50
679+ LogFile.LogTracing( "Low Battery" , LogLvl.LOG_DEBUG, Me )
680+ Case 11 To 25
681+ Lbl_VBL.BackColor = Color.Red
682+ ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_25
683+ LogFile.LogTracing( "Low Battery" , LogLvl.LOG_DEBUG, Me )
684+ Case 0 To 10
685+ Lbl_VBL.BackColor = Color.Red
686+ ActualAppIconIdx = ActualAppIconIdx Or AppIconIdx.IDX_BATT_0
687+ LogFile.LogTracing( "Low Battery" , LogLvl.LOG_DEBUG, Me )
688+ End Select
689+
690+ ' Calculate and display estimated remaining time on battery.
691+ Dim iSpan As TimeSpan = TimeSpan.FromSeconds( Me .UPS_BattRuntime)
692+ LogFile.LogTracing( "Calculated estimated remaining battery time: " & iSpan.ToString(), LogLvl.LOG_DEBUG, Me )
693+
694+ ' Format the TimeSpan using a standard format (g = 0:00:00)
695+ ' https://docs.microsoft.com/en-us/dotnet/api/system.timespan.tostring
696+ Lbl_VRTime.Text = iSpan.ToString( "g" )
692697 'Lbl_VRTime.Text = iSpan.Hours.ToString.PadLeft(2, "0"c) & ":" &
693698 'iSpan.Minutes.ToString.PadLeft(2, "0"c) & ":" &
694699 'iSpan.Seconds.ToString.PadLeft(2, "0"c)
695700 'End If
701+
696702 LogFile.LogTracing( "Update Dial" , LogLvl.LOG_DEBUG, Me )
697703 AG_InV.Value1 = Me .UPS_InputV
698704 AG_InF.Value1 = Me .UPS_InputF
0 commit comments