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; } }
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); } }
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"; } } })); }
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); }
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!!"; } }
private void Button_ReadOutputs_Click(object sender, RoutedEventArgs e) { lblDigitalD.Content = Convert.ToString(MPUSB.ReadDigitalOutPortD(), 2); lblDigitalB.Content = Convert.ToString(MPUSB.ReadDigitalInPortB(), 2); }