public void Dispose()
 {
     _sensor?.Dispose();
 }
示例#2
0
        public void Disable(Accessories accessory)
        {
            try
            {
                switch (accessory)
                {
                case Accessories.Camera:
                    camera.Dispose();
                    break;

                case Accessories.IMU:
                    imu.Dispose();
                    break;

                case Accessories.MotorL:
                    if (motorL != null)
                    {
                        motorL.Speed = 0;
                    }
                    motorL.Dispose();
                    break;

                case Accessories.MotorR:
                    if (motorR != null)
                    {
                        motorR.Speed = 0;
                    }
                    motorR.Dispose();
                    break;

                case Accessories.Motors:
                    Disable(Accessories.MotorL);
                    Disable(Accessories.MotorR);
                    break;

                case Accessories.ADC:
                    adc.Dispose();
                    break;

                case Accessories.IR:
                    ir.Dispose();
                    break;

                case Accessories.Sonar:
                    sonar.Dispose();
                    break;

                case Accessories.LED:
                    led.Dispose();
                    break;

                case Accessories.CPUTemp:
                    cpuTemperature = null;
                    break;

                case Accessories.All:
                    foreach (var item in Enum.GetValues(typeof(Accessories)))
                    {
                        if ((Accessories)item != Accessories.All)
                        {
                            Disable((Accessories)item);
                        }
                    }
                    break;

                default:
                    Console.WriteLine("Something went wrong (Disabling accessories)");
                    break;
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine($"Disabling accessory: {Enum.GetName(typeof(Accessories), accessory)} has failed.");
                System.Diagnostics.Debug.WriteLine($"Exception message: {ex.Message}");

                Console.WriteLine($"Disabling accessory: {Enum.GetName(typeof(Accessories), accessory)} has failed.");
                Console.WriteLine($"Exception message: {ex.Message}");
            }
        }