示例#1
0
        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();
        }
示例#2
0
        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();
        }