public MovementHexapod() { //---Initializing modules---// this.extender = new GTM.GHIElectronics.Extender(11); this.rs485 = new GTM.GHIElectronics.RS485(this.extender.ExtenderSocketNumber); serie = new GT.Interfaces.Serial(GT.Socket.GetSocket(11, true, null, string.Empty), 200000, GT.Interfaces.Serial.SerialParity.None, GT.Interfaces.Serial.SerialStopBits.One, 8, GT.Interfaces.Serial.HardwareFlowControl.NotRequired, null); serie.Open(); S11P3dirAx12 = extender.SetupDigitalOutput(GT.Socket.Pin.Three, true); //False pour lire, True pour écrire S11P3dirAx12.Write(true); }
void ProgramStarted() { // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging. Debug.Print("Program Started"); displayText("Debug: ", GT.Color.Red); serie = new GT.Interfaces.Serial(GT.Socket.GetSocket(11, true, null, string.Empty), 200000, GT.Interfaces.Serial.SerialParity.None, GT.Interfaces.Serial.SerialStopBits.One, 8, GT.Interfaces.Serial.HardwareFlowControl.NotRequired, null); serie.Open(); xBee.Configure(115200, GT.Interfaces.Serial.SerialParity.None, GT.Interfaces.Serial.SerialStopBits.One, 8); xBee.SerialLine.Open(); xBee.SerialLine.DataReceived += new GT.Interfaces.Serial.DataReceivedEventHandler(SerialLine_DataReceived); button.ButtonPressed += new Button.ButtonEventHandler(button_ButtonPressed); button.ButtonReleased += new Button.ButtonEventHandler(button_ButtonReleased); S11P3dirAx12 = extender.SetupDigitalOutput(GT.Socket.Pin.Three, true); //False pour lire, True pour écrire S11P3dirAx12.Write(true); //Output to see if the controller has received the frame xBee.SerialLine.WriteLine("Connected"); }
void SerialLine_DataReceived(GT.Interfaces.Serial sender, System.IO.Ports.SerialData data) { //Communication avec l'IHM en xBee var font = Resources.GetFont(Resources.FontResources.NinaB); string msg = receiveBuffXbee(); string rotate = "tourner"; string speed = "vitesse"; string avancer = "avancer"; string reculer = "reculer"; string droite = "droite"; string gauche = "gauche"; bool command_rotate = true; bool command_speed = true; bool command_avancer = true; bool command_reculer = true; bool command_droite = true; bool command_gauche = true; for (int i = 0; i < rotate.Length; i++) { if ((msg[i] != rotate[i]) || (msg.Length > 10)) { command_rotate = false; break; } } for (int i = 0; i < speed.Length; i++) { if ((msg[i] != speed[i]) || (msg.Length > 10)) { command_speed = false; break; } } for (int i = 0; i < avancer.Length; i++) { if ((msg[i] != avancer[i] || (msg.Length > 10))) { command_avancer = false; break; } } for (int i = 0; i < reculer.Length; i++) { if ((msg[i] != reculer[i] || (msg.Length > 10))) { command_reculer = false; break; } } for (int i = 0; i < droite.Length; i++) { if ((msg[i] != droite[i] || (msg.Length > 10))) { command_droite = false; break; } } for (int i = 0; i < gauche.Length; i++) { if ((msg[i] != gauche[i] || (msg.Length > 10))) { command_gauche = false; break; } } if ((command_gauche == true) && (command_speed == false) && (command_rotate == false)) { int value = System.Convert.ToInt16(msg.Substring(6)); displayText("Gauche", GT.Color.White); turnLeft(); Thread.Sleep(200); } if ((command_droite == true) && (command_speed == false) && (command_rotate == false)) { int value = System.Convert.ToInt16(msg.Substring(6)); displayText("Droite" + value, GT.Color.White); turnRight(); Thread.Sleep(200); } if ((command_reculer == true) && (command_speed == false) && (command_rotate == false)) { int value = System.Convert.ToInt16(msg.Substring(7)); displayText("Reculer", GT.Color.White); goBackward(); Thread.Sleep(200); } if ((command_avancer == true) && (command_speed == false) && (command_rotate == false)) { int value = System.Convert.ToInt16(msg.Substring(7)); displayText("Avancer", GT.Color.White); goForward(); Thread.Sleep(200); } if ((command_rotate == true) && (command_speed == false)) { int value = System.Convert.ToInt16(msg.Substring(7)); displayText("Rotation: " + value + " degres", GT.Color.White); Thread.Sleep(200); } if ((command_speed == true) && (command_rotate == false)) { int value = System.Convert.ToInt16(msg.Substring(7)); displayText("Speed: " + value + " ms", GT.Color.White); setSpeed(value, 0x01); Thread.Sleep(10); setSpeed(value, 0x02); Thread.Sleep(200); } }