Skip to content

Commit 91a64ac

Browse files
committed
Moved battery monitoring code
Relocated it to a regularly-called subroutine to shutdown conditions are always being checked while on battery.
1 parent d2c7c94 commit 91a64ac

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

WinNUT_V2/WinNUT-Client/WinNUT.vb

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ Public Class WinNUT
637637
' End With
638638
'End Sub
639639

640-
Private Sub Update_UPS_Data() Handles UPS_Device.DataUpdated ' Me.Data_Updated
640+
Private Sub Update_UPS_Data() Handles UPS_Device.DataUpdated
641641
LogFile.LogTracing("Updating UPS data for Form.", LogLvl.LOG_DEBUG, Me)
642642
With UPS_Device.UPS_Datas
643643
If Lbl_VMfr.Text = "" And Lbl_VName.Text = "" And Lbl_VSerial.Text = "" And Lbl_VFirmware.Text = "" Then
@@ -669,7 +669,20 @@ Public Class WinNUT
669669
Lbl_VOL.BackColor = Color.Yellow
670670
Lbl_VOB.BackColor = Color.Green
671671
ActualAppIconIdx = 0
672+
673+
If Not ShutdownStatus Then
674+
If .Batt_Charge <= Arr_Reg_Key.Item("ShutdownLimitBatteryCharge") Or
675+
.Batt_Runtime <= Arr_Reg_Key.Item("ShutdownLimitUPSRemainTime") Then
676+
LogFile.LogTracing("UPS battery has dropped below stop condition limits.", LogLvl.LOG_NOTICE, Me, StrLog.Item(AppResxStr.STR_LOG_SHUT_START))
677+
Shutdown_Event()
678+
Else
679+
LogFile.LogTracing(String.Format("UPS charge ({0}%) or Runtime ({1}) have not met shutdown conditions {2} or {3}.",
680+
.Batt_Charge, .Batt_Runtime, Arr_Reg_Key.Item("ShutdownLimitBatteryCharge"), Arr_Reg_Key.Item("ShutdownLimitUPSRemainTime")),
681+
LogLvl.LOG_DEBUG, Me)
682+
End If
683+
End If
672684
End If
685+
673686
If .UPS_Status.HasFlag(UPS_States.OVER) Then
674687
Lbl_VOLoad.BackColor = Color.Red
675688
Else
@@ -1045,16 +1058,8 @@ Public Class WinNUT
10451058
LogFile.LogTracing("Full Shut Down imposed by the NUT server.", LogLvl.LOG_NOTICE, Me, StrLog.Item(AppResxStr.STR_LOG_NUT_FSD))
10461059
Shutdown_Event()
10471060

1048-
ElseIf newStatuses.HasFlag(UPS_States.OB) And Not ShutdownStatus Then
1049-
If .Batt_Charge <= Arr_Reg_Key.Item("ShutdownLimitBatteryCharge") Or
1050-
.Batt_Runtime <= Arr_Reg_Key.Item("ShutdownLimitUPSRemainTime") Then
1051-
LogFile.LogTracing("UPS battery has dropped below stop condition limits.", LogLvl.LOG_NOTICE, Me, WinNUT_Globals.StrLog.Item(AppResxStr.STR_LOG_SHUT_START)) Then
1052-
Shutdown_Event()
1053-
Else
1054-
LogFile.LogTracing(String.Format("UPS charge ({0}%) or Runtime ({1}) have not met shutdown conditions {2} or {3}.",
1055-
.Batt_Charge, .Batt_Runtime, Arr_Reg_Key.Item("ShutdownLimitBatteryCharge"), Arr_Reg_Key.Item("ShutdownLimitUPSRemainTime")),
1056-
LogLvl.LOG_DEBUG, Me)
1057-
End If
1061+
ElseIf newStatuses.HasFlag(UPS_States.OB) Then
1062+
LogFile.LogTracing(sender.Name & " has switched to battery power.", LogLvl.LOG_NOTICE, Me)
10581063

10591064
ElseIf newStatuses.HasFlag(UPS_States.OL) AndAlso ShutdownStatus Then
10601065
LogFile.LogTracing("UPS returned online during a pre-shutdown event.", LogLvl.LOG_NOTICE, Me)

0 commit comments

Comments
 (0)