Ejemplo n.º 1
0
        // Get the current property values from PowerManager.
        // This method is called on startup.
        private void GetPowerSettings()
        {
            settings.PowerPersonality = PowerManager.PowerPersonality.ToString();
            settings.PowerSource      = PowerManager.PowerSource.ToString();
            settings.BatteryPresent   = PowerManager.IsBatteryPresent;
            settings.UpsPresent       = PowerManager.IsUpsPresent;
            settings.MonitorOn        = PowerManager.IsMonitorOn;
            settings.MonitorRequired  = PowerManager.MonitorRequired;

            if (PowerManager.IsBatteryPresent)
            {
                settings.BatteryShortTerm   = PowerManager.IsBatteryShortTerm;
                settings.BatteryLifePercent = PowerManager.BatteryLifePercent;

                BatteryState batteryState = PowerManager.GetCurrentBatteryState();

                string batteryStateStr = string.Format(
                    "ACOnline: {1}{0}Max Charge: {2} mWh{0}Current Charge: {3} mWh{0}Charge Rate: {4} {0}Estimated Time Remaining: {5}{0}Suggested Critical Battery Charge: {6} mWh{0}Suggested Battery Warning Charge: {7} mWh{0}",
                    Environment.NewLine,
                    batteryState.ACOnline,
                    batteryState.MaxCharge,
                    batteryState.CurrentCharge,
                    batteryState.ACOnline == true ? "N/A" : batteryState.ChargeRate.ToString() + " mWh",
                    batteryState.ACOnline == true ? "N/A" : batteryState.EstimatedTimeRemaining.ToString(),
                    batteryState.SuggestedCriticalBatteryCharge,
                    batteryState.SuggestedBatteryWarningCharge
                    );

                settings.BatteryState = batteryStateStr;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Getting total battery state as BatteryState Model
        /// </summary>
        /// <returns></returns>
        public async Task <BatteryState> GetCurrentBatteryState()
        {
            BatteryState batteryState = new BatteryState();

            try
            {
                Debug.WriteLine("Getting current battery state");
                GattReadResult gattReadResult = await ReadCurrentCharacteristic();

                if (gattReadResult.Status == GattCommunicationStatus.Success)
                {
                    var      batteryData      = gattReadResult.Value.ToArray();
                    DateTime lastChargingDate = Convert.ToDateTime($"{batteryData[14]}/{batteryData[13]}/{DateTime.Now.Year} {batteryData[15]}:{batteryData[16]}:{batteryData[17]}");

                    batteryState.ChargeLevel = batteryData[1];
                    batteryState.IsCharging  = (batteryData[2] == CHARGING) ? true : false;
                    batteryState.LastCharge  = lastChargingDate;
                    batteryState.Cycles      = batteryData[18];
                }
            }
            catch (NullReferenceException)
            {
                batteryState.ChargeLevel = 0;
                batteryState.IsCharging  = false;
                batteryState.LastCharge  = Convert.ToDateTime("0:00");
                batteryState.Cycles      = 0;
            }

            return(batteryState);
        }
Ejemplo n.º 3
0
 private static void PrintBatteryState(BatteryState state)
 {
     Console.WriteLine(state.ChargingState);
     Console.WriteLine(state.Capacity);
     Console.WriteLine(state.TimeRemaining);
     Console.WriteLine(state.Wattage);
 }
Ejemplo n.º 4
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            BatteryState batarya = new BatteryState();

            batarya.Percent = SystemInformation.PowerStatus.BatteryLifePercent * 100;
            label1.Text     = "Charge : % " + batarya.Percent.ToString();
            if (batarya.Percent < 25)
            {
                this.BackColor = Color.FromArgb(200, 0, 0);
            }
            else if (batarya.Percent < 50)
            {
                this.BackColor = Color.FromArgb(230, 130, 0);
            }
            else if (batarya.Percent < 75)
            {
                this.BackColor = Color.FromArgb(75, 150, 0);
            }
            else if (batarya.Percent < 100)
            {
                this.BackColor = Color.FromArgb(0, 255, 0);
            }
            ramYuzde = ram_kullanimi.NextValue();

            label_ram.Text = "Ram : % " + ramYuzde.ToString("N2");

            cpuYuzde = islemci_kullanimi.NextValue();

            label_islemci.Text = "CPU : % " + cpuYuzde.ToString("N2");
        }
Ejemplo n.º 5
0
        public async Task <bool> Vector(string message)
        {
            try
            {
                Robot robot = new Robot();
                await robot.GrantApiAccessAsync(Settings.Vector_Name, Settings.Vector_IP, Settings.Vector_Serial, Settings.Vector_Username, Settings.Vector_Password);

                await robot.ConnectAsync(Settings.Vector_Name);

                BatteryState x = await robot.GetBatteryStateAsync();

                //await robot.World.AddWallMarkerAsync("My Marker", ObjectMarker.Circles2, true, 30, 30, 30, 30); //register a 30mm custom marker
                //robot.EventListeningAsync().ThrowFeedException(); //start listening for recognized markers

                //robot.World.OnObjectObserved += (sender, e) =>
                //{
                //    if (e.Object.Name == "My Marker")
                //    {
                //        Log.Information($"Found marker", "fail");
                //    }
                //};


                //robot.Camera.OnImageReceived += (sender, e) =>
                //{
                //    Image(e.Image);
                //};
                //await robot.Camera.CameraFeedAsync();

                //robot.Camera.StopCameraFeed();

                //await robot.Screen.SetScreenImage(@"");

                //gain control over the robot by suppressing its personality
                robot.StartSuppressingPersonality();
                await robot.WaitTillPersonalitySuppressedAsync();

                //say something

                await robot.Audio.SetMasterVolumeAsync(5);

                await robot.Audio.SayTextAsync(message);

                //await robot.Animation.PlayAsync("anim_vc_laser_lookdown_01");

                robot.StopSuppressingPersonality();
                await robot.Audio.SetMasterVolumeAsync(1);

                await robot.DisconnectAsync();

                Log.Logger.Information("Vector should of spoke the the text!");
                return(true);
            }
            catch (Exception e)
            {
                Log.Information($"Connecting to Vector failed! {e.Message}", "fail");

                return(false);
            }
        }
Ejemplo n.º 6
0
        private void displayBatteryPower(BatteryState batteryState)
        {
            Image batteryImage = null;

            System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly();

            switch (batteryState)
            {
                case BatteryState.AC:
                    batteryImage = Image.FromStream(myAssembly.GetManifestResourceStream("CanonCameraApp.images.batteryAC.png"));
                    break;
                case BatteryState.Empty:
                    batteryImage = Image.FromStream(myAssembly.GetManifestResourceStream("CanonCameraApp.images.batteryEmpty.png"));
                    break;
                case BatteryState.Full:
                    batteryImage = Image.FromStream(myAssembly.GetManifestResourceStream("CanonCameraApp.images.batteryFull.png"));
                    break;
                case BatteryState.Half:
                    batteryImage = Image.FromStream(myAssembly.GetManifestResourceStream("CanonCameraApp.images.batteryHalf.png"));
                    break;
                case BatteryState.Low:
                    batteryImage = Image.FromStream(myAssembly.GetManifestResourceStream("CanonCameraApp.images.batteryLow.png"));
                    break;
            }

            pbBattery.Image = batteryImage;
        }
Ejemplo n.º 7
0
        public void DischargeRateIsNegativeIfNotPluggedIn()
        {
            BatteryState s = PowerManager.GetCurrentBatteryState();

            if (!s.ACOnline)
            {
                Assert.True(s.ChargeRate < 0);
            }
        }
Ejemplo n.º 8
0
        public virtual void Save(BinaryWriter outf)
        {
            BatterySwitch.Save(outf);

            outf.Write(FrontElectricTrainSupplyCableConnected);

            outf.Write(ElectricTrainSupplyState.ToString());
            outf.Write(LowVoltagePowerSupplyState.ToString());
            outf.Write(BatteryState.ToString());
        }
Ejemplo n.º 9
0
        public async Task InterpretBatteryDataAsync()
        {
            var          expected = new BatteryState(99, BitConverter.ToSingle(new byte[] { 0x6a, 0xbc, 0x84, 0x40 }, 0));
            BatteryState actual   = null;

            await settings.Battery.AddRouteAsync(source => source.Stream(data => actual = data.Value <BatteryState>()));

            platform.sendMockResponse(new byte[] { 0x11, 0x8c, 0x63, 0x34, 0x10 });

            Assert.That(actual, Is.EqualTo(expected));
        }
Ejemplo n.º 10
0
        private void btnBatarya_Click(object sender, EventArgs e)
        {
            lblBesleme.Text = PowerManager.PowerSource.ToString();

            BatteryState batteryState = PowerManager.GetCurrentBatteryState();

            progressBar1.Value   = PowerManager.BatteryLifePercent;
            lblSarjYuzde.Text    = PowerManager.BatteryLifePercent.ToString() + "%";
            lblMaksimumSarj.Text = batteryState.MaxCharge + " mWh";
            lblGecerliSarj.Text  = batteryState.CurrentCharge + " mWh";
        }
 public static string ToText(this BatteryState batteryState)
 {
     return(batteryState switch
     {
         BatteryState.Discharging => "Discharging",
         BatteryState.Charging => "Charging",
         BatteryState.NotCharging => "Not Charging",
         BatteryState.Full => "Full",
         BatteryState.Unknown => "Unknown",
         _ => "Unknown"
     });
Ejemplo n.º 12
0
        private void Form1_Load(object sender, EventArgs e)
        {
            this.TopMost = true;

            /* this.TransparencyKey = Color.Red;
             * this.BackColor = Color.Red;*/
            Timer timer = new Timer();

            timer.Interval = (10 * 100); // 1 secs
            //timer.Interval = (10 * 1000); // 10 secs
            timer.Tick += new EventHandler(timer1_Tick);
            timer.Start();

            this.ShowInTaskbar = false;

            BatteryState batarya = new BatteryState();

            batarya.Percent = SystemInformation.PowerStatus.BatteryLifePercent * 100;
            label1.Text     = "Charge : % " + batarya.Percent.ToString();

            this.StartPosition = FormStartPosition.Manual;
            this.Location      = new Point(0, 0);
            //this.Size = new Size(60, 20);
            this.Size = new Size(130, 65);
            //int pil = Convert.ToInt32((label1.Text));
            if (batarya.Percent < 25)
            {
                this.BackColor = Color.FromArgb(200, 0, 0);
            }
            else if (batarya.Percent < 50)
            {
                this.BackColor = Color.FromArgb(230, 130, 0);
            }
            else if (batarya.Percent < 75)
            {
                this.BackColor = Color.FromArgb(75, 150, 0);
            }
            else if (batarya.Percent <= 100)
            {
                //this.BackColor = Color.FromArgb(0, 255, 0);
            }
            this.BackColor  = Color.Gray;
            TransparencyKey = Color.Gray;


            ramYuzde = ram_kullanimi.NextValue();

            label_ram.Text = "Ram : % " + ramYuzde.ToString("N2");

            cpuYuzde = islemci_kullanimi.NextValue();

            label_islemci.Text = "CPU : % " + cpuYuzde.ToString("N2");
        }
Ejemplo n.º 13
0
        public override bool Equals(object obj)
        {
            BatteryState other = (obj as BatteryState);

            if (other != null)
            {
                return(string.Equals(other.Value, this.Value, System.StringComparison.CurrentCultureIgnoreCase));
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 14
0
        private void GetBatteryComplete(string result)
        {
            Debug.Log("Get Complete!!!");

            Debug.Log(result);

            BatteryState battery = JsonUtil.Deserialize <BatteryState>(result);

            bool isCharging = (battery.Charging == 1);
            int  cap        = (int)((float)battery.RemainingCapacity / (float)battery.MaximumCapacity * 100);

            panel.hololensStatusPanel.batteryStatus.SetBatteryStatus(isCharging, cap);
        }
Ejemplo n.º 15
0
        public void ConfirmBatteryState()
        {
            BatteryState s = PowerManager.GetCurrentBatteryState();

            Assert.InRange(s.CurrentCharge, 0, int.MaxValue);
            // TODO: add more tests with heuristics here (i.e. when not plugged in, est time remaining < a reasonable number, etc.)
            Assert.InRange(s.EstimatedTimeRemaining, TimeSpan.MinValue, TimeSpan.MaxValue);
            Assert.InRange(s.MaxCharge, 0, int.MaxValue);

            // The max values below are just numbers we picked.
            Assert.InRange(s.SuggestedBatteryWarningCharge, 0, 10000);
            Assert.InRange(s.SuggestedCriticalBatteryCharge, 0, 10000);
        }
Ejemplo n.º 16
0
        public void TestGetBatteryState()
        {
            // Using previously captured data
            byte[] data   = Convert.FromBase64String("EcAAhHmEfQgAYAAAOhf9/v8DAAkAuQAIIBwGAAAAAAAIAAAAAIAAAACAAAAAAIAAAACAAAAAAIAAAACAAAAAAIAAAACAAAAAAADAZYpYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==");
            bool   viaUSB = false;

            // Get battery state
            IBatteryState battery = new BatteryState(data, viaUSB);

            // Test
            Assert.IsNotNull(battery);
            Assert.AreEqual(100, battery.Level);
            Assert.AreEqual(ChargingState.Discharging, battery.ChargingState);
        }
Ejemplo n.º 17
0
            public override bool Equals(Object obj)
            {
                if (this == obj)
                {
                    return(true);
                }
                if (obj == null || GetType() != obj.GetType())
                {
                    return(false);
                }

                BatteryState battery = obj as BatteryState;

                return(battery.Charge == Charge && battery.Voltage.Equals(Voltage));
            }
Ejemplo n.º 18
0
        public virtual void Save(BinaryWriter outf)
        {
            BatterySwitch.Save(outf);

            outf.Write(FrontElectricTrainSupplyCableConnected);

            outf.Write(ElectricTrainSupplyState.ToString());
            outf.Write(LowVoltagePowerSupplyState.ToString());
            outf.Write(BatteryState.ToString());
            outf.Write(VentilationState.ToString());
            outf.Write(HeatingState.ToString());
            outf.Write(AirConditioningState.ToString());

            outf.Write(HeatFlowRateW);
        }
Ejemplo n.º 19
0
    private void UpdateGraphic(BatteryState state)
    {
        switch (state)
        {
        case BatteryState.Full:
            BatteryImage.sprite = BatteryStates[0];
            break;

        case BatteryState.Half:
            BatteryImage.sprite = BatteryStates[1];
            break;

        case BatteryState.Empty:
            BatteryImage.sprite = BatteryStates[2];
            break;
        }
    }
Ejemplo n.º 20
0
        public async Task <bool> Vector(string message)
        {
            try
            {
                Robot robot = new Robot();
                await robot.GrantApiAccessAsync(Settings.Vector_Name, Settings.Vector_IP, Settings.Vector_Serial, Settings.Vector_Username, Settings.Vector_Password);

                await robot.ConnectAsync(Settings.Vector_Name);

                BatteryState x = await robot.GetBatteryStateAsync();

                //if (!x.IsCharging)
                //{
                //    //gain control over the robot by suppressing its personality
                robot.StartSuppressingPersonality();
                await robot.WaitTillPersonalitySuppressedAsync();


                //say something
                await robot.Audio.SetMasterVolumeAsync(5);

                await robot.Audio.SayTextAsync(message);

                robot.StopSuppressingPersonality();

                await robot.DisconnectAsync();

                return(true);
                //}
                //else
                //{
                //    Helpers.StatusInfo($"Vector is charging", "fail");
                //    return false;
                //}
            }
            catch (Exception e)
            {
                Log.Information($"Connecting to Vector failed! {e.Message}", "fail");

                return(false);
            }
        }
Ejemplo n.º 21
0
    private void CheckTransition()
    {
        float charge = FinchVR.GetBatteryCharge(FinchNodeType.RightHand);

        if (currentState == BatteryState.From0to25 && charge >= 25 + EPS)
        {
            currentState = BatteryState.From25to50;
            SetMaterialByState();
        }
        else if (currentState == BatteryState.From25to50)
        {
            if (charge >= 50 + EPS)
            {
                currentState = BatteryState.From50to75;
                SetMaterialByState();
            }
            else if (charge <= 25 - EPS)
            {
                currentState = BatteryState.From0to25;
                SetMaterialByState();
            }
        }
        else if (currentState == BatteryState.From50to75)
        {
            if (charge >= 75 + EPS)
            {
                currentState = BatteryState.From75to100;
                SetMaterialByState();
            }
            else if (charge <= 50 - EPS)
            {
                currentState = BatteryState.From25to50;
                SetMaterialByState();
            }
        }
        else if (currentState == BatteryState.From75to100 && charge <= 75 - EPS)
        {
            currentState = BatteryState.From50to75;
            SetMaterialByState();
        }
    }
Ejemplo n.º 22
0
        static void PowerManager_BatteryLifePercentChanged(object sender, EventArgs e)
        {
            BatteryLifePercent = PowerManager.BatteryLifePercent;
            Log.Write("BatteryLifePercent changed to: " + BatteryLifePercent);

            BatteryState state = PowerManager.GetCurrentBatteryState();

            if (state.CurrentCharge <= state.SuggestedCriticalBatteryCharge)
            {
                if (Engine.Instance.IsRunning())
                {
                    Engine.Instance.Stop();
                }
            }
            else
            {
                if (!Engine.Instance.IsRunning())
                {
                    Engine.Instance.Start();
                }
            }
        }
        public void TestGetBatteryState()
        {
            // Get device
            var device = HidWrapper.Devices.EnumerateDevices().Where(DeviceIdentity.IsDS4).FirstOrDefault();

            // Get feature report if needed
            bool viaUSB = (device.Capabilities.InputReportByteLength == 64);

            if (!viaUSB)
            {
                HidWrapper.Devices.GetFeatureReport(device, 0x02);
            }

            // Get input report
            var data = HidWrapper.Devices.GetInputReport(device);

            // Get battery state
            IBatteryState battery = new BatteryState(data, viaUSB);

            // Test
            Assert.IsNotNull(battery);
            System.Diagnostics.Debug.WriteLine($"{JsonSerializer.Serialize(battery, serializerOptions)}");
        }
        public void GetBatteryState_IoT()
        {
            TestHelpers.MockHttpResponder.AddMockResponse(
                DevicePortal.BatteryStateApi,
                this.PlatformType,
                this.FriendlyOperatingSystemVersion,
                HttpMethods.Get);

            Task <BatteryState> getTask = TestHelpers.Portal.GetBatteryStateAsync();

            getTask.Wait();

            Assert.AreEqual(TaskStatus.RanToCompletion, getTask.Status);

            // Check some known things about this response.
            BatteryState batteryState = getTask.Result;

            Assert.AreEqual(true, batteryState.IsOnAcPower);
            Assert.AreEqual(false, batteryState.IsBatteryPresent);
            Assert.AreEqual(0U, batteryState.EstimatedTimeRaw);
            Assert.AreEqual(0, batteryState.MaximumCapacity);
            Assert.AreEqual(0, batteryState.RemainingCapacity);
        }
Ejemplo n.º 25
0
    void Update()
    {
        if (!wasConnected && FinchVR.MainController.IsHandNodeConnected())
        {
            float charge = FinchVR.GetBatteryCharge(FinchNodeType.RightHand);
            currentState = charge < 75 ? (charge < 50 ? (charge < 25 ? BatteryState.From0to25 : BatteryState.From25to50) : BatteryState.From50to75) : BatteryState.From75to100;
            SetMaterialByState();
            BatteryObject.gameObject.SetActive(true);
            wasConnected = true;
            return;
        }
        else if (wasConnected && !FinchVR.MainController.IsHandNodeConnected())
        {
            BatteryObject.gameObject.SetActive(false);
            currentState = BatteryState.None;
            wasConnected = false;
            return;
        }

        if (FinchVR.MainController.IsHandNodeConnected())
        {
            CheckTransition();
        }
    }
Ejemplo n.º 26
0
 internal BatteryChangedEventArgs(double level, BatteryState state, BatteryPowerSource source)
 {
     ChargeLevel = level;
     State       = state;
     PowerSource = source;
 }
Ejemplo n.º 27
0
 static void OnBatteryChanged(double level, BatteryState state, BatteryPowerSource source)
 => OnBatteryChanged(new BatteryChangedEventArgs(level, state, source));
Ejemplo n.º 28
0
 static void SetCurrent()
 {
     currentLevel  = Battery.ChargeLevel;
     currentSource = Battery.PowerSource;
     currentState  = Battery.State;
 }
        /// <summary>
        /// Initialize and Validate the state
        /// </summary>
        /// <param name="connected"></param>
        private void InitializeState(bool connected)
        {
            bool changed = false;

            if (_state == null)
            {
                _state = new BatteryState();
                changed = true;
            }

            // Set default Maximum Battery at 9.0 volts
            if (_state.MaxVoltage < 5.0 || _state.MaxVoltage > 12.0)
            {
                _state.MaxVoltage = 9.0;
                changed = true;
            }

            // Set default Minimum Battery at 5 volts
            if (_state.MinVoltage < 3.0 || _state.MinVoltage > _state.MaxVoltage)
            {
                _state.MinVoltage = 5.0;
                changed = true;
            }

            if (_state.CriticalBatteryVoltage < _state.MinVoltage || _state.CriticalBatteryVoltage > _state.MaxVoltage)
            {
                _state.CriticalBatteryVoltage = 5.8;
                changed = true;
            }

            // Initialize the runtime values
            _state.TimeStamp = DateTime.MinValue;
            _state.PercentBatteryPower = 0.0;
            _state.CurrentBatteryVoltage = 0.0;
            _state.Connected = connected;

            if (changed)
            {
                SaveState(_state);
            }
        }
Ejemplo n.º 30
0
        private void UpdateStatusBarBatteryState(BatteryState batteryState)
        {
            Image previous = _statusElementBattery.Image, next = null;

            switch (batteryState)
            {
                case BatteryState.Empty:
                    next = Properties.Resources.BATTERY_EMPTY;
                    break;
                case BatteryState.Low:
                    next = Properties.Resources.BATTERY_LOW;
                    break;
                case BatteryState.Medium:
                    next = Properties.Resources.BATTERY_MEDIUM;
                    break;
                case BatteryState.High:
                    next = Properties.Resources.BATTERY_HIGH;
                    break;
                case BatteryState.FullyCharged:
                    next = Properties.Resources.BATTERY_FULLYCHARGED;
                    break;
            }

            if (previous == null)
            {
                this._statusElementBattery.Image = next;
                LoggingManager.LogEvent(LogEventType.DEBUG, "Initialized BatteryState icon to: " + batteryState.ToString());
            }
            else if (previous != next)
            {
                this._statusElementBattery.Image = next;
                LoggingManager.LogEvent(LogEventType.DEBUG, "Updated BatteryState icon to: " + batteryState.ToString());
            }
        }
Ejemplo n.º 31
0
        void showActualBatteryState(double chargeLevel,
                                    BatteryPowerSource batteryPowerSource,
                                    BatteryState batteryState,
                                    EnergySaverStatus energySaverStatus)
        {
            labelCharge.Text = string.Format("{0}%", chargeLevel * 100);

            switch (batteryPowerSource)
            {
            case BatteryPowerSource.Battery:
                labelPowerSource.Text = "Batterie";
                break;

            case BatteryPowerSource.AC:
                labelPowerSource.Text = "Stromnetz";
                break;

            case BatteryPowerSource.Usb:
                labelPowerSource.Text = "USB-Anschluss";
                break;

            case BatteryPowerSource.Wireless:
                labelPowerSource.Text = "drahtlos";
                break;

            case BatteryPowerSource.Unknown:
                labelPowerSource.Text = "unbekannt";
                break;
            }

            switch (batteryState)
            {
            case BatteryState.Full:             // 5
                labelBatteryState.Text = "voll geladen";
                break;

            case BatteryState.Discharging:      // 3
                labelBatteryState.Text = "wird entladen";
                break;

            case BatteryState.Charging:         // 2
                labelBatteryState.Text = "wird geladen";
                break;

            case BatteryState.NotCharging:      // 4
                labelBatteryState.Text = "wird NICHT geladen";
                break;

            case BatteryState.NotPresent:
                labelBatteryState.Text = "keine Batterie vorhanden";
                break;

            case BatteryState.Unknown:
                labelBatteryState.Text = "unbekannt";
                break;
            }

            switch (energySaverStatus)
            {
            case EnergySaverStatus.Off:
                labelEnergySaverStatus.Text = "aus";
                break;

            case EnergySaverStatus.On:
                labelEnergySaverStatus.Text = "ein";
                break;

            case EnergySaverStatus.Unknown:
                labelEnergySaverStatus.Text = "unbekannt";
                break;
            }

            DependencyService.Get <IBatteryInfo>().GetAndroidBatteryExtendedData(out int health, out float temperature, out string technology, out long chargetimeremaining);
            string sHealth;

            switch (health)
            {
            case 1: // BATTERY_HEALTH_UNKNOWN
            default:
                sHealth = "unbekannt";
                break;

            case 2: // BATTERY_HEALTH_GOOD
                sHealth = "gut";
                break;

            case 3: // BATTERY_HEALTH_OVERHEAT
                sHealth = "schlecht (überhitzt)";
                break;

            case 4: // BATTERY_HEALTH_DEAD
                sHealth = "schlecht";
                break;

            case 5: // BATTERY_HEALTH_OVER_VOLTAGE
                sHealth = "schlecht (überladen)";
                break;

            case 6: // BATTERY_HEALTH_UNSPECIFIED_FAILURE
                sHealth = "Fehler";
                break;

            case 7: // BATTERY_HEALTH_COLD
                sHealth = "gut (kalt)";
                break;
            }

            string sChargetimeremaining = "";

            if (chargetimeremaining > 0)
            {
                sChargetimeremaining = ", verbleidende Ladezeit " + (chargetimeremaining / 60000).ToString() + " min";
            }

            labelExtendedData.Text = string.Format("„Batteriegesundheit“ {0}, Temperatur {1}°C{2}, {3}",
                                                   sHealth,
                                                   temperature / 10,
                                                   sChargetimeremaining,
                                                   technology);
        }
    private IEnumerator SecondTick()
    {
        yield return new WaitForSeconds(1);

        m_fBatteryTimeLeft--;
        m_fBatteryPercentage = m_fBatteryTimeLeft / m_fBatteryTimeTotal;
        if (m_fBatteryTimeLeft == 0f)
        {
            if(IsRealBattery)
            {
                yield return new WaitForSeconds(3);
                int finalScore = Mathf.RoundToInt(Score.Instance.GetScore);
                endGameScript.GameOver(finalScore);
                //end game logic
            }
        }
        else if (m_fBatteryPercentage <= 0.1f)
        {
            m_eBatteryState = BatteryState.RED;
            if(IsRealBattery && !_hasPlayed)
            {
                SoundManager.Instance.PlaySound(SoundType.BatteryEmpty);
                _hasPlayed = true;
            }
            GetComponent<Image>().sprite = BatterySprites[9];
        }
        else if(m_fBatteryPercentage <= 0.2f)
        {
            m_eBatteryState = BatteryState.YELLOW;
            if(IsRealBattery)
            {
                SoundManager.Instance.PlaySound(SoundType.BatteryLow);
            }
            GetComponent<Image>().sprite = BatterySprites[8];
        }
        else if(m_fBatteryPercentage <= 0.3f)
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[7];
        }
        else if(m_fBatteryPercentage <= 0.4f)
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[6];
        }
        else if(m_fBatteryPercentage <= 0.5f)
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[5];
        }
        else if(m_fBatteryPercentage <= 0.6f)
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[4];
        }
        else if(m_fBatteryPercentage <= 0.7f)
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[3];
        }
        else if(m_fBatteryPercentage <= 0.8f)
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[2];
        }
        else if(m_fBatteryPercentage <= 0.9f)
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[1];
        }
        else
        {
            m_eBatteryState = BatteryState.GREEN;
            GetComponent<Image>().sprite = BatterySprites[0];
        }

        //print(m_eBatteryState+", "+m_fBatteryPercentage);
        StartCoroutine(SecondTick());
    }
Ejemplo n.º 33
0
 public void Init(BatteryState state)
 {
     State = state;
 }
Ejemplo n.º 34
0
 private static void BoardOnBatteryStateChanged(object sender, BatteryState state)
 {
     PrintBatteryState(state);
 }