//[DebuggerHidden] public override bool Init() { loopratehz = 1; if (File.Exists(statsfile)) { try { System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(statsoverall.GetType()); var file = new System.IO.StreamReader(statsfile); statsoverall = (whattostat)reader.Deserialize(file); file.Close(); } catch { } } MainV2.instance.Invoke((Action) delegate { System.Windows.Forms.ToolStripMenuItem men = new System.Windows.Forms.ToolStripMenuItem() { Text = "Stats" }; men.Click += men_Click; Host.FDMenuMap.Items.Add(men); }); statsoverall.appstarts++; return(true); }
//[DebuggerHidden] public override bool Init() { loopratehz = 1; if (File.Exists(statsfile)) { try { System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(statsoverall.GetType()); var file = new System.IO.StreamReader(statsfile); statsoverall = (whattostat)reader.Deserialize(file); file.Close(); } catch { } } MainV2.instance.Invoke((Action) delegate { System.Windows.Forms.ToolStripMenuItem men = new System.Windows.Forms.ToolStripMenuItem() { Text = "Stats" }; men.Click += men_Click; Host.FDMenuMap.Items.Add(men); }); statsoverall.appstarts++; return true; }
void dostats(whattostat stats) { // connects if (connectedstate != Host.comPort.BaseStream.IsOpen) { if (Host.comPort.BaseStream.IsOpen == true) { stats.lastconnect = DateTime.Now; stats.connects++; connectedstate = true; } else { stats.lastdisconnect = DateTime.Now; connectedstate = false; } } // if we are not connected, dont do anything if (!Host.comPort.BaseStream.IsOpen) { return; } // armed time if (Host.cs.armed) { stats.armedtime++; } // distance traveled if (Host.cs.armed && Host.cs.gpsstatus >= 3 && (Host.cs.ch3percent > 12 || Host.cs.groundspeed > 3.0)) { stats.timeInAir++; if (lastpos != null && lastpos.Lat != 0 && lastpos.Lng != 0) { double dist = lastpos.GetDistance(new PointLatLngAlt(Host.cs.lat, Host.cs.lng, Host.cs.altasl, "")); // max jump size is 400 m if (dist < 400) { stats.distTraveledmeters += dist; } lastpos = new PointLatLngAlt(Host.cs.lat, Host.cs.lng, Host.cs.altasl, ""); } else { lastpos = new PointLatLngAlt(Host.cs.lat, Host.cs.lng, Host.cs.altasl, ""); } } // altitude gained if (Host.cs.armed && Host.cs.gpsstatus >= 3) { stats.maxalt = Math.Max(Host.cs.altasl, stats.maxalt); stats.minalt = Math.Min(Host.cs.altasl, stats.minalt); stats.maxspeed = Math.Max(Host.cs.groundspeed, stats.maxspeed); stats.avgspeed = Host.cs.groundspeed; } // gps lock time if (Host.cs.gpsstatus >= 3) { stats.gpslocktime++; } if (Host.cs.battery_usedmah > 0) { stats.mahused += Host.cs.battery_usedmah - lastmahused; lastmahused = Host.cs.battery_usedmah; } else { lastmahused = 0; } // bytes received //stats["bytesreceived"] += Host.comPort.BytesReceived.Buffer(TimeSpan.FromSeconds(1)).Select(bytes => bytes.Sum()); // bytes sent //stats["bytessent"] += Host.comPort.BytesSent.Buffer(TimeSpan.FromSeconds(1)).Select(bytes => bytes.Sum()); // connect time if (Host.comPort.BaseStream.IsOpen) { stats.connectedtime++; } return; }
void dostats(whattostat stats) { // connects if (connectedstate != Host.comPort.BaseStream.IsOpen) { if (Host.comPort.BaseStream.IsOpen == true) { stats.lastconnect = DateTime.Now; stats.connects++; connectedstate = true; } else { stats.lastdisconnect = DateTime.Now; connectedstate = false; } } // if we are not connected, dont do anything if (!Host.comPort.BaseStream.IsOpen) return; // armed time if (Host.cs.armed) { stats.armedtime++; } // distance traveled if (Host.cs.armed && Host.cs.gpsstatus == 3 && (Host.cs.ch3percent > 12 || Host.cs.groundspeed > 3.0)) { stats.timeInAir++; if (lastpos != null && lastpos.Lat != 0 && lastpos.Lng != 0) { double dist = lastpos.GetDistance(new PointLatLngAlt(Host.cs.lat, Host.cs.lng, Host.cs.altasl, "")); // max jump size is 400 m if (dist < 400) { stats.distTraveledmeters += dist; } lastpos = new PointLatLngAlt(Host.cs.lat, Host.cs.lng, Host.cs.altasl, ""); } else { lastpos = new PointLatLngAlt(Host.cs.lat, Host.cs.lng, Host.cs.altasl, ""); } } // altitude gained if (Host.cs.armed && Host.cs.gpsstatus == 3) { stats.maxalt = Math.Max(Host.cs.altasl,stats.maxalt); stats.minalt = Math.Min(Host.cs.altasl,stats.minalt); stats.maxspeed = Math.Max(Host.cs.groundspeed, stats.maxspeed); stats.avgspeed = Host.cs.groundspeed; } // gps lock time if (Host.cs.gpsstatus == 3) { stats.gpslocktime++; } if (Host.cs.battery_usedmah > 0) { stats.mahused += Host.cs.battery_usedmah - lastmahused; lastmahused = Host.cs.battery_usedmah; } else { lastmahused = 0; } // bytes received //stats["bytesreceived"] += Host.comPort.BytesReceived.Buffer(TimeSpan.FromSeconds(1)).Select(bytes => bytes.Sum()); // bytes sent //stats["bytessent"] += Host.comPort.BytesSent.Buffer(TimeSpan.FromSeconds(1)).Select(bytes => bytes.Sum()); // connect time if (Host.comPort.BaseStream.IsOpen) { stats.connectedtime++; } return; }