private void OnPacketRecieved(object sender, MavlinkPacket e) { uint x = Mv.PacketsReceived; MavlinkMessage m = e.Message; if (m.GetType() == Hb.GetType()) { Hb = (Msg_heartbeat)e.Message; } if (m.GetType() == Ss.GetType()) { Ss = (Msg_sys_status)e.Message; } if (m.GetType() == Ps.GetType()) { Ps = (Msg_power_status)e.Message; } if (m.GetType() == At.GetType()) { At = (Msg_attitude)e.Message; } if (m.GetType() == Gps.GetType()) { Gps = (Msg_gps_raw_int)e.Message; } if (m.GetType() == Vfr.GetType()) { Vfr = (Msg_vfr_hud)e.Message; } if (m.GetType() == Rp.GetType()) { Rp = (Msg_raw_pressure)e.Message; } if (m.GetType() == Sp.GetType()) { Sp = (Msg_scaled_pressure)e.Message; PressureAbsolute = (int)(Sp.press_abs * 1000f); Temperature = Sp.temperature; PressureDifference = (int)(Sp.press_diff * 1000f); Total++; if (OnAtmosphericData != null) { OnAtmosphericData.Invoke(PressureAbsolute, PressureDifference, Temperature, Total); } } if (x > 0 && OnPacketCountGreaterThanZero != null) { OnPacketCountGreaterThanZero.Invoke(); } }
void Mv_PacketReceived(object sender, MavLink.MavlinkPacket e) { uint x = Mv.PacketsReceived; MavlinkMessage m = e.Message; if (m.GetType() == Hb.GetType()) { Hb = (Msg_heartbeat)e.Message; } if (m.GetType() == Ss.GetType()) { Ss = (Msg_sys_status)e.Message; } if (m.GetType() == Ps.GetType()) { Ps = (Msg_power_status)e.Message; } if (m.GetType() == At.GetType()) { At = (Msg_attitude)e.Message; } if (m.GetType() == Gps.GetType()) { Gps = (Msg_gps_raw_int)e.Message; } if (m.GetType() == Vfr.GetType()) { Vfr = (Msg_vfr_hud)e.Message; } if (m.GetType() == Rp.GetType()) { Rp = (Msg_raw_pressure)e.Message; } if (m.GetType() == Sp.GetType()) { Sp = (Msg_scaled_pressure)e.Message; Prs = (int)(Sp.press_abs * 1000f); Tep = Sp.temperature; Dif = (int)(Sp.press_diff * 1000f); /* * if (Sw == null) * { * Sw = new StreamWriter("c:\\Baro.csv"); * Sw.Write("\"Item\", \"Pressure\", \"Temp\", \"Difference\"\r\n"); * } * String S = String.Format("{0}, {1}, {2}, {3}\r\n", Total++, Prs, Tep, Dif); * Sw.Write(S);*/ } if (x > 0) { if (MavLinkReader.ActiveForm != null) { MavLinkReader.ActiveForm.Invalidate(); } } }
void Mv_PacketReceived(object sender, MavLink.MavlinkPacket e) { uint x = Mv.PacketsReceived; Systemid = e.SystemId; Componentid = e.ComponentId; Sequence = e.SequenceNumber; MavlinkMessage m = e.Message; if (m.GetType() == Hb.GetType()) { Hb = (Msg_heartbeat)e.Message; } if (m.GetType() == Ss.GetType()) { Ss = (Msg_sys_status)e.Message; } if (m.GetType() == Ps.GetType()) { Ps = (Msg_power_status)e.Message; } if (m.GetType() == At.GetType()) { At = (Msg_attitude)e.Message; } if (m.GetType() == Gps.GetType()) { Gps = (Msg_gps_raw_int)e.Message; } if (m.GetType() == Vfr.GetType()) { Vfr = (Msg_vfr_hud)e.Message; } if (m.GetType() == Rp.GetType()) { Rp = (Msg_raw_pressure)e.Message; } if (m.GetType() == Sp.GetType()) { Sp = (Msg_scaled_pressure)e.Message; Prs = (int)(Sp.press_abs * 1000f); Tep = Sp.temperature; Dif = (int)(Sp.press_diff * 1000f); /* * Special log of Barometric data to the D drive * Can be disable if not needed */ ut.LogPressure(Sp); } if (m.GetType() == Ca.GetType()) { Ca = (Msg_command_ack)e.Message; } if (m.GetType() == St.GetType()) { St = (Msg_statustext)e.Message; } if (m.GetType() == Mc.GetType()) { Mc = (Msg_mission_count)e.Message; MI = 0; GetMissionValues.RunWorkerAsync(); } if (m.GetType() == Mi[0].GetType()) { Mi[MI++] = (Msg_mission_item)e.Message; if (MI >= Mc.count) { MI = -1; } } if (x > 0) { if (MavLinkReader.ActiveForm != null) { MavLinkReader.ActiveForm.Invalidate(); } } }