Ejemplo n.º 1
0
        /// <summary>
        /// Tests the temperature sensor.
        /// </summary>
        public static void TestTempSensor()
        {
            Console.Clear();
            using (var sensor = DhtSensor.Create(DhtType.Dht11, Pi.Gpio[BcmPin.Gpio04]))
            {
                var totalReadings = 0.0;
                var validReadings = 0.0;

                sensor.OnDataAvailable += (s, e) =>
                {
                    totalReadings++;
                    if (!e.IsValid)
                    {
                        return;
                    }

                    Console.Clear();
                    validReadings++;
                    $"Temperature: \n {e.Temperature:0.00}°C \n {e.TemperatureFahrenheit:0.00}°F  \n Humidity: {e.HumidityPercentage:P0}\n\n".Info("DHT11");
                    ExitMessage.WriteLine();
                };

                sensor.Start();
                while (true)
                {
                    var input = Console.ReadKey(true).Key;
                    if (input != ConsoleKey.Escape)
                    {
                        continue;
                    }

                    break;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Test the GY521 Accelerometer and Gyroscope.
        /// </summary>
        public static void TestAccelerometer()
        {
            Console.Clear();

            // Add device
            var accelDevice = Pi.I2C.AddDevice(0x68);

            // Set accelerometer
            using (var accelSensor = new AccelerometerGY521(accelDevice))
            {
                // Present info to screen
                accelSensor.DataAvailable +=
                    (s, e) =>
                {
                    Console.Clear();
                    $"\nAccelerometer:\n{e.Accel}\n\nGyroscope:\n{e.Gyro}\n\nTemperature: {Math.Round(e.Temperature, 2)}°C\n"
                    .Info("GY-521");
                    ExitMessage.WriteLine();
                };

                // Run accelerometer
                accelSensor.Start();
                while (true)
                {
                    var input = Console.ReadKey(true).Key;
                    if (input != ConsoleKey.Escape)
                    {
                        continue;
                    }

                    break;
                }
            }
        }
Ejemplo n.º 3
0
        private static void Dim(CancellationToken cancellationToken) =>
        Task.Run(() =>
        {
            Console.Clear();
            "Dimming".Info();
            ExitMessage.WriteLine();
            var pin             = (GpioPin)Pi.Gpio[BcmPin.Gpio13];
            pin.PinMode         = GpioPinDriveMode.PwmOutput;
            pin.PwmMode         = PwmMode.Balanced;
            pin.PwmClockDivisor = 2;
            while (!cancellationToken.IsCancellationRequested)
            {
                for (var x = 0; x <= 100; x++)
                {
                    pin.PwmRegister = (int)pin.PwmRange / 100 * x;
                    Thread.Sleep(10);
                }

                for (var x = 0; x <= 100; x++)
                {
                    pin.PwmRegister = (int)pin.PwmRange - ((int)pin.PwmRange / 100 * x);
                    Thread.Sleep(10);
                }
            }

            pin.PinMode = GpioPinDriveMode.Output;
            pin.Write(0);
        });
        /// <summary>
        /// обработчик ExitMessage сообщения
        /// </summary>
        /// <param name="quere">очередь откуда пришло сообщение</param>
        /// <param name="message">приянтое сообщение</param>
        public static bool ProcessingExitMessage(MessageQueue quere, ExitMessage message)
        {
            try
            {
                int idDelete = (message).IdSender;

                foreach (var item in agentsList)
                {
                    if (item.IdAgent == idDelete)
                    {
                        MessageQueue.Delete(item.QueueReceiveName);
                        MessageQueue.Delete(item.QueueSendName);
                        quereList.Remove(item.QueueReceiveName);
                        quereList.Remove(item.QueueSendName);
                        agentsList.Remove(item);
                        dictionaryThread[item][0].Abort();
                        dictionaryThread[item][1].Abort();
                        dictionaryThread.Remove(item);
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }

            return(true);
        }
Ejemplo n.º 5
0
        private Message ProcessExitMessage(ExitMessage exitMessage)
        {
            Message reply;

            if (exitMessage.IsValid)
            {
                var game = Game.FindGame(exitMessage.GameId);
                if (game == null)
                {
                    Log.InfoFormat("Invalid Game Id {0} from {1}", exitMessage.GameId, exitMessage.SenderEndPoint);
                    reply = new ErrorMessage(exitMessage.GameId, $"Invalid game id = {exitMessage.GameId}");
                }
                else
                {
                    game.Exit();
                    reply = new AckMessage(game.Id);
                    game.Student.IncExitCount();
                    game.LastMessageTime = DateTime.Now;
                }
            }
            else
            {
                Log.InfoFormat("Invalid exitHit message from {0}", exitMessage.SenderEndPoint);
                reply = new ErrorMessage(exitMessage.GameId, @"Invalid exitHint message");
            }
            return(reply);
        }
Ejemplo n.º 6
0
        public void ChekMessageTestExitMessage()
        {
            if (!MessageQueue.Exists(@".\private$\ChekMessageTestExitMessage"))
            {
                MessageQueue.Create(@".\private$\ChekMessageTestExitMessage");
            }

            if (!MessageQueue.Exists(@".\private$\ChekMessageTestExitSendMessage"))
            {
                MessageQueue.Create(@".\private$\ChekMessageTestExitSendMessage");
            }

            if (!MessageQueue.Exists(@".\private$\ChekMessageTestExitReciveMessage"))
            {
                MessageQueue.Create(@".\private$\ChekMessageTestExitReciveMessage");
            }

            MessageQueue testQueue = new MessageQueue(@".\private$\ChekMessageTestExitMessage");

            testQueue.Formatter = new BinaryMessageFormatter();

            ExitMessage testMessage = new ExitMessage(0, 0);

            testQueue.Send(testMessage);

            Agent agent = new Agent(0, null, @".\private$\ChekMessageTestExitSendMessage", @".\private$\ChekMessageTestExitReciveMessage");

            ProcessingMessage.agentsList.Add(agent);
            agent.SetConnect();

            Assert.AreEqual(ProcessingMessage.ChekMessage(testQueue), (int)EnumTypeMessage.ExitMessage);

            MessageQueue.Delete(@".\private$\ChekMessageTestExitMessage");
        }
Ejemplo n.º 7
0
        private static void ReadCard()
        {
            Console.Clear();
            "Testing RFID".Info();
            var device = new RFIDControllerMfrc522(Pi.Spi.Channel0, 500000, Pi.Gpio[18]);

            while (true)
            {
                // If a card is found
                if (device.DetectCard() != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }

                // Get the UID of the card
                var uidResponse = device.ReadCardUniqueId();

                // If we have the UID, continue
                if (uidResponse.Status != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }

                var cardUid = uidResponse.Data;

                // Print UID
                $"Card UID: {cardUid[0]},{cardUid[1]},{cardUid[2]},{cardUid[3]}".Info();

                // Select the scanned tag
                device.SelectCardUniqueId(cardUid);

                // Authenticate sector
                if (device.AuthenticateCard1A(RFIDControllerMfrc522.DefaultAuthKey, cardUid, 19) == RFIDControllerMfrc522.Status.AllOk)
                {
                    var data = device.CardReadData(16);
                    var text = Encoding.ASCII.GetString(data.Data);

                    $" Message read: {text}".Info();
                }
                else
                {
                    "Authentication error".Error();
                }

                device.ClearCardSelection();
                ExitMessage.WriteLine();
                while (true)
                {
                    var input = Console.ReadKey(true).Key;
                    if (input != ConsoleKey.Escape)
                    {
                        continue;
                    }

                    break;
                }

                break;
            }
        }
Ejemplo n.º 8
0
    void _OnHandleReceivedPacket(Transmitter transmitter, int idCommand, byte[] aPacketBuffer, int iPos)
    {
        ECommand eCommand = (ECommand)idCommand;

        if (eCommand == ECommand.LOGIN)
        {
            LoginMessage msg = new LoginMessage();
            msg.UnSealPacketBuffer(aPacketBuffer, iPos);
            msg.Unserialize();

            OnLoginMessage(transmitter, msg);
        }
        else if (eCommand == ECommand.EXIT)
        {
            ExitMessage msg = new ExitMessage();
            msg.UnSealPacketBuffer(aPacketBuffer, iPos);
            msg.Unserialize();

            OnExitMessage(transmitter, msg);
        }
        else if (eCommand == ECommand.MOVEMENT)
        {
            MovementMessage msg = new MovementMessage();
            msg.UnSealPacketBuffer(aPacketBuffer, iPos);
            msg.Unserialize();

            OnMovementMessage(transmitter, msg);
        }
    }
Ejemplo n.º 9
0
        private void OnExit(ExitMessage message)
        {
            _logger.Log("game exited");

            _logger.Flush();

            Application.Quit();
        }
Ejemplo n.º 10
0
        public void Exit()
        {
            CheckConfig();

            var exitMessage = new ExitMessage();

            Send(exitMessage);
        }
Ejemplo n.º 11
0
        private static void WriteCard()
        {
            Console.Clear();
            "Testing RFID".Info();

            var device    = new RFIDControllerMfrc522(Pi.Spi.Channel0, 500000, Pi.Gpio[18]);
            var userInput = "Insert a message to be written in the card (16 characters only)".ReadLine().Truncate(16);

            "Place the card on the sensor".Info();

            while (true)
            {
                // If a card is found
                if (device.DetectCard() != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }

                // Get the UID of the card
                var uidResponse = device.ReadCardUniqueId();

                // If we have the UID, continue
                if (uidResponse.Status != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }

                var cardUid = uidResponse.Data;

                // Select the scanned tag
                device.SelectCardUniqueId(cardUid);

                // Writing data to sector 1 blocks
                // Authenticate sector
                if (device.AuthenticateCard1A(RFIDControllerMfrc522.DefaultAuthKey, cardUid, 19) == RFIDControllerMfrc522.Status.AllOk)
                {
                    userInput = (userInput + new string(' ', 16)).Truncate(16);
                    device.CardWriteData(16, Encoding.ASCII.GetBytes(userInput));
                }

                device.ClearCardSelection();
                "Data has been written".Info();

                ExitMessage.WriteLine();
                while (true)
                {
                    var input = Console.ReadKey(true).Key;
                    if (input != ConsoleKey.Escape)
                    {
                        continue;
                    }

                    break;
                }

                break;
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        ///     Called when [exit message received].
        /// </summary>
        /// <param name="message">The message.</param>
        protected void OnExitMessageReceived(ExitMessage message)
        {
            var evt = OnExitMessage;

            if (evt != null)
            {
                evt(this, message);
            }
        }
Ejemplo n.º 13
0
        private void OnExitMessage(ExitMessage message)
        {
            if (System.Windows.MessageBox.Show(this, "Are you are you want to quit?", "Quit", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
            {
                return;
            }

            m_ForceQuit = true;
            this.Close();
        }
        public static void ProcessingExitMessage(ExitMessage message)
        {
            Console.WriteLine(message.TypeMessage);
            ExitMessage sendMessage = new ExitMessage(0, _idAgent);

            _queueSend.Send(sendMessage);

            _queueReceive.Close();
            _queueSend.Close();
            _mainQuere.Close();

            Environment.Exit(0);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Tests the infrared sensor HX1838.
        /// </summary>
        public static void TestInfraredSensor()
        {
            Console.Clear();
            "Send a signal...".Info("IR");
            var inputPin = Pi.Gpio[BcmPin.Gpio25]; // BCM Pin 25 or Physical pin 22 on the right side of the header.
            var sensor   = new InfraredSensor(inputPin, true);

            sensor.DataAvailable += (s, e) =>
            {
                Console.Clear();
                var necData = InfraredSensor.NecDecoder.DecodePulses(e.Pulses);
                if (necData != null)
                {
                    $"NEC Data: {BitConverter.ToString(necData).Replace("-", " "),12}    Pulses: {e.Pulses.Length,4}    Duration(us): {e.TrainDurationUsecs,6}    Reason: {e.FlushReason}".Warn("IR");

                    if (InfraredSensor.NecDecoder.IsRepeatCode(e.Pulses))
                    {
                        return;
                    }
                }
                else
                {
                    if (e.Pulses.Length >= 4)
                    {
                        var debugData = InfraredSensor.DebugPulses(e.Pulses);
                        $"RX    Length: {e.Pulses.Length,5}; Duration: {e.TrainDurationUsecs,7}; Reason: {e.FlushReason}".Warn("IR");
                        debugData.Info("IR");
                    }
                    else
                    {
                        $"RX (Garbage): {e.Pulses.Length,5}; Duration: {e.TrainDurationUsecs,7}; Reason: {e.FlushReason}".Error("IR");
                    }
                }

                ExitMessage.WriteLine();
            };

            while (true)
            {
                var input = Console.ReadKey(true).Key;
                if (input != ConsoleKey.Escape)
                {
                    continue;
                }

                break;
            }

            sensor.Dispose();
        }
Ejemplo n.º 16
0
        private static void CardDetected()
        {
            Console.Clear();
            "Testing RFID".Info();
            var device = new RFIDControllerMfrc522(Pi.Spi.Channel0, 500000, Pi.Gpio[18]);

            while (true)
            {
                // If a card is found
                if (device.DetectCard() != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }
                "Card detected".Info();

                // Get the UID of the card
                var uidResponse = device.ReadCardUniqueId();

                // If we have the UID, continue
                if (uidResponse.Status != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }

                var cardUid = uidResponse.Data;

                // Print UID
                $"Card UID: {cardUid[0]},{cardUid[1]},{cardUid[2]},{cardUid[3]}".Info();

                ExitMessage.WriteLine();

                while (true)
                {
                    var input = Console.ReadKey(true).Key;
                    if (input != ConsoleKey.Escape)
                    {
                        continue;
                    }

                    break;
                }

                break;
            }
        }
Ejemplo n.º 17
0
        public static void ProcessingExitMessage(ExitMessage message)
        {
            Console.WriteLine(message.TypeMessage);
            ExitMessage sendMessage = new ExitMessage(0, Agent.IdAgent);

            try
            {
                Agent.QueueSend.Send(sendMessage);

                Agent.QueueReceive.Close();
                Agent.QueueSend.Close();
                Agent.mainQuere.Close();
            }
            catch (Exception e) {
                Console.WriteLine(e.Message);
            }
            Environment.Exit(0);
        }
Ejemplo n.º 18
0
        private static async Task TestSystemInfo()
        {
            Console.Clear();

            $"GPIO Controller initialized successfully with {Pi.Gpio.Count} pins".Info();
            $"{Pi.Info}".Info();
            try
            {
                $"BoardModel {Pi.Info.BoardModel}".Info();
                $"ProcessorModel {Pi.Info.ProcessorModel}".Info();
                $"Manufacturer {Pi.Info.Manufacturer}".Info();
                $"MemorySize {Pi.Info.MemorySize}".Info();
            }
            catch
            {
                // ignore
            }

            $"Uname {Pi.Info.OperatingSystem}".Info();
            $"HostName {NetworkSettings.Instance.HostName}".Info();
            $"Uptime (seconds) {Pi.Info.Uptime}".Info();
            var timeSpan = Pi.Info.UptimeTimeSpan;

            $"Uptime (timespan) {timeSpan.Days} days {timeSpan.Hours:00}:{timeSpan.Minutes:00}:{timeSpan.Seconds:00}"
            .Info();

            (await NetworkSettings.Instance.RetrieveAdapters().ConfigureAwait(false))
            .Select(adapter => $"Adapter: {adapter.Name,6} | IPv4: {adapter.IPv4,16} | IPv6: {adapter.IPv6,28} | AP: {adapter.AccessPointName,16} | MAC: {adapter.MacAddress,18}")
            .ToList()
            .ForEach(x => x.Info());

            ExitMessage.WriteLine();

            while (true)
            {
                var input = Console.ReadKey(true).Key;
                if (input != ConsoleKey.Escape)
                {
                    continue;
                }

                break;
            }
        }
        public void ChekMessageTestExitMessage()
        {
            if (!MessageQueue.Exists(@".\private$\ChekMessageTestExitMessage"))
            {
                MessageQueue.Create(@".\private$\ChekMessageTestExitMessage");
            }

            MessageQueue testQueue = new MessageQueue(@".\private$\ChekMessageTestExitMessage");

            testQueue.Formatter = new BinaryMessageFormatter();

            ExitMessage testMessage = new ExitMessage(0, 0);

            testQueue.Send(testMessage);
            Agent.QueueSend = testQueue;

            Assert.AreEqual(ProcessingMessage.ChekMessage(testQueue), (int)EnumTypeMessage.ExitMessage);

            MessageQueue.Delete(@".\private$\ChekMessageTestExitMessage");
        }
Ejemplo n.º 20
0
        void HandleExitMessage(ExitMessage m)
        {
            var channel = Channels.SingleOrDefault(ch => ch.Id == m.Channel);

            if (channel == null)
            {
                return;
            }
            channel.Messages.Add(m);
            if (channel == Channels.First())
            {
                var user = Users.FirstOrDefault(us => us.Name == m.Sender);
                if (user == null)
                {
                    return;
                }
                Users.Remove(user);
                Channels.Remove(Channels.FirstOrDefault(x => x.Id == user.Name && x.ChannelType == ChannelType.Private));
            }
        }
Ejemplo n.º 21
0
        private static void Blink(CancellationToken cancellationToken) =>
        Task.Run(() =>
        {
            Console.Clear();
            var blinkingPin = Pi.Gpio[BcmPin.Gpio13];

            // Configure the pin as an output
            blinkingPin.PinMode = GpioPinDriveMode.Output;

            // perform writes to the pin by toggling the isOn variable
            var isOn = false;
            while (!cancellationToken.IsCancellationRequested)
            {
                isOn = !isOn;
                blinkingPin.Write(isOn);
                var ledState = isOn ? "on" : "off";
                Console.Clear();
                $"Blinking {ledState}".Info();
                ExitMessage.WriteLine();
                Thread.Sleep(500);
            }

            blinkingPin.Write(0);
        });
Ejemplo n.º 22
0
 private void Exit(ExitMessage message)
 {
     Environment.Exit(0);
 }
 private void window_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
 {
     // Send exit message
     ExitMessage msg = new ExitMessage();
     Owner.MessagePool.SendMessage(msg);
 }
Ejemplo n.º 24
0
 public void Handle(ExitMessage message)
 {
     _application.Quit();
 }
Ejemplo n.º 25
0
 //Handles execution of messages that call for external process exit.
 private static void RunExitMessage(ExitMessage exitMessage)
 {
     thinking = false;
 }
        static void Main(string[] args)
        {
            if (!MessageQueue.Exists(@".\private$\MainQueue"))
            {
                MessageQueue.Create(@".\private$\MainQueue");
            }

            ProcessingMessage.mainQueue           = new MessageQueue(@".\private$\MainQueue");
            ProcessingMessage.mainQueue.Formatter = new BinaryMessageFormatter();

            ProcessingMessage.mainQueue.SetPermissions("АНОНИМНЫЙ ВХОД", MessageQueueAccessRights.FullControl, AccessControlEntryType.Allow);

            Thread threadAgent = new Thread(recervingHalloMessage);

            threadAgent.Start();
            string read       = "";
            int    _countHash = 0;

            do
            {
                Console.Write("1. Добавить задание\n");
                Console.Write("2. Посмотреть список заданий\n");
                Console.Write("3. Выйти\n");

                read = Console.ReadLine();
                if (read == "1")
                {
                    if (ProcessingMessage.agentsList.Count != 0)
                    {
                        Console.WriteLine("Введите колличество сверток");

                        try
                        {
                            _countHash = Convert.ToInt32(Console.ReadLine());
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                            continue;
                        }

                        Console.WriteLine("Введите все свертки по одной");

                        for (int index = 0; index < _countHash; ++index)
                        {
                            Task task = new Task(Console.ReadLine(), _nextIdTask);
                            ++_nextIdTask;

                            ProcessingMessage.tasksList.Add(task);
                        }

                        for (int index = 0; index < ProcessingMessage.tasksList.Count; ++index)
                        {
                            if (!ProcessingMessage.tasksList[index].Processing)
                            {
                                ProcessingMessage.tasksList[index].Processing = true;
                                var messageArr = DistributionRanges.Distribution(ref ProcessingMessage.agentsList, ProcessingMessage.tasksList[index]);
                                ProcessingMessage.SendMessageArray(messageArr, ProcessingMessage.agentsList);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Нет ни одного подключенного агента.");
                    }
                }
                else if (read == "2")
                {
                    foreach (var item in ProcessingMessage.tasksList)
                    {
                        Console.WriteLine(" Hash: " + item.Hash + "\n Complete: " + item.Complete + "\n ReadyPassword: "******"3");

            foreach (Agent item in ProcessingMessage.agentsList)
            {
                ExitMessage exit = new ExitMessage(item.IdAgent, 0);
                item.QueueReceive.Send(exit);
                ProcessingMessage.dictionaryThread[item][0].Abort();
                ProcessingMessage.dictionaryThread[item][1].Abort();
            }

            foreach (string item in ProcessingMessage.quereList)
            {
                MessageQueue.Delete(item);
            }

            threadAgent.Abort();
            Environment.Exit(0);
        }
Ejemplo n.º 27
0
 void Awake()
 {
     _instance = this;
     gameObject.SetActive (false);
 }
 private void CloseWindow(ExitMessage action)
 {
     this.Close();
     Messenger.Default.Unregister <ExitMessage>(this, "DossierFinancement");
 }
Ejemplo n.º 29
0
        private static void ReadAllCardSectors()
        {
            Console.Clear();

            "Testing RFID".Info();
            var device = new RFIDControllerMfrc522(Pi.Spi.Channel0, 500000, Pi.Gpio[18]);

            while (true)
            {
                // If a card is found
                if (device.DetectCard() != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }

                // Get the UID of the card
                var uidResponse = device.ReadCardUniqueId();

                // If we have the UID, continue
                if (uidResponse.Status != RFIDControllerMfrc522.Status.AllOk)
                {
                    continue;
                }

                var cardUid = uidResponse.Data;

                // Print UID
                $"Card UID: {cardUid[0]},{cardUid[1]},{cardUid[2]},{cardUid[3]}".Info();

                // Select the scanned tag
                device.SelectCardUniqueId(cardUid);

                // Reading data
                var continueReading = true;
                for (var s = 0; s < 16 && continueReading; s++)
                {
                    // Authenticate sector
                    if (device.AuthenticateCard1A(RFIDControllerMfrc522.DefaultAuthKey, cardUid, (byte)((4 * s) + 3)) == RFIDControllerMfrc522.Status.AllOk)
                    {
                        $"Sector {s}".Info();
                        for (var b = 0; b < 3 && continueReading; b++)
                        {
                            var data = device.CardReadData((byte)((4 * s) + b));
                            if (data.Status != RFIDControllerMfrc522.Status.AllOk)
                            {
                                continueReading = false;
                                break;
                            }

                            $"  Block {b} ({data.Data.Length} bytes): {string.Join(" ", data.Data.Select(x => x.ToString("X2")))}".Info();
                        }
                    }
                    else
                    {
                        $"Authentication error, sector {s}".Error();
                    }
                }

                device.ClearCardSelection();

                ExitMessage.WriteLine();
                while (true)
                {
                    var input = Console.ReadKey(true).Key;
                    if (input != ConsoleKey.Escape)
                    {
                        continue;
                    }

                    break;
                }

                break;
            }
        }
Ejemplo n.º 30
0
        public static void TestUltrasonicSensor()
        {
            ConsoleColor color;

            using (var sensor = new UltrasonicHcsr04(Pi.Gpio[BcmPin.Gpio23], Pi.Gpio[BcmPin.Gpio24]))
            {
                sensor.OnDataAvailable += (s, e) =>
                {
                    Console.Clear();

                    if (!e.IsValid)
                    {
                        return;
                    }

                    if (e.HasObstacles)
                    {
                        if (e.Distance <= 10)
                        {
                            color = ConsoleColor.DarkRed;
                        }
                        else if (e.Distance <= 20)
                        {
                            color = ConsoleColor.DarkYellow;
                        }
                        else if (e.Distance <= 30)
                        {
                            color = ConsoleColor.Yellow;
                        }
                        else if (e.Distance <= 40)
                        {
                            color = ConsoleColor.Green;
                        }
                        else if (e.Distance <= 50)
                        {
                            color = ConsoleColor.Blue;
                        }
                        else
                        {
                            color = ConsoleColor.White;
                        }

                        var distance = e.Distance < 57 ? e.Distance : 58;
                        $"{new string('█', (int)distance)}".WriteLine(color);
                        "--------------------------------------------------------->".WriteLine();
                        "          10        20        30        40        50       cm".WriteLine();
                        $"Obstacle detected at {e.Distance:N2}cm / {e.DistanceInch:N2}in\n".WriteLine();
                    }
                    else
                    {
                        "No obstacles detected.\n".Info("HC - SR04");
                    }

                    ExitMessage.WriteLine();
                };

                sensor.Start();
                while (true)
                {
                    var input = Console.ReadKey(true).Key;
                    if (input != ConsoleKey.Escape)
                    {
                        continue;
                    }

                    break;
                }
            }
        }
Ejemplo n.º 31
0
        private void OnExit(ExitMessage message)
        {
            _logger.Log("game exited");

            _logger.Flush();

            Application.Quit();
        }
Ejemplo n.º 32
0
 private void OnExitMessage(ExitMessage obj)
 {
     Dispatcher.BeginInvoke((Action)Close);
 }
Ejemplo n.º 33
0
 /// <summary>
 ///     Channel_s the on exit message.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The e.</param>
 private void Channel_OnExitMessage(object sender, ExitMessage e)
 {
     Exit( );
 }
Ejemplo n.º 34
0
 protected virtual void Handle(ExitMessage message)
 {
 }
Ejemplo n.º 35
0
        private void OnExitMessage(ExitMessage message)
        {
            if (System.Windows.MessageBox.Show(this, "Are you are you want to quit?", "Quit", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                return;

            m_ForceQuit = true;
            this.Close();
        }