/*private void connectViaMonoBrick()
         * {
         *  var ev3 = new Brick<Sensor, Sensor, Sensor, Sensor>("COM3");
         *  try
         *  {
         *      ev3.Connection.Open();
         *      ev3.Mailbox.Send("Race","GO");
         *      Console.WriteLine("sending ev3 message");
         *  }
         *  catch (Exception e)
         *  {
         *      Console.WriteLine("Unable to connect");
         *      Console.WriteLine(e.StackTrace);
         *      Console.WriteLine("Error: " + e.Message);
         *  }
         *  finally
         *  {
         *      Console.WriteLine("closing ev3 connection");
         *      ev3.Connection.Close();
         *  }
         * }*/

        public void sendEV3Message(string header, string message)
        {
            if (header == "Race")
            {
                Console.WriteLine("trying to send message: " + message + " With header: " + header);
            }
            if (mEV3Messenger.IsConnected)
            {
                mEV3Messenger.SendMessage(header, message);
                Console.WriteLine(mPlayerId + " " + header + " " + message);
            }
        }
示例#2
0
        //method

        public void SendInstruction(string order)
        {
            // Send a message to the Brick with title: MESSAGE and the message
            if (messenger.SendMessage("MESSAGE", order))
            {
                //update output box
                EV3Message message = messenger.ReadMessage();
                if (message != null)
                {
                    status = message.ValueAsText.Split();

                    switch (status[3])
                    {
                    default:
                        status[3] = "Runway 1";
                        break;

                    case "2":
                        status[3] = "Pick-up Zone";
                        break;

                    case "3":
                        status[3] = "Runway 2";
                        break;

                    case "4":
                        status[3] = "Drop-off Zone";
                        break;

                    case "5":
                        status[3] = "Runway 3";
                        break;
                    }


                    // output list clear and update
                    outputlistBox.Items.Clear();
                    outputlistBox.Items.Add("AGV: " + status[0]);
                    outputlistBox.Items.Add("Load: " + status[1]);
                    outputlistBox.Items.Add("Position: " + status[2]);
                    outputlistBox.Items.Add("# of proxy triggers: " + status[3]);
                    //outputlistBox.TopIndex = outputlistBox.Items.Count - 1; // no need for this


                    //button disabling & enabling to default state

                    btnStart.Enabled = true;
                    btnPause.Enabled = false;
                    btnStop.Enabled  = false;
                }
            }
        }
示例#3
0
        private void inputButton_Click(object sender, EventArgs e)
        {
            string txtMsg = inputTextBox.Text;

            // Make sure a message has been typed
            if (!String.IsNullOrWhiteSpace(txtMsg))
            {
                // Send a message to the Brick with title: MESSAGE and the message
                if (messenger.SendMessage("MESSAGE", txtMsg))
                {
                    inputTextBox.Text = "";
                    MessageBox.Show("The message has been send to the Brick");
                }
                else
                {
                    MessageBox.Show("Unable to send the message to the Brick. Please try again.");
                }
            }
            else
            {
                MessageBox.Show("Please type a message in the above textbox for the Brick");
            }
        }
示例#4
0
 private void button2_Click(object sender, EventArgs e)
 {
     messenger.SendMessage("NumberMailbox", 2);
     messenger2.SendMessage("NumberMailbox", 2);
 }
示例#5
0
        private void sendMessageButton_Click(object sender, EventArgs e)
        {
            if (!messenger.IsConnected)
            {
                MessageBox.Show("Not connected.");
                return;
            }

            string mailboxTitle = mailboxTitleTextBox.Text;
            string message      = messageTextBox.Text;

            if (mailboxTitle == "")
            {
                MessageBox.Show("No mailbox title entered. Please enter a mailbox title.");
                return;
            }

            if (message == "")
            {
                MessageBox.Show("No message entered. Please enter a message.");
                return;
            }

            switch (messageTypeComboBox.Text)
            {
            case "Text":
            {
                messenger.SendMessage(mailboxTitle, message);
            }
            break;

            case "Number":
            {
                float numberMessage;
                if (float.TryParse(message, out numberMessage))
                {
                    messenger.SendMessage(mailboxTitle, numberMessage);
                }
                else
                {
                    MessageBox.Show("Please enter a valid single precision floating point number (float).");
                }
            }
            break;

            case "Logic":
            {
                bool logicMessage;
                if (bool.TryParse(message, out logicMessage))
                {
                    messenger.SendMessage(mailboxTitle, logicMessage);
                }
                else
                {
                    MessageBox.Show("Please enter a valid logic value (\"True\"/\"False\").");
                }
            }
            break;

            default:
                MessageBox.Show("Unknown message type.");
                break;
            }
        }
示例#6
0
 private void button2_Click(object sender, EventArgs e)
 {
     messenger.SendMessage("MESSAGE", "stop");
 }
示例#7
0
        private void MessageTimer_Tick(object sender, EventArgs e)
        {
            lboxPlayers.Items.Refresh();
            labPlayerName.Content  = ((Player)lboxPlayers.Items[lboxPlayers.SelectedIndex]).Name;
            labPlayerScore.Content = ((Player)lboxPlayers.Items[lboxPlayers.SelectedIndex]).Score.ToString();

            labJackScore.Content = ((Player)lboxPlayers.Items[lboxPlayers.Items.Count - 1]).Score.ToString();
            //Get the incoming messages
            // Get the messages with 1 sec interval
            if (ev3Messenger.IsConnected)
            {
                EV3Message message = ev3Messenger.ReadMessage();
                if (message != null)
                {
                    if (message.MailboxTitle == "Finished")
                    {
                        if (message.ValueAsLogic)
                        {
                            this.IsEnabled = true;
                            this.Tag       = "0";
                        }
                    }


                    if (message.MailboxTitle == "CardValue1")
                    {
                        val1 = message.ValueAsNumber;
                    }

                    if (message.MailboxTitle == "CardValue2" && val1 != 0)
                    {
                        #region get card value
                        val2 = message.ValueAsNumber;
                        string[] cardColors = new string[2];

                        float ActualValue = 0;
                        //Color values
                        int valueBlack = 0;
                        int valueBlue  = 6;
                        int valueGreen = 11;
                        int valueRed   = 16;

                        if (val1 >= valueBlack && val1 < valueBlue)
                        {
                            cardColors[0] = "Black";
                        } // Black
                        else if (val1 >= valueBlue && val1 < valueGreen)
                        {
                            cardColors[0] = "Blue";
                        } // Blue
                        else if (val1 >= valueGreen && val1 < valueRed)
                        {
                            cardColors[0] = "Green";
                        } // Green
                        else if (val1 >= valueRed && val1 <= 100)
                        {
                            cardColors[0] = "Red";
                        } // Red

                        if (val2 >= valueBlack && val2 < valueBlue)
                        {
                            cardColors[1] = "Black";
                        } // Black
                        else if (val2 >= valueBlue && val2 < valueGreen)
                        {
                            cardColors[1] = "Blue";
                        } // Blue
                        else if (val2 >= valueGreen && val2 < valueRed)
                        {
                            cardColors[1] = "Green";
                        } // Green
                        else if (val2 >= valueRed && val2 <= 100)
                        {
                            cardColors[1] = "Red";
                        } // Red


                        // Zwart : 0 - 5
                        // Blauw : 6 - 12
                        // Groen : 13 - 25
                        // Rood : 26-100

                        if (cardColors[0] == "Blue" && cardColors[1] == "Blue")
                        {
                            ActualValue = 11;
                        }
                        else if (cardColors[0] == "Green" && cardColors[1] == "Green")
                        {
                            ActualValue = 5;
                        }
                        else if (cardColors[0] == "Black" && cardColors[1] == "Black")
                        {
                            ActualValue = 8;
                        }
                        else if (cardColors[0] == "Red" && cardColors[1] == "Red")
                        {
                            ActualValue = 10;
                        }
                        else if (cardColors[0] == "Blue" && cardColors[1] == "Green" || cardColors[1] == "Blue" && cardColors[0] == "Green")
                        {
                            ActualValue = 2;
                        }
                        else if (cardColors[0] == "Black" && cardColors[1] == "Blue" || cardColors[1] == "Black" && cardColors[0] == "Blue")
                        {
                            ActualValue = 3;
                        }
                        else if (cardColors[0] == "Blue" && cardColors[1] == "Red" || cardColors[1] == "Blue" && cardColors[0] == "Red")
                        {
                            ActualValue = 4;
                        }
                        else if (cardColors[0] == "Black" && cardColors[1] == "Green" || cardColors[1] == "Black" && cardColors[0] == "Green")
                        {
                            ActualValue = 6;
                        }
                        else if (cardColors[0] == "Green" && cardColors[1] == "Red" || cardColors[1] == "Green" && cardColors[0] == "Red")
                        {
                            ActualValue = 7;
                        }
                        else if (cardColors[0] == "Black" && cardColors[1] == "Red" || cardColors[1] == "Black" && cardColors[0] == "Red")
                        {
                            ActualValue = 9;
                        }

                        //MessageBox.Show(ActualValue.ToString() + "\n 1:" + val1.ToString() + "\n 2:" + val2.ToString());

                        ev3Messenger.SendMessage("Gelezen", "True");

                        val1 = 0;
                        val2 = 0;

                        #endregion

                        if (this.Tag.ToString() == "1")
                        {
                            ((Player)lboxPlayers.Items[playerTurn]).Cards.Add(ActualValue);
                            if (playerTurn == lboxPlayers.Items.Count - 1)
                            {
                                playerTurn = 0;
                            }
                            else
                            {
                                playerTurn++;
                            }
                            lboxPlayers.Items.Refresh();
                            Thread.Sleep(1000);
                        }
                        else
                        {
                            ((Player)lboxPlayers.Items[lboxPlayers.SelectedIndex]).Cards.Add(ActualValue);
                            lboxPlayers.Items.Refresh();

                            if (((Player)lboxPlayers.Items[lboxPlayers.SelectedIndex]).Dealer == true)
                            {
                                JacksTurn(((Player)lboxPlayers.Items[lboxPlayers.SelectedIndex]));
                            }
                        }

                        //read card in C#
                        ev3Messenger.SendMessage("Gelezen", "True");

                        if (((Player)lboxPlayers.Items[playerTurn]).Score >= 21)
                        {
                            butHit.IsEnabled = false;
                        }
                    }

                    if (message.MailboxTitle == "CardReady")
                    {
                    }
                }
            }
        }
 public static void SendMessage(string title, string value)
 {
     messenger.SendMessage(title, value);
 }
示例#9
0
 private void button1_Click_1(object sender, EventArgs e)
 {
     messenger.SendMessage("STATUS", "start");
 }