private void UpdateData() { try { if (DesignMode) { return; } if (!dirty) { return; } SuspendLayout(); QuadMotorValues motorValues = drone.Data.MotorValues; SetServoValues(motorValues.FrontLeft, motorValues.FrontRight, motorValues.BackLeft, motorValues.BackRight); UpdateServoValue(motorValues.FrontLeft, motorValues.FrontRight, motorValues.BackLeft, motorValues.BackRight); UpdateEnabled(drone.Data.State); ResumeLayout(); dirty = false; } catch (Exception e) { ErrorHandler.HandleException(drone, e); } }
public DroneData(DroneState state, QuadMotorValues motorValues, SensorData sensor, float batteryVoltage, int wifiRssi) { this.State = state; this.MotorValues = motorValues; this.Sensor = sensor; this.BatteryVoltage = batteryVoltage; this.WifiRssi = wifiRssi; }
private void OnDroneDataChange(object sender, DataChangedEventArgs args) { if (InvokeRequired) { Invoke(new EventHandler <DataChangedEventArgs>(OnDroneDataChange), sender, args); return; } QuadMotorValues motorValues = args.Data.MotorValues; SetServoValues(motorValues.FrontLeft, motorValues.FrontRight, motorValues.BackLeft, motorValues.BackRight); UpdateServoValue(motorValues.FrontLeft, motorValues.FrontRight, motorValues.BackLeft, motorValues.BackRight); UpdateEnabled(args.Data.State); }
public PacketSetRawValues(QuadMotorValues values) { this.Values = values; }
public PacketSetRawValues(ushort fl, ushort fr, ushort bl, ushort br) { this.Values = new QuadMotorValues(fl, fr, bl, br); }
private void HandleDataPacket(byte[] packet) { using (MemoryStream stream = new MemoryStream(packet)) { PacketBuffer buffer = new PacketBuffer(stream); if (buffer.Size < 3 || buffer.ReadByte() != 'F' || buffer.ReadByte() != 'L' || buffer.ReadByte() != 'Y') return; int revision = buffer.ReadInt(); DataPacketType type = (DataPacketType)buffer.ReadByte(); lastDataTime = Environment.TickCount; switch (type) { case DataPacketType.Drone: if (!CheckRevision(lastDataDroneRevision, revision)) return; DroneState state = (DroneState)buffer.ReadByte(); QuadMotorValues motorValues = new QuadMotorValues(buffer); GyroData gyro = new GyroData(buffer); float batteryVoltage = buffer.ReadFloat(); int wifiRssi = buffer.ReadInt(); Data = new DroneData(state, motorValues, gyro, batteryVoltage, wifiRssi); lastDataDroneRevision = revision; break; case DataPacketType.Log: if (!CheckRevision(lastDataLogRevision, revision)) return; int lines = buffer.ReadInt(); for (int i = 0; i < lines; i++) { string msg = buffer.ReadString(); if (OnLogMessage == null) Log.Info("[Drone] " + msg); else OnLogMessage(msg + Environment.NewLine); } lastDataLogRevision = revision; break; case DataPacketType.Debug: if (!CheckRevision(lastDataDebugRevision, revision)) return; DebugData = new DebugData(buffer); lastDataDebugRevision = revision; break; } } }
private void UpdateGraph(QuadGraphControl graph, QuadMotorValues values) { graph.UpdateValues(values.FrontLeft, values.FrontRight, values.BackLeft, values.BackRight); }