private void SimulateBatteryDecay() { if (txtSimBatteryRuntime.Text.Equals("")) { SimulatorPopulate(); } double BattValue = Convert.ToDouble(NUT_Processor.SearchNUTData("battery.charge")); int BattRuntimeMax = Convert.ToInt32(txtSimBatteryRuntime.Text); int BattRuntimeBreakdown = (BattRuntimeMax / 100); int BattRuntime = Convert.ToInt32(NUT_Processor.SearchNUTData("battery.runtime")); // Since it would be impossible for a battery to have a negative charge, it will set the charge to 0 if ((BattValue - SimUPSDecayRate) <= 0) { Backend.Background.WriteNUTLog("[SIMULATOR] Battery decayed to empty"); NUT_Processor.ModifySimNUTData("battery.charge", "0"); NUT_Processor.ModifySimNUTData("battery.runtime", "0"); } else { Backend.Background.WriteNUTLog("[SIMULATOR] Battery decayed by " + SimUPSDecayRate + " from " + BattValue + " to " + (BattValue - SimUPSDecayRate)); NUT_Processor.ModifySimNUTData("battery.charge", Convert.ToString(BattValue - SimUPSDecayRate)); NUT_Processor.ModifySimNUTData("battery.runtime", Convert.ToString(BattRuntime - (BattRuntimeBreakdown * SimUPSDecayRate))); } // Refresh information //UPSPoll(); }
private void btnSimApply_Click(object sender, EventArgs e) { NUT_Processor.ModifySimNUTData("battery.charge", txtSimBatteryCharge.Text); NUT_Processor.ModifySimNUTData("battery.charge.low", txtSimBatteryChargeLow.Text); NUT_Processor.ModifySimNUTData("battery.charge.warning", txtSimBatteryChargeWarn.Text); NUT_Processor.ModifySimNUTData("battery.runtime", txtSimBatteryRuntime.Text); NUT_Processor.ModifySimNUTData("battery.runtime.low", txtSimBatteryRuntimeLow.Text); NUT_Processor.ModifySimNUTData("battery.voltage", txtSimBatteryVoltage.Text); NUT_Processor.ModifySimNUTData("battery.voltage.nominal", txtSimBatteryVoltageNominal.Text); NUT_Processor.ModifySimNUTData("input.voltage", txtSimInputVoltage.Text); NUT_Processor.ModifySimNUTData("input.voltage.nominal", txtSimInputVoltageNominal.Text); NUT_Processor.ModifySimNUTData("output.voltage", txtSimOutputVoltage.Text); NUT_Processor.ModifySimNUTData("ups.status", cmbSimUPSStatus.Text); SimUPSDecayRate = Convert.ToDouble(txtSimBatteryDecay.Text); IsSimulatingDecay = chkSimulate.AutoCheck; UPSPoll(); }