/// <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; } } }
/// <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; } } }
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); }
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); }
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"); }
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; } }
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); } }
private void OnExit(ExitMessage message) { _logger.Log("game exited"); _logger.Flush(); Application.Quit(); }
public void Exit() { CheckConfig(); var exitMessage = new ExitMessage(); Send(exitMessage); }
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; } }
/// <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); } }
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); }
/// <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(); }
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; } }
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); }
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"); }
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)); } }
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); });
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); }
public void Handle(ExitMessage message) { _application.Quit(); }
//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); }
void Awake() { _instance = this; gameObject.SetActive (false); }
private void CloseWindow(ExitMessage action) { this.Close(); Messenger.Default.Unregister <ExitMessage>(this, "DossierFinancement"); }
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; } }
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; } } }
private void OnExit(ExitMessage message) { _logger.Log("game exited"); _logger.Flush(); Application.Quit(); }
private void OnExitMessage(ExitMessage obj) { Dispatcher.BeginInvoke((Action)Close); }
/// <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( ); }
protected virtual void Handle(ExitMessage message) { }
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(); }