mirror of https://github.com/ArduPilot/ardupilot
APM Planner 1.1.5
fix bat % overflow fix tlog > kml for ac modify georef image
This commit is contained in:
parent
958693ee5e
commit
ae1c6ebde3
|
@ -82,7 +82,7 @@ namespace ArdupilotMega
|
||||||
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
|
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
|
||||||
foreach (ManagementObject obj2 in searcher.Get())
|
foreach (ManagementObject obj2 in searcher.Get())
|
||||||
{
|
{
|
||||||
Console.WriteLine("Dependant : " + obj2["Dependent"]);
|
//Console.WriteLine("Dependant : " + obj2["Dependent"]);
|
||||||
|
|
||||||
if (obj2["Dependent"].ToString().Contains(@"USB\\VID_2341&PID_0010"))
|
if (obj2["Dependent"].ToString().Contains(@"USB\\VID_2341&PID_0010"))
|
||||||
{
|
{
|
||||||
|
|
|
@ -145,6 +145,9 @@
|
||||||
<Reference Include="KMLib">
|
<Reference Include="KMLib">
|
||||||
<HintPath>..\..\..\..\..\Desktop\DIYDrones\kml-library\KmlTestbed\bin\Release\KMLib.dll</HintPath>
|
<HintPath>..\..\..\..\..\Desktop\DIYDrones\kml-library\KmlTestbed\bin\Release\KMLib.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="MetaDataExtractor">
|
||||||
|
<HintPath>..\..\..\..\..\Desktop\DIYDrones\myquad\MetaDataExtractorCSharp240d\bin\Release\MetaDataExtractor.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.DirectX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
|
<Reference Include="Microsoft.DirectX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\..\..\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.dll</HintPath>
|
<HintPath>..\..\..\..\..\..\..\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.dll</HintPath>
|
||||||
|
|
|
@ -11,6 +11,6 @@
|
||||||
<UpdateUrlHistory />
|
<UpdateUrlHistory />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ReferencePath>C:\Users\hog\Desktop\DIYDrones\myquad\greatmaps_e1bb830a18a3\Demo.WindowsForms\bin\Debug\;C:\Users\hog\Desktop\DIYDrones\myquad\sharpkml\SharpKml\bin\Release\</ReferencePath>
|
<ReferencePath>C:\Users\hog\Desktop\DIYDrones\myquad\greatmaps_e1bb830a18a3\Demo.WindowsForms\bin\Debug\;C:\Users\hog\Desktop\DIYDrones\myquad\sharpkml\SharpKml\bin\Release\;C:\Users\hog\Desktop\DIYDrones\myquad\MetaDataExtractorCSharp240d\bin\Release\</ReferencePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -129,7 +129,7 @@ namespace ArdupilotMega
|
||||||
//battery
|
//battery
|
||||||
public float battery_voltage { get { return _battery_voltage; } set { _battery_voltage = value / 1000; } }
|
public float battery_voltage { get { return _battery_voltage; } set { _battery_voltage = value / 1000; } }
|
||||||
private float _battery_voltage;
|
private float _battery_voltage;
|
||||||
public float battery_remaining { get { return _battery_remaining; } set { _battery_remaining = value / 1000; } }
|
public float battery_remaining { get { return _battery_remaining; } set { _battery_remaining = value / 1000; if (_battery_remaining < 0) _battery_remaining = 0; } }
|
||||||
private float _battery_remaining;
|
private float _battery_remaining;
|
||||||
|
|
||||||
// HIL
|
// HIL
|
||||||
|
|
|
@ -123,7 +123,7 @@
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="pictureBoxAPM.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="pictureBoxAPM.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>45, -9</value>
|
<value>7, -9</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pictureBoxAPM.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="pictureBoxAPM.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>190, 190</value>
|
<value>190, 190</value>
|
||||||
|
@ -151,7 +151,7 @@
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pictureBoxAPMHIL.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="pictureBoxAPMHIL.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>45, 184</value>
|
<value>7, 184</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pictureBoxAPMHIL.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="pictureBoxAPMHIL.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>190, 190</value>
|
<value>190, 190</value>
|
||||||
|
@ -340,7 +340,7 @@
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lbl_AP.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="lbl_AP.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>42, 168</value>
|
<value>4, 168</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lbl_AP.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="lbl_AP.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>190, 13</value>
|
<value>190, 13</value>
|
||||||
|
@ -400,7 +400,7 @@
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lbl_APHil.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="lbl_APHil.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>42, 361</value>
|
<value>4, 361</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lbl_APHil.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="lbl_APHil.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>190, 13</value>
|
<value>190, 13</value>
|
||||||
|
@ -679,7 +679,7 @@
|
||||||
<value>BUT_setup</value>
|
<value>BUT_setup</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_setup.Type" xml:space="preserve">
|
<data name=">>BUT_setup.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
|
<value>ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_setup.Parent" xml:space="preserve">
|
<data name=">>BUT_setup.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -700,6 +700,6 @@
|
||||||
<value>Firmware</value>
|
<value>Firmware</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
|
<value>System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -8,8 +8,8 @@
|
||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FlightData));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FlightData));
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.goHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.goHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.pointCameraHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.pointCameraHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -1213,8 +1213,8 @@
|
||||||
//
|
//
|
||||||
// dataGridViewImageColumn1
|
// dataGridViewImageColumn1
|
||||||
//
|
//
|
||||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||||
this.dataGridViewImageColumn1.DefaultCellStyle = dataGridViewCellStyle3;
|
this.dataGridViewImageColumn1.DefaultCellStyle = dataGridViewCellStyle1;
|
||||||
resources.ApplyResources(this.dataGridViewImageColumn1, "dataGridViewImageColumn1");
|
resources.ApplyResources(this.dataGridViewImageColumn1, "dataGridViewImageColumn1");
|
||||||
this.dataGridViewImageColumn1.Image = global::ArdupilotMega.Properties.Resources.up;
|
this.dataGridViewImageColumn1.Image = global::ArdupilotMega.Properties.Resources.up;
|
||||||
this.dataGridViewImageColumn1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
this.dataGridViewImageColumn1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
||||||
|
@ -1222,8 +1222,8 @@
|
||||||
//
|
//
|
||||||
// dataGridViewImageColumn2
|
// dataGridViewImageColumn2
|
||||||
//
|
//
|
||||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||||
this.dataGridViewImageColumn2.DefaultCellStyle = dataGridViewCellStyle4;
|
this.dataGridViewImageColumn2.DefaultCellStyle = dataGridViewCellStyle2;
|
||||||
resources.ApplyResources(this.dataGridViewImageColumn2, "dataGridViewImageColumn2");
|
resources.ApplyResources(this.dataGridViewImageColumn2, "dataGridViewImageColumn2");
|
||||||
this.dataGridViewImageColumn2.Image = global::ArdupilotMega.Properties.Resources.down;
|
this.dataGridViewImageColumn2.Image = global::ArdupilotMega.Properties.Resources.down;
|
||||||
this.dataGridViewImageColumn2.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
this.dataGridViewImageColumn2.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
||||||
|
|
|
@ -1078,6 +1078,11 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
private void BUT_log2kml_Click(object sender, EventArgs e)
|
private void BUT_log2kml_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if (DialogResult.Cancel == Common.MessageShowAgain("Tlog to KML Firmware Version", "When converting logs, ensure your Firmware version is set correctly.\n(Near your com port selection.)"))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Form frm = new MavlinkLog();
|
Form frm = new MavlinkLog();
|
||||||
MainV2.fixtheme(frm);
|
MainV2.fixtheme(frm);
|
||||||
frm.ShowDialog();
|
frm.ShowDialog();
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2609,7 +2609,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MessageBox.Show("Please Connect/wait for lock, and click here to set your home to your current location");
|
MessageBox.Show("If you're at the field, connect to your APM and wait for GPS lock. Then click 'Home Location' link to set home to your location");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2865,7 +2865,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
private void BUT_zoomto_Click(object sender, EventArgs e)
|
private void BUT_zoomto_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string place = "Perth, Australia";
|
string place = "Perth Airport, Australia";
|
||||||
if (DialogResult.OK == Common.InputBox("Location", "Enter your location", ref place))
|
if (DialogResult.OK == Common.InputBox("Location", "Enter your location", ref place))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -2932,6 +2932,9 @@ namespace ArdupilotMega.GCSViews
|
||||||
{
|
{
|
||||||
routes.Markers.Clear();
|
routes.Markers.Clear();
|
||||||
|
|
||||||
|
if (MainV2.cs.lat == 0 || MainV2.cs.lng == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
PointLatLng currentloc = new PointLatLng(MainV2.cs.lat, MainV2.cs.lng);
|
PointLatLng currentloc = new PointLatLng(MainV2.cs.lat, MainV2.cs.lng);
|
||||||
|
|
||||||
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
||||||
|
|
|
@ -2073,7 +2073,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
if (bpstime.Second != DateTime.Now.Second && !logreadmode)
|
if (bpstime.Second != DateTime.Now.Second && !logreadmode)
|
||||||
{
|
{
|
||||||
Console.WriteLine("bps {0} loss {1} left {2} mem {3}", bps1, synclost, BaseStream.BytesToRead, System.GC.GetTotalMemory(false));
|
Console.Write("bps {0} loss {1} left {2} mem {3} \n", bps1, synclost, BaseStream.BytesToRead, System.GC.GetTotalMemory(false));
|
||||||
bps2 = bps1; // prev sec
|
bps2 = bps1; // prev sec
|
||||||
bps1 = 0; // current sec
|
bps1 = 0; // current sec
|
||||||
bpstime = DateTime.Now;
|
bpstime = DateTime.Now;
|
||||||
|
|
|
@ -39,12 +39,22 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
private void writeKML(string filename)
|
private void writeKML(string filename)
|
||||||
{
|
{
|
||||||
|
SharpKml.Dom.AltitudeMode altmode = SharpKml.Dom.AltitudeMode.Absolute;
|
||||||
|
|
||||||
|
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
||||||
|
{
|
||||||
|
altmode = SharpKml.Dom.AltitudeMode.Absolute;
|
||||||
|
}
|
||||||
|
else if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2)
|
||||||
|
{
|
||||||
|
altmode = SharpKml.Dom.AltitudeMode.RelativeToGround;
|
||||||
|
}
|
||||||
|
|
||||||
Color[] colours = { Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet, Color.Pink };
|
Color[] colours = { Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet, Color.Pink };
|
||||||
|
|
||||||
Document kml = new Document();
|
Document kml = new Document();
|
||||||
|
|
||||||
Tour tour = new Tour();
|
Tour tour = new Tour() { Name = "First Person View" };
|
||||||
tour.Name = "First Person View";
|
|
||||||
Playlist tourplaylist = new Playlist();
|
Playlist tourplaylist = new Playlist();
|
||||||
|
|
||||||
AddNamespace(kml, "gx", "http://www.google.com/kml/ext/2.2");
|
AddNamespace(kml, "gx", "http://www.google.com/kml/ext/2.2");
|
||||||
|
@ -64,10 +74,12 @@ namespace ArdupilotMega
|
||||||
Style stylet = new Style();
|
Style stylet = new Style();
|
||||||
stylet.Id = "track";
|
stylet.Id = "track";
|
||||||
SharpKml.Dom.IconStyle ico = new SharpKml.Dom.IconStyle();
|
SharpKml.Dom.IconStyle ico = new SharpKml.Dom.IconStyle();
|
||||||
|
LabelStyle lst = new LabelStyle();
|
||||||
|
lst.Scale = 0;
|
||||||
stylet.Icon = ico;
|
stylet.Icon = ico;
|
||||||
ico.Icon = new IconStyle.IconLink(new Uri("http://earth.google.com/images/kml-icons/track-directional/track-none.png"));
|
ico.Icon = new IconStyle.IconLink(new Uri("http://earth.google.com/images/kml-icons/track-directional/track-none.png"));
|
||||||
stylet.Icon.Scale = 0.5;
|
stylet.Icon.Scale = 0.5;
|
||||||
//stylet.Label.Scale = 0;
|
stylet.Label = lst;
|
||||||
|
|
||||||
kml.AddStyle(stylet);
|
kml.AddStyle(stylet);
|
||||||
|
|
||||||
|
@ -110,7 +122,7 @@ namespace ArdupilotMega
|
||||||
c++;
|
c++;
|
||||||
|
|
||||||
LineString ls = new LineString();
|
LineString ls = new LineString();
|
||||||
ls.AltitudeMode = SharpKml.Dom.AltitudeMode.Absolute;
|
ls.AltitudeMode = altmode;
|
||||||
ls.Extrude = true;
|
ls.Extrude = true;
|
||||||
|
|
||||||
ls.Coordinates = coords;
|
ls.Coordinates = coords;
|
||||||
|
@ -154,7 +166,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
flyto.Mode = FlyToMode.Smooth;
|
flyto.Mode = FlyToMode.Smooth;
|
||||||
SharpKml.Dom.Camera cam = new SharpKml.Dom.Camera();
|
SharpKml.Dom.Camera cam = new SharpKml.Dom.Camera();
|
||||||
cam.AltitudeMode = SharpKml.Dom.AltitudeMode.Absolute;
|
cam.AltitudeMode = altmode;
|
||||||
cam.Latitude = cs.lat;
|
cam.Latitude = cs.lat;
|
||||||
cam.Longitude = cs.lng;
|
cam.Longitude = cs.lng;
|
||||||
cam.Altitude = cs.alt;
|
cam.Altitude = cs.alt;
|
||||||
|
@ -203,7 +215,7 @@ namespace ArdupilotMega
|
||||||
Model model = new Model();
|
Model model = new Model();
|
||||||
model.Location = loc;
|
model.Location = loc;
|
||||||
model.Orientation = ori;
|
model.Orientation = ori;
|
||||||
model.AltitudeMode = SharpKml.Dom.AltitudeMode.Absolute;
|
model.AltitudeMode = altmode;
|
||||||
model.Scale = sca;
|
model.Scale = sca;
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -236,7 +248,7 @@ namespace ArdupilotMega
|
||||||
Placemark pmt = new Placemark();
|
Placemark pmt = new Placemark();
|
||||||
|
|
||||||
SharpKml.Dom.Point pnt = new SharpKml.Dom.Point();
|
SharpKml.Dom.Point pnt = new SharpKml.Dom.Point();
|
||||||
pnt.AltitudeMode = SharpKml.Dom.AltitudeMode.Absolute;
|
pnt.AltitudeMode = altmode;
|
||||||
pnt.Coordinate = new Vector(cs.lat,cs.lng,cs.alt);
|
pnt.Coordinate = new Vector(cs.lat,cs.lng,cs.alt);
|
||||||
|
|
||||||
pmt.Name = "" + a;
|
pmt.Name = "" + a;
|
||||||
|
|
|
@ -34,5 +34,5 @@ using System.Resources;
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
[assembly: AssemblyFileVersion("1.1.4")]
|
[assembly: AssemblyFileVersion("1.1.5")]
|
||||||
[assembly: NeutralResourcesLanguageAttribute("")]
|
[assembly: NeutralResourcesLanguageAttribute("")]
|
||||||
|
|
|
@ -6,6 +6,8 @@ using System.Drawing;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using com.drew.imaging.jpg;
|
||||||
|
using com.drew.metadata;
|
||||||
|
|
||||||
namespace ArdupilotMega
|
namespace ArdupilotMega
|
||||||
{
|
{
|
||||||
|
@ -21,6 +23,7 @@ namespace ArdupilotMega
|
||||||
private FolderBrowserDialog folderBrowserDialog1;
|
private FolderBrowserDialog folderBrowserDialog1;
|
||||||
private Label label1;
|
private Label label1;
|
||||||
private TextBox TXT_outputlog;
|
private TextBox TXT_outputlog;
|
||||||
|
private MyButton BUT_estoffset;
|
||||||
|
|
||||||
internal georefimage() {
|
internal georefimage() {
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
@ -32,6 +35,38 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
|
Metadata lcMetadata = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
FileInfo lcImgFile = new FileInfo(fn);
|
||||||
|
// Loading all meta data
|
||||||
|
lcMetadata = JpegMetadataReader.ReadMetadata(lcImgFile);
|
||||||
|
}
|
||||||
|
catch (JpegProcessingException e)
|
||||||
|
{
|
||||||
|
Console.Error.WriteLine(e.Message);
|
||||||
|
return dtaken;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (AbstractDirectory lcDirectory in lcMetadata)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (lcDirectory.ContainsTag(0x9003))
|
||||||
|
{
|
||||||
|
dtaken = lcDirectory.GetDate(0x9003);
|
||||||
|
Console.WriteLine("does " + lcDirectory.GetTagName(0x9003) + " " + dtaken);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////// old method, works, just slow
|
||||||
|
/*
|
||||||
Image myImage = Image.FromFile(fn);
|
Image myImage = Image.FromFile(fn);
|
||||||
PropertyItem propItem = myImage.GetPropertyItem(36867); // 36867 // 306
|
PropertyItem propItem = myImage.GetPropertyItem(36867); // 36867 // 306
|
||||||
|
|
||||||
|
@ -44,6 +79,7 @@ namespace ArdupilotMega
|
||||||
dtaken = DateTime.Parse(sdate);
|
dtaken = DateTime.Parse(sdate);
|
||||||
|
|
||||||
myImage.Dispose();
|
myImage.Dispose();
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|
||||||
|
@ -81,7 +117,7 @@ namespace ArdupilotMega
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dowork(string logFile, string dirWithImages, float offsetseconds)
|
public void dowork(string logFile, string dirWithImages, float offsetseconds,bool dooffset)
|
||||||
{
|
{
|
||||||
DateTime localmin = DateTime.MaxValue;
|
DateTime localmin = DateTime.MaxValue;
|
||||||
DateTime localmax = DateTime.MinValue;
|
DateTime localmax = DateTime.MinValue;
|
||||||
|
@ -104,6 +140,7 @@ namespace ArdupilotMega
|
||||||
sw.WriteLine("#name utc longitude latitude height");
|
sw.WriteLine("#name utc longitude latitude height");
|
||||||
|
|
||||||
int first = 0;
|
int first = 0;
|
||||||
|
int matchs = 0;
|
||||||
|
|
||||||
foreach (string file in files)
|
foreach (string file in files)
|
||||||
{
|
{
|
||||||
|
@ -133,7 +170,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
foreach (string[] arr in list)
|
foreach (string[] arr in list)
|
||||||
{
|
{
|
||||||
Application.DoEvents();
|
//Application.DoEvents();
|
||||||
|
|
||||||
DateTime crap = startTime.AddMilliseconds(int.Parse(arr[1])).AddSeconds(offsetseconds);
|
DateTime crap = startTime.AddMilliseconds(int.Parse(arr[1])).AddSeconds(offsetseconds);
|
||||||
|
|
||||||
|
@ -144,15 +181,20 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
TXT_outputlog.AppendText("offset should be about " + (dt -crap).TotalSeconds + "\r\n");
|
TXT_outputlog.AppendText("offset should be about " + (dt -crap).TotalSeconds + "\r\n");
|
||||||
|
|
||||||
|
if (dooffset)
|
||||||
|
return;
|
||||||
|
|
||||||
first++;
|
first++;
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.Write("ph " + dt + " log " + crap + " \r");
|
//Console.Write("ph " + dt + " log " + crap + " \r");
|
||||||
|
|
||||||
if (dt.Equals(crap))
|
if (dt.Equals(crap))
|
||||||
{
|
{
|
||||||
TXT_outputlog.AppendText("MATCH Photo " + Path.GetFileNameWithoutExtension(file) + " " + dt + "\r\n");
|
TXT_outputlog.AppendText("MATCH Photo " + Path.GetFileNameWithoutExtension(file) + " " + dt + "\r\n");
|
||||||
|
|
||||||
|
matchs++;
|
||||||
|
|
||||||
sw2.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[7]);
|
sw2.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[7]);
|
||||||
sw.WriteLine(Path.GetFileNameWithoutExtension(file) + "\t" + crap.ToString("yyyy:MM:dd HH:mm:ss") +"\t"+ arr[5] + "\t" + arr[4] + "\t" + arr[7]);
|
sw.WriteLine(Path.GetFileNameWithoutExtension(file) + "\t" + crap.ToString("yyyy:MM:dd HH:mm:ss") +"\t"+ arr[5] + "\t" + arr[4] + "\t" + arr[7]);
|
||||||
sw.Flush();
|
sw.Flush();
|
||||||
|
@ -170,7 +212,7 @@ namespace ArdupilotMega
|
||||||
sw2.Close();
|
sw2.Close();
|
||||||
sw.Close();
|
sw.Close();
|
||||||
|
|
||||||
MessageBox.Show("Done");
|
MessageBox.Show("Done " + matchs + " matchs");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,6 +228,7 @@ namespace ArdupilotMega
|
||||||
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
|
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
|
||||||
this.TXT_outputlog = new System.Windows.Forms.TextBox();
|
this.TXT_outputlog = new System.Windows.Forms.TextBox();
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.BUT_estoffset = new ArdupilotMega.MyButton();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// openFileDialog1
|
// openFileDialog1
|
||||||
|
@ -268,9 +311,20 @@ namespace ArdupilotMega
|
||||||
this.label1.TabIndex = 7;
|
this.label1.TabIndex = 7;
|
||||||
this.label1.Text = "Seconds offset";
|
this.label1.Text = "Seconds offset";
|
||||||
//
|
//
|
||||||
|
// BUT_estoffset
|
||||||
|
//
|
||||||
|
this.BUT_estoffset.Location = new System.Drawing.Point(286, 67);
|
||||||
|
this.BUT_estoffset.Name = "BUT_estoffset";
|
||||||
|
this.BUT_estoffset.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.BUT_estoffset.TabIndex = 8;
|
||||||
|
this.BUT_estoffset.Text = "Estimate Offset";
|
||||||
|
this.BUT_estoffset.UseVisualStyleBackColor = true;
|
||||||
|
this.BUT_estoffset.Click += new System.EventHandler(this.BUT_estoffset_Click);
|
||||||
|
//
|
||||||
// georefimage
|
// georefimage
|
||||||
//
|
//
|
||||||
this.ClientSize = new System.Drawing.Size(453, 299);
|
this.ClientSize = new System.Drawing.Size(453, 299);
|
||||||
|
this.Controls.Add(this.BUT_estoffset);
|
||||||
this.Controls.Add(this.label1);
|
this.Controls.Add(this.label1);
|
||||||
this.Controls.Add(this.TXT_outputlog);
|
this.Controls.Add(this.TXT_outputlog);
|
||||||
this.Controls.Add(this.BUT_doit);
|
this.Controls.Add(this.BUT_doit);
|
||||||
|
@ -319,10 +373,15 @@ namespace ArdupilotMega
|
||||||
BUT_doit.Enabled = false;
|
BUT_doit.Enabled = false;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
dowork(TXT_logfile.Text, TXT_jpgdir.Text, seconds);
|
dowork(TXT_logfile.Text, TXT_jpgdir.Text, seconds, false);
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
BUT_doit.Enabled = true;
|
BUT_doit.Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void BUT_estoffset_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
dowork(TXT_logfile.Text, TXT_jpgdir.Text, 0, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue