Ejemplo n.º 1
0
        void InputBTimer_Tick(object sender, EventArgs e)
        {
            byte value = MPUSB.ReadDigitalInPortB();

            string pValue          = Convert.ToString(value, 2).Substring(4, 1);
            bool   isButtonPressed = false;

            if (pValue == "0")
            {
                isButtonPressed = true;
            }

            //txtInputB.Text = Convert.ToString(value, 2).PadLeft(8,'0');

            string turnValue = Convert.ToString(value, 2).PadLeft(8, '0').Substring(0, 2);

            if (turnValue != oldTurnValue)
            {
                if (oldTurnValue == "11")
                {
                    if (turnValue == "10")
                    {
                        txtInputB.Text = "links";
                        if (isButtonPressed)
                        {
                            MoveLedsDown();
                        }
                    }
                    else if (turnValue == "01")
                    {
                        txtInputB.Text = "rechts";
                        if (isButtonPressed)
                        {
                            MoveLedsUp();
                        }
                    }
                    else if (oldTurnValue == "00")
                    {
                        if (turnValue == "10")
                        {
                            txtInputB.Text = "rechts";
                            if (isButtonPressed)
                            {
                                MoveLedsDown();
                            }
                        }
                        else if (turnValue == "01")
                        {
                            txtInputB.Text = "links";
                            if (isButtonPressed)
                            {
                                MoveLedsUp();
                            }
                        }
                    }
                }

                oldTurnValue = turnValue;
            }
        }
Ejemplo n.º 2
0
        void bg_DoWork(object sender, DoWorkEventArgs e)
        {
            BoardStatus oldStatus = null;

            while (true)
            {
                byte        portD     = (byte)MPUSB.ReadDigitalOutPortD();
                byte        portB     = (byte)MPUSB.ReadDigitalInPortB();
                BoardStatus newStatus = new BoardStatus();

                // ingedrukt = nul
                newStatus.Button1 = (portB & 1) == 0;
                newStatus.Button2 = (portB & 2) == 0;

                if (oldStatus != newStatus)
                {
                    Dispatcher.Invoke(new Action(() => {
                        chkButton1.IsChecked = newStatus.Button1;
                        chkButton2.IsChecked = newStatus.Button2;
                        lblDigitalB.Content  = Convert.ToString(portB, 2);
                        lblDigitalD.Content  = Convert.ToString(portD, 2);
                    }));
                }

                System.Threading.Thread.Sleep(100);
            }
        }
Ejemplo n.º 3
0
        void timerNew_Elapsed(object sender, ElapsedEventArgs e)
        {
            byte zotteKnopAb = MPUSB.ReadDigitalInPortB();

            zotteKnopAb = (byte)(zotteKnopAb >> 6);

            if (zotteKnopAb == zotteKnopAbOud)
            {
                return;
            }

            bool?draaiNaarLinks = null;

            if (zotteKnopAbOud == 0x3)  // 11b
            {
                if (zotteKnopAb == 0x2) // 10b
                {
                    draaiNaarLinks = true;
                }
                else
                {
                    draaiNaarLinks = false;
                }
            }
            else if (zotteKnopAbOud == 0x0) // 00
            {
                if (zotteKnopAb == 0x2)     // 10
                {
                    draaiNaarLinks = false;
                }
                else
                {
                    draaiNaarLinks = true;
                }
            }

            zotteKnopAbOud = zotteKnopAb;

            Dispatcher.Invoke(new Action(() => {
                if (draaiNaarLinks.HasValue)
                {
                    if (draaiNaarLinks.Value)
                    {
                        lblDraai.Content = "links";
                    }
                    else
                    {
                        lblDraai.Content = "rechts";
                    }
                }
            }));
        }
Ejemplo n.º 4
0
        void ButtonTimer_Tick(object sender, EventArgs e)
        {
            var b = MPUSB.ReadDigitalInPortB();


            string binary = Convert.ToString(b, 2);

            txtVersie.Text = binary.ToString();
            string button1 = binary.Substring(binary.Length - 1, 1);
            string button2 = binary.Substring(binary.Length - 2, 1);
            int    val1    = Convert.ToInt32(button1);
            int    val2    = Convert.ToInt32(button2);
        }
Ejemplo n.º 5
0
        private void getAck()
        {
            MPUSB.WriteDigitalOutPortD(1);
            MPUSB.Wait(1);
            MPUSB.WriteDigitalOutPortD(3);
            MPUSB.Wait(1);

            byte data = MPUSB.ReadDigitalInPortB();

            bool ack = (byte)(data & 32) != 0;

            if (ack)
            {
                lblStatus.Content = "Ack!";
            }
            else
            {
                lblStatus.Content = "No Ack!!";
            }
        }
Ejemplo n.º 6
0
 private void Button_ReadOutputs_Click(object sender, RoutedEventArgs e)
 {
     lblDigitalD.Content = Convert.ToString(MPUSB.ReadDigitalOutPortD(), 2);
     lblDigitalB.Content = Convert.ToString(MPUSB.ReadDigitalInPortB(), 2);
 }