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(); } }
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); }
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); }
public void CheckTemperature(float temperature) { CheckBatteryLevel(temperature, Constants.minTemperature, Constants.maxTemperature); BatteryStates batteryTemperature = BatteryCondition.CheckBatteryCondition(temperature, Constants.minTemperature, Constants.maxTemperature); BatteryMessages.DisplayBatteryStatus("Temperature", batteryTemperature); }
public static void CheckChargeRate(float chargeRate) { BatteryStates batteryChargeRate = CheckBatteryCondition(chargeRate, Constants.minChargeRate, Constants.maxChargeRate); TestBatteryStatus.DisplayBatteryCondition("Charge Rate", batteryChargeRate); }
public static void CheckTemperature(float temperature) { BatteryStates batteryTemperature = CheckBatteryCondition(temperature, Constants.minTemperature, Constants.maxTemperature); TestBatteryStatus.DisplayBatteryCondition("Temperature", batteryTemperature); }
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}"); }