コード例 #1
0
        void UpdateStatus()
        {
            try
            {
                BatteryStates oldBatteryStates = BatteryStates.NotCharging;
                if (this.status != null)
                {
                    oldBatteryStates = this.status.charging;
                }

                RovioStatusReport report = api.Movement.GetReport();
                if (report == null)
                {
                    return;
                }

                if (oldBatteryStates != BatteryStates.Normal && report.charging == BatteryStates.Normal)
                {//如果开始在充电位置,现在活动
                    this.settings.SetBlueLight(this.settings.BlueLights, true);
                }
                //!!!注意,这里的status引用有可能本来就是report。因为report实例不重新初始化。
                this.status = report;

                if (this.StatusChanged != null)
                {
                    this.StatusChanged(this, new StatusChangedEventArgs(report));
                }
            }
            catch (Exception)
            { }
            finally
            {
                timerRefreshStatus.Start();
            }
        }
コード例 #2
0
        public void CheckChargeRate(float chargeRate)
        {
            CheckBatteryLevel(chargeRate, Constants.minChargeRate, Constants.maxChargeRate);
            BatteryStates batteryChargeRate = BatteryCondition.CheckBatteryCondition(chargeRate, Constants.minChargeRate, Constants.maxChargeRate);

            BatteryMessages.DisplayBatteryStatus("Charge Rate", batteryChargeRate);
        }
コード例 #3
0
        public void CheckStateOfCharge(float soc)
        {
            CheckBatteryLevel(soc, Constants.minStateOfCharge, Constants.maxStateOfCharge);
            BatteryStates batteryChargeState = BatteryCondition.CheckBatteryCondition(soc, Constants.minStateOfCharge, Constants.maxStateOfCharge);

            BatteryMessages.DisplayBatteryStatus("State of charge", batteryChargeState);
        }
コード例 #4
0
        public void CheckTemperature(float temperature)
        {
            CheckBatteryLevel(temperature, Constants.minTemperature, Constants.maxTemperature);
            BatteryStates batteryTemperature = BatteryCondition.CheckBatteryCondition(temperature, Constants.minTemperature, Constants.maxTemperature);

            BatteryMessages.DisplayBatteryStatus("Temperature", batteryTemperature);
        }
コード例 #5
0
        public static void CheckChargeRate(float chargeRate)
        {
            BatteryStates batteryChargeRate = CheckBatteryCondition(chargeRate, Constants.minChargeRate, Constants.maxChargeRate);

            TestBatteryStatus.DisplayBatteryCondition("Charge Rate", batteryChargeRate);
        }
コード例 #6
0
        public static void CheckTemperature(float temperature)
        {
            BatteryStates batteryTemperature = CheckBatteryCondition(temperature, Constants.minTemperature, Constants.maxTemperature);

            TestBatteryStatus.DisplayBatteryCondition("Temperature", batteryTemperature);
        }
コード例 #7
0
        public static void CheckChargeState(float soc)
        {
            BatteryStates batteryChargeState = CheckBatteryCondition(soc, Constants.minStateOfCharge, Constants.maxStateOfCharge);

            TestBatteryStatus.DisplayBatteryCondition("State of charge", batteryChargeState);
        }
 public static void DisplayBatteryStatus(string property, BatteryStates batteryLevel)
 {
     Console.WriteLine($"Battery {property} is {batteryLevel}");
 }
 public static void DisplayBatteryCondition(string attribute, BatteryStates batteryCondition)
 {
     Console.WriteLine($"Battery {attribute} is {batteryCondition}");
 }