kopia lustrzana https://github.com/dl2alf/AirScout
V1.4.1.0
rodzic
8a6f8748e5
commit
c463c0ba5a
|
@ -96,8 +96,8 @@
|
|||
<HintPath>..\..\packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Drawing" />
|
||||
|
@ -246,11 +246,11 @@
|
|||
<MSBuild Condition=" $(TargetFrameworkVersion.Replace("v","")) == 2.0 " Projects="$(MSBuildProjectFile)" Properties="TargetFrameworkVersion=v3.5" RunEachTargetSeparately="true" />
|
||||
<MSBuild Condition=" $(TargetFrameworkVersion.Replace("v","")) == 3.5 " Projects="$(MSBuildProjectFile)" Properties="TargetFrameworkVersion=v4.0" RunEachTargetSeparately="true" />
|
||||
</Target>
|
||||
<Import Project="..\..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
|
@ -37,8 +37,8 @@
|
|||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
@ -93,12 +93,12 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
|
@ -37,8 +37,8 @@
|
|||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
@ -96,12 +96,12 @@
|
|||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -166,34 +166,46 @@ namespace AirScout.Aircrafts
|
|||
}
|
||||
|
||||
public long AircraftCount()
|
||||
{
|
||||
lock (db)
|
||||
{
|
||||
object count = db.ExecuteScalar("SELECT COUNT(*) FROM " + AircraftDesignator.TableName);
|
||||
if (IsValid(count))
|
||||
return (long)count;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long AircraftCountUnknownCall()
|
||||
{
|
||||
lock (db)
|
||||
{
|
||||
object count = db.ExecuteScalar("SELECT COUNT(*) FROM " + AircraftDesignator.TableName + " WHERE Call = '[unknown]'");
|
||||
if (IsValid(count))
|
||||
return (long)count;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long AircraftCountUnknownHex()
|
||||
{
|
||||
lock (db)
|
||||
{
|
||||
object count = db.ExecuteScalar("SELECT COUNT(*) FROM " + AircraftDesignator.TableName + " WHERE Hex = '[unknown]'");
|
||||
if (IsValid(count))
|
||||
return (long)count;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long AircraftCountUnknownType()
|
||||
{
|
||||
lock (db)
|
||||
{
|
||||
object count = db.ExecuteScalar("SELECT COUNT(*) FROM " + AircraftDesignator.TableName + " WHERE TypeCode = '[unknown]'");
|
||||
if (IsValid(count))
|
||||
return (long)count;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2433,6 +2445,11 @@ namespace AirScout.Aircrafts
|
|||
info.Lon = newpos.Lon;
|
||||
info.Time = at;
|
||||
|
||||
// Test!!!
|
||||
if (info.Call.StartsWith("xxx"))
|
||||
{
|
||||
int k = 3;
|
||||
}
|
||||
|
||||
// calculate four possible intersections
|
||||
// i1 --> plane heading
|
||||
|
@ -2465,7 +2482,7 @@ namespace AirScout.Aircrafts
|
|||
if ((i4 != null) && ((imin == null) || (i4.QRB < imin.QRB)))
|
||||
imin = i4;
|
||||
// check hot planes which are very near the path first
|
||||
if ((imin != null) && (imin.QRB <= maxdist))
|
||||
if ((imin != null) && (imin.QRB <= maxdist) && (imin.Dist1 <= ppath.Distance))
|
||||
{
|
||||
// plane is near path
|
||||
// use the minimum qrb info
|
||||
|
@ -2506,7 +2523,7 @@ namespace AirScout.Aircrafts
|
|||
else
|
||||
{
|
||||
// plane is far from path --> check only intersection i1 = planes moves towards path
|
||||
if ((i1 != null) && (i1.Min_H <= maxalt))
|
||||
if ((i1 != null) && (i1.Min_H <= maxalt) && (i1.Dist1 <= ppath.Distance))
|
||||
{
|
||||
plane.IntPoint = new LatLon.GPoint(i1.Lat, i1.Lon);
|
||||
plane.IntQRB = i1.QRB;
|
||||
|
|
|
@ -81,7 +81,7 @@ namespace AirScout.Aircrafts
|
|||
DataColumn ICAO = this.Columns.Add("ICAO", typeof(string));
|
||||
DataColumn Airline = this.Columns.Add("Airline", typeof(string));
|
||||
DataColumn Country = this.Columns.Add("Country", typeof(string));
|
||||
DataColumn LastUpdated = this.Columns.Add("LastUpdated", typeof(string));
|
||||
DataColumn LastUpdated = this.Columns.Add("LastUpdated", typeof(int));
|
||||
// create primary key
|
||||
DataColumn[] keys = new DataColumn[2];
|
||||
keys[0] = IATA;
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using AirScout.Core;
|
||||
using System.IO;
|
||||
|
||||
namespace AirScout.Aircrafts
|
||||
{
|
||||
|
@ -20,7 +21,7 @@ namespace AirScout.Aircrafts
|
|||
PlaneInfo oldplane = null;
|
||||
if (!this.TryGetValue(plane.Hex, out oldplane))
|
||||
{
|
||||
// add plane
|
||||
// not found --> add plane
|
||||
this.Add(plane.Hex, plane);
|
||||
i = 1;
|
||||
}
|
||||
|
@ -29,6 +30,15 @@ namespace AirScout.Aircrafts
|
|||
// plane already in cache --> check time and update if newer
|
||||
if (plane.Time > oldplane.Time)
|
||||
{
|
||||
// keep old values
|
||||
oldplane.OldTime = oldplane.Time;
|
||||
oldplane.OldLat = oldplane.Lat;
|
||||
oldplane.OldLon = oldplane.Lon;
|
||||
oldplane.OldAlt = oldplane.Alt;
|
||||
oldplane.OldSpeed = oldplane.Speed;
|
||||
oldplane.OldTrack = oldplane.Track;
|
||||
|
||||
// update values
|
||||
oldplane.Alt = plane.Alt;
|
||||
oldplane.AltDiff = plane.AltDiff;
|
||||
oldplane.Angle = plane.Angle;
|
||||
|
@ -121,21 +131,89 @@ namespace AirScout.Aircrafts
|
|||
return null;
|
||||
// create new plane info
|
||||
PlaneInfo info = new PlaneInfo(plane);
|
||||
// estimate new position
|
||||
// estimate new values
|
||||
double alt = 0;
|
||||
double speed = 0;
|
||||
double speed_kmh = 0;
|
||||
double track = 0;
|
||||
double dist = 0;
|
||||
LatLon.GPoint newpos;
|
||||
// use stored old values if available
|
||||
if (plane.OldTime != DateTime.MinValue)
|
||||
{
|
||||
double oldtimediff = (plane.Time - plane.OldTime).TotalSeconds;
|
||||
double newtimediff = (at - plane.Time).TotalSeconds;
|
||||
|
||||
// adjust values if there is a valid timespan in history
|
||||
if ((oldtimediff > 0) && (newtimediff > 0))
|
||||
{
|
||||
alt = (plane.Alt - plane.OldAlt) / oldtimediff * newtimediff + plane.Alt;
|
||||
track = (plane.Track - plane.OldTrack) / oldtimediff * newtimediff + plane.Track;
|
||||
speed = (plane.Speed - plane.OldSpeed) / oldtimediff * newtimediff + plane.Speed;
|
||||
}
|
||||
else
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// no stored values available
|
||||
}
|
||||
|
||||
// --> estimate new position using speed and track
|
||||
|
||||
// do plausibility check of calculated new absolute values
|
||||
if ((alt > 0) && (alt <= 50000) &&
|
||||
(track > 0) && (track <= 360) &&
|
||||
(speed > 0) && (speed <= 700))
|
||||
{
|
||||
// change speed to km/h
|
||||
double speed = info.Speed_kmh;
|
||||
speed_kmh = UnitConverter.kts_kmh(speed);
|
||||
// calculate distance after timespan
|
||||
double dist = speed * (at - info.Time).TotalHours;
|
||||
dist = speed_kmh * (at - info.Time).TotalHours;
|
||||
// estimate new position
|
||||
LatLon.GPoint newpos = LatLon.DestinationPoint(info.Lat, info.Lon, info.Track, dist);
|
||||
newpos = LatLon.DestinationPoint(info.Lat, info.Lon, track, dist);
|
||||
|
||||
// check resulting motion vector against last reported track
|
||||
// should be well inside the bounds
|
||||
// a plane cannot move to a position to where it is not pointing to
|
||||
double calctrack = LatLon.Bearing(info.Lat, info.Lon, newpos.Lat, newpos.Lon);
|
||||
if (Math.Abs(info.Track - calctrack) < 45)
|
||||
{
|
||||
// valid --> use the calculated values
|
||||
info.Lat = newpos.Lat;
|
||||
info.Lon = newpos.Lon;
|
||||
info.Alt = alt;
|
||||
info.Track = track;
|
||||
info.Speed = speed;
|
||||
info.Time = at;
|
||||
|
||||
// return calculated info
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
// one of plausibility checks failed --> use last reported constant values for estimation
|
||||
// change speed to km/h
|
||||
speed_kmh = info.Speed_kmh;
|
||||
// calculate distance after timespan
|
||||
dist = speed_kmh * (at - info.Time).TotalHours;
|
||||
// estimate new position
|
||||
newpos = LatLon.DestinationPoint(info.Lat, info.Lon, info.Track, dist);
|
||||
info.Lat = newpos.Lat;
|
||||
info.Lon = newpos.Lon;
|
||||
info.Time = at;
|
||||
|
||||
// return calculated info
|
||||
return info;
|
||||
}
|
||||
|
||||
public List<PlaneInfo> GetAll(DateTime at, int ttl)
|
||||
{
|
||||
string filename = "positions.csv";
|
||||
string call = "CSN464";
|
||||
|
||||
List<PlaneInfo> l = new List<PlaneInfo>();
|
||||
DateTime to = at;
|
||||
DateTime from = to - new TimeSpan(0, ttl, 0);
|
||||
|
@ -147,14 +225,86 @@ namespace AirScout.Aircrafts
|
|||
continue;
|
||||
// create new plane info
|
||||
PlaneInfo info = new PlaneInfo(plane);
|
||||
// estimate new position
|
||||
// estimate new values
|
||||
// use stored old values if available
|
||||
if (plane.OldTime != DateTime.MinValue)
|
||||
{
|
||||
double oldtimediff = (plane.Time - plane.OldTime).TotalSeconds;
|
||||
double newtimediff = (at - plane.Time).TotalSeconds;
|
||||
|
||||
// adjust values if there is a valid timespan in history
|
||||
if ((oldtimediff > 0) && (newtimediff > 0))
|
||||
{
|
||||
double newalt = (plane.Alt - plane.OldAlt) / oldtimediff * newtimediff + plane.Alt;
|
||||
double newtrack = (plane.Track - plane.OldTrack) / oldtimediff * newtimediff + plane.Track;
|
||||
double newspeed = (plane.Speed - plane.OldSpeed) / oldtimediff * newtimediff + plane.Speed;
|
||||
|
||||
if (plane.Call == call)
|
||||
{
|
||||
File.AppendAllText(filename, oldtimediff.ToString() + ";" +
|
||||
newtimediff.ToString() + ";" +
|
||||
plane.OldAlt.ToString("F8") + ";" +
|
||||
plane.Alt.ToString("F8") + ";" +
|
||||
newalt.ToString("F8") + ";" +
|
||||
plane.OldTrack.ToString("F8") + ";" +
|
||||
plane.Track.ToString("F8") + ";" +
|
||||
newtrack.ToString("F8") + ";" +
|
||||
plane.OldSpeed.ToString("F8") + ";" +
|
||||
plane.Speed.ToString("F8") + ";" +
|
||||
newspeed.ToString("F8") + ";" +
|
||||
Environment.NewLine);
|
||||
}
|
||||
// do plausibility check of calculated values
|
||||
if ((newalt > 0) && (newalt < 50000) &&
|
||||
(newtrack > 0) && (newtrack < 360) &&
|
||||
(newspeed > 0) && (newspeed < 700))
|
||||
{
|
||||
info.Alt = newalt;
|
||||
info.Track = newtrack;
|
||||
info.Speed = newspeed;
|
||||
}
|
||||
else
|
||||
{
|
||||
// do nothing
|
||||
if (plane.Call == call)
|
||||
{
|
||||
File.AppendAllText(filename, oldtimediff.ToString() + ";" +
|
||||
newtimediff.ToString() + ";" +
|
||||
plane.OldAlt.ToString("F8") + ";" +
|
||||
plane.Alt.ToString("F8") + ";" +
|
||||
newalt.ToString("F8") + ";" +
|
||||
plane.OldTrack.ToString("F8") + ";" +
|
||||
plane.Track.ToString("F8") + ";" +
|
||||
newtrack.ToString("F8") + ";" +
|
||||
plane.OldSpeed.ToString("F8") + ";" +
|
||||
plane.Speed.ToString("F8") + ";" +
|
||||
newspeed.ToString("F8") + ":" +
|
||||
"invalid values!" +
|
||||
Environment.NewLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// do nothing
|
||||
if (plane.Call == call)
|
||||
{
|
||||
File.AppendAllText(filename, oldtimediff.ToString() + ";" + newtimediff.ToString() + "invalid timediff!" + Environment.NewLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// no stored values available
|
||||
}
|
||||
|
||||
// --> estimate new position using speed and track
|
||||
// change speed to km/h
|
||||
double speed = info.Speed_kmh;
|
||||
// calculate distance after timespan
|
||||
double dist = speed * (at - info.Time).TotalHours;
|
||||
// estimate new position
|
||||
LatLon.GPoint newpos = LatLon.DestinationPoint(info.Lat, info.Lon, info.Track, dist);
|
||||
double d = LatLon.Distance(info.Lat, info.Lon, newpos.Lat, newpos.Lon);
|
||||
info.Lat = newpos.Lat;
|
||||
info.Lon = newpos.Lon;
|
||||
info.Time = at;
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.3.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.3.0.0")]
|
||||
[assembly: AssemblyVersion("1.3.1.0")]
|
||||
[assembly: AssemblyFileVersion("1.3.1.0")]
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>AirScout.CAT</RootNamespace>
|
||||
<AssemblyName>AirScout.CAT</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="IRig.cs" />
|
||||
<Compile Include="CATWorker.cs" />
|
||||
<Compile Include="Enums.cs" />
|
||||
<Compile Include="ExtOmniRig.cs" />
|
||||
<Compile Include="OmniRigX.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ScoutBaseRig.cs" />
|
||||
<Compile Include="SupportedRig.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>PublicSettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ScoutBase\ScoutBase.CAT\ScoutBase.CAT.csproj">
|
||||
<Project>{c9291203-b5d0-4179-888d-04bc670b158f}</Project>
|
||||
<Name>ScoutBase.CAT</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,289 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data.OleDb;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Security.Policy;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using ScoutBase.CAT;
|
||||
|
||||
namespace AirScout.CAT
|
||||
{
|
||||
|
||||
public class CATWorkerStartOptions
|
||||
{
|
||||
public string Name;
|
||||
public string RigType = "";
|
||||
public string PortName = "";
|
||||
public int Baudrate = 9600;
|
||||
public int DataBits = 8;
|
||||
public PARITY Parity = PARITY.NONE;
|
||||
public STOPBITS StopBits = STOPBITS.ONE;
|
||||
public FLOWCONTROL RTS = FLOWCONTROL.LOW;
|
||||
public FLOWCONTROL DTR = FLOWCONTROL.LOW;
|
||||
public int Poll = 100;
|
||||
public int Timeout = 500;
|
||||
}
|
||||
|
||||
public class CATWorker : BackgroundWorker
|
||||
{
|
||||
|
||||
public CATWorkerStartOptions StartOptions;
|
||||
public IRig Rig = null;
|
||||
|
||||
// doppler tracking
|
||||
public DOPPLERSTRATEGY DopplerStrategy = DOPPLERSTRATEGY.DOPPLER_NONE;
|
||||
public long RxFrequency = 0;
|
||||
public long TxFrequency = 0;
|
||||
|
||||
public CATWorker()
|
||||
{
|
||||
this.WorkerReportsProgress = true;
|
||||
this.WorkerSupportsCancellation = true;
|
||||
}
|
||||
|
||||
#region OmniRig
|
||||
|
||||
#endregion
|
||||
|
||||
// provides a list of supported rigs
|
||||
public static List<SupportedRig> SupportedRigs()
|
||||
{
|
||||
List<SupportedRig> rigs = new List<SupportedRig>();
|
||||
// try to get external OmniRig supported rigs
|
||||
try
|
||||
{
|
||||
List<SupportedRig> omnirigs = OmniRigX.SupportedRigs();
|
||||
foreach (SupportedRig omnirig in omnirigs)
|
||||
{
|
||||
rigs.Add(omnirig);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// add nothing if something goes wrong
|
||||
}
|
||||
|
||||
// try to get ScoutBase OmniRig supported rigs
|
||||
try
|
||||
{
|
||||
List<SupportedRig> scoutbaserigs = ScoutBaseRig.SupportedRigs();
|
||||
foreach (SupportedRig scoutbaserig in scoutbaserigs)
|
||||
{
|
||||
rigs.Add(scoutbaserig);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// add nothing if something goes wrong
|
||||
}
|
||||
|
||||
// try to collect other rigs from other CAT interfaces here
|
||||
|
||||
// return supported rigs
|
||||
return rigs;
|
||||
}
|
||||
|
||||
protected override void OnDoWork(DoWorkEventArgs e)
|
||||
{
|
||||
StartOptions = (CATWorkerStartOptions)e.Argument;
|
||||
this.ReportProgress(0, StartOptions.Name + " started.");
|
||||
// name the thread for debugging
|
||||
if (String.IsNullOrEmpty(Thread.CurrentThread.Name))
|
||||
Thread.CurrentThread.Name = StartOptions.Name + "_" + this.GetType().Name;
|
||||
|
||||
// check if any CAT is working by getting all supported rigs
|
||||
// handle exceptions
|
||||
List<SupportedRig> rigs = new List<SupportedRig>();
|
||||
try
|
||||
{
|
||||
rigs = CATWorker.SupportedRigs();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.ReportProgress(-1, "Error while getting supported rigs from CAT: " + ex.Message);
|
||||
this.ReportProgress(1, RIGSTATUS.NOCAT);
|
||||
return;
|
||||
}
|
||||
|
||||
// check if any rig is found
|
||||
if (rigs.Count == 0)
|
||||
{
|
||||
this.ReportProgress(-1, "Error while getting supported rigs from CAT: No available CAT found!");
|
||||
this.ReportProgress(1, RIGSTATUS.NORIG);
|
||||
return;
|
||||
}
|
||||
|
||||
// check if the rig is among the currently supported rigs --> get a new IRig object
|
||||
// be careful with ActiveX objects an handle exceptions
|
||||
Rig = null;
|
||||
try
|
||||
{
|
||||
foreach (SupportedRig rig in rigs)
|
||||
{
|
||||
if (rig.Type == StartOptions.RigType)
|
||||
{
|
||||
switch (rig.CATEngine)
|
||||
{
|
||||
case CATENGINE.OMNIRIGX: Rig = new OmniRigX(); break;
|
||||
case CATENGINE.SCOUTBASE: Rig = new ScoutBaseRig(); break;
|
||||
}
|
||||
|
||||
// OK, we have a valid CAT and rig --> complete and download settings
|
||||
RigSettings settings = new RigSettings();
|
||||
settings.Type = rig.Type;
|
||||
settings.Model = rig.Model;
|
||||
settings.PortName = StartOptions.PortName;
|
||||
settings.Baudrate = StartOptions.Baudrate;
|
||||
settings.DataBits = StartOptions.DataBits;
|
||||
settings.Parity = StartOptions.Parity;
|
||||
settings.StopBits = StartOptions.StopBits;
|
||||
settings.RtsMode = StartOptions.RTS;
|
||||
settings.DtrMode = StartOptions.DTR;
|
||||
settings.PollMs = StartOptions.Poll;
|
||||
settings.TimeoutMs = StartOptions.Timeout;
|
||||
Rig.Settings = settings;
|
||||
|
||||
// stop search
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.ReportProgress(-1, "Error while trying to get a rig object from CAT: " + ex.ToString());
|
||||
}
|
||||
|
||||
// report error if rig is still null
|
||||
if (Rig == null)
|
||||
{
|
||||
this.ReportProgress(-1, "Rig is not supported by any available CAT!");
|
||||
this.ReportProgress(1, RIGSTATUS.NORIG);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
this.ReportProgress(0, "Opening CAT: Success!");
|
||||
this.ReportProgress(2, Rig);
|
||||
|
||||
// old values for check changes
|
||||
DOPPLERSTRATEGY olddoppler = DOPPLERSTRATEGY.DOPPLER_NONE;
|
||||
RIGSTATUS oldrigstat = RIGSTATUS.NONE;
|
||||
RIGMODE oldrigmode = RIGMODE.NONE;
|
||||
RIGSPLIT oldrigsplit = RIGSPLIT.NONE;
|
||||
RIGRIT oldrigrit = RIGRIT.NONE;
|
||||
long oldrxfreq = -1;
|
||||
long oldtxfreq = -1;
|
||||
|
||||
// run polling loop
|
||||
while (!this.CancellationPending)
|
||||
{
|
||||
try
|
||||
{
|
||||
RIGSTATUS rigstatus = Rig.GetStatus();
|
||||
if (oldrigstat != rigstatus)
|
||||
{
|
||||
oldrigstat = rigstatus;
|
||||
this.ReportProgress(1, rigstatus);
|
||||
}
|
||||
|
||||
// get rig infos when rig is online
|
||||
if (rigstatus == RIGSTATUS.ONLINE)
|
||||
{
|
||||
// get mode
|
||||
RIGMODE rigmode = Rig.GetMode();
|
||||
if ( oldrigmode != rigmode)
|
||||
{
|
||||
lock (Rig)
|
||||
{
|
||||
oldrigmode = rigmode;
|
||||
this.ReportProgress(2, Rig);
|
||||
}
|
||||
}
|
||||
|
||||
// get split
|
||||
RIGSPLIT rigsplit = Rig.GetSplit();
|
||||
if (oldrigsplit != rigsplit)
|
||||
{
|
||||
lock (Rig)
|
||||
{
|
||||
oldrigsplit = rigsplit;
|
||||
this.ReportProgress(2, Rig);
|
||||
}
|
||||
}
|
||||
|
||||
// get rit
|
||||
RIGRIT rigrit = Rig.GetRit();
|
||||
if (oldrigrit != rigrit)
|
||||
{
|
||||
lock (Rig)
|
||||
{
|
||||
oldrigrit = rigrit;
|
||||
this.ReportProgress(2, Rig);
|
||||
}
|
||||
}
|
||||
|
||||
// get RX frequency
|
||||
long rxfreq = Rig.GetRxFrequency();
|
||||
if (oldrxfreq != rxfreq)
|
||||
{
|
||||
lock (Rig)
|
||||
{
|
||||
oldrxfreq = rxfreq;
|
||||
this.ReportProgress(2, Rig);
|
||||
}
|
||||
}
|
||||
|
||||
// get TX frequency
|
||||
long txfreq = Rig.GetTxFrequency();
|
||||
if (oldtxfreq != txfreq)
|
||||
{
|
||||
lock (Rig)
|
||||
{
|
||||
oldtxfreq = txfreq;
|
||||
this.ReportProgress(2, Rig);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// check for Doppler settings changes
|
||||
if (olddoppler != DopplerStrategy)
|
||||
{
|
||||
olddoppler = DopplerStrategy;
|
||||
// check for Doppler tracking enabled
|
||||
if ((DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_A) || (DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_B) || (DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_C) || (DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_D))
|
||||
{
|
||||
// enter doppler tracking
|
||||
Rig.SetDopplerStrategy(DopplerStrategy);
|
||||
Rig.EnterDoppler();
|
||||
}
|
||||
else
|
||||
{
|
||||
// leave doppler tracking
|
||||
Rig.SetDopplerStrategy(DOPPLERSTRATEGY.DOPPLER_NONE);
|
||||
Rig.LeaveDoppler();
|
||||
}
|
||||
}
|
||||
|
||||
// Doppler tracking
|
||||
if ((DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_A) || (DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_B) || (DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_C) || (DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_D))
|
||||
{
|
||||
Rig.SetSplitMode(RxFrequency, TxFrequency);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Thread.Sleep(Properties.Settings.Default.CAT_Update);
|
||||
}
|
||||
|
||||
// reset status
|
||||
this.ReportProgress(1, RIGSTATUS.NONE);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace AirScout.CAT
|
||||
{
|
||||
public enum CATENGINE
|
||||
{
|
||||
NONE = 0,
|
||||
OMNIRIGX = 1,
|
||||
SCOUTBASE = 2,
|
||||
HAMLIB = 3
|
||||
}
|
||||
|
||||
[Description("Rig Status")]
|
||||
public enum RIGSTATUS
|
||||
{
|
||||
[Description("None")]
|
||||
NONE = 0,
|
||||
[Description("CAT not available")]
|
||||
NOCAT = 1,
|
||||
[Description("Port not available")]
|
||||
NOPORT = 2,
|
||||
[Description("Rig not available")]
|
||||
NORIG = 4,
|
||||
[Description("Rig not suitable")]
|
||||
NOTSUITABLE = 8,
|
||||
[Description("Rig offline")]
|
||||
OFFLINE = 16,
|
||||
[Description("Rig online")]
|
||||
ONLINE = 64,
|
||||
[Description("Error")]
|
||||
ERROR = 128
|
||||
}
|
||||
|
||||
public enum RIGSPLIT
|
||||
{
|
||||
NONE = 0,
|
||||
SPLITOFF = 1,
|
||||
SPLITON = 2,
|
||||
ERROR = 128
|
||||
}
|
||||
|
||||
public enum RIGRIT
|
||||
{
|
||||
NONE = 0,
|
||||
RITON = 1,
|
||||
RITOFF = 2,
|
||||
ERROR = 128
|
||||
}
|
||||
|
||||
public enum RIGMODE
|
||||
{
|
||||
NONE = 0,
|
||||
CW = 1,
|
||||
CW_R = 2,
|
||||
LSB = 3,
|
||||
USB = 4,
|
||||
DIG = 5,
|
||||
DIG_R = 6,
|
||||
AM = 7,
|
||||
FM = 8,
|
||||
OTHER = 9,
|
||||
ERROR = 128
|
||||
}
|
||||
|
||||
public enum RIGVFO
|
||||
{
|
||||
NONE = 0,
|
||||
A = 1,
|
||||
B = 2,
|
||||
ERROR = 128
|
||||
}
|
||||
|
||||
[Description("Flow Control")]
|
||||
public enum FLOWCONTROL
|
||||
{
|
||||
[Description("Low")]
|
||||
LOW,
|
||||
[Description("High")]
|
||||
HIGH,
|
||||
[Description("Handshake")]
|
||||
HANDSHAKE
|
||||
}
|
||||
|
||||
[Description("Stopbits")]
|
||||
public enum STOPBITS
|
||||
{
|
||||
[Description("1")]
|
||||
ONE,
|
||||
[Description("1,5")]
|
||||
ONE_5,
|
||||
[Description("2")]
|
||||
TWO
|
||||
}
|
||||
|
||||
[Description("Parity")]
|
||||
public enum PARITY
|
||||
{
|
||||
[Description("None")]
|
||||
NONE,
|
||||
[Description("Odd")]
|
||||
ODD,
|
||||
[Description("Even")]
|
||||
EVEN,
|
||||
[Description("Mark")]
|
||||
MARK,
|
||||
[Description("Space")]
|
||||
SPACE
|
||||
}
|
||||
|
||||
public enum DOPPLERSTRATEGY
|
||||
{
|
||||
DOPPLER_NONE = 0,
|
||||
DOPPLER_A = 1,
|
||||
DOPPLER_B = 2,
|
||||
DOPPLER_C = 4,
|
||||
DOPPLER_D = 8,
|
||||
ERROR = 128
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,526 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
namespace AirScout.CAT
|
||||
{
|
||||
|
||||
// can handle different versions dynamically
|
||||
public static class ExtOmniRig
|
||||
{
|
||||
|
||||
private static dynamic OmniRigEngine = null;
|
||||
private static string OmniRigVersion = "";
|
||||
private static OMNIRIGSTATUS Status = OMNIRIGSTATUS.ST_NOTCONFIGURED;
|
||||
private static int Retries = 0;
|
||||
|
||||
public static RIGSTATUS GetRigStatus(string rig)
|
||||
{
|
||||
try
|
||||
{
|
||||
OMNIRIGSTATUS omnistat = OMNIRIGSTATUS.ST_NOTCONFIGURED;
|
||||
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
omnistat = (OMNIRIGSTATUS)ExtOmniRig.OmniRigEngine.Rig1.Status;
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
omnistat = (OMNIRIGSTATUS)ExtOmniRig.OmniRigEngine.Rig2.Status;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
omnistat = (OMNIRIGSTATUS)ExtOmniRig.OmniRigEngine.Rig3.Status;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
omnistat = (OMNIRIGSTATUS)ExtOmniRig.OmniRigEngine.Rig4.Status;
|
||||
}
|
||||
|
||||
// suppress sporadic "offline" status
|
||||
if (omnistat != OMNIRIGSTATUS.ST_ONLINE)
|
||||
{
|
||||
if (Retries < 3)
|
||||
{
|
||||
omnistat = Status;
|
||||
Retries++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Status = omnistat;
|
||||
Retries = 0;
|
||||
}
|
||||
|
||||
|
||||
// translate OmniRig status to rig status
|
||||
switch (omnistat)
|
||||
{
|
||||
case OMNIRIGSTATUS.ST_ONLINE:
|
||||
return RIGSTATUS.ONLINE;
|
||||
case OMNIRIGSTATUS.ST_NOTRESPONDING:
|
||||
return RIGSTATUS.OFFLINE;
|
||||
default:
|
||||
return RIGSTATUS.ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
||||
return RIGSTATUS.ERROR;
|
||||
}
|
||||
|
||||
public static RIGRIT GetRit(string rig)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig1.Rit)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_RITOFF:
|
||||
return RIGRIT.RITOFF;
|
||||
|
||||
case OMNIRIGPARAM.PM_RITON:
|
||||
return RIGRIT.RITON;
|
||||
default:
|
||||
return RIGRIT.ERROR;
|
||||
}
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig2.Rit)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_RITOFF:
|
||||
return RIGRIT.RITOFF;
|
||||
|
||||
case OMNIRIGPARAM.PM_RITON:
|
||||
return RIGRIT.RITON;
|
||||
default:
|
||||
return RIGRIT.ERROR;
|
||||
}
|
||||
}
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig3.Rit)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_RITOFF:
|
||||
return RIGRIT.RITOFF;
|
||||
|
||||
case OMNIRIGPARAM.PM_RITON:
|
||||
return RIGRIT.RITON;
|
||||
default:
|
||||
return RIGRIT.ERROR;
|
||||
}
|
||||
}
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig4.Rit)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_RITOFF:
|
||||
return RIGRIT.RITOFF;
|
||||
|
||||
case OMNIRIGPARAM.PM_RITON:
|
||||
return RIGRIT.RITON;
|
||||
default:
|
||||
return RIGRIT.ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
return RIGRIT.ERROR; ;
|
||||
}
|
||||
|
||||
public static RIGSPLIT GetSplit(string rig)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig1.Split)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_SPLITOFF:
|
||||
return RIGSPLIT.SPLITOFF;
|
||||
case OMNIRIGPARAM.PM_SPLITON:
|
||||
return RIGSPLIT.SPLITON;
|
||||
default:
|
||||
return RIGSPLIT.ERROR;
|
||||
}
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig2.Split)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_SPLITOFF:
|
||||
return RIGSPLIT.SPLITOFF;
|
||||
case OMNIRIGPARAM.PM_SPLITON:
|
||||
return RIGSPLIT.SPLITON;
|
||||
default:
|
||||
return RIGSPLIT.ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig3.Split)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_SPLITOFF:
|
||||
return RIGSPLIT.SPLITOFF;
|
||||
case OMNIRIGPARAM.PM_SPLITON:
|
||||
return RIGSPLIT.SPLITON;
|
||||
default:
|
||||
return RIGSPLIT.ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig4.Split)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_SPLITOFF:
|
||||
return RIGSPLIT.SPLITOFF;
|
||||
case OMNIRIGPARAM.PM_SPLITON:
|
||||
return RIGSPLIT.SPLITON;
|
||||
default:
|
||||
return RIGSPLIT.ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
return RIGSPLIT.ERROR; ;
|
||||
}
|
||||
|
||||
public static RIGMODE GetMode(string rig)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig1.Mode)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_CW_L:
|
||||
return RIGMODE.CW;
|
||||
case OMNIRIGPARAM.PM_CW_U:
|
||||
return RIGMODE.CW_R;
|
||||
case OMNIRIGPARAM.PM_SSB_L:
|
||||
return RIGMODE.LSB;
|
||||
case OMNIRIGPARAM.PM_SSB_U:
|
||||
return RIGMODE.USB;
|
||||
case OMNIRIGPARAM.PM_FM:
|
||||
return RIGMODE.FM;
|
||||
case OMNIRIGPARAM.PM_AM:
|
||||
return RIGMODE.AM;
|
||||
default:
|
||||
return RIGMODE.OTHER;
|
||||
}
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig2.Mode)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_CW_L:
|
||||
return RIGMODE.CW;
|
||||
case OMNIRIGPARAM.PM_CW_U:
|
||||
return RIGMODE.CW_R;
|
||||
case OMNIRIGPARAM.PM_SSB_L:
|
||||
return RIGMODE.LSB;
|
||||
case OMNIRIGPARAM.PM_SSB_U:
|
||||
return RIGMODE.USB;
|
||||
case OMNIRIGPARAM.PM_FM:
|
||||
return RIGMODE.FM;
|
||||
case OMNIRIGPARAM.PM_AM:
|
||||
return RIGMODE.AM;
|
||||
default:
|
||||
return RIGMODE.OTHER;
|
||||
}
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig3.Mode)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_CW_L:
|
||||
return RIGMODE.CW;
|
||||
case OMNIRIGPARAM.PM_CW_U:
|
||||
return RIGMODE.CW_R;
|
||||
case OMNIRIGPARAM.PM_SSB_L:
|
||||
return RIGMODE.LSB;
|
||||
case OMNIRIGPARAM.PM_SSB_U:
|
||||
return RIGMODE.USB;
|
||||
case OMNIRIGPARAM.PM_FM:
|
||||
return RIGMODE.FM;
|
||||
case OMNIRIGPARAM.PM_AM:
|
||||
return RIGMODE.AM;
|
||||
default:
|
||||
return RIGMODE.OTHER;
|
||||
}
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
switch ((OMNIRIGPARAM)OmniRigEngine.Rig4.Mode)
|
||||
{
|
||||
case OMNIRIGPARAM.PM_CW_L:
|
||||
return RIGMODE.CW;
|
||||
case OMNIRIGPARAM.PM_CW_U:
|
||||
return RIGMODE.CW_R;
|
||||
case OMNIRIGPARAM.PM_SSB_L:
|
||||
return RIGMODE.LSB;
|
||||
case OMNIRIGPARAM.PM_SSB_U:
|
||||
return RIGMODE.USB;
|
||||
case OMNIRIGPARAM.PM_FM:
|
||||
return RIGMODE.FM;
|
||||
case OMNIRIGPARAM.PM_AM:
|
||||
return RIGMODE.AM;
|
||||
default:
|
||||
return RIGMODE.OTHER;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
return RIGMODE.ERROR; ;
|
||||
}
|
||||
|
||||
public static long GetRXFrequency(string rig)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
return (long)OmniRigEngine.Rig1.GetRxFrequency();
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
return (long)OmniRigEngine.Rig2.GetRxFrequency();
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
return (long)OmniRigEngine.Rig3.GetRxFrequency();
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
return (long)OmniRigEngine.Rig4.GetRxFrequency();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static bool SetSplit(string rig, long rx, long tx)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if ((rx > Int32.MaxValue) || (tx > Int32.MaxValue))
|
||||
return false;
|
||||
OmniRigEngine.Rig1.Split = OMNIRIGPARAM.PM_SPLITON;
|
||||
OmniRigEngine.Rig1.FreqA = (int)rx;
|
||||
OmniRigEngine.Rig1.FreqB = (int)tx;
|
||||
return true;
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if ((rx > Int32.MaxValue) || (tx > Int32.MaxValue))
|
||||
return false;
|
||||
OmniRigEngine.Rig2.Split = OMNIRIGPARAM.PM_SPLITON;
|
||||
OmniRigEngine.Rig2.FreqA = (int)rx;
|
||||
OmniRigEngine.Rig2.FreqB = (int)tx;
|
||||
return true;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if ((rx > Int32.MaxValue) || (tx > Int32.MaxValue))
|
||||
return false;
|
||||
OmniRigEngine.Rig3.Split = OMNIRIGPARAM.PM_SPLITON;
|
||||
OmniRigEngine.Rig3.FreqA = (int)rx;
|
||||
OmniRigEngine.Rig3.FreqB = (int)tx;
|
||||
return true;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if ((rx > Int32.MaxValue) || (tx > Int32.MaxValue))
|
||||
return false;
|
||||
OmniRigEngine.Rig4.Split = OMNIRIGPARAM.PM_SPLITON;
|
||||
OmniRigEngine.Rig4.FreqA = (int)rx;
|
||||
OmniRigEngine.Rig4.FreqB = (int)tx;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
public static bool SetSimplex(string rig, long rx)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if (rx > Int32.MaxValue)
|
||||
return false;
|
||||
OmniRigEngine.Rig1.Split = OMNIRIGPARAM.PM_SPLITOFF;
|
||||
OmniRigEngine.Rig1.FreqA = (int)rx;
|
||||
return true;
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if (rx > Int32.MaxValue)
|
||||
return false;
|
||||
OmniRigEngine.Rig2.Split = OMNIRIGPARAM.PM_SPLITOFF;
|
||||
OmniRigEngine.Rig2.FreqA = (int)rx;
|
||||
return true;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if (rx > Int32.MaxValue)
|
||||
return false;
|
||||
OmniRigEngine.Rig3.Split = OMNIRIGPARAM.PM_SPLITOFF;
|
||||
OmniRigEngine.Rig3.FreqA = (int)rx;
|
||||
return true;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
// OmniRig can handle Int32 only
|
||||
if (rx > Int32.MaxValue)
|
||||
return false;
|
||||
OmniRigEngine.Rig4.Split = OMNIRIGPARAM.PM_SPLITOFF;
|
||||
OmniRigEngine.Rig4.FreqA = (int)rx;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
public static bool SetRit(string rig, RIGRIT rit)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (rig == "OmniRig Rig 1")
|
||||
{
|
||||
OmniRigEngine.Rig1.Rit = (rit == RIGRIT.RITON) ? OMNIRIGPARAM.PM_RITON : OMNIRIGPARAM.PM_RITOFF;
|
||||
return true;
|
||||
}
|
||||
else if (rig == "OmniRig Rig 2")
|
||||
{
|
||||
OmniRigEngine.Rig2.Rit = (rit == RIGRIT.RITON) ? OMNIRIGPARAM.PM_RITON : OMNIRIGPARAM.PM_RITOFF;
|
||||
return true;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 3")
|
||||
)
|
||||
{
|
||||
OmniRigEngine.Rig3.Rit = (rit == RIGRIT.RITON) ? OMNIRIGPARAM.PM_RITON : OMNIRIGPARAM.PM_RITOFF;
|
||||
return true;
|
||||
}
|
||||
|
||||
else if ((OmniRigEngine.InterfaceVersion >= 0x210) &&
|
||||
(OmniRigEngine.InterfaceVersion >= 0x299) &&
|
||||
(rig == "OmniRig 4")
|
||||
)
|
||||
{
|
||||
OmniRigEngine.Rig3.Rit = (rit == RIGRIT.RITON) ? OMNIRIGPARAM.PM_RITON : OMNIRIGPARAM.PM_RITOFF;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
using ScoutBase.CAT;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Dynamic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace AirScout.CAT
|
||||
{
|
||||
public class RigSettings
|
||||
{
|
||||
// rig type name
|
||||
public string Type { get; set; } = "";
|
||||
public string Model { get; set; } = "";
|
||||
|
||||
// port settings
|
||||
public string PortName { get; set; } = "";
|
||||
public int Baudrate { get; set; } = 0;
|
||||
public int DataBits { get; set; } = 0;
|
||||
public PARITY Parity { get; set; } = PARITY.NONE;
|
||||
public STOPBITS StopBits { get; set; } = STOPBITS.ONE;
|
||||
public FLOWCONTROL RtsMode { get; set; } = FLOWCONTROL.LOW;
|
||||
public FLOWCONTROL DtrMode { get; set; } = FLOWCONTROL.LOW;
|
||||
|
||||
// time settings
|
||||
public int PollMs { get; set; } = 1000;
|
||||
public int TimeoutMs { get; set; } = 5000;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// repesents an interface to a rig connected via CAT interface
|
||||
// supports variuos kinds of connections
|
||||
public interface IRig
|
||||
{
|
||||
|
||||
// Rig
|
||||
RigSettings Settings { get; set; }
|
||||
CATENGINE CatEngine { get; }
|
||||
string CatVersion { get; }
|
||||
|
||||
// rig status, read-only
|
||||
RIGSTATUS GetStatus();
|
||||
|
||||
// get rig values
|
||||
RIGMODE GetMode();
|
||||
RIGSPLIT GetSplit();
|
||||
RIGRIT GetRit();
|
||||
RIGVFO GetVfo();
|
||||
long GetRxFrequency();
|
||||
long GetTxFrequency();
|
||||
|
||||
// set rig values
|
||||
bool SetMode(RIGMODE mode);
|
||||
bool SetSplit(RIGSPLIT split);
|
||||
bool SetRit(RIGRIT rit);
|
||||
bool SetVfo(RIGVFO vfo);
|
||||
bool SetRxFrequency(long rx);
|
||||
bool SetTxFrequency(long tx);
|
||||
|
||||
// rig capabilities
|
||||
bool SetSimplexMode(long freq, RIGMODE mode = RIGMODE.NONE);
|
||||
bool SetSplitMode(long rxfreq, long txfreq, RIGMODE mode = RIGMODE.NONE);
|
||||
|
||||
// doppler tracking
|
||||
bool SetDopplerStrategy(DOPPLERSTRATEGY doppler);
|
||||
bool EnterDoppler();
|
||||
bool LeaveDoppler();
|
||||
|
||||
}
|
||||
}
|
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("AirScout.CAT")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("AirScout.CAT")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("ffdec390-7bbc-4dec-9826-1dd04279f3fa")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,182 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace AirScout.CAT.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
|
||||
public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool CAT_Activate {
|
||||
get {
|
||||
return ((bool)(this["CAT_Activate"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_Activate"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("500")]
|
||||
public int CAT_Update {
|
||||
get {
|
||||
return ((int)(this["CAT_Update"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_Update"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("500")]
|
||||
public int CAT_ResponseTimeout {
|
||||
get {
|
||||
return ((int)(this["CAT_ResponseTimeout"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_ResponseTimeout"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string CAT_RigType {
|
||||
get {
|
||||
return ((string)(this["CAT_RigType"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_RigType"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string CAT_PortName {
|
||||
get {
|
||||
return ((string)(this["CAT_PortName"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_PortName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("9600")]
|
||||
public int CAT_Baudrate {
|
||||
get {
|
||||
return ((int)(this["CAT_Baudrate"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_Baudrate"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("8")]
|
||||
public int CAT_DataBits {
|
||||
get {
|
||||
return ((int)(this["CAT_DataBits"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_DataBits"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("NONE")]
|
||||
public global::AirScout.CAT.PARITY CAT_Parity {
|
||||
get {
|
||||
return ((global::AirScout.CAT.PARITY)(this["CAT_Parity"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_Parity"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("ONE")]
|
||||
public global::AirScout.CAT.STOPBITS CAT_StopBits {
|
||||
get {
|
||||
return ((global::AirScout.CAT.STOPBITS)(this["CAT_StopBits"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_StopBits"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("LOW")]
|
||||
public global::AirScout.CAT.FLOWCONTROL CAT_RTS {
|
||||
get {
|
||||
return ((global::AirScout.CAT.FLOWCONTROL)(this["CAT_RTS"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_RTS"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("LOW")]
|
||||
public global::AirScout.CAT.FLOWCONTROL CAT_DTR {
|
||||
get {
|
||||
return ((global::AirScout.CAT.FLOWCONTROL)(this["CAT_DTR"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_DTR"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("100")]
|
||||
public int CAT_Poll {
|
||||
get {
|
||||
return ((int)(this["CAT_Poll"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_Poll"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("500")]
|
||||
public int CAT_Timeout {
|
||||
get {
|
||||
return ((int)(this["CAT_Timeout"]));
|
||||
}
|
||||
set {
|
||||
this["CAT_Timeout"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AirScout.CAT.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="CAT_Activate" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_Update" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">500</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_ResponseTimeout" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">500</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_RigType" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="CAT_PortName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="CAT_Baudrate" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">9600</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_DataBits" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">8</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_Parity" Type="AirScout.CAT.PARITY" Scope="User">
|
||||
<Value Profile="(Default)">NONE</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_StopBits" Type="AirScout.CAT.STOPBITS" Scope="User">
|
||||
<Value Profile="(Default)">ONE</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_RTS" Type="AirScout.CAT.FLOWCONTROL" Scope="User">
|
||||
<Value Profile="(Default)">LOW</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_DTR" Type="AirScout.CAT.FLOWCONTROL" Scope="User">
|
||||
<Value Profile="(Default)">LOW</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_Poll" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">100</Value>
|
||||
</Setting>
|
||||
<Setting Name="CAT_Timeout" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">500</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
|
@ -0,0 +1,706 @@
|
|||
using ScoutBase.CAT;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Mime;
|
||||
using System.Text;
|
||||
using System.Xml.Schema;
|
||||
|
||||
namespace AirScout.CAT
|
||||
{
|
||||
// represents a rig connected directly via ScoutBase.CAT (OmniRig style)
|
||||
public class ScoutBaseRig : ScoutBase.CAT.Rig, IRig
|
||||
{
|
||||
|
||||
private RigSettings Settings = new RigSettings();
|
||||
|
||||
// doppler tracking strategy
|
||||
DOPPLERSTRATEGY DopplerStrategy = DOPPLERSTRATEGY.DOPPLER_NONE;
|
||||
|
||||
// save rig settings
|
||||
private RIGMODE SaveRigMode;
|
||||
private RIGSPLIT SaveRigSplit;
|
||||
private RIGRIT SaveRigRit;
|
||||
private long SaveRxFrequency;
|
||||
private long SaveTxFrequency;
|
||||
|
||||
|
||||
// ************************ Interface *********************************
|
||||
|
||||
RigSettings IRig.Settings
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
return Settings;
|
||||
}
|
||||
set
|
||||
{
|
||||
Settings = value;
|
||||
|
||||
this.Enabled = false;
|
||||
|
||||
// copy settings to rig settings
|
||||
ScoutBase.CAT.RigSettings settings = new ScoutBase.CAT.RigSettings();
|
||||
settings.RigType = Settings.Model;
|
||||
settings.PortName = Settings.PortName;
|
||||
settings.Baudrate = Settings.Baudrate;
|
||||
settings.DataBits = Settings.DataBits;
|
||||
switch(Settings.Parity)
|
||||
{
|
||||
case PARITY.EVEN: settings.Parity = Parity.ptEven; break;
|
||||
case PARITY.ODD: settings.Parity = Parity.ptOdd; break;
|
||||
case PARITY.MARK: settings.Parity = Parity.ptMark; break;
|
||||
case PARITY.SPACE: settings.Parity = Parity.ptSpace; break;
|
||||
default: settings.Parity = Parity.ptNone; break;
|
||||
}
|
||||
switch(Settings.StopBits)
|
||||
{
|
||||
case STOPBITS.ONE_5: settings.StopBits = StopBits.sbOne_5; break;
|
||||
case STOPBITS.TWO: settings.StopBits = StopBits.sbTwo; break;
|
||||
default: settings.StopBits = StopBits.sbOne; break;
|
||||
}
|
||||
switch (Settings.RtsMode)
|
||||
{
|
||||
case FLOWCONTROL.HIGH: settings.RtsMode = FlowControl.fcHigh; break;
|
||||
case FLOWCONTROL.HANDSHAKE: settings.RtsMode = FlowControl.fcHandShake; break;
|
||||
default: settings.RtsMode = FlowControl.fcLow; break;
|
||||
}
|
||||
switch (Settings.DtrMode)
|
||||
{
|
||||
case FLOWCONTROL.HIGH: settings.DtrMode = FlowControl.fcHigh; break;
|
||||
case FLOWCONTROL.HANDSHAKE: settings.DtrMode = FlowControl.fcHandShake; break;
|
||||
default: settings.DtrMode = FlowControl.fcLow; break;
|
||||
}
|
||||
settings.PollMs = Settings.PollMs;
|
||||
settings.TimeoutMs = Settings.TimeoutMs;
|
||||
|
||||
// transfer settings to rig and restart
|
||||
settings.ToRig(this);
|
||||
|
||||
// enable rig
|
||||
this.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
CATENGINE IRig.CatEngine
|
||||
{
|
||||
get
|
||||
{
|
||||
return CATENGINE.SCOUTBASE;
|
||||
}
|
||||
}
|
||||
|
||||
string IRig.CatVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return "ScoutBase.CAT V" + ScoutBase.CAT.OmniRig.InterfaceVersion;
|
||||
}
|
||||
}
|
||||
|
||||
public RIGSTATUS GetStatus()
|
||||
{
|
||||
try
|
||||
{
|
||||
// translate result to RIGSTATUS values
|
||||
switch ((RigCtlStatus)this.Status)
|
||||
{
|
||||
case RigCtlStatus.stPortBusy: return RIGSTATUS.NOPORT;
|
||||
case RigCtlStatus.stNotConfigured: return RIGSTATUS.NORIG;
|
||||
case RigCtlStatus.stDisabled: return RIGSTATUS.NORIG;
|
||||
case RigCtlStatus.stNotResponding: return RIGSTATUS.OFFLINE;
|
||||
}
|
||||
|
||||
// rig is online
|
||||
// check for rig capabilities here
|
||||
if (DopplerStrategy == DOPPLERSTRATEGY.DOPPLER_A)
|
||||
{
|
||||
// rig must support at least split operation
|
||||
if ((!this.IsParamReadable(RigParam.pmSplitOff)) ||
|
||||
(!this.IsParamReadable(RigParam.pmSplitOn)) ||
|
||||
(!this.IsParamWriteable(RigParam.pmSplitOff)) ||
|
||||
(!this.IsParamWriteable(RigParam.pmSplitOn)) ||
|
||||
(!this.IsParamWriteable(RigParam.pmVfoEqual))
|
||||
)
|
||||
{
|
||||
return RIGSTATUS.NOTSUITABLE;
|
||||
}
|
||||
}
|
||||
|
||||
// return online
|
||||
return RIGSTATUS.ONLINE;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return RIGSTATUS.NONE;
|
||||
}
|
||||
|
||||
public RIGMODE GetMode()
|
||||
{
|
||||
try
|
||||
{
|
||||
switch ((RigParam)this.Mode)
|
||||
{
|
||||
case RigParam.pmCW_L: return RIGMODE.CW;
|
||||
case RigParam.pmCW_U: return RIGMODE.CW_R;
|
||||
case RigParam.pmSSB_L: return RIGMODE.LSB;
|
||||
case RigParam.pmSSB_U: return RIGMODE.USB;
|
||||
case RigParam.pmDIG_L: return RIGMODE.DIG;
|
||||
case RigParam.pmDIG_U: return RIGMODE.DIG_R;
|
||||
case RigParam.pmAM: return RIGMODE.AM;
|
||||
case RigParam.pmFM: return RIGMODE.FM;
|
||||
}
|
||||
|
||||
return RIGMODE.NONE;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return RIGMODE.NONE;
|
||||
}
|
||||
|
||||
public RIGSPLIT GetSplit()
|
||||
{
|
||||
try
|
||||
{
|
||||
switch ((RigParam)this.Split)
|
||||
{
|
||||
case RigParam.pmSplitOff: return RIGSPLIT.SPLITOFF;
|
||||
case RigParam.pmSplitOn: return RIGSPLIT.SPLITON;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return RIGSPLIT.NONE;
|
||||
|
||||
}
|
||||
|
||||
public RIGRIT GetRit()
|
||||
{
|
||||
try
|
||||
{
|
||||
switch ((RigParam)this.Rit)
|
||||
{
|
||||
case RigParam.pmRitOff: return RIGRIT.RITOFF;
|
||||
case RigParam.pmRitOn: return RIGRIT.RITON;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return RIGRIT.NONE;
|
||||
|
||||
}
|
||||
|
||||
public RIGVFO GetVfo()
|
||||
{
|
||||
try
|
||||
{
|
||||
switch ((RigParam)this.Vfo)
|
||||
{
|
||||
case RigParam.pmVfoA: return RIGVFO.A;
|
||||
case RigParam.pmVfoB: return RIGVFO.B;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return RIGVFO.NONE;
|
||||
|
||||
}
|
||||
|
||||
long IRig.GetRxFrequency()
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((RigParam)this.Split == RigParam.pmSplitOff)
|
||||
{
|
||||
// check if pmFreq is readable --> return Freq
|
||||
if (this.Freq > 0)
|
||||
return this.Freq;
|
||||
// check if pmFreqA is readable --> return FreqA instead
|
||||
if (this.FreqA > 0)
|
||||
return this.FreqA;
|
||||
}
|
||||
else
|
||||
{
|
||||
// check if pmFreqA is readable --> return FreqA instead
|
||||
if (this.FreqA > 0)
|
||||
return this.FreqA;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
long IRig.GetTxFrequency()
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((RigParam)this.Split == RigParam.pmSplitOff)
|
||||
{
|
||||
// check if pmFreq is readable --> return Freq
|
||||
if (this.Freq > 0)
|
||||
return this.Freq;
|
||||
// check if pmFreqA is readable --> return FreqA instead
|
||||
if (this.FreqA > 0)
|
||||
return this.FreqA;
|
||||
}
|
||||
else
|
||||
{
|
||||
// check if pmFreqB is readable --> return FreqB instead
|
||||
if (this.FreqB > 0)
|
||||
return this.FreqB;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ********************************************************************
|
||||
|
||||
public bool SetMode(RIGMODE mode)
|
||||
{
|
||||
try
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case RIGMODE.CW: this.Mode = RigParam.pmCW_L; return true;
|
||||
case RIGMODE.CW_R: this.Mode = RigParam.pmCW_U; return true;
|
||||
case RIGMODE.LSB: this.Mode = RigParam.pmSSB_L; return true;
|
||||
case RIGMODE.USB: this.Mode = RigParam.pmSSB_U; return true;
|
||||
case RIGMODE.DIG: this.Mode = RigParam.pmDIG_L; return true;
|
||||
case RIGMODE.DIG_R: this.Mode = RigParam.pmDIG_U; return true;
|
||||
case RIGMODE.AM: this.Mode = RigParam.pmAM; return true;
|
||||
case RIGMODE.FM: this.Mode = RigParam.pmFM; return true;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetSplit(RIGSPLIT split)
|
||||
{
|
||||
try
|
||||
{
|
||||
switch (split)
|
||||
{
|
||||
case RIGSPLIT.SPLITOFF: this.Split = RigParam.pmSplitOff; return true;
|
||||
case RIGSPLIT.SPLITON: this.Split = RigParam.pmSplitOn; return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetRit(RIGRIT rit)
|
||||
{
|
||||
try
|
||||
{
|
||||
switch (rit)
|
||||
{
|
||||
case RIGRIT.RITOFF: this.Rit = RigParam.pmRitOff; return true;
|
||||
case RIGRIT.RITON: this.Rit = RigParam.pmRitOn; return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetVfo(RIGVFO vfo)
|
||||
{
|
||||
try
|
||||
{
|
||||
switch (vfo)
|
||||
{
|
||||
case RIGVFO.A: this.Vfo = RigParam.pmVfoA; return true;
|
||||
case RIGVFO.B: this.Vfo = RigParam.pmVfoB; return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetRxFrequency(long rx)
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((RigParam)this.Split == RigParam.pmSplitOff)
|
||||
{
|
||||
// check if pmFreq is writeable --> set Freq
|
||||
if (this.IsParamWriteable(RigParam.pmFreq))
|
||||
{
|
||||
this.Freq = (int)rx;
|
||||
return true;
|
||||
}
|
||||
// check if pmFreqA is writeable --> set FreqA instead
|
||||
if (this.IsParamWriteable(RigParam.pmFreqA))
|
||||
{
|
||||
this.FreqA = (int)rx;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// check if pmFreqA is writeable --> set FreqA instead
|
||||
if (this.IsParamWriteable(RigParam.pmFreqA))
|
||||
{
|
||||
this.FreqA = (int)rx;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetTxFrequency(long tx)
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((RigParam)this.Split == RigParam.pmSplitOff)
|
||||
{
|
||||
// check if pmFreq is writeable --> set Freq
|
||||
if (this.IsParamWriteable(RigParam.pmFreq))
|
||||
{
|
||||
this.Freq = (int)tx;
|
||||
return true;
|
||||
}
|
||||
// check if pmFreqA is writeable --> set FreqA instead
|
||||
if (this.IsParamWriteable(RigParam.pmFreqA))
|
||||
{
|
||||
this.FreqA = (int)tx;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// check if pmFreqB is writeable --> set FreqB instead
|
||||
if (this.IsParamWriteable(RigParam.pmFreqB))
|
||||
{
|
||||
this.FreqB = (int)tx;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IntSetSimplexMode(dynamic rig, long freq, RIGMODE mode)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetSimplexMode(long freq, RIGMODE mode = RIGMODE.NONE)
|
||||
{
|
||||
|
||||
// set frequency and switch split off
|
||||
try
|
||||
{
|
||||
if (this.IsParamWriteable(RigParam.pmFreqA) && this.IsParamWriteable(RigParam.pmVfoAA))
|
||||
{
|
||||
this.Vfo = RigParam.pmVfoAA;
|
||||
this.FreqA = freq;
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreqA) && this.IsParamWriteable(RigParam.pmVfoA) && this.IsParamWriteable(RigParam.pmSplitOff))
|
||||
{
|
||||
this.Vfo = RigParam.pmVfoA;
|
||||
this.FreqA = freq;
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq) && this.IsParamWriteable(RigParam.pmVfoA) && this.IsParamWriteable(RigParam.pmVfoB))
|
||||
{
|
||||
this.Vfo = RigParam.pmVfoB;
|
||||
this.Freq = freq;
|
||||
this.Vfo = RigParam.pmVfoA;
|
||||
this.Freq = freq;
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq) && this.IsParamWriteable(RigParam.pmVfoEqual))
|
||||
{
|
||||
this.Freq = freq;
|
||||
this.Vfo = RigParam.pmVfoEqual;
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq) && this.IsParamWriteable(RigParam.pmVfoSwap))
|
||||
{
|
||||
this.Vfo = RigParam.pmVfoSwap;
|
||||
this.Freq = freq;
|
||||
this.Vfo = RigParam.pmVfoSwap;
|
||||
this.Freq = freq;
|
||||
}
|
||||
// Added by RA6UAZ for Icom Marine Radio NMEA Command
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq) && !this.IsParamWriteable(RigParam.pmVfoA) && this.IsParamWriteable(RigParam.pmFreqB))
|
||||
{
|
||||
this.Freq = freq;
|
||||
this.FreqB = freq;
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq))
|
||||
{
|
||||
this.Freq = freq;
|
||||
}
|
||||
|
||||
if (this.IsParamWriteable(RigParam.pmSplitOff))
|
||||
{
|
||||
this.Split = RigParam.pmSplitOff;
|
||||
}
|
||||
|
||||
// simply set mode on current VFO
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool CanWriteMode()
|
||||
{
|
||||
// check if modes are writable
|
||||
if (!this.IsParamWriteable(RigParam.pmCW_L))
|
||||
return false;
|
||||
if (!this.IsParamWriteable(RigParam.pmCW_U))
|
||||
return false;
|
||||
if (!this.IsParamWriteable(RigParam.pmSSB_L))
|
||||
return false;
|
||||
if (!this.IsParamWriteable(RigParam.pmSSB_U))
|
||||
return false;
|
||||
if (!this.IsParamWriteable(RigParam.pmDIG_L))
|
||||
return false;
|
||||
if (!this.IsParamWriteable(RigParam.pmDIG_U))
|
||||
return false;
|
||||
if (!this.IsParamWriteable(RigParam.pmAM))
|
||||
return false;
|
||||
if (!this.IsParamWriteable(RigParam.pmFM))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool SetSplitMode(long rxfreq, long txfreq, RIGMODE mode = RIGMODE.NONE)
|
||||
{
|
||||
//set rx and tx frequencies and split
|
||||
try
|
||||
{
|
||||
// try to set mode on both Vfos via VfoEqual which is the easiest way
|
||||
if (this.IsParamWriteable(RigParam.pmVfoEqual))
|
||||
{
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
this.Vfo = RigParam.pmVfoEqual;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.IsParamWriteable(RigParam.pmFreqA) && this.IsParamWriteable(RigParam.pmFreqB) && this.IsParamWriteable(RigParam.pmVfoAB))
|
||||
{
|
||||
// TS-570
|
||||
this.Vfo = RigParam.pmVfoAB;
|
||||
this.FreqA = rxfreq;
|
||||
this.FreqB = txfreq;
|
||||
// try to set mode once for both VFOs
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq) && this.IsParamWriteable(RigParam.pmVfoEqual))
|
||||
{
|
||||
// IC-746
|
||||
this.Freq = txfreq;
|
||||
// should work fine for both VFOs because of VfoEqual
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
this.Vfo = RigParam.pmVfoEqual;
|
||||
this.Freq = rxfreq;
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmVfoB) && this.IsParamWriteable(RigParam.pmFreq) && this.IsParamWriteable(RigParam.pmVfoA))
|
||||
{
|
||||
// FT-100D
|
||||
this.Vfo = RigParam.pmVfoB;
|
||||
this.Freq = txfreq;
|
||||
// should work fine for both VFOs because of switching to both VFOs
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
this.Vfo = RigParam.pmVfoA;
|
||||
this.Freq = rxfreq;
|
||||
// should work fine for both VFOs because of switching to both VFOs
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq) && this.IsParamWriteable(RigParam.pmVfoSwap))
|
||||
{
|
||||
// FT-817 ?
|
||||
this.Vfo = RigParam.pmVfoSwap;
|
||||
this.Freq = txfreq;
|
||||
// should work fine for both VFOs because of VfoSwap
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
this.Vfo = RigParam.pmVfoSwap;
|
||||
this.Freq = rxfreq;
|
||||
// should work fine for both VFOs because of VfoSwap
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
}
|
||||
else if (this.IsParamWriteable(RigParam.pmFreqA) && this.IsParamWriteable(RigParam.pmFreqB) && this.IsParamWriteable(RigParam.pmVfoA))
|
||||
{
|
||||
//FT-1000 MP, IC-7610
|
||||
this.Vfo = RigParam.pmVfoA;
|
||||
this.FreqA = rxfreq;
|
||||
this.FreqB = txfreq;
|
||||
// can set only mode on VFO A
|
||||
if (CanWriteMode() && (mode != RIGMODE.NONE))
|
||||
{
|
||||
this.SetMode(mode);
|
||||
}
|
||||
|
||||
}
|
||||
// Added by RA6UAZ for Icom Marine Radio NMEA Command
|
||||
else if (this.IsParamWriteable(RigParam.pmFreq) && !this.IsParamWriteable(RigParam.pmFreqA) && this.IsParamWriteable(RigParam.pmFreqB))
|
||||
{
|
||||
this.Freq = rxfreq;
|
||||
this.FreqB = txfreq;
|
||||
}
|
||||
|
||||
if (this.IsParamWriteable(RigParam.pmSplitOn))
|
||||
{
|
||||
this.Split = RigParam.pmSplitOn;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetDopplerStrategy(DOPPLERSTRATEGY doppler)
|
||||
{
|
||||
DopplerStrategy = doppler;
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool EnterDoppler()
|
||||
{
|
||||
// return false if we are not online or rig not suitable
|
||||
if (GetStatus() != RIGSTATUS.ONLINE)
|
||||
return false;
|
||||
|
||||
// save rig settings
|
||||
SaveRigMode = this.GetMode();
|
||||
SaveRigSplit = this.GetSplit();
|
||||
SaveRigRit = this.GetRit();
|
||||
SaveRxFrequency = this.GetRxFrequency();
|
||||
SaveTxFrequency = this.GetTxFrequency();
|
||||
|
||||
SetSplitMode(SaveRxFrequency, SaveRxFrequency, SaveRigMode);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool LeaveDoppler()
|
||||
{
|
||||
// restore rig settings
|
||||
if (SaveRigMode != RIGMODE.NONE)
|
||||
SetMode(SaveRigMode);
|
||||
if (SaveRigSplit != RIGSPLIT.NONE)
|
||||
SetSplit(SaveRigSplit);
|
||||
if (SaveRigRit != RIGRIT.NONE)
|
||||
SetRit(SaveRigRit);
|
||||
if (SaveRxFrequency > 0)
|
||||
SetRxFrequency(SaveRxFrequency);
|
||||
if (SaveTxFrequency > 0)
|
||||
SetTxFrequency(SaveTxFrequency);
|
||||
|
||||
SetSimplexMode(SaveRxFrequency, SaveRigMode);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static List<SupportedRig> SupportedRigs()
|
||||
{
|
||||
List<SupportedRig> rigs = new List<SupportedRig>();
|
||||
List<string> rigtypes = ScoutBase.CAT.OmniRig.SupportedRigs();
|
||||
foreach (string rigtype in rigtypes)
|
||||
{
|
||||
SupportedRig rig = new SupportedRig();
|
||||
rig.Type = "[Serial] " + rigtype;
|
||||
rig.Model = rigtype;
|
||||
rig.CATEngine = CATENGINE.SCOUTBASE;
|
||||
rigs.Add(rig);
|
||||
}
|
||||
|
||||
// return list of rigs
|
||||
return rigs;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace AirScout.CAT
|
||||
{
|
||||
public class SupportedRig
|
||||
{
|
||||
public string Type { get; set; } = "";
|
||||
public string Model { get; set; } = "";
|
||||
public CATENGINE CATEngine { get; set; } = CATENGINE.NONE;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="AirScout.CAT.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<userSettings>
|
||||
<AirScout.CAT.Properties.Settings>
|
||||
<setting name="CAT_Activate" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="CAT_Update" serializeAs="String">
|
||||
<value>500</value>
|
||||
</setting>
|
||||
<setting name="CAT_ResponseTimeout" serializeAs="String">
|
||||
<value>500</value>
|
||||
</setting>
|
||||
<setting name="CAT_RigType" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CAT_PortName" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CAT_Baudrate" serializeAs="String">
|
||||
<value>9600</value>
|
||||
</setting>
|
||||
<setting name="CAT_DataBits" serializeAs="String">
|
||||
<value>8</value>
|
||||
</setting>
|
||||
<setting name="CAT_Parity" serializeAs="String">
|
||||
<value>NONE</value>
|
||||
</setting>
|
||||
<setting name="CAT_StopBits" serializeAs="String">
|
||||
<value>ONE</value>
|
||||
</setting>
|
||||
<setting name="CAT_RTS" serializeAs="String">
|
||||
<value>LOW</value>
|
||||
</setting>
|
||||
<setting name="CAT_DTR" serializeAs="String">
|
||||
<value>LOW</value>
|
||||
</setting>
|
||||
<setting name="CAT_Poll" serializeAs="String">
|
||||
<value>100</value>
|
||||
</setting>
|
||||
<setting name="CAT_Timeout" serializeAs="String">
|
||||
<value>500</value>
|
||||
</setting>
|
||||
</AirScout.CAT.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
|
@ -37,8 +37,8 @@
|
|||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
|
@ -73,12 +73,12 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -29,4 +29,11 @@ namespace AirScout.Core
|
|||
FASTFORWARD = 5
|
||||
}
|
||||
|
||||
public enum AIRSCOUTTRACKMODE
|
||||
{
|
||||
NONE = 0,
|
||||
SINGLE = 1,
|
||||
TRACK = 2,
|
||||
ERROR = 128
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,6 +90,14 @@ namespace AirScout.Core
|
|||
public bool Ambiguous = false;
|
||||
public string Comment = "";
|
||||
|
||||
// old values if available
|
||||
public DateTime OldTime;
|
||||
public double OldLat;
|
||||
public double OldLon;
|
||||
public double OldAlt;
|
||||
public double OldTrack;
|
||||
public double OldSpeed;
|
||||
|
||||
public PlaneInfo()
|
||||
{
|
||||
Time = DateTime.UtcNow;
|
||||
|
@ -108,6 +116,7 @@ namespace AirScout.Core
|
|||
From = "";
|
||||
To = "";
|
||||
VSpeed = 0;
|
||||
|
||||
}
|
||||
|
||||
public PlaneInfo(DateTime time, string call, string reg, string hex, double lat, double lon, double track, double alt, double speed, string type, string manufacturer, string model, PLANECATEGORY category)
|
||||
|
@ -125,6 +134,13 @@ namespace AirScout.Core
|
|||
Manufacturer = manufacturer;
|
||||
Model = model;
|
||||
Category = category;
|
||||
|
||||
OldTime = DateTime.MinValue;
|
||||
OldLat = 0;
|
||||
OldLon = 0;
|
||||
OldAlt = 0;
|
||||
OldTrack = 0;
|
||||
OldSpeed = 0;
|
||||
}
|
||||
|
||||
// LEGACY!!!
|
||||
|
@ -143,10 +159,18 @@ namespace AirScout.Core
|
|||
Manufacturer = (string)row[10];
|
||||
Model = (string)row[11];
|
||||
Category = (PLANECATEGORY)row[12];
|
||||
|
||||
OldTime = DateTime.MinValue;
|
||||
OldLat = 0;
|
||||
OldLon = 0;
|
||||
OldAlt = 0;
|
||||
OldTrack = 0;
|
||||
OldSpeed = 0;
|
||||
}
|
||||
|
||||
public PlaneInfo (PlaneInfo plane)
|
||||
{
|
||||
|
||||
this.Ambiguous = plane.Ambiguous;
|
||||
this.Alt = plane.Alt;
|
||||
this.AltDiff = plane.AltDiff;
|
||||
|
@ -174,6 +198,13 @@ namespace AirScout.Core
|
|||
this.Track = plane.Track;
|
||||
this.Type = plane.Type;
|
||||
|
||||
this.OldTime = plane.OldTime;
|
||||
this.OldLat = plane.OldLat;
|
||||
this.OldLon = plane.OldLon;
|
||||
this.OldAlt = plane.OldAlt;
|
||||
this.OldTrack = plane.OldTrack;
|
||||
this.OldSpeed = plane.OldSpeed;
|
||||
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.3.3.0")]
|
||||
[assembly: AssemblyFileVersion("1.3.3.0")]
|
||||
[assembly: AssemblyVersion("1.3.3.1")]
|
||||
[assembly: AssemblyFileVersion("1.3.3.1")]
|
||||
|
|
|
@ -43,6 +43,97 @@ namespace System.Net
|
|||
return clientExtensions;
|
||||
}
|
||||
|
||||
private static bool ReadContent(Stream stream, int contentlength, int timeout, ref string response)
|
||||
{
|
||||
// set stop watch as timout
|
||||
Stopwatch st = new Stopwatch();
|
||||
st.Start();
|
||||
string resp = "";
|
||||
int count = 0;
|
||||
// assign buffer
|
||||
byte[] buff = new byte[1];
|
||||
int bytesread = 0;
|
||||
// read content bytewise
|
||||
while (bytesread < contentlength)
|
||||
{
|
||||
bytesread += stream.Read(buff, 0, buff.Length);
|
||||
// add it to response
|
||||
resp += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
string trailer = "";
|
||||
// reassign buffer
|
||||
buff = new byte[1];
|
||||
// read stream bytewise until CRLFCRLF is detected, should be the next two bytes
|
||||
do
|
||||
{
|
||||
count = stream.Read(buff, 0, buff.Length);
|
||||
trailer += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
while (!trailer.Contains("\r\n"));
|
||||
Console.WriteLine("Reading content [" + contentlength.ToString() + " bytes]: " + resp);
|
||||
response += resp;
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool ReadChunkedContent(Stream stream, int timeout, ref string response)
|
||||
{
|
||||
// set stop watch as timout
|
||||
Stopwatch st = new Stopwatch();
|
||||
st.Start();
|
||||
string resp = "";
|
||||
byte[] buff = new byte[1];
|
||||
int count = 0;
|
||||
string strcontentlength = "";
|
||||
int contentlength = 0;
|
||||
// chunked transfer, first line should contain content length
|
||||
// read stream bytewise until CRLF is detected
|
||||
do
|
||||
{
|
||||
count = stream.Read(buff, 0, buff.Length);
|
||||
strcontentlength += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
while (!strcontentlength.Contains("\r\n"));
|
||||
strcontentlength = strcontentlength.Replace("\r\n", "");
|
||||
contentlength = int.Parse(strcontentlength, System.Globalization.NumberStyles.HexNumber);
|
||||
// finished reading all chunks
|
||||
if (contentlength == 0)
|
||||
{
|
||||
Console.WriteLine("Reading chunked content finished");
|
||||
return true;
|
||||
}
|
||||
int bytesread = 0;
|
||||
// read content bytewise
|
||||
while (bytesread < contentlength)
|
||||
{
|
||||
bytesread += stream.Read(buff, 0, buff.Length);
|
||||
// add it to response
|
||||
resp += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
string trailer = "";
|
||||
// reassign buffer
|
||||
buff = new byte[1];
|
||||
// read stream bytewise until CRLFCRLF is detected, should be the next two bytes
|
||||
do
|
||||
{
|
||||
count = stream.Read(buff, 0, buff.Length);
|
||||
trailer += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
while (!trailer.Contains("\r\n"));
|
||||
Console.WriteLine("Reading chunked content [" + contentlength.ToString() + " bytes]: " + resp);
|
||||
response += resp;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string DownloadFile(string url, int timeout)
|
||||
{
|
||||
string response = "";
|
||||
|
@ -76,13 +167,15 @@ namespace System.Net
|
|||
var dataToSend = Encoding.ASCII.GetBytes(hdr.ToString());
|
||||
|
||||
stream.Write(dataToSend, 0, dataToSend.Length);
|
||||
|
||||
byte[] buff;
|
||||
// set stop watch as timout
|
||||
Stopwatch st = new Stopwatch();
|
||||
st.Start();
|
||||
//read header bytewise
|
||||
string header = "";
|
||||
int totalRead = 0;
|
||||
byte[] buff = new byte[1];
|
||||
buff = new byte[1];
|
||||
do
|
||||
{
|
||||
totalRead = stream.Read(buff, 0, buff.Length);
|
||||
|
@ -91,47 +184,20 @@ namespace System.Net
|
|||
throw new TimeoutException("Connection to " + url + " timed out.");
|
||||
}
|
||||
while (!header.Contains("\r\n\r\n"));
|
||||
Console.Write(header);
|
||||
int contentlength = 0;
|
||||
if (header.Contains("Transfer-Encoding: chunked"))
|
||||
{
|
||||
// chunked transfer, first line should contain content length
|
||||
string strcontentlength = "";
|
||||
do
|
||||
{
|
||||
totalRead = stream.Read(buff, 0, buff.Length);
|
||||
strcontentlength += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection to " + url + " timed out.");
|
||||
}
|
||||
while (!strcontentlength.Contains("\r\n"));
|
||||
strcontentlength = strcontentlength.Replace("\r\n", "");
|
||||
contentlength = int.Parse(strcontentlength, System.Globalization.NumberStyles.HexNumber);
|
||||
// chunked transfer, read all chunks until complete
|
||||
while (!ReadChunkedContent(stream, timeout, ref response))
|
||||
{ }
|
||||
}
|
||||
else
|
||||
{
|
||||
// get content length from header
|
||||
Regex strcontentlength = new Regex("(?<=Content-Length:\\s)\\d+", RegexOptions.IgnoreCase);
|
||||
contentlength = int.Parse(strcontentlength.Match(header).Value);
|
||||
}
|
||||
// re-assign buffer
|
||||
// read response
|
||||
buff = new byte[1000];
|
||||
totalRead = 0;
|
||||
do
|
||||
{
|
||||
int bytesRead = stream.Read(buff, 0, buff.Length);
|
||||
string part = Encoding.UTF8.GetString(buff, 0, bytesRead);
|
||||
Console.WriteLine(part);
|
||||
response += part;
|
||||
totalRead += bytesRead;
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection to " + url + " timed out.");
|
||||
}
|
||||
while (totalRead < contentlength);
|
||||
// cut response at the end
|
||||
if (response.Contains("\r\n"))
|
||||
{
|
||||
response = response.Substring(0, response.IndexOf("\r\n"));
|
||||
Regex rcontentlength = new Regex("(?<=Content-Length:\\s)\\d+", RegexOptions.IgnoreCase);
|
||||
contentlength = int.Parse(rcontentlength.Match(header).Value);
|
||||
ReadContent(stream, contentlength, timeout, ref response);
|
||||
}
|
||||
st.Stop();
|
||||
}
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.3.3.0")]
|
||||
[assembly: AssemblyFileVersion("1.3.3.0")]
|
||||
[assembly: AssemblyVersion("1.3.3.4")]
|
||||
[assembly: AssemblyFileVersion("1.3.3.4")]
|
||||
|
|
|
@ -4,11 +4,13 @@ using System;
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
|
||||
namespace System.Net
|
||||
{
|
||||
|
@ -41,6 +43,104 @@ namespace System.Net
|
|||
return clientExtensions;
|
||||
}
|
||||
|
||||
private static bool ReadContent(Stream stream, int contentlength, int timeout, ref string response)
|
||||
{
|
||||
// set stop watch as timout
|
||||
Stopwatch st = new Stopwatch();
|
||||
st.Start();
|
||||
string resp = "";
|
||||
int count = 0;
|
||||
// assign buffer
|
||||
byte[] buff = new byte[1];
|
||||
int bytesread = 0;
|
||||
// read content bytewise
|
||||
while (bytesread < contentlength)
|
||||
{
|
||||
bytesread += stream.Read(buff, 0, buff.Length);
|
||||
// add it to response
|
||||
resp += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
string trailer = "";
|
||||
// reassign buffer
|
||||
buff = new byte[1];
|
||||
// read stream bytewise until CRLFCRLF is detected, should be the next two bytes
|
||||
do
|
||||
{
|
||||
count = stream.Read(buff, 0, buff.Length);
|
||||
trailer += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
while (!trailer.Contains("\r\n"));
|
||||
// Console.WriteLine("Reading content [" + contentlength.ToString() + " bytes]: " + resp);
|
||||
response += resp;
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool ReadChunkedContent(Stream stream, int timeout, ref string response)
|
||||
{
|
||||
// set stop watch as timout
|
||||
Stopwatch st = new Stopwatch();
|
||||
st.Start();
|
||||
string resp = "";
|
||||
byte[] buff = new byte[1];
|
||||
int count = 0;
|
||||
string strcontentlength = "";
|
||||
int contentlength = 0;
|
||||
// chunked transfer, first line should contain content length
|
||||
// read stream bytewise until CRLF is detected
|
||||
try
|
||||
{
|
||||
do
|
||||
{
|
||||
count = stream.Read(buff, 0, buff.Length);
|
||||
strcontentlength += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
while (!strcontentlength.Contains("\r\n"));
|
||||
strcontentlength = strcontentlength.Replace("\r\n", "");
|
||||
contentlength = int.Parse(strcontentlength, System.Globalization.NumberStyles.HexNumber);
|
||||
// finished reading all chunks
|
||||
if (contentlength == 0)
|
||||
{
|
||||
Console.WriteLine("Reading chunked content finished");
|
||||
return true;
|
||||
}
|
||||
int bytesread = 0;
|
||||
// read content bytewise
|
||||
while (bytesread < contentlength)
|
||||
{
|
||||
bytesread += stream.Read(buff, 0, buff.Length);
|
||||
// add it to response
|
||||
resp += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
string trailer = "";
|
||||
// reassign buffer
|
||||
buff = new byte[1];
|
||||
// read stream bytewise until CRLFCRLF is detected, should be the next two bytes
|
||||
do
|
||||
{
|
||||
count = stream.Read(buff, 0, buff.Length);
|
||||
trailer += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection timed out.");
|
||||
}
|
||||
while (!trailer.Contains("\r\n"));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("Error while reading chunked content: " + ex.Message);
|
||||
}
|
||||
// Console.WriteLine("Reading chunked content [" + contentlength.ToString() + " bytes]: " + resp);
|
||||
response += resp;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string DownloadFile (string url, int timeout, string apikey)
|
||||
{
|
||||
string response = "";
|
||||
|
@ -75,13 +175,15 @@ namespace System.Net
|
|||
var dataToSend = Encoding.ASCII.GetBytes(hdr.ToString());
|
||||
|
||||
stream.Write(dataToSend, 0, dataToSend.Length);
|
||||
|
||||
byte[] buff;
|
||||
// set stop watch as timout
|
||||
Stopwatch st = new Stopwatch();
|
||||
st.Start();
|
||||
//read header bytewise
|
||||
string header = "";
|
||||
int totalRead = 0;
|
||||
byte[] buff = new byte[1];
|
||||
buff = new byte[1];
|
||||
do
|
||||
{
|
||||
totalRead = stream.Read(buff, 0, buff.Length);
|
||||
|
@ -90,47 +192,20 @@ namespace System.Net
|
|||
throw new TimeoutException("Connection to " + url + " timed out.");
|
||||
}
|
||||
while (!header.Contains("\r\n\r\n"));
|
||||
Console.Write(header);
|
||||
int contentlength = 0;
|
||||
if (header.Contains("Transfer-Encoding: chunked"))
|
||||
{
|
||||
// chunked transfer, first line should contain content length
|
||||
string strcontentlength = "";
|
||||
do
|
||||
{
|
||||
totalRead = stream.Read(buff, 0, buff.Length);
|
||||
strcontentlength += Encoding.ASCII.GetString(buff, 0, buff.Length);
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection to " + url + " timed out.");
|
||||
}
|
||||
while (!strcontentlength.Contains("\r\n"));
|
||||
strcontentlength = strcontentlength.Replace("\r\n", "");
|
||||
contentlength = int.Parse(strcontentlength, System.Globalization.NumberStyles.HexNumber);
|
||||
// chunked transfer, read all chunks until complete
|
||||
while (!ReadChunkedContent(stream, timeout, ref response))
|
||||
{ }
|
||||
}
|
||||
else
|
||||
{
|
||||
// get content length from header
|
||||
Regex strcontentlength = new Regex("(?<=Content-Length:\\s)\\d+", RegexOptions.IgnoreCase);
|
||||
contentlength = int.Parse(strcontentlength.Match(header).Value);
|
||||
}
|
||||
// re-assign buffer
|
||||
// read response
|
||||
buff = new byte[1000];
|
||||
totalRead = 0;
|
||||
do
|
||||
{
|
||||
int bytesRead = stream.Read(buff, 0, buff.Length);
|
||||
string part = Encoding.UTF8.GetString(buff, 0, bytesRead);
|
||||
Console.WriteLine(part);
|
||||
response += part;
|
||||
totalRead += bytesRead;
|
||||
if (st.ElapsedMilliseconds > timeout)
|
||||
throw new TimeoutException("Connection to " + url + " timed out.");
|
||||
}
|
||||
while (totalRead < contentlength);
|
||||
// cut response at the end
|
||||
if (response.Contains("\r\n"))
|
||||
{
|
||||
response = response.Substring(0, response.IndexOf("\r\n"));
|
||||
Regex rcontentlength = new Regex("(?<=Content-Length:\\s)\\d+", RegexOptions.IgnoreCase);
|
||||
contentlength = int.Parse(rcontentlength.Match(header).Value);
|
||||
ReadContent(stream, contentlength, timeout, ref response);
|
||||
}
|
||||
st.Stop();
|
||||
}
|
||||
|
|
|
@ -368,7 +368,6 @@ namespace AirScout.PlaneFeeds.Plugin.VirtualRadarServer
|
|||
Console.WriteLine("[" + this.GetType().Name + "]: Analyzing data");
|
||||
// JavaScriptSerializer js = new JavaScriptSerializer();
|
||||
// dynamic root = js.Deserialize<dynamic>(json);
|
||||
dynamic root = JsonConvert.DeserializeObject(json);
|
||||
// 2017-07-23: workaround for "jumping planes" due to incorrect time stamps
|
||||
// try to get the server time to adjust the time stamps in plane positions
|
||||
// --> compare server time with local time and calculate offset
|
||||
|
@ -376,6 +375,8 @@ namespace AirScout.PlaneFeeds.Plugin.VirtualRadarServer
|
|||
long toffset = 0;
|
||||
try
|
||||
{
|
||||
// deserialize JSON
|
||||
dynamic root = JsonConvert.DeserializeObject(json);
|
||||
// get local time of request in milliseconds
|
||||
DateTime lt = DateTime.UtcNow;
|
||||
long ltime = (long)(lt - new DateTime(1970, 1, 1)).TotalMilliseconds;
|
||||
|
|
|
@ -59,8 +59,8 @@
|
|||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.Composition" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
|
@ -123,12 +123,12 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
|
@ -37,8 +37,8 @@
|
|||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
@ -80,12 +80,12 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
142
AirScout.sln
142
AirScout.sln
|
@ -1,7 +1,7 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29609.76
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout", "AirScout\AirScout.csproj", "{17498590-2CFF-4D24-BFB8-549D14BD2545}"
|
||||
EndProject
|
||||
|
@ -31,8 +31,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AeroWizard", "AeroWizard\Ae
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SerializableGenerics", "SerializableGenerics\SerializableGenerics.csproj", "{EF2EB181-4D5B-4418-A280-BFA1D53550BE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScoutDatabaseManager", "AirScoutDatabaseManager\AirScoutDatabaseManager.csproj", "{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ElevationTileGenerator", "ElevationTileGenerator\ElevationTileGenerator.csproj", "{955CEA7D-37F6-4122-B4CA-B08C2B73969F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteDatabase", "SQLiteDatabase\SQLiteDatabase\SQLiteDatabase.csproj", "{6056D3BE-7002-4A6A-A9EA-6FF45122A3C7}"
|
||||
|
@ -83,12 +81,26 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.OpenSky", "AirScout.PlaneFeeds.Plugin.OpenSky\AirScout.PlaneFeeds.Plugin.OpenSky.csproj", "{23F584DB-EB5E-452D-B49F-7C1CABB713FF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.PlaneFinder", "AirScout.PlaneFeeds.Plugin.PlaneFinder\AirScout.PlaneFeeds.Plugin.PlaneFinder.csproj", "{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScoutBase.Maps", "ScoutBase\ScoutBase.Maps\ScoutBase.Maps.csproj", "{B3B005A5-CC05-430B-B966-20BE5E5985BF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapTileGenerator", "MapTileGenerator\MapTileGenerator.csproj", "{3D5AADC3-E4CA-4C12-8939-8DC778F6018E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CATCheck", "CATCheck\CATCheck.csproj", "{0F0B27D0-7957-4CE0-9121-2C89746AF136}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScoutBase.CAT", "ScoutBase\ScoutBase.CAT\ScoutBase.CAT.csproj", "{C9291203-B5D0-4179-888D-04BC670B158F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.CAT", "AirScout.CAT\AirScout.CAT.csproj", "{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RainScout", "RainScout\RainScout.csproj", "{F14C9DB2-D556-45F4-8CB5-E9B402C36087}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RainScout.Radars", "RainScout.Radars\RainScout.Radars.csproj", "{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RainScout.Core", "RainScout.Core\RainScout.Core.csproj", "{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ElevationCoverageMapper", "ElevationCoverageMapper\ElevationCoverageMapper.csproj", "{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinTestSimulator", "WinTestSimulator\WinTestSimulator.csproj", "{B7B00B6B-4288-4562-9773-116556607857}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -250,16 +262,6 @@ Global
|
|||
{EF2EB181-4D5B-4418-A280-BFA1D53550BE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{EF2EB181-4D5B-4418-A280-BFA1D53550BE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EF2EB181-4D5B-4418-A280-BFA1D53550BE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Release|x86.ActiveCfg = Release|x86
|
||||
{00062ABB-C482-4B06-BD1B-C49DE9ABA9E5}.Release|x86.Build.0 = Release|x86
|
||||
{955CEA7D-37F6-4122-B4CA-B08C2B73969F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{955CEA7D-37F6-4122-B4CA-B08C2B73969F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{955CEA7D-37F6-4122-B4CA-B08C2B73969F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
|
@ -551,18 +553,6 @@ Global
|
|||
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B3B005A5-CC05-430B-B966-20BE5E5985BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B3B005A5-CC05-430B-B966-20BE5E5985BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B3B005A5-CC05-430B-B966-20BE5E5985BF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
|
@ -587,6 +577,102 @@ Global
|
|||
{3D5AADC3-E4CA-4C12-8939-8DC778F6018E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{3D5AADC3-E4CA-4C12-8939-8DC778F6018E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3D5AADC3-E4CA-4C12-8939-8DC778F6018E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0F0B27D0-7957-4CE0-9121-2C89746AF136}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C9291203-B5D0-4179-888D-04BC670B158F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FFDEC390-7BBC-4DEC-9826-1DD04279F3FA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Debug|x86.Build.0 = Debug|x86
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Release|x86.ActiveCfg = Release|x86
|
||||
{F14C9DB2-D556-45F4-8CB5-E9B402C36087}.Release|x86.Build.0 = Release|x86
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{58A3209F-1BF2-4B59-9A2A-0983CE232CB0}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2AA51078-C9E9-4AD0-A8CD-2A028A6BC886}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3ABFFAF3-5169-4DF6-9F64-BF44FCCD26F1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{B7B00B6B-4288-4562-9773-116556607857}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -117,8 +117,8 @@
|
|||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Management" />
|
||||
|
@ -136,6 +136,8 @@
|
|||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Enums.cs" />
|
||||
<Compile Include="GMapLocatorPolygon.cs" />
|
||||
<Compile Include="MapPreloader.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -285,6 +287,7 @@
|
|||
<DependentUpon>Splash.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TooltipDataPoint.cs" />
|
||||
<Compile Include="TrackValues.cs" />
|
||||
<Compile Include="TrafficDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -320,6 +323,7 @@
|
|||
<None Include="Resources\AirScout_Marker.png" />
|
||||
<None Include="Resources\AirScout_Watchlist.png" />
|
||||
<None Include="Resources\Settings.png" />
|
||||
<Content Include="Requirements.txt" />
|
||||
<Content Include="VersionHistory.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -446,6 +450,10 @@
|
|||
<Project>{288a26ec-b690-41a2-84e5-61c9b7b74046}</Project>
|
||||
<Name>AirScout.Aircrafts</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\AirScout.CAT\AirScout.CAT.csproj">
|
||||
<Project>{ffdec390-7bbc-4dec-9826-1dd04279f3fa}</Project>
|
||||
<Name>AirScout.CAT</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\AirScout.Core\AirScout.Core.csproj">
|
||||
<Project>{41b66be4-6086-4ae3-be31-c81ee6b10154}</Project>
|
||||
<Name>AirScout.Core</Name>
|
||||
|
@ -486,6 +494,10 @@
|
|||
<Project>{507de008-21ac-469b-bc30-23b239832af6}</Project>
|
||||
<Name>OxyPlot</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ScoutBase\ScoutBase.CAT\ScoutBase.CAT.csproj">
|
||||
<Project>{c9291203-b5d0-4179-888d-04bc670b158f}</Project>
|
||||
<Name>ScoutBase.CAT</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ScoutBase\ScoutBase.Core\ScoutBase.Core.csproj">
|
||||
<Project>{EE86E933-D883-4B18-80EB-0FBA55EC67C6}</Project>
|
||||
<Name>ScoutBase.Core</Name>
|
||||
|
@ -582,12 +594,12 @@
|
|||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace AirScout
|
||||
{
|
||||
public enum TRACKSTATUS
|
||||
{
|
||||
NONE = 0,
|
||||
STOPPED = 1,
|
||||
SINGLE = 2,
|
||||
TRACKING = 3,
|
||||
ERROR = 128
|
||||
}
|
||||
|
||||
public enum ROTSTATUS
|
||||
{
|
||||
NONE = 0,
|
||||
STOPPED = 1,
|
||||
TRACKING = 2,
|
||||
ERROR = 128
|
||||
}
|
||||
}
|
|
@ -311,7 +311,7 @@ namespace AirScout
|
|||
{
|
||||
using (StreamWriter sw = new StreamWriter(Dlg.FileName))
|
||||
{
|
||||
sw.WriteLine("Bearing[deg];Distance[km];Eps_Min[deg];Elevation[m]");
|
||||
sw.WriteLine("Bearing[deg];Eps_Min[deg];Distance[km];Elevation[m]");
|
||||
for (int i = 0; i < 360; i++)
|
||||
{
|
||||
sw.WriteLine(i.ToString() + ";" +
|
||||
|
|
|
@ -2760,7 +2760,34 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
********************************************************************************
|
||||
Licence Information for Ini-Parser
|
||||
(included in AirScout.CAT)
|
||||
********************************************************************************
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2008 Ricardo Amores Hernández
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
* * *
|
||||
|
||||
2020-04-06
|
||||
2021-04-14
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
this.sc_Map = new System.Windows.Forms.SplitContainer();
|
||||
this.tc_Map = new System.Windows.Forms.TabControl();
|
||||
this.tp_Map = new System.Windows.Forms.TabPage();
|
||||
this.pa_Rig = new System.Windows.Forms.Panel();
|
||||
this.ag_Azimuth = new AquaControls.AquaGauge();
|
||||
this.ag_Elevation = new AquaControls.AquaGauge();
|
||||
this.gm_Main = new GMap.NET.WindowsForms.GMapControl();
|
||||
|
@ -107,6 +108,9 @@
|
|||
this.tsl_Database_LED_SRTM1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tsl_Database_LED_ASTER3 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tsl_Database_LED_ASTER1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tsl_Track = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tsl_Rot = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tsl_CAT = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tt_Main = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.btn_Map_PlayPause = new System.Windows.Forms.Button();
|
||||
this.btn_Map_Save = new System.Windows.Forms.Button();
|
||||
|
@ -247,7 +251,7 @@
|
|||
this.sc_Map.Panel2.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.sc_Map.Panel2.Controls.Add(this.tc_Main);
|
||||
this.sc_Map.Size = new System.Drawing.Size(852, 706);
|
||||
this.sc_Map.SplitterDistance = 341;
|
||||
this.sc_Map.SplitterDistance = 342;
|
||||
this.sc_Map.SplitterWidth = 5;
|
||||
this.sc_Map.TabIndex = 20;
|
||||
this.sc_Map.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.sc_Map_SplitterMoved);
|
||||
|
@ -261,12 +265,13 @@
|
|||
this.tc_Map.Location = new System.Drawing.Point(0, 0);
|
||||
this.tc_Map.Name = "tc_Map";
|
||||
this.tc_Map.SelectedIndex = 0;
|
||||
this.tc_Map.Size = new System.Drawing.Size(852, 341);
|
||||
this.tc_Map.Size = new System.Drawing.Size(852, 342);
|
||||
this.tc_Map.TabIndex = 14;
|
||||
this.tc_Map.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tc_Map_Selecting);
|
||||
//
|
||||
// tp_Map
|
||||
//
|
||||
this.tp_Map.Controls.Add(this.pa_Rig);
|
||||
this.tp_Map.Controls.Add(this.ag_Azimuth);
|
||||
this.tp_Map.Controls.Add(this.ag_Elevation);
|
||||
this.tp_Map.Controls.Add(this.gm_Main);
|
||||
|
@ -274,12 +279,20 @@
|
|||
this.tp_Map.Location = new System.Drawing.Point(4, 22);
|
||||
this.tp_Map.Name = "tp_Map";
|
||||
this.tp_Map.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tp_Map.Size = new System.Drawing.Size(844, 315);
|
||||
this.tp_Map.Size = new System.Drawing.Size(844, 316);
|
||||
this.tp_Map.TabIndex = 0;
|
||||
this.tp_Map.Text = "Map";
|
||||
this.tp_Map.UseVisualStyleBackColor = true;
|
||||
this.tp_Map.Enter += new System.EventHandler(this.tp_Map_Enter);
|
||||
//
|
||||
// pa_Rig
|
||||
//
|
||||
this.pa_Rig.Location = new System.Drawing.Point(489, 182);
|
||||
this.pa_Rig.Name = "pa_Rig";
|
||||
this.pa_Rig.Size = new System.Drawing.Size(349, 80);
|
||||
this.pa_Rig.TabIndex = 30;
|
||||
this.pa_Rig.Visible = false;
|
||||
//
|
||||
// ag_Azimuth
|
||||
//
|
||||
this.ag_Azimuth.BackColor = System.Drawing.Color.Transparent;
|
||||
|
@ -342,12 +355,15 @@
|
|||
this.gm_Main.RoutesEnabled = true;
|
||||
this.gm_Main.SelectedAreaFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(65)))), ((int)(((byte)(105)))), ((int)(((byte)(225)))));
|
||||
this.gm_Main.ShowTileGridLines = false;
|
||||
this.gm_Main.Size = new System.Drawing.Size(838, 309);
|
||||
this.gm_Main.Size = new System.Drawing.Size(838, 310);
|
||||
this.gm_Main.TabIndex = 4;
|
||||
this.gm_Main.Zoom = 0D;
|
||||
this.gm_Main.OnMarkerClick += new GMap.NET.WindowsForms.MarkerClick(this.gm_Main_OnMarkerClick);
|
||||
this.gm_Main.OnMarkerEnter += new GMap.NET.WindowsForms.MarkerEnter(this.gm_Main_OnMarkerEnter);
|
||||
this.gm_Main.OnMarkerLeave += new GMap.NET.WindowsForms.MarkerLeave(this.gm_Main_OnMarkerLeave);
|
||||
this.gm_Main.OnPositionChanged += new GMap.NET.PositionChanged(this.gm_Main_OnPositionChanged);
|
||||
this.gm_Main.OnTileLoadComplete += new GMap.NET.TileLoadComplete(this.gm_Main_OnTileLoadComplete);
|
||||
this.gm_Main.OnMapDrag += new GMap.NET.MapDrag(this.gm_Main_OnMapDrag);
|
||||
this.gm_Main.OnMapZoomChanged += new GMap.NET.MapZoomChanged(this.gm_Main_OnMapZoomChanged);
|
||||
this.gm_Main.SizeChanged += new System.EventHandler(this.gm_Main_SizeChanged);
|
||||
this.gm_Main.Paint += new System.Windows.Forms.PaintEventHandler(this.gm_Main_Paint);
|
||||
|
@ -377,7 +393,7 @@
|
|||
this.gm_Cache.RoutesEnabled = true;
|
||||
this.gm_Cache.SelectedAreaFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(65)))), ((int)(((byte)(105)))), ((int)(((byte)(225)))));
|
||||
this.gm_Cache.ShowTileGridLines = false;
|
||||
this.gm_Cache.Size = new System.Drawing.Size(838, 309);
|
||||
this.gm_Cache.Size = new System.Drawing.Size(838, 310);
|
||||
this.gm_Cache.TabIndex = 29;
|
||||
this.gm_Cache.Zoom = 0D;
|
||||
//
|
||||
|
@ -385,7 +401,7 @@
|
|||
//
|
||||
this.tp_News.Location = new System.Drawing.Point(4, 22);
|
||||
this.tp_News.Name = "tp_News";
|
||||
this.tp_News.Size = new System.Drawing.Size(844, 315);
|
||||
this.tp_News.Size = new System.Drawing.Size(844, 316);
|
||||
this.tp_News.TabIndex = 3;
|
||||
this.tp_News.Text = "Latest News";
|
||||
this.tp_News.UseVisualStyleBackColor = true;
|
||||
|
@ -403,7 +419,7 @@
|
|||
this.tc_Main.MinimumSize = new System.Drawing.Size(0, 200);
|
||||
this.tc_Main.Name = "tc_Main";
|
||||
this.tc_Main.SelectedIndex = 0;
|
||||
this.tc_Main.Size = new System.Drawing.Size(852, 360);
|
||||
this.tc_Main.Size = new System.Drawing.Size(852, 359);
|
||||
this.tc_Main.TabIndex = 0;
|
||||
this.tc_Main.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tc_Main_DrawItem);
|
||||
this.tc_Main.SelectedIndexChanged += new System.EventHandler(this.tc_Main_SelectedIndexChanged);
|
||||
|
@ -412,10 +428,11 @@
|
|||
// tp_Elevation
|
||||
//
|
||||
this.tp_Elevation.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tp_Elevation.ForeColor = System.Drawing.Color.DarkGray;
|
||||
this.tp_Elevation.Location = new System.Drawing.Point(4, 22);
|
||||
this.tp_Elevation.Name = "tp_Elevation";
|
||||
this.tp_Elevation.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tp_Elevation.Size = new System.Drawing.Size(844, 334);
|
||||
this.tp_Elevation.Size = new System.Drawing.Size(844, 333);
|
||||
this.tp_Elevation.TabIndex = 0;
|
||||
this.tp_Elevation.Text = "Path Profile";
|
||||
this.tp_Elevation.Enter += new System.EventHandler(this.tp_Elevation_Enter);
|
||||
|
@ -431,7 +448,7 @@
|
|||
this.tp_Spectrum.Location = new System.Drawing.Point(4, 22);
|
||||
this.tp_Spectrum.Name = "tp_Spectrum";
|
||||
this.tp_Spectrum.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tp_Spectrum.Size = new System.Drawing.Size(844, 334);
|
||||
this.tp_Spectrum.Size = new System.Drawing.Size(844, 333);
|
||||
this.tp_Spectrum.TabIndex = 1;
|
||||
this.tp_Spectrum.Text = "Spectrum";
|
||||
this.tp_Spectrum.Enter += new System.EventHandler(this.tp_Spectrum_Enter);
|
||||
|
@ -455,7 +472,7 @@
|
|||
this.gb_Spectrum_NearestInfo.Controls.Add(this.label2);
|
||||
this.gb_Spectrum_NearestInfo.Location = new System.Drawing.Point(489, 54);
|
||||
this.gb_Spectrum_NearestInfo.Name = "gb_Spectrum_NearestInfo";
|
||||
this.gb_Spectrum_NearestInfo.Size = new System.Drawing.Size(175, 271);
|
||||
this.gb_Spectrum_NearestInfo.Size = new System.Drawing.Size(175, 270);
|
||||
this.gb_Spectrum_NearestInfo.TabIndex = 8;
|
||||
this.gb_Spectrum_NearestInfo.TabStop = false;
|
||||
this.gb_Spectrum_NearestInfo.Text = "Nearest Plane Info";
|
||||
|
@ -607,7 +624,7 @@
|
|||
this.gb_NearestPlaneMap.Controls.Add(this.gm_Nearest);
|
||||
this.gb_NearestPlaneMap.Location = new System.Drawing.Point(670, 54);
|
||||
this.gb_NearestPlaneMap.Name = "gb_NearestPlaneMap";
|
||||
this.gb_NearestPlaneMap.Size = new System.Drawing.Size(168, 274);
|
||||
this.gb_NearestPlaneMap.Size = new System.Drawing.Size(168, 273);
|
||||
this.gb_NearestPlaneMap.TabIndex = 6;
|
||||
this.gb_NearestPlaneMap.TabStop = false;
|
||||
this.gb_NearestPlaneMap.Text = "Nearest Plane Map";
|
||||
|
@ -634,7 +651,7 @@
|
|||
this.gm_Nearest.RoutesEnabled = true;
|
||||
this.gm_Nearest.SelectedAreaFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(65)))), ((int)(((byte)(105)))), ((int)(((byte)(225)))));
|
||||
this.gm_Nearest.ShowTileGridLines = false;
|
||||
this.gm_Nearest.Size = new System.Drawing.Size(162, 255);
|
||||
this.gm_Nearest.Size = new System.Drawing.Size(162, 254);
|
||||
this.gm_Nearest.TabIndex = 0;
|
||||
this.gm_Nearest.Zoom = 0D;
|
||||
//
|
||||
|
@ -645,7 +662,7 @@
|
|||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.gb_Spectrum.Location = new System.Drawing.Point(8, 54);
|
||||
this.gb_Spectrum.Name = "gb_Spectrum";
|
||||
this.gb_Spectrum.Size = new System.Drawing.Size(475, 274);
|
||||
this.gb_Spectrum.Size = new System.Drawing.Size(475, 273);
|
||||
this.gb_Spectrum.TabIndex = 5;
|
||||
this.gb_Spectrum.TabStop = false;
|
||||
this.gb_Spectrum.Text = "Spectrum";
|
||||
|
@ -657,7 +674,7 @@
|
|||
this.tp_Analysis.Controls.Add(this.panel1);
|
||||
this.tp_Analysis.Location = new System.Drawing.Point(4, 22);
|
||||
this.tp_Analysis.Name = "tp_Analysis";
|
||||
this.tp_Analysis.Size = new System.Drawing.Size(844, 334);
|
||||
this.tp_Analysis.Size = new System.Drawing.Size(844, 333);
|
||||
this.tp_Analysis.TabIndex = 3;
|
||||
this.tp_Analysis.Text = "Analysis";
|
||||
this.tp_Analysis.Enter += new System.EventHandler(this.tp_Analysis_Enter);
|
||||
|
@ -670,7 +687,7 @@
|
|||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 137);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(844, 197);
|
||||
this.panel2.Size = new System.Drawing.Size(844, 196);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// gb_Analysis_Player
|
||||
|
@ -682,7 +699,7 @@
|
|||
this.gb_Analysis_Player.Location = new System.Drawing.Point(0, 0);
|
||||
this.gb_Analysis_Player.MinimumSize = new System.Drawing.Size(565, 58);
|
||||
this.gb_Analysis_Player.Name = "gb_Analysis_Player";
|
||||
this.gb_Analysis_Player.Size = new System.Drawing.Size(591, 197);
|
||||
this.gb_Analysis_Player.Size = new System.Drawing.Size(591, 196);
|
||||
this.gb_Analysis_Player.TabIndex = 4;
|
||||
this.gb_Analysis_Player.TabStop = false;
|
||||
this.gb_Analysis_Player.Text = "Player";
|
||||
|
@ -695,7 +712,7 @@
|
|||
this.dtp_Analysis_MaxValue.Enabled = false;
|
||||
this.dtp_Analysis_MaxValue.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dtp_Analysis_MaxValue.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.dtp_Analysis_MaxValue.Location = new System.Drawing.Point(463, 161);
|
||||
this.dtp_Analysis_MaxValue.Location = new System.Drawing.Point(463, 160);
|
||||
this.dtp_Analysis_MaxValue.Name = "dtp_Analysis_MaxValue";
|
||||
this.dtp_Analysis_MaxValue.Size = new System.Drawing.Size(122, 20);
|
||||
this.dtp_Analysis_MaxValue.TabIndex = 25;
|
||||
|
@ -708,7 +725,7 @@
|
|||
this.dtp_Analysis_MinValue.Enabled = false;
|
||||
this.dtp_Analysis_MinValue.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dtp_Analysis_MinValue.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.dtp_Analysis_MinValue.Location = new System.Drawing.Point(6, 161);
|
||||
this.dtp_Analysis_MinValue.Location = new System.Drawing.Point(6, 160);
|
||||
this.dtp_Analysis_MinValue.Name = "dtp_Analysis_MinValue";
|
||||
this.dtp_Analysis_MinValue.Size = new System.Drawing.Size(123, 20);
|
||||
this.dtp_Analysis_MinValue.TabIndex = 24;
|
||||
|
@ -717,7 +734,7 @@
|
|||
// sb_Analysis_Play
|
||||
//
|
||||
this.sb_Analysis_Play.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
|
||||
this.sb_Analysis_Play.Location = new System.Drawing.Point(146, 161);
|
||||
this.sb_Analysis_Play.Location = new System.Drawing.Point(146, 160);
|
||||
this.sb_Analysis_Play.Maximum = 1000000;
|
||||
this.sb_Analysis_Play.Name = "sb_Analysis_Play";
|
||||
this.sb_Analysis_Play.Orientation = CustomScrollBar.ScrollBarOrientation.Horizontal;
|
||||
|
@ -736,7 +753,7 @@
|
|||
this.gb_Analysis_Controls.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.gb_Analysis_Controls.Location = new System.Drawing.Point(591, 0);
|
||||
this.gb_Analysis_Controls.Name = "gb_Analysis_Controls";
|
||||
this.gb_Analysis_Controls.Size = new System.Drawing.Size(253, 197);
|
||||
this.gb_Analysis_Controls.Size = new System.Drawing.Size(253, 196);
|
||||
this.gb_Analysis_Controls.TabIndex = 2;
|
||||
this.gb_Analysis_Controls.TabStop = false;
|
||||
this.gb_Analysis_Controls.Text = "Controls";
|
||||
|
@ -747,7 +764,7 @@
|
|||
this.btn_Analysis_FastForward.Enabled = false;
|
||||
this.btn_Analysis_FastForward.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btn_Analysis_FastForward.Image = ((System.Drawing.Image)(resources.GetObject("btn_Analysis_FastForward.Image")));
|
||||
this.btn_Analysis_FastForward.Location = new System.Drawing.Point(202, 154);
|
||||
this.btn_Analysis_FastForward.Location = new System.Drawing.Point(202, 153);
|
||||
this.btn_Analysis_FastForward.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.btn_Analysis_FastForward.Name = "btn_Analysis_FastForward";
|
||||
this.btn_Analysis_FastForward.Size = new System.Drawing.Size(47, 29);
|
||||
|
@ -763,7 +780,7 @@
|
|||
this.btn_Analysis_Forward.Enabled = false;
|
||||
this.btn_Analysis_Forward.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btn_Analysis_Forward.Image = ((System.Drawing.Image)(resources.GetObject("btn_Analysis_Forward.Image")));
|
||||
this.btn_Analysis_Forward.Location = new System.Drawing.Point(153, 154);
|
||||
this.btn_Analysis_Forward.Location = new System.Drawing.Point(153, 153);
|
||||
this.btn_Analysis_Forward.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.btn_Analysis_Forward.Name = "btn_Analysis_Forward";
|
||||
this.btn_Analysis_Forward.Size = new System.Drawing.Size(47, 29);
|
||||
|
@ -779,7 +796,7 @@
|
|||
this.btn_Analysis_Pause.Enabled = false;
|
||||
this.btn_Analysis_Pause.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btn_Analysis_Pause.Image = ((System.Drawing.Image)(resources.GetObject("btn_Analysis_Pause.Image")));
|
||||
this.btn_Analysis_Pause.Location = new System.Drawing.Point(104, 154);
|
||||
this.btn_Analysis_Pause.Location = new System.Drawing.Point(104, 153);
|
||||
this.btn_Analysis_Pause.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.btn_Analysis_Pause.Name = "btn_Analysis_Pause";
|
||||
this.btn_Analysis_Pause.Size = new System.Drawing.Size(47, 29);
|
||||
|
@ -795,7 +812,7 @@
|
|||
this.btn_Analysis_Back.Enabled = false;
|
||||
this.btn_Analysis_Back.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btn_Analysis_Back.Image = ((System.Drawing.Image)(resources.GetObject("btn_Analysis_Back.Image")));
|
||||
this.btn_Analysis_Back.Location = new System.Drawing.Point(55, 154);
|
||||
this.btn_Analysis_Back.Location = new System.Drawing.Point(55, 153);
|
||||
this.btn_Analysis_Back.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.btn_Analysis_Back.Name = "btn_Analysis_Back";
|
||||
this.btn_Analysis_Back.Size = new System.Drawing.Size(47, 29);
|
||||
|
@ -811,7 +828,7 @@
|
|||
this.btn_Analysis_Rewind.Enabled = false;
|
||||
this.btn_Analysis_Rewind.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btn_Analysis_Rewind.Image = ((System.Drawing.Image)(resources.GetObject("btn_Analysis_Rewind.Image")));
|
||||
this.btn_Analysis_Rewind.Location = new System.Drawing.Point(6, 154);
|
||||
this.btn_Analysis_Rewind.Location = new System.Drawing.Point(6, 153);
|
||||
this.btn_Analysis_Rewind.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.btn_Analysis_Rewind.Name = "btn_Analysis_Rewind";
|
||||
this.btn_Analysis_Rewind.Size = new System.Drawing.Size(47, 29);
|
||||
|
@ -1063,6 +1080,7 @@
|
|||
//
|
||||
// ss_Main
|
||||
//
|
||||
this.ss_Main.AutoSize = false;
|
||||
this.ss_Main.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsl_Status,
|
||||
this.tsl_Dummy,
|
||||
|
@ -1074,7 +1092,10 @@
|
|||
this.tsl_Database_LED_SRTM3,
|
||||
this.tsl_Database_LED_SRTM1,
|
||||
this.tsl_Database_LED_ASTER3,
|
||||
this.tsl_Database_LED_ASTER1});
|
||||
this.tsl_Database_LED_ASTER1,
|
||||
this.tsl_Track,
|
||||
this.tsl_Rot,
|
||||
this.tsl_CAT});
|
||||
this.ss_Main.Location = new System.Drawing.Point(0, 706);
|
||||
this.ss_Main.Name = "ss_Main";
|
||||
this.ss_Main.ShowItemToolTips = true;
|
||||
|
@ -1089,7 +1110,7 @@
|
|||
| System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
|
||||
this.tsl_Status.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenInner;
|
||||
this.tsl_Status.Name = "tsl_Status";
|
||||
this.tsl_Status.Size = new System.Drawing.Size(714, 19);
|
||||
this.tsl_Status.Size = new System.Drawing.Size(606, 19);
|
||||
this.tsl_Status.Spring = true;
|
||||
this.tsl_Status.Text = "No Messages.";
|
||||
this.tsl_Status.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
|
@ -1212,6 +1233,39 @@
|
|||
this.tsl_Database_LED_ASTER1.Text = " SRTM3 database status LED";
|
||||
this.tsl_Database_LED_ASTER1.ToolTipText = "SRTM3 database status LED";
|
||||
//
|
||||
// tsl_Track
|
||||
//
|
||||
this.tsl_Track.AutoSize = false;
|
||||
this.tsl_Track.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tsl_Track.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tsl_Track.ForeColor = System.Drawing.Color.DarkGray;
|
||||
this.tsl_Track.Margin = new System.Windows.Forms.Padding(2, 5, 2, 5);
|
||||
this.tsl_Track.Name = "tsl_Track";
|
||||
this.tsl_Track.Size = new System.Drawing.Size(32, 14);
|
||||
this.tsl_Track.Text = "TRK";
|
||||
//
|
||||
// tsl_Rot
|
||||
//
|
||||
this.tsl_Rot.AutoSize = false;
|
||||
this.tsl_Rot.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tsl_Rot.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tsl_Rot.ForeColor = System.Drawing.Color.DarkGray;
|
||||
this.tsl_Rot.Margin = new System.Windows.Forms.Padding(2, 5, 2, 5);
|
||||
this.tsl_Rot.Name = "tsl_Rot";
|
||||
this.tsl_Rot.Size = new System.Drawing.Size(32, 14);
|
||||
this.tsl_Rot.Text = "ROT";
|
||||
//
|
||||
// tsl_CAT
|
||||
//
|
||||
this.tsl_CAT.AutoSize = false;
|
||||
this.tsl_CAT.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tsl_CAT.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tsl_CAT.ForeColor = System.Drawing.Color.DarkGray;
|
||||
this.tsl_CAT.Margin = new System.Windows.Forms.Padding(2, 5, 2, 5);
|
||||
this.tsl_CAT.Name = "tsl_CAT";
|
||||
this.tsl_CAT.Size = new System.Drawing.Size(32, 14);
|
||||
this.tsl_CAT.Text = "CAT";
|
||||
//
|
||||
// btn_Map_PlayPause
|
||||
//
|
||||
this.btn_Map_PlayPause.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
|
@ -2062,7 +2116,6 @@
|
|||
this.pa_CommonInfo.PerformLayout();
|
||||
this.gb_Map_Buttons.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
@ -2213,6 +2266,10 @@
|
|||
private GMap.NET.WindowsForms.GMapControl gm_Cache;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsl_Database_LED_ASTER3;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsl_Database_LED_ASTER1;
|
||||
private System.Windows.Forms.Panel pa_Rig;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsl_CAT;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsl_Rot;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsl_Track;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
1350
AirScout/MapDlg.cs
1350
AirScout/MapDlg.cs
Plik diff jest za duży
Load Diff
|
@ -125,7 +125,7 @@
|
|||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACc
|
||||
DQAAAk1TRnQBSQFMAgEBAwEAAagBCwGoAQsBIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
DQAAAk1TRnQBSQFMAgEBAwEAARABDAEQAQwBIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABgAMAASADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
@ -193,7 +193,7 @@
|
|||
<data name="btn_Analysis_FastForward.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
awAADmsBVP4NBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHbSURBVGhD7Zg/
|
||||
aQAADmkBKwDOjwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHbSURBVGhD7Zg/
|
||||
S8NAGIejIAo6OCiiVnqNRRQXxclV3QUXQcTRr+DaUXAQWpOYSXBx1dk/30Ad3ZwUpA7VXFJEqfEuvi1t
|
||||
c4kpmEuU94HfcO9d7+4Z7npEQRAEQRAEQRAkCGJUiOK6XdAMhBy5fVnTGYVm+lA1WlB1epUvVjNQEpIv
|
||||
0uGcTl9U3d6AUrrgImyDLkuFaHQdyj5AhI9jsY5ntfIAdKWDJpHGJkf2nvqhu0GrCI99nz20FqE7efwi
|
||||
|
@ -211,7 +211,7 @@
|
|||
<data name="btn_Analysis_Forward.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
awAADmsBVP4NBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEfSURBVGhD7dg9
|
||||
aQAADmkBKwDOjwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEfSURBVGhD7dg9
|
||||
a8JwFMXhbAVbbZ2EDqJpoIPfy6WDn6DgWHAQhEQy9ONZROsLjXt6lHtBRXxLSO4fzgN3sGg8P+ikR0RE
|
||||
RERElwTx+q0Tzp7kpbvaUfKB+/OjzVczWtflz+6RkFTO3aCjkIOg1nD1Im+zD6NPhei5E4Sx50L07Adh
|
||||
5DUhegs/TPp+vHyWj9uBcbeE6P2aC8Koe0L07ARhTJYQvV1QMFrU5LHFw4g8QvTmpQXhy/MMWbbHyWcp
|
||||
|
@ -222,7 +222,7 @@
|
|||
<data name="btn_Analysis_Pause.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
awAADmsBVP4NBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACGSURBVGhD7dix
|
||||
aQAADmkBKwDOjwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACGSURBVGhD7dix
|
||||
CcMwEEBRjeJ0WcqQPvMkIdt5Btm9E4E6XZHiMMS8B6p0J/xbFwAA4BfTu14vz/U+nNc295FBu4t22lt9
|
||||
5HjTo96+H7GPpy59ZNDuop32Vh85npBgR0gGIcGOkAxCgh0hGYQEO0IyCAl2hGQQEuwIyXCekLP8fAAA
|
||||
gD9Sygf13QPKE81S/AAAAABJRU5ErkJggg==
|
||||
|
@ -275,7 +275,7 @@
|
|||
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
|
||||
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
|
||||
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOawAADmsBVP4NBgAAAVJJREFUaEPdmL1KA0EU
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOaQAADmkBKwDOjwAAAVJJREFUaEPdmL1KA0EU
|
||||
RtMFTDRaCRaSrAsWvpeNhU8QsAykCAR2ZQsfzxDy5+Kmn4zghWX4srk4S2Y+PzjNaeYe2DTpGGP+BVAy
|
||||
AiUjUDICJSNQMgIlI1AyAiUjUDICJSNQMgIlI1AyAqWGtveUrfppUT6gtzRAqaGt3eflTZLvJ6O8+ra8
|
||||
oLc0QKnBd06A+YUnZDj7ugYBPCEnAoR4Q5QBQnwhSbEbJFn1Zo/bOsc2EU9ILWDjHKkhfIhngBAuJJ1v
|
||||
|
@ -287,7 +287,7 @@
|
|||
<data name="btn_Analysis_Rewind.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
awAADmsBVP4NBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHmSURBVGhD7Zg/
|
||||
aQAADmkBKwDOjwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHmSURBVGhD7Zg/
|
||||
S8NAGIerIAo6OCiiVnuJRfwziZOruAtOIuLoV3DtKDgIrUnMJLi4iqvoN1BHNycFqUM1lxZRNL4v9Opx
|
||||
vUTBkhzyPvCjzeUgvwcu16M5giAIgiAIgiA6TcGvj7KjqK95GU8UdTGvxppXZmG74Ybl8udimQ83h7QU
|
||||
y4287fJL2+Gl5pAZzDvVAcsNjkEiwiSJMI+voyzOM0qkcBgsWW54JyTiREb2HvtlWYwZIqWoG4tAoXe5
|
||||
|
@ -305,43 +305,43 @@
|
|||
<data name="tsl_Database_LED_Aircraft.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
wAAADsABataJCQAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsl_Database_LED_Stations.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
wAAADsABataJCQAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsl_Database_LED_GLOBE.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
wAAADsABataJCQAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsl_Database_LED_SRTM3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
wAAADsABataJCQAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsl_Database_LED_SRTM1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
wAAADsABataJCQAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsl_Database_LED_ASTER3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
wAAADsABataJCQAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsl_Database_LED_ASTER1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
wAAADsABataJCQAAABBJREFUGFdjqMcBhpREfT0AN/NfQdTsp04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="il_Sat.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
@ -352,7 +352,7 @@
|
|||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM
|
||||
DAAAAk1TRnQBSQFMAwEBAAEQAQoBEAEKASABAAEgAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
|
||||
DAAAAk1TRnQBSQFMAwEBAAF4AQoBeAEKASABAAEgAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
|
||||
AYADAAEgAwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
|
||||
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
|
||||
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
|
||||
|
|
Plik diff jest za duży
Load Diff
|
@ -31,6 +31,7 @@ using ScoutBase;
|
|||
using Newtonsoft.Json;
|
||||
using static ScoutBase.Core.ZIP;
|
||||
using AirScout.PlaneFeeds.Plugin.MEFContract;
|
||||
using AirScout.CAT;
|
||||
|
||||
namespace AirScout
|
||||
{
|
||||
|
@ -52,6 +53,8 @@ namespace AirScout
|
|||
|
||||
private LogWriter Log = LogWriter.Instance;
|
||||
|
||||
private bool LoadingTab = false;
|
||||
|
||||
public OptionsDlg(MapDlg parentDlg)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
@ -2538,7 +2541,45 @@ namespace AirScout
|
|||
|
||||
private void tab_Options_Track_Enter(object sender, EventArgs e)
|
||||
{
|
||||
if (AirScout.CAT.Properties.Settings.Default.CAT_Activate)
|
||||
{
|
||||
gb_Options_Doppler.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
gb_Options_Doppler.Enabled = false;
|
||||
}
|
||||
|
||||
// check/uncheck radio buttons
|
||||
// do not use property binding here!
|
||||
if (Properties.Settings.Default.Track_Serial_None) { rb_Options_Track_Serial_None.Checked = true; }
|
||||
else if (Properties.Settings.Default.Track_Serial_GS232_AZ) { rb_Options_Track_Serial_GS232_AZ.Checked = true; }
|
||||
else if (Properties.Settings.Default.Track_Serial_GS232_AZEL) { rb_Options_Track_Serial_GS232_AZEL.Checked = true; }
|
||||
|
||||
if (Properties.Settings.Default.Track_DDE_None) { rb_Options_Track_DDE_None.Checked = true; }
|
||||
else if (Properties.Settings.Default.Track_DDE_HRD) { rb_Options_Track_DDE_HRD.Checked = true; }
|
||||
|
||||
if (Properties.Settings.Default.Track_UDP_None) { rb_Options_Track_UDP_None.Checked = true; }
|
||||
else if (Properties.Settings.Default.Track_UDP_WinTest) { rb_Options_Track_UDP_WinTest.Checked = true; }
|
||||
else if (Properties.Settings.Default.Track_UDP_AirScout) { rb_Options_Track_UDP_AirScout.Checked = true; }
|
||||
|
||||
if (Properties.Settings.Default.Track_File_None) { rb_Options_Track_File_None.Checked = true; }
|
||||
else if (Properties.Settings.Default.Track_File_Native) { rb_Options_Track_File_Native.Checked = true; }
|
||||
else if (Properties.Settings.Default.Track_File_WSJT) { rb_Options_Track_File_WSJT.Checked = true; }
|
||||
|
||||
if (Properties.Settings.Default.Doppler_Strategy_None) { rb_Options_Doppler_Strategy_None.Checked = true; }
|
||||
else if (Properties.Settings.Default.Doppler_Strategy_A) { rb_Options_Doppler_Strategy_A.Checked = true; }
|
||||
else if (Properties.Settings.Default.Doppler_Strategy_B) { rb_Options_Doppler_Strategy_B.Checked = true; }
|
||||
else if (Properties.Settings.Default.Doppler_Strategy_C) { rb_Options_Doppler_Strategy_C.Checked = true; }
|
||||
else if (Properties.Settings.Default.Doppler_Strategy_D) { rb_Options_Doppler_Strategy_D.Checked = true; }
|
||||
|
||||
ud_Options_CAT_Update.Value = AirScout.CAT.Properties.Settings.Default.CAT_Update;
|
||||
tb_Options_Track_DialFreq.SilentValue = Properties.Settings.Default.Doppler_DialFreq;
|
||||
cb_Options_Track_Activate_CheckedChanged(this, null);
|
||||
}
|
||||
|
||||
private void tb_Options_CAT_DialFreq_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void tc_Track_Validating(object sender, CancelEventArgs e)
|
||||
|
@ -2560,8 +2601,403 @@ namespace AirScout
|
|||
}
|
||||
}
|
||||
|
||||
private void cb_Options_Track_Activate_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (cb_Options_Track_Activate.Checked)
|
||||
{
|
||||
gb_Options_Track_Serial.Enabled = true;
|
||||
gb_Options_Track_UDP.Enabled = true;
|
||||
gb_Options_Track_DDE.Enabled = true;
|
||||
gb_Options_Track_File.Enabled = true;
|
||||
if (AirScout.CAT.Properties.Settings.Default.CAT_Activate)
|
||||
{
|
||||
gb_Options_Doppler.Enabled = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gb_Options_Track_Serial.Enabled = false;
|
||||
gb_Options_Track_UDP.Enabled = false;
|
||||
gb_Options_Track_DDE.Enabled = false;
|
||||
gb_Options_Track_File.Enabled = false;
|
||||
gb_Options_Doppler.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void gb_Options_Track_Serial_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Track_Serial_None = rb_Options_Track_Serial_None.Checked;
|
||||
Properties.Settings.Default.Track_Serial_GS232_AZ = rb_Options_Track_Serial_GS232_AZ.Checked;
|
||||
Properties.Settings.Default.Track_Serial_GS232_AZEL = rb_Options_Track_Serial_GS232_AZEL.Checked;
|
||||
}
|
||||
|
||||
private void gb_Options_Track_DDE_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Track_DDE_None = rb_Options_Track_DDE_None.Checked;
|
||||
Properties.Settings.Default.Track_DDE_HRD = rb_Options_Track_DDE_HRD.Checked;
|
||||
}
|
||||
|
||||
private void gb_Options_Track_UDP_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Track_UDP_None = rb_Options_Track_UDP_None.Checked;
|
||||
Properties.Settings.Default.Track_UDP_WinTest = rb_Options_Track_UDP_WinTest.Checked;
|
||||
Properties.Settings.Default.Track_UDP_AirScout = rb_Options_Track_UDP_AirScout.Checked;
|
||||
}
|
||||
|
||||
private void gb_Options_Track_File_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Track_File_None = rb_Options_Track_File_None.Checked;
|
||||
Properties.Settings.Default.Track_File_Native = rb_Options_Track_File_Native.Checked;
|
||||
Properties.Settings.Default.Track_File_WSJT = rb_Options_Track_File_WSJT.Checked;
|
||||
}
|
||||
|
||||
private void gb_Options_Doppler_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Doppler_Strategy_None = rb_Options_Doppler_Strategy_None.Checked;
|
||||
Properties.Settings.Default.Doppler_Strategy_A = rb_Options_Doppler_Strategy_A.Checked;
|
||||
Properties.Settings.Default.Doppler_Strategy_B = rb_Options_Doppler_Strategy_B.Checked;
|
||||
Properties.Settings.Default.Doppler_Strategy_C = rb_Options_Doppler_Strategy_C.Checked;
|
||||
Properties.Settings.Default.Doppler_Strategy_D = rb_Options_Doppler_Strategy_D.Checked;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region tab_Options_CAT
|
||||
|
||||
private void tab_Options_CAT_Enter(object sender, EventArgs e)
|
||||
{
|
||||
LoadingTab = true;
|
||||
|
||||
cb_Options_CAT_Activate.Checked = AirScout.CAT.Properties.Settings.Default.CAT_Activate;
|
||||
|
||||
|
||||
// get a list of supported rigs and add them to combo box
|
||||
List<SupportedRig> rigs = CATWorker.SupportedRigs();
|
||||
cb_Options_CAT_Rig.Items.Clear();
|
||||
foreach (SupportedRig rig in rigs)
|
||||
{
|
||||
cb_Options_CAT_Rig.Items.Add(rig);
|
||||
}
|
||||
|
||||
// try to select settings
|
||||
if (AirScout.CAT.Properties.Settings.Default.CAT_RigType != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
int index = cb_Options_CAT_Rig.FindString(AirScout.CAT.Properties.Settings.Default.CAT_RigType);
|
||||
if (index >= 0)
|
||||
{
|
||||
cb_Options_CAT_Rig.SelectedIndex = index;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if something goes wrong
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
cb_Options_CAT_PortName.DataSource = System.IO.Ports.SerialPort.GetPortNames();
|
||||
cb_Options_CAT_PortName.SelectedItem = AirScout.CAT.Properties.Settings.Default.CAT_PortName;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
cb_Options_CAT_Baudrate.DataSource = new string[] { "110", "300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "38400", "56000", "57600", "115200", "128000", "256000" };
|
||||
cb_Options_CAT_Baudrate.SelectedItem = AirScout.CAT.Properties.Settings.Default.CAT_Baudrate.ToString();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
cb_Options_CAT_DataBits.DataSource = new string[] { "5", "6", "7", "8" };
|
||||
cb_Options_CAT_DataBits.SelectedItem = AirScout.CAT.Properties.Settings.Default.CAT_DataBits.ToString();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
EnumHelpers.BindToEnum<PARITY>(cb_Options_CAT_Parity);
|
||||
cb_Options_CAT_Parity.SelectedValue = (int)AirScout.CAT.Properties.Settings.Default.CAT_Parity;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
EnumHelpers.BindToEnum<STOPBITS>(cb_Options_CAT_StopBits);
|
||||
cb_Options_CAT_StopBits.SelectedValue = (int)AirScout.CAT.Properties.Settings.Default.CAT_StopBits;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
EnumHelpers.BindToEnum<FLOWCONTROL>(cb_Options_CAT_RTS);
|
||||
cb_Options_CAT_RTS.SelectedValue = (int)AirScout.CAT.Properties.Settings.Default.CAT_RTS;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
EnumHelpers.BindToEnum<FLOWCONTROL>(cb_Options_CAT_DTR);
|
||||
cb_Options_CAT_DTR.SelectedValue = (int)AirScout.CAT.Properties.Settings.Default.CAT_DTR;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
ud_Options_CAT_Poll.Value = AirScout.CAT.Properties.Settings.Default.CAT_Poll;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
try
|
||||
{
|
||||
ud_Options_CAT_Timeout.Value = AirScout.CAT.Properties.Settings.Default.CAT_Timeout;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
|
||||
cb_Options_CAT_Activate_CheckedChanged(this, null);
|
||||
|
||||
LoadingTab = false;
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_Activate_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_Activate = cb_Options_CAT_Activate.Checked;
|
||||
|
||||
// check if port settings must be enabled (depending on rig type)
|
||||
bool portenabled = true;
|
||||
try
|
||||
{
|
||||
SupportedRig rig = (SupportedRig)cb_Options_CAT_Rig.SelectedItem;
|
||||
if (rig.CATEngine == CATENGINE.OMNIRIGX)
|
||||
portenabled = false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
if (cb_Options_CAT_Activate.Checked)
|
||||
{
|
||||
ud_Options_CAT_Update.Enabled = true;
|
||||
gb_Options_CAT_RigType.Enabled = true;
|
||||
if (portenabled)
|
||||
gb_Options_CAT_PortSettings.Enabled = true;
|
||||
else
|
||||
gb_Options_CAT_PortSettings.Enabled = false;
|
||||
gb_Options_CAT_OperatingInstructions.Enabled = true;
|
||||
if (Properties.Settings.Default.Track_Activate)
|
||||
{
|
||||
gb_Options_Doppler.Enabled = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ud_Options_CAT_Update.Enabled = false;
|
||||
gb_Options_CAT_RigType.Enabled = false;
|
||||
gb_Options_CAT_PortSettings.Enabled = false;
|
||||
gb_Options_CAT_OperatingInstructions.Enabled = false;
|
||||
gb_Options_Doppler.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_Rig_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
SupportedRig rig = (SupportedRig)cb_Options_CAT_Rig.SelectedItem;
|
||||
if (rig != null)
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_RigType = rig.Type;
|
||||
|
||||
// disable port settings when using OmniRig ActiveX
|
||||
if (rig.CATEngine == CATENGINE.OMNIRIGX)
|
||||
{
|
||||
gb_Options_CAT_PortSettings.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
gb_Options_CAT_PortSettings.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void ud_Options_CAT_Update_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_Update = (int)ud_Options_CAT_Update.Value;
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_PortName_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_PortName = (string)cb_Options_CAT_PortName.SelectedItem;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_Baudrate_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_Baudrate = System.Convert.ToInt32(cb_Options_CAT_Baudrate.SelectedItem);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_DataBits_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_DataBits = System.Convert.ToInt32(cb_Options_CAT_DataBits.SelectedItem);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void cb_Parity_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_Parity = (PARITY)cb_Options_CAT_Parity.SelectedValue;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_Stopbits_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_StopBits = (STOPBITS)cb_Options_CAT_StopBits.SelectedValue;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_RTS_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_RTS = (FLOWCONTROL)cb_Options_CAT_RTS.SelectedValue;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void cb_Options_CAT_DTR_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_DTR = (FLOWCONTROL)cb_Options_CAT_DTR.SelectedValue;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
private void ud_Options_CAT_Poll_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_Poll = (int)ud_Options_CAT_Poll.Value; }
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void ud_Options_CAT_Timeout_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LoadingTab)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
AirScout.CAT.Properties.Settings.Default.CAT_Timeout = (int)ud_Options_CAT_Timeout.Value;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing if fails
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region tab_Options_Info
|
||||
|
||||
private void tab_Options_Info_Enter(object sender, EventArgs e)
|
||||
|
|
|
@ -120,65 +120,6 @@
|
|||
<metadata name="tt_Options.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="label61.Text" xml:space="preserve">
|
||||
<value>You can select different map provider from the list below. Depending on your selection some maps may not be available for your choosen area. Please note that the selection of maps is taken from Great Maps regardless of their legal status. Some of them might be copyrighted or otherwise restricted in use.
|
||||
You were asked to agree with the terms of use first.
|
||||
Open Street Map is recommended as a default.</value>
|
||||
</data>
|
||||
<data name="label52.Text" xml:space="preserve">
|
||||
<value>Information from callsign database and other sources are used to prefill fields. You can overwrite and complete entries here. Your local database is updated. If you want to share the information with the AirScout community please use the "Send Update!" buttons.</value>
|
||||
</data>
|
||||
<data name="label86.Text" xml:space="preserve">
|
||||
<value>CAUTION: Running a web service is a potential security hole! You should activate this function only inside a private network.
|
||||
|
||||
Depending on your user profile you will prompted several times by the Operating System on first run. Please accept all security queries with "Yes" or "Accept".
|
||||
Otherwise the web service will not run properly.</value>
|
||||
</data>
|
||||
<data name="label3.Text" xml:space="preserve">
|
||||
<value>AirScout can work as a server in a network.
|
||||
|
||||
UDP Server:
|
||||
You can ask for a path calculation between two stations and AirScout will return the planes near path and their portential for a reflection.
|
||||
|
||||
HTTP Server:
|
||||
You can ask for latest plane positions via simple http-request (e.g. from a web browser. The result is delivered as a JSON file which can used to run own services and calculations.
|
||||
|
||||
See documentation for further details.</value>
|
||||
</data>
|
||||
<data name="label65.Text" xml:space="preserve">
|
||||
<value>AirScout can get FFT data from Spectrum Lab software via Network. You must have Spectrum Lab software installed with default settings. Do not forget to activate http - server functionaltiy in Spectrum Lab.</value>
|
||||
</data>
|
||||
<data name="label37.Text" xml:space="preserve">
|
||||
<value>Watchlist allows you to pick a number of stations out of your database.
|
||||
This is very helpful especially when working in Multi-Path Mode.
|
||||
|
||||
All stations on watchlist can be shown on map with small markers and callsign labels for quick showing/hiding path to them.
|
||||
|
||||
If a station is selected from watchlist by checking the assigned checkbox, path is shown on map and entry is coloured according to aircraft scatter potential.
|
||||
|
||||
Watchlist can be synchronized with ON4KST chat user list instead of a local managed list to show all stations currently logged in in chat (Needs wtKST software and network functions enabbled).</value>
|
||||
</data>
|
||||
<metadata name="bw_SRTM3_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>130, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ss_Options.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>353, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_SRTM1_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>483, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_GLOBE_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>706, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_StationDataUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>890, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_ASTER3_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1071, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_ASTER1_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1259, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="pb_Donate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
|
@ -298,4 +239,77 @@ Watchlist can be synchronized with ON4KST chat user list instead of a local mana
|
|||
bOQwu7KRw+zKRg6zKxs5zK5s5DC7spHD7MpGDrMrGznMrkwUwn8BkAmqaXV391cAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="label61.Text" xml:space="preserve">
|
||||
<value>You can select different map provider from the list below. Depending on your selection some maps may not be available for your choosen area. Please note that the selection of maps is taken from Great Maps regardless of their legal status. Some of them might be copyrighted or otherwise restricted in use.
|
||||
You were asked to agree with the terms of use first.
|
||||
Open Street Map is recommended as a default.</value>
|
||||
</data>
|
||||
<data name="label52.Text" xml:space="preserve">
|
||||
<value>Information from callsign database and other sources are used to prefill fields. You can overwrite and complete entries here. Your local database is updated. If you want to share the information with the AirScout community please use the "Send Update!" buttons.</value>
|
||||
</data>
|
||||
<data name="label86.Text" xml:space="preserve">
|
||||
<value>CAUTION: Running a web service is a potential security hole! You should activate this function only inside a private network.
|
||||
|
||||
Depending on your user profile you will prompted several times by the Operating System on first run. Please accept all security queries with "Yes" or "Accept".
|
||||
Otherwise the web service will not run properly.</value>
|
||||
</data>
|
||||
<data name="label3.Text" xml:space="preserve">
|
||||
<value>AirScout can work as a server in a network.
|
||||
|
||||
UDP Server:
|
||||
You can ask for a path calculation between two stations and AirScout will return the planes near path and their portential for a reflection.
|
||||
|
||||
HTTP Server:
|
||||
You can ask for latest plane positions via simple http-request (e.g. from a web browser. The result is delivered as a JSON file which can used to run own services and calculations.
|
||||
|
||||
See documentation for further details.</value>
|
||||
</data>
|
||||
<data name="label65.Text" xml:space="preserve">
|
||||
<value>AirScout can get FFT data from Spectrum Lab software via Network. You must have Spectrum Lab software installed with default settings. Do not forget to activate http - server functionaltiy in Spectrum Lab.</value>
|
||||
</data>
|
||||
<data name="richTextBox4.Text" xml:space="preserve">
|
||||
<value>Rig must support a minimum of CAT control capabilities:
|
||||
- set frequency of VFO A and VFO B
|
||||
- set/reset Split Mode
|
||||
|
||||
A restart of AirScout might be required after settings change, especially when changing between different CAT engines.</value>
|
||||
</data>
|
||||
<data name="richTextBox1.Text" xml:space="preserve">
|
||||
<value>CAT control is introduced for Doppler shift compensation (see "Track" tab for details).
|
||||
AirScout is calculating tracking and Doppler shifts once per second by default. Each communication with rig must be completed within this period. The recommended settings for OmniRig are:
|
||||
|
||||
- Polling interval: 100ms ...500ms
|
||||
- Timeout: 500ms .. 1sec (essential for OmniRig)</value>
|
||||
</data>
|
||||
<data name="label37.Text" xml:space="preserve">
|
||||
<value>Watchlist allows you to pick a number of stations out of your database.
|
||||
This is very helpful especially when working in Multi-Path Mode.
|
||||
|
||||
All stations on watchlist can be shown on map with small markers and callsign labels for quick showing/hiding path to them.
|
||||
|
||||
If a station is selected from watchlist by checking the assigned checkbox, path is shown on map and entry is coloured according to aircraft scatter potential.
|
||||
|
||||
Watchlist can be synchronized with ON4KST chat user list instead of a local managed list to show all stations currently logged in in chat (Needs wtKST software and network functions enabbled).</value>
|
||||
</data>
|
||||
<metadata name="bw_SRTM3_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>130, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ss_Options.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>353, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_SRTM1_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>483, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_GLOBE_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>706, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_StationDataUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>890, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_ASTER3_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1071, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bw_ASTER1_MapUpdater.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1259, 17</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -263,7 +263,7 @@ namespace AirScout
|
|||
Log.WriteMessage(Name + " error processing call [" + ld.Call + "]: " + ex.ToString());
|
||||
}
|
||||
// keep cpu load low --> TODO: find better solution here
|
||||
Thread.Sleep(10);
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
// save station database timestamp
|
||||
SaveDatabaseTimeStamp();
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.4.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.0.0")]
|
||||
[assembly: AssemblyVersion("1.4.1.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.1.0")]
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace AirScout.Properties {
|
|||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
@ -2455,5 +2455,233 @@ Digital data base on the World Wide Web (URL: http://www.ngdc.noaa.gov/mgg/topo/
|
|||
this["Map_Opacity"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public long Doppler_DialFreq {
|
||||
get {
|
||||
return ((long)(this["Doppler_DialFreq"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_DialFreq"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public double Doppler_MyDoppler {
|
||||
get {
|
||||
return ((double)(this["Doppler_MyDoppler"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_MyDoppler"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public double Doppler_DXDoppler {
|
||||
get {
|
||||
return ((double)(this["Doppler_DXDoppler"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_DXDoppler"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool Doppler_Strategy_A {
|
||||
get {
|
||||
return ((bool)(this["Doppler_Strategy_A"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_Strategy_A"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool Doppler_Strategy_B {
|
||||
get {
|
||||
return ((bool)(this["Doppler_Strategy_B"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_Strategy_B"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool Doppler_Strategy_C {
|
||||
get {
|
||||
return ((bool)(this["Doppler_Strategy_C"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_Strategy_C"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool Doppler_Strategy_D {
|
||||
get {
|
||||
return ((bool)(this["Doppler_Strategy_D"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_Strategy_D"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public long Doppler_RXFreq {
|
||||
get {
|
||||
return ((long)(this["Doppler_RXFreq"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_RXFreq"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public long Doppler_TXFreq {
|
||||
get {
|
||||
return ((long)(this["Doppler_TXFreq"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_TXFreq"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string Track_CurrentPlane {
|
||||
get {
|
||||
return ((string)(this["Track_CurrentPlane"]));
|
||||
}
|
||||
set {
|
||||
this["Track_CurrentPlane"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public int Track_Offset {
|
||||
get {
|
||||
return ((int)(this["Track_Offset"]));
|
||||
}
|
||||
set {
|
||||
this["Track_Offset"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||
public bool Doppler_Strategy_None {
|
||||
get {
|
||||
return ((bool)(this["Doppler_Strategy_None"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_Strategy_None"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("NONE")]
|
||||
public global::AirScout.CAT.RIGSPLIT Doppler_DialSplit {
|
||||
get {
|
||||
return ((global::AirScout.CAT.RIGSPLIT)(this["Doppler_DialSplit"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_DialSplit"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("NONE")]
|
||||
public global::AirScout.CAT.RIGMODE Doppler_DialMode {
|
||||
get {
|
||||
return ((global::AirScout.CAT.RIGMODE)(this["Doppler_DialMode"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_DialMode"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("NONE")]
|
||||
public global::AirScout.CAT.RIGRIT Doppler_DialRit {
|
||||
get {
|
||||
return ((global::AirScout.CAT.RIGRIT)(this["Doppler_DialRit"]));
|
||||
}
|
||||
set {
|
||||
this["Doppler_DialRit"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("1000")]
|
||||
public int Track_Update {
|
||||
get {
|
||||
return ((int)(this["Track_Update"]));
|
||||
}
|
||||
set {
|
||||
this["Track_Update"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("\\ScoutBase\\RigData")]
|
||||
public string Rig_Directory {
|
||||
get {
|
||||
return ((string)(this["Rig_Directory"]));
|
||||
}
|
||||
set {
|
||||
this["Rig_Directory"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool Map_ShowLocators {
|
||||
get {
|
||||
return ((bool)(this["Map_ShowLocators"]));
|
||||
}
|
||||
set {
|
||||
this["Map_ShowLocators"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool Map_ShowDistances {
|
||||
get {
|
||||
return ((bool)(this["Map_ShowDistances"]));
|
||||
}
|
||||
set {
|
||||
this["Map_ShowDistances"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -664,5 +664,62 @@ NASA/METI/AIST/Japan Spacesystems, and U.S./Japan ASTER Science Team (2019). AST
|
|||
<Setting Name="Map_Opacity" Type="System.Decimal" Scope="User">
|
||||
<Value Profile="(Default)">1</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_DialFreq" Type="System.Int64" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_MyDoppler" Type="System.Double" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_DXDoppler" Type="System.Double" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_Strategy_A" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_Strategy_B" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_Strategy_C" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_Strategy_D" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_RXFreq" Type="System.Int64" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_TXFreq" Type="System.Int64" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="Track_CurrentPlane" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="Track_Offset" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_Strategy_None" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_DialSplit" Type="AirScout.CAT.RIGSPLIT" Scope="User">
|
||||
<Value Profile="(Default)">NONE</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_DialMode" Type="AirScout.CAT.RIGMODE" Scope="User">
|
||||
<Value Profile="(Default)">NONE</Value>
|
||||
</Setting>
|
||||
<Setting Name="Doppler_DialRit" Type="AirScout.CAT.RIGRIT" Scope="User">
|
||||
<Value Profile="(Default)">NONE</Value>
|
||||
</Setting>
|
||||
<Setting Name="Track_Update" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">1000</Value>
|
||||
</Setting>
|
||||
<Setting Name="Rig_Directory" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">\ScoutBase\RigData</Value>
|
||||
</Setting>
|
||||
<Setting Name="Map_ShowLocators" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="Map_ShowDistances" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
|
@ -0,0 +1,5 @@
|
|||
***************** AirScout Requirements **************************
|
||||
|
||||
- Snooze button for alarm on main window, clickable in PLAY mode ()
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AirScout
|
||||
{
|
||||
// keeps tracking values
|
||||
public class TrackValues
|
||||
{
|
||||
public DateTime Timestamp = DateTime.UtcNow;
|
||||
public string Hex = "";
|
||||
|
||||
public double MyAzimuth = double.NaN;
|
||||
public double MyElevation = double.NaN;
|
||||
public double MyDistance = double.NaN;
|
||||
public double MySlantRange = double.NaN;
|
||||
public double MyDoppler = 0;
|
||||
|
||||
public double DXAzimuth = double.NaN;
|
||||
public double DXElevation = double.NaN;
|
||||
public double DXDistance = double.NaN;
|
||||
public double DXSlantRange = double.NaN;
|
||||
public double DXDoppler = 0;
|
||||
|
||||
public long RXFrequency = 0;
|
||||
public long TXFrequency = 0;
|
||||
}
|
||||
}
|
|
@ -1,10 +1,51 @@
|
|||
2020-xx-xx: V1.4.0.0
|
||||
2021-xx-xx: V1.4.1.0
|
||||
====================
|
||||
|
||||
- Bugfix: RIT on rig is reset when tracking started --> fixed
|
||||
- Bugfix: Exceptions while accessing elevation database from background processes and more than one elevation model was ticked --> database status shows "Error" --> fixed
|
||||
- Bugfix: Exceptions while accessing elevation database and local obstructions have NULL values --> fixed
|
||||
- Bugfix: Database update was not started when last status was "Error" and no other changes occured
|
||||
- Bugfix: Exceptions were thrown sometimes on concurrent database access from different threads, missing database locks --> fixed
|
||||
- Feature: configurable update rate for tracking
|
||||
- Feature: configurable time offset for tracking
|
||||
- Feature: optional show a locator grid on map
|
||||
- Feature: optional show distance circles around own location
|
||||
|
||||
2021-04-13: V1.4.0.2
|
||||
====================
|
||||
|
||||
- Feature: complete rework of tracking module with Status visualization
|
||||
- Feature: CAT now handles OmniRi V1.19 or V2.x dynamically
|
||||
- Feature: refined extrapolation of plane positions
|
||||
- Bugfix: Planes were shown as hot when crossing path "behind" the DX station --> fixed
|
||||
|
||||
2021-04-5: V1.4.0.1
|
||||
====================
|
||||
|
||||
- Feature: introducing CAT Interface with OmniRig V2.1
|
||||
- Feature: introducing Doppler shift compensation with CAT
|
||||
|
||||
2021-xx-xx: V1.4.0.0 (not published)
|
||||
====================
|
||||
|
||||
- Feature: introducing ASTER Digital Elevation Model covering earth surface almost complete, but data are very raw and have to filtered, only useful when coverage > 60° needed
|
||||
- Feature: new OpenTopoMap provider, not really suitable for surpervising aircraft travel but has very nice contour levels (based on SRTM)
|
||||
- Feature: new OpenTopoMap provider, not really suitable for supervising aircraft travel but has very nice contour levels (based on SRTM)
|
||||
- Feature: adjust main map opacity via "Options/Map" which is helpful in case map colors are very prominent
|
||||
|
||||
2021-12-23: V1.3.3.6
|
||||
====================
|
||||
|
||||
- Feature: Elevation grid overlay on "Optionms/Stations/Map" to better understand elevation resolution issues and local situation (for zoom levels >= 17)
|
||||
- Bugfix: AirScout crashes when opening Crossing History Dialog window --> fixed (tnx PU34HAG)
|
||||
- Bugfix: Near field suppression did not work correctly, showing strange local obstructions under some circumstances --> fixed
|
||||
- Bugfix: No more planes visible (Exception messages shown in status bar and log file) with some language settings (at least Turkish) --> fixed (tnx TA2NC)
|
||||
|
||||
2020-04-25: V1.3.3.5
|
||||
====================
|
||||
|
||||
- Bugfix: Chunked transport of web content failed while fetching plane feeds (OpenSky, Virtual Radar Server) --> fixed
|
||||
- Bugfix: Drawing map throws an exception under some circumstances --> fixed, added some error handling (tnx SM7LCB)
|
||||
|
||||
2020-04-25: V1.3.3.4
|
||||
====================
|
||||
|
||||
|
|
|
@ -228,7 +228,7 @@
|
|||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(180, 25);
|
||||
this.label2.TabIndex = 15;
|
||||
this.label2.Text = "Availbale Callsigns";
|
||||
this.label2.Text = "Available Callsigns";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// label3
|
||||
|
|
|
@ -663,6 +663,63 @@ NASA/METI/AIST/Japan Spacesystems, and U.S./Japan ASTER Science Team (2019). AST
|
|||
<setting name="Map_Opacity" serializeAs="String">
|
||||
<value>1</value>
|
||||
</setting>
|
||||
<setting name="Doppler_DialFreq" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="Doppler_MyDoppler" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="Doppler_DXDoppler" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="Doppler_Strategy_A" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="Doppler_Strategy_B" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="Doppler_Strategy_C" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="Doppler_Strategy_D" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="Doppler_RXFreq" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="Doppler_TXFreq" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="Track_CurrentPlane" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="Track_Offset" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="Doppler_Strategy_None" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="Doppler_DialSplit" serializeAs="String">
|
||||
<value>NONE</value>
|
||||
</setting>
|
||||
<setting name="Doppler_DialMode" serializeAs="String">
|
||||
<value>NONE</value>
|
||||
</setting>
|
||||
<setting name="Doppler_DialRit" serializeAs="String">
|
||||
<value>NONE</value>
|
||||
</setting>
|
||||
<setting name="Track_Update" serializeAs="String">
|
||||
<value>1000</value>
|
||||
</setting>
|
||||
<setting name="Rig_Directory" serializeAs="String">
|
||||
<value>\ScoutBase\RigData</value>
|
||||
</setting>
|
||||
<setting name="Map_ShowLocators" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="Map_ShowDistances" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
</AirScout.Properties.Settings>
|
||||
</userSettings>
|
||||
<startup>
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
<packages>
|
||||
<package id="DeviceId" version="4.5.0" targetFramework="net40" />
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
|
@ -1,376 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace AirScoutDatabaseManager.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("-15")]
|
||||
public double MinLon {
|
||||
get {
|
||||
return ((double)(this["MinLon"]));
|
||||
}
|
||||
set {
|
||||
this["MinLon"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("30")]
|
||||
public double MaxLon {
|
||||
get {
|
||||
return ((double)(this["MaxLon"]));
|
||||
}
|
||||
set {
|
||||
this["MaxLon"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("35")]
|
||||
public double MinLat {
|
||||
get {
|
||||
return ((double)(this["MinLat"]));
|
||||
}
|
||||
set {
|
||||
this["MinLat"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("60")]
|
||||
public double MaxLat {
|
||||
get {
|
||||
return ((double)(this["MaxLat"]));
|
||||
}
|
||||
set {
|
||||
this["MaxLat"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("OpenStreetMap")]
|
||||
public string Map_Provider {
|
||||
get {
|
||||
return ((string)(this["Map_Provider"]));
|
||||
}
|
||||
set {
|
||||
this["Map_Provider"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://www.qrz.com/db/")]
|
||||
public string QRZ_URL_Database {
|
||||
get {
|
||||
return ((string)(this["QRZ_URL_Database"]));
|
||||
}
|
||||
set {
|
||||
this["QRZ_URL_Database"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("\\Log")]
|
||||
public string Log_Directory {
|
||||
get {
|
||||
return ((string)(this["Log_Directory"]));
|
||||
}
|
||||
set {
|
||||
this["Log_Directory"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("\\Database")]
|
||||
public string Database_Directory {
|
||||
get {
|
||||
return ((string)(this["Database_Directory"]));
|
||||
}
|
||||
set {
|
||||
this["Database_Directory"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("\\Tmp")]
|
||||
public string Tmp_Directory {
|
||||
get {
|
||||
return ((string)(this["Tmp_Directory"]));
|
||||
}
|
||||
set {
|
||||
this["Tmp_Directory"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("\\Export")]
|
||||
public string Export_Directory {
|
||||
get {
|
||||
return ((string)(this["Export_Directory"]));
|
||||
}
|
||||
set {
|
||||
this["Export_Directory"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://www.airscout.eu/downloads/ScoutBase/1/StationData/")]
|
||||
public string Station_URL {
|
||||
get {
|
||||
return ((string)(this["Station_URL"]));
|
||||
}
|
||||
set {
|
||||
this["Station_URL"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("https://xmldata.qrz.com/xml/current/?username=dl2alf;password=271192;agent=AirSco" +
|
||||
"ut")]
|
||||
public string QRZ_URL_Login {
|
||||
get {
|
||||
return ((string)(this["QRZ_URL_Login"]));
|
||||
}
|
||||
set {
|
||||
this["QRZ_URL_Login"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://xmldata.qrz.com/xml/current/")]
|
||||
public string QRZ_URL_XMLData {
|
||||
get {
|
||||
return ((string)(this["QRZ_URL_XMLData"]));
|
||||
}
|
||||
set {
|
||||
this["QRZ_URL_XMLData"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("www.airscout.eu")]
|
||||
public string SFTP_URL {
|
||||
get {
|
||||
return ((string)(this["SFTP_URL"]));
|
||||
}
|
||||
set {
|
||||
this["SFTP_URL"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("u45565180-airscout")]
|
||||
public string SFTP_User {
|
||||
get {
|
||||
return ((string)(this["SFTP_User"]));
|
||||
}
|
||||
set {
|
||||
this["SFTP_User"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("airscout")]
|
||||
public string SFTP_Password {
|
||||
get {
|
||||
return ((string)(this["SFTP_Password"]));
|
||||
}
|
||||
set {
|
||||
this["SFTP_Password"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("https://www.flightradar24.com/_json/airlines.php")]
|
||||
public string Airlines_Update_URL {
|
||||
get {
|
||||
return ((string)(this["Airlines_Update_URL"]));
|
||||
}
|
||||
set {
|
||||
this["Airlines_Update_URL"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("https://www.flightradar24.com/_json/airports2.php")]
|
||||
public string Airports_Update_URL {
|
||||
get {
|
||||
return ((string)(this["Airports_Update_URL"]));
|
||||
}
|
||||
set {
|
||||
this["Airports_Update_URL"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("https://data.flightradar24.com/zones/fcgi/feed.js?faa=1&mlat=1&flarm=0&adsb=1&gnd" +
|
||||
"=0&air=1&vehicles=0&estimated=0&maxage=0&gliders=0&stats=1")]
|
||||
public string Aircrafts_BaseURL {
|
||||
get {
|
||||
return ((string)(this["Aircrafts_BaseURL"]));
|
||||
}
|
||||
set {
|
||||
this["Aircrafts_BaseURL"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Z:\\CSharp\\AirScout\\Database\\ScoutBase\\V1")]
|
||||
public string StationDatabase_Export_LocalDir {
|
||||
get {
|
||||
return ((string)(this["StationDatabase_Export_LocalDir"]));
|
||||
}
|
||||
set {
|
||||
this["StationDatabase_Export_LocalDir"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("/wsb4556518002/downloads/ScoutBase/1/StationData")]
|
||||
public string StationDatabase_Export_RemoteDir {
|
||||
get {
|
||||
return ((string)(this["StationDatabase_Export_RemoteDir"]));
|
||||
}
|
||||
set {
|
||||
this["StationDatabase_Export_RemoteDir"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("u45565180")]
|
||||
public string StationDatabase_Export_User {
|
||||
get {
|
||||
return ((string)(this["StationDatabase_Export_User"]));
|
||||
}
|
||||
set {
|
||||
this["StationDatabase_Export_User"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string StationDatabase_Export_Password {
|
||||
get {
|
||||
return ((string)(this["StationDatabase_Export_Password"]));
|
||||
}
|
||||
set {
|
||||
this["StationDatabase_Export_Password"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("home208518495.1and1-/data.host")]
|
||||
public string StationDatabase_Export_RemoteHost {
|
||||
get {
|
||||
return ((string)(this["StationDatabase_Export_RemoteHost"]));
|
||||
}
|
||||
set {
|
||||
this["StationDatabase_Export_RemoteHost"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Z:\\CSharp\\AirScout\\Database\\AirScout\\V1")]
|
||||
public string AircraftDatabase_Export_LocalDir {
|
||||
get {
|
||||
return ((string)(this["AircraftDatabase_Export_LocalDir"]));
|
||||
}
|
||||
set {
|
||||
this["AircraftDatabase_Export_LocalDir"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string AircraftDatabase_Export_Password {
|
||||
get {
|
||||
return ((string)(this["AircraftDatabase_Export_Password"]));
|
||||
}
|
||||
set {
|
||||
this["AircraftDatabase_Export_Password"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("/wsb4556518002/downloads/AirScout/1/AircraftData")]
|
||||
public string AircraftDatabase_Export_RemoteDir {
|
||||
get {
|
||||
return ((string)(this["AircraftDatabase_Export_RemoteDir"]));
|
||||
}
|
||||
set {
|
||||
this["AircraftDatabase_Export_RemoteDir"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("home208518495.1and1-/data.host")]
|
||||
public string AircraftDatabase_Export_RemoteHost {
|
||||
get {
|
||||
return ((string)(this["AircraftDatabase_Export_RemoteHost"]));
|
||||
}
|
||||
set {
|
||||
this["AircraftDatabase_Export_RemoteHost"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("u45565180")]
|
||||
public string AircraftDatabase_Export_User {
|
||||
get {
|
||||
return ((string)(this["AircraftDatabase_Export_User"]));
|
||||
}
|
||||
set {
|
||||
this["AircraftDatabase_Export_User"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,93 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AirScoutDatabaseManager.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="MinLon" Type="System.Double" Scope="User">
|
||||
<Value Profile="(Default)">-15</Value>
|
||||
</Setting>
|
||||
<Setting Name="MaxLon" Type="System.Double" Scope="User">
|
||||
<Value Profile="(Default)">30</Value>
|
||||
</Setting>
|
||||
<Setting Name="MinLat" Type="System.Double" Scope="User">
|
||||
<Value Profile="(Default)">35</Value>
|
||||
</Setting>
|
||||
<Setting Name="MaxLat" Type="System.Double" Scope="User">
|
||||
<Value Profile="(Default)">60</Value>
|
||||
</Setting>
|
||||
<Setting Name="Map_Provider" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">OpenStreetMap</Value>
|
||||
</Setting>
|
||||
<Setting Name="QRZ_URL_Database" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">http://www.qrz.com/db/</Value>
|
||||
</Setting>
|
||||
<Setting Name="Log_Directory" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">\Log</Value>
|
||||
</Setting>
|
||||
<Setting Name="Database_Directory" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">\Database</Value>
|
||||
</Setting>
|
||||
<Setting Name="Tmp_Directory" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">\Tmp</Value>
|
||||
</Setting>
|
||||
<Setting Name="Export_Directory" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">\Export</Value>
|
||||
</Setting>
|
||||
<Setting Name="Station_URL" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">http://www.airscout.eu/downloads/ScoutBase/1/StationData/</Value>
|
||||
</Setting>
|
||||
<Setting Name="QRZ_URL_Login" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">https://xmldata.qrz.com/xml/current/?username=dl2alf;password=271192;agent=AirScout</Value>
|
||||
</Setting>
|
||||
<Setting Name="QRZ_URL_XMLData" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">http://xmldata.qrz.com/xml/current/</Value>
|
||||
</Setting>
|
||||
<Setting Name="SFTP_URL" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">www.airscout.eu</Value>
|
||||
</Setting>
|
||||
<Setting Name="SFTP_User" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">u45565180-airscout</Value>
|
||||
</Setting>
|
||||
<Setting Name="SFTP_Password" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">airscout</Value>
|
||||
</Setting>
|
||||
<Setting Name="Airlines_Update_URL" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">https://www.flightradar24.com/_json/airlines.php</Value>
|
||||
</Setting>
|
||||
<Setting Name="Airports_Update_URL" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">https://www.flightradar24.com/_json/airports2.php</Value>
|
||||
</Setting>
|
||||
<Setting Name="Aircrafts_BaseURL" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">https://data.flightradar24.com/zones/fcgi/feed.js?faa=1&mlat=1&flarm=0&adsb=1&gnd=0&air=1&vehicles=0&estimated=0&maxage=0&gliders=0&stats=1</Value>
|
||||
</Setting>
|
||||
<Setting Name="StationDatabase_Export_LocalDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Z:\CSharp\AirScout\Database\ScoutBase\V1</Value>
|
||||
</Setting>
|
||||
<Setting Name="StationDatabase_Export_RemoteDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">/wsb4556518002/downloads/ScoutBase/1/StationData</Value>
|
||||
</Setting>
|
||||
<Setting Name="StationDatabase_Export_User" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">u45565180</Value>
|
||||
</Setting>
|
||||
<Setting Name="StationDatabase_Export_Password" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="StationDatabase_Export_RemoteHost" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">home208518495.1and1-/data.host</Value>
|
||||
</Setting>
|
||||
<Setting Name="AircraftDatabase_Export_LocalDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Z:\CSharp\AirScout\Database\AirScout\V1</Value>
|
||||
</Setting>
|
||||
<Setting Name="AircraftDatabase_Export_Password" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="AircraftDatabase_Export_RemoteDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">/wsb4556518002/downloads/AirScout/1/AircraftData</Value>
|
||||
</Setting>
|
||||
<Setting Name="AircraftDatabase_Export_RemoteHost" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">home208518495.1and1-/data.host</Value>
|
||||
</Setting>
|
||||
<Setting Name="AircraftDatabase_Export_User" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">u45565180</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
|
@ -1,132 +0,0 @@
|
|||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Diagnostics;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Globalization;
|
||||
using System.Drawing;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ScoutBase.Core;
|
||||
using ScoutBase.Elevation;
|
||||
using ScoutBase.Stations;
|
||||
|
||||
namespace AirScoutDatabaseManager
|
||||
{
|
||||
public partial class MainDlg : Form
|
||||
{
|
||||
|
||||
#region StationDatabaseUpdater
|
||||
|
||||
private bool ReadLocationsFromURL(string url, string filename)
|
||||
{
|
||||
try
|
||||
{
|
||||
AutoDecompressionWebClient cl = new AutoDecompressionWebClient();
|
||||
DOWNLOADFILESTATUS status = cl.DownloadFileIfNewer(url, filename, true, true);
|
||||
if ((status & DOWNLOADFILESTATUS.ERROR) > 0)
|
||||
{
|
||||
Log.WriteMessage("Error while downloading and extracting " + filename, LogLevel.Error);
|
||||
return false;
|
||||
}
|
||||
else if (((status & DOWNLOADFILESTATUS.NEWER) > 0) || ((status & DOWNLOADFILESTATUS.NOTNEWER) > 0))
|
||||
{
|
||||
string json = "";
|
||||
using (StreamReader sr = new StreamReader(filename))
|
||||
json = sr.ReadToEnd();
|
||||
List<LocationDesignator> lds = StationData.Database.LocationFromJSON(json);
|
||||
// chek for empty database
|
||||
if (StationData.Database.LocationCount() == 0)
|
||||
{
|
||||
// do bulk insert
|
||||
StationData.Database.LocationBulkInsert(lds);
|
||||
}
|
||||
else
|
||||
{
|
||||
// do update on single elements
|
||||
foreach(LocationDesignator ld in lds)
|
||||
{
|
||||
StationData.Database.LocationInsertOrUpdateIfNewer(ld);
|
||||
// return if cancellation is pending
|
||||
if (bw_DatabaseUpdater.CancellationPending)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// Error loading database
|
||||
Log.WriteMessage("[" + url + "]: " + ex.ToString(), LogLevel.Error);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void bw_DatabaseUpdater_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
Log.WriteMessage("Started.");
|
||||
// name the thread for debugging
|
||||
if (String.IsNullOrEmpty(Thread.CurrentThread.Name))
|
||||
Thread.CurrentThread.Name = nameof(bw_DatabaseUpdater);
|
||||
bw_DatabaseUpdater.ReportProgress(0, "Updating database...");
|
||||
// get temp directory
|
||||
string TmpDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Application.CompanyName, Application.ProductName, "Tmp").TrimEnd(Path.DirectorySeparatorChar);
|
||||
if (!Directory.Exists(TmpDirectory))
|
||||
Directory.CreateDirectory(TmpDirectory);
|
||||
int errors = 0;
|
||||
try
|
||||
{
|
||||
Stopwatch st = new Stopwatch();
|
||||
st.Start();
|
||||
// update callsign database
|
||||
bw_DatabaseUpdater.ReportProgress(0, "Updating callsigns from web database...");
|
||||
if (!ReadLocationsFromURL(Properties.Settings.Default.Station_URL + "locations.json", Path.Combine(TmpDirectory, "locations.json")))
|
||||
errors++;
|
||||
st.Stop();
|
||||
Log.WriteMessage("Database update completed in " + st.Elapsed.ToString(@"hh\:mm\:ss") + ", errors: " + errors.ToString());
|
||||
|
||||
// sleep once to get all messages to main thread
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.WriteMessage(ex.ToString(), LogLevel.Error);
|
||||
}
|
||||
bw_DatabaseUpdater.ReportProgress(0, "Updating callsigns finished.");
|
||||
Log.WriteMessage("Finished.");
|
||||
}
|
||||
|
||||
private void bw_DatabaseUpdater_ProgressChanged(object sender, ProgressChangedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (e.ProgressPercentage == 0)
|
||||
{
|
||||
// status message received
|
||||
string msg = (string)e.UserState;
|
||||
Say(msg);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.WriteMessage(ex.ToString(), LogLevel.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void bw_DatabaseUpdater_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||
{
|
||||
tc_Main.Enabled = true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
|
@ -1,107 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="AirScoutDatabaseManager.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<userSettings>
|
||||
<AirScoutDatabaseManager.Properties.Settings>
|
||||
<setting name="MinLon" serializeAs="String">
|
||||
<value>-15</value>
|
||||
</setting>
|
||||
<setting name="MaxLon" serializeAs="String">
|
||||
<value>30</value>
|
||||
</setting>
|
||||
<setting name="MinLat" serializeAs="String">
|
||||
<value>35</value>
|
||||
</setting>
|
||||
<setting name="MaxLat" serializeAs="String">
|
||||
<value>60</value>
|
||||
</setting>
|
||||
<setting name="Map_Provider" serializeAs="String">
|
||||
<value>OpenStreetMap</value>
|
||||
</setting>
|
||||
<setting name="QRZ_URL_Database" serializeAs="String">
|
||||
<value>http://www.qrz.com/db/</value>
|
||||
</setting>
|
||||
<setting name="Log_Directory" serializeAs="String">
|
||||
<value>\Log</value>
|
||||
</setting>
|
||||
<setting name="Database_Directory" serializeAs="String">
|
||||
<value>\Database</value>
|
||||
</setting>
|
||||
<setting name="Tmp_Directory" serializeAs="String">
|
||||
<value>\Tmp</value>
|
||||
</setting>
|
||||
<setting name="Export_Directory" serializeAs="String">
|
||||
<value>\Export</value>
|
||||
</setting>
|
||||
<setting name="Station_URL" serializeAs="String">
|
||||
<value>http://www.airscout.eu/downloads/ScoutBase/1/StationData/</value>
|
||||
</setting>
|
||||
<setting name="QRZ_URL_Login" serializeAs="String">
|
||||
<value>https://xmldata.qrz.com/xml/current/?username=dl2alf;password=271192;agent=AirScout</value>
|
||||
</setting>
|
||||
<setting name="QRZ_URL_XMLData" serializeAs="String">
|
||||
<value>http://xmldata.qrz.com/xml/current/</value>
|
||||
</setting>
|
||||
<setting name="SFTP_URL" serializeAs="String">
|
||||
<value>www.airscout.eu</value>
|
||||
</setting>
|
||||
<setting name="SFTP_User" serializeAs="String">
|
||||
<value>u45565180-airscout</value>
|
||||
</setting>
|
||||
<setting name="SFTP_Password" serializeAs="String">
|
||||
<value>airscout</value>
|
||||
</setting>
|
||||
<setting name="Airlines_Update_URL" serializeAs="String">
|
||||
<value>https://www.flightradar24.com/_json/airlines.php</value>
|
||||
</setting>
|
||||
<setting name="Airports_Update_URL" serializeAs="String">
|
||||
<value>https://www.flightradar24.com/_json/airports2.php</value>
|
||||
</setting>
|
||||
<setting name="Aircrafts_BaseURL" serializeAs="String">
|
||||
<value>https://data.flightradar24.com/zones/fcgi/feed.js?faa=1&mlat=1&flarm=0&adsb=1&gnd=0&air=1&vehicles=0&estimated=0&maxage=0&gliders=0&stats=1</value>
|
||||
</setting>
|
||||
<setting name="StationDatabase_Export_LocalDir" serializeAs="String">
|
||||
<value>Z:\CSharp\AirScout\Database\ScoutBase\V1</value>
|
||||
</setting>
|
||||
<setting name="StationDatabase_Export_RemoteDir" serializeAs="String">
|
||||
<value>/wsb4556518002/downloads/ScoutBase/1/StationData</value>
|
||||
</setting>
|
||||
<setting name="StationDatabase_Export_User" serializeAs="String">
|
||||
<value>u45565180</value>
|
||||
</setting>
|
||||
<setting name="StationDatabase_Export_Password" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="StationDatabase_Export_RemoteHost" serializeAs="String">
|
||||
<value>home208518495.1and1-/data.host</value>
|
||||
</setting>
|
||||
<setting name="AircraftDatabase_Export_LocalDir" serializeAs="String">
|
||||
<value>Z:\CSharp\AirScout\Database\AirScout\V1</value>
|
||||
</setting>
|
||||
<setting name="AircraftDatabase_Export_Password" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="AircraftDatabase_Export_RemoteDir" serializeAs="String">
|
||||
<value>/wsb4556518002/downloads/AirScout/1/AircraftData</value>
|
||||
</setting>
|
||||
<setting name="AircraftDatabase_Export_RemoteHost" serializeAs="String">
|
||||
<value>home208518495.1and1-/data.host</value>
|
||||
</setting>
|
||||
<setting name="AircraftDatabase_Export_User" serializeAs="String">
|
||||
<value>u45565180</value>
|
||||
</setting>
|
||||
</AirScoutDatabaseManager.Properties.Settings>
|
||||
</userSettings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.0.108.0" newVersion="1.0.108.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="HtmlAgilityPack" version="1.8.4" targetFramework="net40-client" />
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40-client" />
|
||||
<package id="SSH.NET" version="2016.1.0" targetFramework="net40-client" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40-client" />
|
||||
</packages>
|
|
@ -69,8 +69,8 @@
|
|||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
|
@ -158,12 +158,12 @@
|
|||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40-client" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40-client" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40-client" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40-client" />
|
||||
</packages>
|
|
@ -39,8 +39,8 @@
|
|||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
|
@ -62,9 +62,12 @@
|
|||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Settings.cs" />
|
||||
<EmbeddedResource Include="MapViewDlg.resx">
|
||||
<DependentUpon>MapViewDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="SettingsDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettingsDlg.Designer.cs">
|
||||
<DependentUpon>SettingsDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
|
@ -74,10 +77,14 @@
|
|||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="SettingsDlg.resx">
|
||||
<DependentUpon>SettingsDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="LICENSE">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<EmbeddedResource Include="MapViewDlg.resx" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
|
@ -151,12 +158,12 @@
|
|||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -29,16 +29,26 @@
|
|||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
ScoutBase.Core.LatLon.GPoint gPoint5 = new ScoutBase.Core.LatLon.GPoint();
|
||||
ScoutBase.Core.LatLon.GPoint gPoint6 = new ScoutBase.Core.LatLon.GPoint();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MapViewDlg));
|
||||
ScoutBase.Core.LatLon.GPoint gPoint1 = new ScoutBase.Core.LatLon.GPoint();
|
||||
ScoutBase.Core.LatLon.GPoint gPoint2 = new ScoutBase.Core.LatLon.GPoint();
|
||||
this.mnu_Main = new System.Windows.Forms.MenuStrip();
|
||||
this.tsi_Exit = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mnu_Settings = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsi_Info = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ss_Main = new System.Windows.Forms.StatusStrip();
|
||||
this.tsl_Status = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tsl_ConnectionStatus = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.gb_Info = new System.Windows.Forms.GroupBox();
|
||||
this.gb_Map_Zoom = new System.Windows.Forms.GroupBox();
|
||||
this.pa_Map_Zoom = new System.Windows.Forms.Panel();
|
||||
this.cb_Map_AutoCenter = new System.Windows.Forms.CheckBox();
|
||||
this.tb_Map_Zoom = new System.Windows.Forms.TextBox();
|
||||
this.btn_Map_Zoom_Out = new System.Windows.Forms.Button();
|
||||
this.btn_Map_Zoom_In = new System.Windows.Forms.Button();
|
||||
this.gb_Control = new System.Windows.Forms.GroupBox();
|
||||
this.btn_Map_PlayPause = new System.Windows.Forms.Button();
|
||||
this.il_Main = new System.Windows.Forms.ImageList(this.components);
|
||||
this.cb_DXLoc = new ScoutBase.Core.LocatorComboBox();
|
||||
this.cb_MyLoc = new ScoutBase.Core.LocatorComboBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
|
@ -67,34 +77,24 @@
|
|||
this.il_Airports = new System.Windows.Forms.ImageList(this.components);
|
||||
this.il_Planes_M = new System.Windows.Forms.ImageList(this.components);
|
||||
this.ti_ShowLegends = new System.Windows.Forms.Timer(this.components);
|
||||
this.btn_Map_PlayPause = new System.Windows.Forms.Button();
|
||||
this.gb_Control = new System.Windows.Forms.GroupBox();
|
||||
this.il_Main = new System.Windows.Forms.ImageList(this.components);
|
||||
this.gb_Map_Zoom = new System.Windows.Forms.GroupBox();
|
||||
this.pa_Map_Zoom = new System.Windows.Forms.Panel();
|
||||
this.tb_Map_Zoom = new System.Windows.Forms.TextBox();
|
||||
this.btn_Map_Zoom_Out = new System.Windows.Forms.Button();
|
||||
this.btn_Map_Zoom_In = new System.Windows.Forms.Button();
|
||||
this.tsl_ConnectionStatus = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.cb_Map_AutoCenter = new System.Windows.Forms.CheckBox();
|
||||
this.mnu_Main.SuspendLayout();
|
||||
this.ss_Main.SuspendLayout();
|
||||
this.gb_Info.SuspendLayout();
|
||||
this.gb_Map_Zoom.SuspendLayout();
|
||||
this.pa_Map_Zoom.SuspendLayout();
|
||||
this.gb_Control.SuspendLayout();
|
||||
this.gb_Map.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spc_Main)).BeginInit();
|
||||
this.spc_Main.Panel1.SuspendLayout();
|
||||
this.spc_Main.Panel2.SuspendLayout();
|
||||
this.spc_Main.SuspendLayout();
|
||||
this.gb_Control.SuspendLayout();
|
||||
this.gb_Map_Zoom.SuspendLayout();
|
||||
this.pa_Map_Zoom.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// mnu_Main
|
||||
//
|
||||
this.mnu_Main.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsi_Exit,
|
||||
this.settingsToolStripMenuItem,
|
||||
this.mnu_Settings,
|
||||
this.tsi_Info});
|
||||
this.mnu_Main.Location = new System.Drawing.Point(0, 0);
|
||||
this.mnu_Main.Name = "mnu_Main";
|
||||
|
@ -105,15 +105,16 @@
|
|||
// tsi_Exit
|
||||
//
|
||||
this.tsi_Exit.Name = "tsi_Exit";
|
||||
this.tsi_Exit.Size = new System.Drawing.Size(37, 20);
|
||||
this.tsi_Exit.Size = new System.Drawing.Size(38, 20);
|
||||
this.tsi_Exit.Text = "E&xit";
|
||||
this.tsi_Exit.Click += new System.EventHandler(this.tsi_Exit_Click);
|
||||
//
|
||||
// settingsToolStripMenuItem
|
||||
// mnu_Settings
|
||||
//
|
||||
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||
this.settingsToolStripMenuItem.Text = "&Settings";
|
||||
this.mnu_Settings.Name = "mnu_Settings";
|
||||
this.mnu_Settings.Size = new System.Drawing.Size(61, 20);
|
||||
this.mnu_Settings.Text = "&Settings";
|
||||
this.mnu_Settings.Click += new System.EventHandler(this.mnu_Settings_Click);
|
||||
//
|
||||
// tsi_Info
|
||||
//
|
||||
|
@ -141,6 +142,12 @@
|
|||
this.tsl_Status.Text = "Status";
|
||||
this.tsl_Status.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// tsl_ConnectionStatus
|
||||
//
|
||||
this.tsl_ConnectionStatus.Name = "tsl_ConnectionStatus";
|
||||
this.tsl_ConnectionStatus.Size = new System.Drawing.Size(39, 17);
|
||||
this.tsl_ConnectionStatus.Text = "Status";
|
||||
//
|
||||
// gb_Info
|
||||
//
|
||||
this.gb_Info.Controls.Add(this.gb_Map_Zoom);
|
||||
|
@ -170,6 +177,105 @@
|
|||
this.gb_Info.TabStop = false;
|
||||
this.gb_Info.Text = "Info";
|
||||
//
|
||||
// gb_Map_Zoom
|
||||
//
|
||||
this.gb_Map_Zoom.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.gb_Map_Zoom.Controls.Add(this.pa_Map_Zoom);
|
||||
this.gb_Map_Zoom.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.gb_Map_Zoom.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.gb_Map_Zoom.Location = new System.Drawing.Point(3, 357);
|
||||
this.gb_Map_Zoom.Name = "gb_Map_Zoom";
|
||||
this.gb_Map_Zoom.Size = new System.Drawing.Size(139, 79);
|
||||
this.gb_Map_Zoom.TabIndex = 66;
|
||||
this.gb_Map_Zoom.TabStop = false;
|
||||
this.gb_Map_Zoom.Text = "Map Zoom";
|
||||
//
|
||||
// pa_Map_Zoom
|
||||
//
|
||||
this.pa_Map_Zoom.Controls.Add(this.cb_Map_AutoCenter);
|
||||
this.pa_Map_Zoom.Controls.Add(this.tb_Map_Zoom);
|
||||
this.pa_Map_Zoom.Controls.Add(this.btn_Map_Zoom_Out);
|
||||
this.pa_Map_Zoom.Controls.Add(this.btn_Map_Zoom_In);
|
||||
this.pa_Map_Zoom.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pa_Map_Zoom.Location = new System.Drawing.Point(3, 16);
|
||||
this.pa_Map_Zoom.Name = "pa_Map_Zoom";
|
||||
this.pa_Map_Zoom.Size = new System.Drawing.Size(133, 60);
|
||||
this.pa_Map_Zoom.TabIndex = 65;
|
||||
//
|
||||
// cb_Map_AutoCenter
|
||||
//
|
||||
this.cb_Map_AutoCenter.AutoSize = true;
|
||||
this.cb_Map_AutoCenter.Checked = global::AirScoutViewClient.Properties.Settings.Default.Map_AutoCenter;
|
||||
this.cb_Map_AutoCenter.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.cb_Map_AutoCenter.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::AirScoutViewClient.Properties.Settings.Default, "Map_AutoCenter", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.cb_Map_AutoCenter.Location = new System.Drawing.Point(12, 37);
|
||||
this.cb_Map_AutoCenter.Name = "cb_Map_AutoCenter";
|
||||
this.cb_Map_AutoCenter.Size = new System.Drawing.Size(93, 17);
|
||||
this.cb_Map_AutoCenter.TabIndex = 24;
|
||||
this.cb_Map_AutoCenter.Text = "Auto Center";
|
||||
this.cb_Map_AutoCenter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tb_Map_Zoom
|
||||
//
|
||||
this.tb_Map_Zoom.BackColor = System.Drawing.Color.FloralWhite;
|
||||
this.tb_Map_Zoom.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tb_Map_Zoom.Location = new System.Drawing.Point(45, 9);
|
||||
this.tb_Map_Zoom.Name = "tb_Map_Zoom";
|
||||
this.tb_Map_Zoom.Size = new System.Drawing.Size(41, 22);
|
||||
this.tb_Map_Zoom.TabIndex = 23;
|
||||
//
|
||||
// btn_Map_Zoom_Out
|
||||
//
|
||||
this.btn_Map_Zoom_Out.Location = new System.Drawing.Point(92, 8);
|
||||
this.btn_Map_Zoom_Out.Name = "btn_Map_Zoom_Out";
|
||||
this.btn_Map_Zoom_Out.Size = new System.Drawing.Size(30, 23);
|
||||
this.btn_Map_Zoom_Out.TabIndex = 22;
|
||||
this.btn_Map_Zoom_Out.Text = "-";
|
||||
this.btn_Map_Zoom_Out.UseVisualStyleBackColor = true;
|
||||
this.btn_Map_Zoom_Out.Click += new System.EventHandler(this.btn_Map_Zoom_Out_Click);
|
||||
//
|
||||
// btn_Map_Zoom_In
|
||||
//
|
||||
this.btn_Map_Zoom_In.Location = new System.Drawing.Point(9, 8);
|
||||
this.btn_Map_Zoom_In.Name = "btn_Map_Zoom_In";
|
||||
this.btn_Map_Zoom_In.Size = new System.Drawing.Size(30, 23);
|
||||
this.btn_Map_Zoom_In.TabIndex = 21;
|
||||
this.btn_Map_Zoom_In.Text = "+";
|
||||
this.btn_Map_Zoom_In.UseVisualStyleBackColor = true;
|
||||
this.btn_Map_Zoom_In.Click += new System.EventHandler(this.btn_Map_Zoom_In_Click);
|
||||
//
|
||||
// gb_Control
|
||||
//
|
||||
this.gb_Control.Controls.Add(this.btn_Map_PlayPause);
|
||||
this.gb_Control.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.gb_Control.Location = new System.Drawing.Point(3, 436);
|
||||
this.gb_Control.Name = "gb_Control";
|
||||
this.gb_Control.Size = new System.Drawing.Size(139, 55);
|
||||
this.gb_Control.TabIndex = 64;
|
||||
this.gb_Control.TabStop = false;
|
||||
//
|
||||
// btn_Map_PlayPause
|
||||
//
|
||||
this.btn_Map_PlayPause.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btn_Map_PlayPause.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btn_Map_PlayPause.ImageIndex = 1;
|
||||
this.btn_Map_PlayPause.ImageList = this.il_Main;
|
||||
this.btn_Map_PlayPause.Location = new System.Drawing.Point(14, 17);
|
||||
this.btn_Map_PlayPause.Name = "btn_Map_PlayPause";
|
||||
this.btn_Map_PlayPause.Size = new System.Drawing.Size(114, 29);
|
||||
this.btn_Map_PlayPause.TabIndex = 64;
|
||||
this.btn_Map_PlayPause.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btn_Map_PlayPause.UseVisualStyleBackColor = true;
|
||||
this.btn_Map_PlayPause.Click += new System.EventHandler(this.btn_Map_PlayPause_Click);
|
||||
//
|
||||
// il_Main
|
||||
//
|
||||
this.il_Main.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("il_Main.ImageStream")));
|
||||
this.il_Main.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.il_Main.Images.SetKeyName(0, "PauseHS.png");
|
||||
this.il_Main.Images.SetKeyName(1, "PlayHS.png");
|
||||
this.il_Main.Images.SetKeyName(2, "RecordHS.png");
|
||||
//
|
||||
// cb_DXLoc
|
||||
//
|
||||
this.cb_DXLoc.AutoLength = false;
|
||||
|
@ -180,7 +286,7 @@
|
|||
this.cb_DXLoc.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.cb_DXLoc.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
this.cb_DXLoc.FormattingEnabled = true;
|
||||
this.cb_DXLoc.GeoLocation = gPoint5;
|
||||
this.cb_DXLoc.GeoLocation = gPoint1;
|
||||
this.cb_DXLoc.Location = new System.Drawing.Point(6, 243);
|
||||
this.cb_DXLoc.Name = "cb_DXLoc";
|
||||
this.cb_DXLoc.Precision = 3;
|
||||
|
@ -200,7 +306,7 @@
|
|||
this.cb_MyLoc.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.cb_MyLoc.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
this.cb_MyLoc.FormattingEnabled = true;
|
||||
this.cb_MyLoc.GeoLocation = gPoint6;
|
||||
this.cb_MyLoc.GeoLocation = gPoint2;
|
||||
this.cb_MyLoc.Location = new System.Drawing.Point(6, 161);
|
||||
this.cb_MyLoc.Name = "cb_MyLoc";
|
||||
this.cb_MyLoc.Precision = 3;
|
||||
|
@ -411,6 +517,7 @@
|
|||
this.gm_Main.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
|
||||
this.gm_Main.Name = "gm_Main";
|
||||
this.gm_Main.NegativeMode = false;
|
||||
this.gm_Main.Opacity = 1D;
|
||||
this.gm_Main.PolygonsEnabled = true;
|
||||
this.gm_Main.RetryLoadTile = 0;
|
||||
this.gm_Main.RoutesEnabled = true;
|
||||
|
@ -481,111 +588,6 @@
|
|||
this.ti_ShowLegends.Interval = 5000;
|
||||
this.ti_ShowLegends.Tick += new System.EventHandler(this.ti_ShowLegends_Tick);
|
||||
//
|
||||
// btn_Map_PlayPause
|
||||
//
|
||||
this.btn_Map_PlayPause.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btn_Map_PlayPause.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btn_Map_PlayPause.ImageIndex = 1;
|
||||
this.btn_Map_PlayPause.ImageList = this.il_Main;
|
||||
this.btn_Map_PlayPause.Location = new System.Drawing.Point(14, 17);
|
||||
this.btn_Map_PlayPause.Name = "btn_Map_PlayPause";
|
||||
this.btn_Map_PlayPause.Size = new System.Drawing.Size(114, 29);
|
||||
this.btn_Map_PlayPause.TabIndex = 64;
|
||||
this.btn_Map_PlayPause.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btn_Map_PlayPause.UseVisualStyleBackColor = true;
|
||||
this.btn_Map_PlayPause.Click += new System.EventHandler(this.btn_Map_PlayPause_Click);
|
||||
//
|
||||
// gb_Control
|
||||
//
|
||||
this.gb_Control.Controls.Add(this.btn_Map_PlayPause);
|
||||
this.gb_Control.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.gb_Control.Location = new System.Drawing.Point(3, 436);
|
||||
this.gb_Control.Name = "gb_Control";
|
||||
this.gb_Control.Size = new System.Drawing.Size(139, 55);
|
||||
this.gb_Control.TabIndex = 64;
|
||||
this.gb_Control.TabStop = false;
|
||||
//
|
||||
// il_Main
|
||||
//
|
||||
this.il_Main.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("il_Main.ImageStream")));
|
||||
this.il_Main.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.il_Main.Images.SetKeyName(0, "PauseHS.png");
|
||||
this.il_Main.Images.SetKeyName(1, "PlayHS.png");
|
||||
this.il_Main.Images.SetKeyName(2, "RecordHS.png");
|
||||
//
|
||||
// gb_Map_Zoom
|
||||
//
|
||||
this.gb_Map_Zoom.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.gb_Map_Zoom.Controls.Add(this.pa_Map_Zoom);
|
||||
this.gb_Map_Zoom.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.gb_Map_Zoom.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.gb_Map_Zoom.Location = new System.Drawing.Point(3, 357);
|
||||
this.gb_Map_Zoom.Name = "gb_Map_Zoom";
|
||||
this.gb_Map_Zoom.Size = new System.Drawing.Size(139, 79);
|
||||
this.gb_Map_Zoom.TabIndex = 66;
|
||||
this.gb_Map_Zoom.TabStop = false;
|
||||
this.gb_Map_Zoom.Text = "Map Zoom";
|
||||
//
|
||||
// pa_Map_Zoom
|
||||
//
|
||||
this.pa_Map_Zoom.Controls.Add(this.cb_Map_AutoCenter);
|
||||
this.pa_Map_Zoom.Controls.Add(this.tb_Map_Zoom);
|
||||
this.pa_Map_Zoom.Controls.Add(this.btn_Map_Zoom_Out);
|
||||
this.pa_Map_Zoom.Controls.Add(this.btn_Map_Zoom_In);
|
||||
this.pa_Map_Zoom.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pa_Map_Zoom.Location = new System.Drawing.Point(3, 16);
|
||||
this.pa_Map_Zoom.Name = "pa_Map_Zoom";
|
||||
this.pa_Map_Zoom.Size = new System.Drawing.Size(133, 60);
|
||||
this.pa_Map_Zoom.TabIndex = 65;
|
||||
//
|
||||
// tb_Map_Zoom
|
||||
//
|
||||
this.tb_Map_Zoom.BackColor = System.Drawing.Color.FloralWhite;
|
||||
this.tb_Map_Zoom.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tb_Map_Zoom.Location = new System.Drawing.Point(45, 9);
|
||||
this.tb_Map_Zoom.Name = "tb_Map_Zoom";
|
||||
this.tb_Map_Zoom.Size = new System.Drawing.Size(41, 22);
|
||||
this.tb_Map_Zoom.TabIndex = 23;
|
||||
//
|
||||
// btn_Map_Zoom_Out
|
||||
//
|
||||
this.btn_Map_Zoom_Out.Location = new System.Drawing.Point(92, 8);
|
||||
this.btn_Map_Zoom_Out.Name = "btn_Map_Zoom_Out";
|
||||
this.btn_Map_Zoom_Out.Size = new System.Drawing.Size(30, 23);
|
||||
this.btn_Map_Zoom_Out.TabIndex = 22;
|
||||
this.btn_Map_Zoom_Out.Text = "-";
|
||||
this.btn_Map_Zoom_Out.UseVisualStyleBackColor = true;
|
||||
this.btn_Map_Zoom_Out.Click += new System.EventHandler(this.btn_Map_Zoom_Out_Click);
|
||||
//
|
||||
// btn_Map_Zoom_In
|
||||
//
|
||||
this.btn_Map_Zoom_In.Location = new System.Drawing.Point(9, 8);
|
||||
this.btn_Map_Zoom_In.Name = "btn_Map_Zoom_In";
|
||||
this.btn_Map_Zoom_In.Size = new System.Drawing.Size(30, 23);
|
||||
this.btn_Map_Zoom_In.TabIndex = 21;
|
||||
this.btn_Map_Zoom_In.Text = "+";
|
||||
this.btn_Map_Zoom_In.UseVisualStyleBackColor = true;
|
||||
this.btn_Map_Zoom_In.Click += new System.EventHandler(this.btn_Map_Zoom_In_Click);
|
||||
//
|
||||
// tsl_ConnectionStatus
|
||||
//
|
||||
this.tsl_ConnectionStatus.Name = "tsl_ConnectionStatus";
|
||||
this.tsl_ConnectionStatus.Size = new System.Drawing.Size(39, 17);
|
||||
this.tsl_ConnectionStatus.Text = "Status";
|
||||
//
|
||||
// cb_Map_AutoCenter
|
||||
//
|
||||
this.cb_Map_AutoCenter.AutoSize = true;
|
||||
this.cb_Map_AutoCenter.Checked = global::AirScoutViewClient.Properties.Settings.Default.Map_AutoCenter;
|
||||
this.cb_Map_AutoCenter.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.cb_Map_AutoCenter.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::AirScoutViewClient.Properties.Settings.Default, "Map_AutoCenter", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.cb_Map_AutoCenter.Location = new System.Drawing.Point(12, 37);
|
||||
this.cb_Map_AutoCenter.Name = "cb_Map_AutoCenter";
|
||||
this.cb_Map_AutoCenter.Size = new System.Drawing.Size(93, 17);
|
||||
this.cb_Map_AutoCenter.TabIndex = 24;
|
||||
this.cb_Map_AutoCenter.Text = "Auto Center";
|
||||
this.cb_Map_AutoCenter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// MapViewDlg
|
||||
//
|
||||
this.AcceptButton = this.btn_Map_PlayPause;
|
||||
|
@ -608,15 +610,15 @@
|
|||
this.ss_Main.PerformLayout();
|
||||
this.gb_Info.ResumeLayout(false);
|
||||
this.gb_Info.PerformLayout();
|
||||
this.gb_Map_Zoom.ResumeLayout(false);
|
||||
this.pa_Map_Zoom.ResumeLayout(false);
|
||||
this.pa_Map_Zoom.PerformLayout();
|
||||
this.gb_Control.ResumeLayout(false);
|
||||
this.gb_Map.ResumeLayout(false);
|
||||
this.spc_Main.Panel1.ResumeLayout(false);
|
||||
this.spc_Main.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.spc_Main)).EndInit();
|
||||
this.spc_Main.ResumeLayout(false);
|
||||
this.gb_Control.ResumeLayout(false);
|
||||
this.gb_Map_Zoom.ResumeLayout(false);
|
||||
this.pa_Map_Zoom.ResumeLayout(false);
|
||||
this.pa_Map_Zoom.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
@ -629,7 +631,7 @@
|
|||
private System.Windows.Forms.ToolStripMenuItem tsi_Info;
|
||||
private System.Windows.Forms.StatusStrip ss_Main;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsl_Status;
|
||||
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem mnu_Settings;
|
||||
private System.Windows.Forms.GroupBox gb_Info;
|
||||
private System.Windows.Forms.GroupBox gb_Map;
|
||||
private System.Windows.Forms.Timer ti_Progress;
|
||||
|
|
|
@ -141,7 +141,7 @@ namespace AirScoutViewClient
|
|||
SortedList<string, PlaneInfo> ActivePlanes = new SortedList<string, PlaneInfo>();
|
||||
private List<string> SelectedPlanes = new List<string>();
|
||||
|
||||
private VIEWCLIENTSTATUS VieClientStatus = VIEWCLIENTSTATUS.NONE;
|
||||
private VIEWCLIENTSTATUS ViewClientStatus = VIEWCLIENTSTATUS.NONE;
|
||||
|
||||
[CategoryAttribute("Directories")]
|
||||
[DescriptionAttribute("Application Directory")]
|
||||
|
@ -268,7 +268,7 @@ namespace AirScoutViewClient
|
|||
BAND band = Properties.Settings.Default.Band;
|
||||
cb_Band.SelectedItem = Bands.GetStringValue(band);
|
||||
PlayMode = AIRSCOUTPLAYMODE.PAUSE;
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTED;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTED;
|
||||
UpdateStatus();
|
||||
Say("");
|
||||
}
|
||||
|
@ -627,10 +627,10 @@ namespace AirScoutViewClient
|
|||
{
|
||||
string json = "";
|
||||
// get settings
|
||||
json = GetJSONFromURL(GetServerURL(Properties.Settings.Default.Server_URL, Properties.Settings.Default.Server_Port, "settings.json"));
|
||||
json = GetJSONFromURL(GetServerURL(Properties.Settings.Default.Server_URL, (int)Properties.Settings.Default.Server_Port, "settings.json"));
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return false;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -689,14 +689,14 @@ namespace AirScoutViewClient
|
|||
{
|
||||
string url = GetServerURL(
|
||||
Properties.Settings.Default.Server_URL,
|
||||
Properties.Settings.Default.Server_Port,
|
||||
(int)Properties.Settings.Default.Server_Port,
|
||||
"location.json",
|
||||
"call=" + Properties.Settings.Default.MyCall +
|
||||
"&loc=all");
|
||||
json = GetJSONFromURL(url);
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return null;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -727,14 +727,14 @@ namespace AirScoutViewClient
|
|||
{
|
||||
string url = GetServerURL(
|
||||
Properties.Settings.Default.Server_URL,
|
||||
Properties.Settings.Default.Server_Port,
|
||||
(int)Properties.Settings.Default.Server_Port,
|
||||
"location.json",
|
||||
"call=" + Properties.Settings.Default.MyCall +
|
||||
"&loc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.MyLat, Properties.Settings.Default.MyLon, false, 3));
|
||||
json = GetJSONFromURL(url);
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return null;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -760,14 +760,14 @@ namespace AirScoutViewClient
|
|||
{
|
||||
string url = GetServerURL(
|
||||
Properties.Settings.Default.Server_URL,
|
||||
Properties.Settings.Default.Server_Port,
|
||||
(int)Properties.Settings.Default.Server_Port,
|
||||
"location.json",
|
||||
"call=" + Properties.Settings.Default.DXCall +
|
||||
"&loc=all");
|
||||
json = GetJSONFromURL(url);
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return null;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -798,14 +798,14 @@ namespace AirScoutViewClient
|
|||
{
|
||||
string url = GetServerURL(
|
||||
Properties.Settings.Default.Server_URL,
|
||||
Properties.Settings.Default.Server_Port,
|
||||
(int)Properties.Settings.Default.Server_Port,
|
||||
"location.json",
|
||||
"&call=" + Properties.Settings.Default.DXCall +
|
||||
"&loc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.DXLat, Properties.Settings.Default.DXLon, false, 3));
|
||||
json = GetJSONFromURL(url);
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return null;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -830,7 +830,7 @@ namespace AirScoutViewClient
|
|||
{
|
||||
json = GetJSONFromURL(GetServerURL(
|
||||
Properties.Settings.Default.Server_URL,
|
||||
Properties.Settings.Default.Server_Port,
|
||||
(int)Properties.Settings.Default.Server_Port,
|
||||
"elevationpath.json",
|
||||
"mycall=" + Properties.Settings.Default.MyCall +
|
||||
"&myloc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.MyLat, Properties.Settings.Default.MyLon, false, 3) +
|
||||
|
@ -838,7 +838,7 @@ namespace AirScoutViewClient
|
|||
"&dxloc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.DXLat, Properties.Settings.Default.DXLon, false, 3)));
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return null;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -863,7 +863,7 @@ namespace AirScoutViewClient
|
|||
{
|
||||
json = GetJSONFromURL(GetServerURL(
|
||||
Properties.Settings.Default.Server_URL,
|
||||
Properties.Settings.Default.Server_Port,
|
||||
(int)Properties.Settings.Default.Server_Port,
|
||||
"propagationpath.json",
|
||||
"mycall=" + Properties.Settings.Default.MyCall +
|
||||
"&myloc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.MyLat, Properties.Settings.Default.MyLon, false, 3) +
|
||||
|
@ -871,7 +871,7 @@ namespace AirScoutViewClient
|
|||
"&dxloc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.DXLat, Properties.Settings.Default.DXLon, false, 3)));
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return null;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -897,7 +897,7 @@ namespace AirScoutViewClient
|
|||
{
|
||||
json = GetJSONFromURL(GetServerURL(
|
||||
Properties.Settings.Default.Server_URL,
|
||||
Properties.Settings.Default.Server_Port,
|
||||
(int)Properties.Settings.Default.Server_Port,
|
||||
"nearestplanes.json",
|
||||
"mycall=" + Properties.Settings.Default.MyCall +
|
||||
"&myloc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.MyLat, Properties.Settings.Default.MyLon, false, 3) +
|
||||
|
@ -905,7 +905,7 @@ namespace AirScoutViewClient
|
|||
"&dxloc=" + MaidenheadLocator.LocFromLatLon(Properties.Settings.Default.DXLat, Properties.Settings.Default.DXLon, false, 3)));
|
||||
if (String.IsNullOrEmpty(json))
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
return null;
|
||||
}
|
||||
if (json.StartsWith("Error:"))
|
||||
|
@ -1385,8 +1385,8 @@ namespace AirScoutViewClient
|
|||
|
||||
private void ti_Progress_Tick(object sender, EventArgs e)
|
||||
{
|
||||
tsl_ConnectionStatus.Text = VieClientStatus.ToString();
|
||||
switch (VieClientStatus)
|
||||
tsl_ConnectionStatus.Text = ViewClientStatus.ToString();
|
||||
switch (ViewClientStatus)
|
||||
{
|
||||
case VIEWCLIENTSTATUS.CONNECTING:
|
||||
{
|
||||
|
@ -1423,13 +1423,13 @@ namespace AirScoutViewClient
|
|||
|
||||
private void MapViewDlg_Load(object sender, EventArgs e)
|
||||
{
|
||||
VieClientStatus = VIEWCLIENTSTATUS.INIT;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.INIT;
|
||||
InitializeIcons();
|
||||
InitializeCharts();
|
||||
this.Text = "AirScout View Client V" + Application.ProductVersion;
|
||||
this.Show();
|
||||
ti_Progress.Start();
|
||||
VieClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.CONNECTING;
|
||||
}
|
||||
|
||||
private void tsi_Exit_Click(object sender, EventArgs e)
|
||||
|
@ -1723,5 +1723,20 @@ namespace AirScoutViewClient
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private void mnu_Settings_Click(object sender, EventArgs e)
|
||||
{
|
||||
SettingsDlg Dlg = new SettingsDlg();
|
||||
if (Dlg.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Properties.Settings.Default.Save();
|
||||
ViewClientStatus = VIEWCLIENTSTATUS.INIT;
|
||||
InitializeSettings();
|
||||
}
|
||||
else
|
||||
{
|
||||
Properties.Settings.Default.Reload();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -123,30 +123,6 @@
|
|||
<metadata name="ss_Main.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>126, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ti_Progress.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>220, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ti_Startup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>331, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_H.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>435, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_L.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>546, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_S.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>654, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Airports.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>763, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_M.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>869, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ti_ShowLegends.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>983, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Main.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1122, 17</value>
|
||||
</metadata>
|
||||
|
@ -155,7 +131,7 @@
|
|||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACc
|
||||
DQAAAk1TRnQBSQFMAgEBAwEAARABCwEQAQsBIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
DQAAAk1TRnQBSQFMAgEBAwEAARgBCwEYAQsBIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABgAMAASADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
@ -216,6 +192,30 @@
|
|||
DP8EAAz/BAAL
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ti_Progress.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>220, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ti_Startup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>331, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_H.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>435, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_L.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>546, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_S.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>654, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Airports.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>763, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_Planes_M.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>869, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ti_ShowLegends.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>983, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.3.0.4")]
|
||||
[assembly: AssemblyFileVersion("1.3.0.4")]
|
||||
[assembly: AssemblyVersion("1.3.0.5")]
|
||||
[assembly: AssemblyFileVersion("1.3.0.5")]
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace AirScoutViewClient.Properties {
|
|||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
@ -38,9 +38,9 @@ namespace AirScoutViewClient.Properties {
|
|||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("9880")]
|
||||
public int Server_Port {
|
||||
public decimal Server_Port {
|
||||
get {
|
||||
return ((int)(this["Server_Port"]));
|
||||
return ((decimal)(this["Server_Port"]));
|
||||
}
|
||||
set {
|
||||
this["Server_Port"] = value;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<Setting Name="Server_URL" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">localhost</Value>
|
||||
</Setting>
|
||||
<Setting Name="Server_Port" Type="System.Int32" Scope="User">
|
||||
<Setting Name="Server_Port" Type="System.Decimal" Scope="User">
|
||||
<Value Profile="(Default)">9880</Value>
|
||||
</Setting>
|
||||
<Setting Name="RefreshRate" Type="System.Int32" Scope="User">
|
||||
|
@ -110,7 +110,7 @@
|
|||
<Setting Name="Planes_Filter_Min_Alt" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">5000</Value>
|
||||
</Setting>
|
||||
<Setting Name="Planes_Filter_Min_Category" Type="AirScout.Aircrafts.PLANECATEGORY" Scope="User">
|
||||
<Setting Name="Planes_Filter_Min_Category" Type="AirScout.Core.PLANECATEGORY" Scope="User">
|
||||
<Value Profile="(Default)">NONE</Value>
|
||||
</Setting>
|
||||
<Setting Name="Path_Band_Settings" Type="AirScout.Core.BandSettings" Scope="User">
|
||||
|
|
|
@ -0,0 +1,140 @@
|
|||
namespace AirScoutViewClient
|
||||
{
|
||||
partial class SettingsDlg
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.ud_Settings_Server_Port = new System.Windows.Forms.NumericUpDown();
|
||||
this.tb_Settings_Server_URL = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btn_OK = new System.Windows.Forms.Button();
|
||||
this.groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ud_Settings_Server_Port)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.ud_Settings_Server_Port);
|
||||
this.groupBox1.Controls.Add(this.tb_Settings_Server_URL);
|
||||
this.groupBox1.Controls.Add(this.label2);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 12);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(266, 103);
|
||||
this.groupBox1.TabIndex = 0;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Connection Settings";
|
||||
//
|
||||
// ud_Settings_Server_Port
|
||||
//
|
||||
this.ud_Settings_Server_Port.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::AirScoutViewClient.Properties.Settings.Default, "Server_Port", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.ud_Settings_Server_Port.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.ud_Settings_Server_Port.Location = new System.Drawing.Point(91, 57);
|
||||
this.ud_Settings_Server_Port.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ud_Settings_Server_Port.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ud_Settings_Server_Port.Name = "ud_Settings_Server_Port";
|
||||
this.ud_Settings_Server_Port.Size = new System.Drawing.Size(76, 20);
|
||||
this.ud_Settings_Server_Port.TabIndex = 3;
|
||||
this.ud_Settings_Server_Port.Value = global::AirScoutViewClient.Properties.Settings.Default.Server_Port;
|
||||
//
|
||||
// tb_Settings_Server_URL
|
||||
//
|
||||
this.tb_Settings_Server_URL.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AirScoutViewClient.Properties.Settings.Default, "Server_URL", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.tb_Settings_Server_URL.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tb_Settings_Server_URL.Location = new System.Drawing.Point(91, 24);
|
||||
this.tb_Settings_Server_URL.Name = "tb_Settings_Server_URL";
|
||||
this.tb_Settings_Server_URL.Size = new System.Drawing.Size(138, 20);
|
||||
this.tb_Settings_Server_URL.TabIndex = 2;
|
||||
this.tb_Settings_Server_URL.Text = global::AirScoutViewClient.Properties.Settings.Default.Server_URL;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label2.Location = new System.Drawing.Point(6, 59);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(69, 13);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "Server - Port:";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label1.Location = new System.Drawing.Point(6, 27);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(60, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Server - IP:";
|
||||
//
|
||||
// btn_OK
|
||||
//
|
||||
this.btn_OK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btn_OK.Location = new System.Drawing.Point(12, 134);
|
||||
this.btn_OK.Name = "btn_OK";
|
||||
this.btn_OK.Size = new System.Drawing.Size(266, 23);
|
||||
this.btn_OK.TabIndex = 1;
|
||||
this.btn_OK.Text = "OK";
|
||||
this.btn_OK.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// SettingsDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(298, 169);
|
||||
this.Controls.Add(this.btn_OK);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "SettingsDlg";
|
||||
this.Text = "AirScout View Client Settings";
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ud_Settings_Server_Port)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.TextBox tb_Settings_Server_URL;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.NumericUpDown ud_Settings_Server_Port;
|
||||
private System.Windows.Forms.Button btn_OK;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AirScoutViewClient
|
||||
{
|
||||
public partial class SettingsDlg : Form
|
||||
{
|
||||
public SettingsDlg()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
|
@ -42,8 +42,8 @@
|
|||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.112.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
|
@ -69,12 +69,12 @@
|
|||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.0" targetFramework="net40" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.113.3" targetFramework="net40" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.113.7" targetFramework="net40" />
|
||||
</packages>
|
|
@ -0,0 +1,103 @@
|
|||
namespace CATCheck
|
||||
{
|
||||
partial class AboutDlg
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.btn_OK = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.lbl_Version = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btn_OK
|
||||
//
|
||||
this.btn_OK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btn_OK.Location = new System.Drawing.Point(107, 122);
|
||||
this.btn_OK.Name = "btn_OK";
|
||||
this.btn_OK.Size = new System.Drawing.Size(75, 23);
|
||||
this.btn_OK.TabIndex = 0;
|
||||
this.btn_OK.Text = "OK";
|
||||
this.btn_OK.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label1.Location = new System.Drawing.Point(39, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(218, 55);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "CAT communication checker for Windows & Linux";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.label1.UseMnemonic = false;
|
||||
//
|
||||
// lbl_Version
|
||||
//
|
||||
this.lbl_Version.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lbl_Version.Location = new System.Drawing.Point(43, 53);
|
||||
this.lbl_Version.Name = "lbl_Version";
|
||||
this.lbl_Version.Size = new System.Drawing.Size(214, 30);
|
||||
this.lbl_Version.TabIndex = 2;
|
||||
this.lbl_Version.Text = "V x.x.x (c) 2021 DL2ALF";
|
||||
this.lbl_Version.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.lbl_Version.UseMnemonic = false;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label3.Location = new System.Drawing.Point(12, 83);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(280, 30);
|
||||
this.label3.TabIndex = 3;
|
||||
this.label3.Text = "based on the great OmniRig project by VE3NEA";
|
||||
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.label3.UseMnemonic = false;
|
||||
//
|
||||
// AboutDlg
|
||||
//
|
||||
this.AcceptButton = this.btn_OK;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(295, 157);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.lbl_Version);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.btn_OK);
|
||||
this.Name = "AboutDlg";
|
||||
this.Text = "About";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button btn_OK;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label3;
|
||||
public System.Windows.Forms.Label lbl_Version;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CATCheck
|
||||
{
|
||||
public partial class AboutDlg : Form
|
||||
{
|
||||
public AboutDlg()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,571 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{0F0B27D0-7957-4CE0-9121-2C89746AF136}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>CATCheck</RootNamespace>
|
||||
<AssemblyName>CATCheck</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AboutDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="AboutDlg.Designer.cs">
|
||||
<DependentUpon>AboutDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ComboBoxItem.cs" />
|
||||
<Compile Include="FrequencyOfToneDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrequencyOfToneDlg.Designer.cs">
|
||||
<DependentUpon>FrequencyOfToneDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Helpers.cs" />
|
||||
<Compile Include="MainDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MainDlg.Designer.cs">
|
||||
<DependentUpon>MainDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SetFrequencyDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SetFrequencyDlg.Designer.cs">
|
||||
<DependentUpon>SetFrequencyDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Settings.cs" />
|
||||
<EmbeddedResource Include="AboutDlg.resx">
|
||||
<DependentUpon>AboutDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrequencyOfToneDlg.resx">
|
||||
<DependentUpon>FrequencyOfToneDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MainDlg.resx">
|
||||
<DependentUpon>MainDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="SetFrequencyDlg.resx">
|
||||
<DependentUpon>SetFrequencyDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<None Include="Rigs\ADT-200A.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\AORAR5000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\AR8600.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Bearcat996x.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\CODAN.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\DX-77.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Elad-FDMSW2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Elecraft K2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Elecraft K3.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Elecraft KX2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Elecraft KX3.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\ExpertSDR.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FRG-100.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-100 D.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-1000 MP.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-1000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-2000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-2000PEPV3.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-2KAFSKPEPV3.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-2KFSKPEPV3.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-450.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-450Dmod.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-747.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-747GX.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-747GX1.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-747GX2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-757GXII.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-817.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-840.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-847.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-857.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-891.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-897.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-900.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-920.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-950.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-990.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-991-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FT-991.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FTDX-1200-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FTDX-1200.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FTDX-3000-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FTDX-3000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FTDX-5000MP-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FTDX-5000MP.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\FTDX-9000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\HRD.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC- 821.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC- 970D.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-275H.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7000v2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-703.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-703a.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-706 MKII.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-706 MKIIG.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-706.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7100.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7100e4-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7100e4.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-718.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7200.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7200v2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-725.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-725a.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-726.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-728.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7300-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7300.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7315.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-735.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-736 %28untested%29.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-737.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-738.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7410 %281%29.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7410.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7410v2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-746 Pro.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-746.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-751.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-756 Pro II.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-756 Pro III.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-756 Pro II_LSB.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-756 Pro.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-756.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7600.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7600v2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-761.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7610-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7610.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-765.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7700.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7700v2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-775.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-78.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7800.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7800v3.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-781.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-781_2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7850-DATA-FIL1.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7850-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7850.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7851-DATA-FIL1.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7851-DATA.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-7851.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-821PST.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-910.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-9100.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-9100v2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\ic-9700-data.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\ic-9700-dl2alf.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-9700.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-M710.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-R75-chromos.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-R75.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-R8500.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-R9000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\IC-R9500.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\ID-5100A.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\JST-245.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Kenwood.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\NRD-535DG.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\Perseus.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\PowerRX2.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\PowerSDR.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\SmartSDR.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TenTec Eagle.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TenTec Jupiter.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TenTec Omni VII.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TenTec Omni VI_plus.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TenTec Orion.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TenTec Paragon II.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TenTec RX-350.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TH-F6A.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TH-F7E.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TS-2000.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TS-440.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TS-480.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TS-590.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TS-690.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TS-870.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\TS-930.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Rigs\ZS-1.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Rigs\CODAN-Comments.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Rigs\DX-77-Comments.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Rigs\FT-2K_Readme.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Rigs\IC-756 Pro ini comments.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ScoutBase\ScoutBase.CAT\ScoutBase.CAT.csproj">
|
||||
<Project>{c9291203-b5d0-4179-888d-04bc670b158f}</Project>
|
||||
<Name>ScoutBase.CAT</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ScoutBase\ScoutBase.Core\ScoutBase.Core.csproj">
|
||||
<Project>{ee86e933-d883-4b18-80eb-0fba55ec67c6}</Project>
|
||||
<Name>ScoutBase.Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace CATCheck
|
||||
{
|
||||
public class ComboBoxItem<T>
|
||||
{
|
||||
private string Text { get; set; }
|
||||
public T Value { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Text;
|
||||
}
|
||||
|
||||
public ComboBoxItem(string text, T value)
|
||||
{
|
||||
Text = text;
|
||||
Value = value;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,130 @@
|
|||
namespace CATCheck
|
||||
{
|
||||
partial class FrequencyOfToneDlg
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.ud_Tone = new System.Windows.Forms.NumericUpDown();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.tb_Freq = new System.Windows.Forms.TextBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ud_Tone)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// ud_Tone
|
||||
//
|
||||
this.ud_Tone.Location = new System.Drawing.Point(271, 12);
|
||||
this.ud_Tone.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ud_Tone.Name = "ud_Tone";
|
||||
this.ud_Tone.Size = new System.Drawing.Size(81, 20);
|
||||
this.ud_Tone.TabIndex = 0;
|
||||
this.ud_Tone.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ud_Tone.ValueChanged += new System.EventHandler(this.ud_Tone_ValueChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(35, 14);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(35, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Tone:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(358, 14);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(20, 13);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "Hz";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(35, 44);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(96, 13);
|
||||
this.label3.TabIndex = 3;
|
||||
this.label3.Text = "Frequency of tone:";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(358, 44);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(20, 13);
|
||||
this.label4.TabIndex = 4;
|
||||
this.label4.Text = "Hz";
|
||||
//
|
||||
// tb_Freq
|
||||
//
|
||||
this.tb_Freq.Location = new System.Drawing.Point(177, 41);
|
||||
this.tb_Freq.Name = "tb_Freq";
|
||||
this.tb_Freq.ReadOnly = true;
|
||||
this.tb_Freq.Size = new System.Drawing.Size(175, 20);
|
||||
this.tb_Freq.TabIndex = 5;
|
||||
//
|
||||
// FrequencyOfToneDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(390, 90);
|
||||
this.Controls.Add(this.tb_Freq);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.ud_Tone);
|
||||
this.Name = "FrequencyOfToneDlg";
|
||||
this.Text = "Calculate Frequency of Tone";
|
||||
((System.ComponentModel.ISupportInitialize)(this.ud_Tone)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.NumericUpDown ud_Tone;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox tb_Freq;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using ScoutBase.CAT;
|
||||
|
||||
namespace CATCheck
|
||||
{
|
||||
public partial class FrequencyOfToneDlg : Form
|
||||
{
|
||||
Rig Rig = null;
|
||||
|
||||
public FrequencyOfToneDlg(Rig rig)
|
||||
{
|
||||
Rig = rig;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
if ((Rig != null) && Rig.Online)
|
||||
{
|
||||
ud_Tone.Value = Rig.Pitch;
|
||||
}
|
||||
}
|
||||
|
||||
private void ud_Tone_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if ((Rig != null) && Rig.Online)
|
||||
{
|
||||
tb_Freq.Text = Rig.FrequencyOfTone((int)ud_Tone.Value).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
tb_Freq.Text = "Rig not avalibale";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,70 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CATCheck
|
||||
{
|
||||
public static class Helpers
|
||||
{
|
||||
public static string GetEnumDescription(this Enum value)
|
||||
{
|
||||
Type type = value.GetType();
|
||||
string name = Enum.GetName(type, value);
|
||||
if (name != null)
|
||||
{
|
||||
FieldInfo field = type.GetField(name);
|
||||
if (field != null)
|
||||
{
|
||||
DescriptionAttribute attr =
|
||||
Attribute.GetCustomAttribute(field,
|
||||
typeof(DescriptionAttribute)) as DescriptionAttribute;
|
||||
if (attr != null)
|
||||
{
|
||||
return attr.Description;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void BindToEnum<TEnum>(this ComboBox comboBox)
|
||||
{
|
||||
var enumType = typeof(TEnum);
|
||||
|
||||
var fields = enumType.GetMembers()
|
||||
.OfType<FieldInfo>()
|
||||
.Where(p => p.MemberType == MemberTypes.Field)
|
||||
.Where(p => p.IsLiteral)
|
||||
.ToList();
|
||||
|
||||
var valuesByName = new Dictionary<string, object>();
|
||||
|
||||
foreach (var field in fields)
|
||||
{
|
||||
var descriptionAttribute = field.GetCustomAttributes(typeof(DescriptionAttribute), false)[0] as DescriptionAttribute;
|
||||
|
||||
var value = (int)field.GetValue(null);
|
||||
var description = string.Empty;
|
||||
|
||||
if (!string.IsNullOrEmpty(descriptionAttribute?.Description))
|
||||
{
|
||||
description = descriptionAttribute.Description;
|
||||
}
|
||||
else
|
||||
{
|
||||
description = field.Name;
|
||||
}
|
||||
|
||||
valuesByName[description] = value;
|
||||
}
|
||||
|
||||
comboBox.DataSource = valuesByName.ToList();
|
||||
comboBox.DisplayMember = "Key";
|
||||
comboBox.ValueMember = "Value";
|
||||
}
|
||||
}
|
||||
}
|
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,214 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="tt_Set.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="mnu_Main.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>99, 17</value>
|
||||
</metadata>
|
||||
<metadata name="il_MessageStates.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>299, 17</value>
|
||||
</metadata>
|
||||
<data name="il_MessageStates.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACg
|
||||
CwAAAk1TRnQBSQFMAgEBBAEAATABAAEwAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
|
||||
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
|
||||
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
|
||||
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
|
||||
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
|
||||
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
|
||||
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
|
||||
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
|
||||
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
|
||||
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
|
||||
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
|
||||
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
|
||||
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
|
||||
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
|
||||
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
|
||||
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
|
||||
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
|
||||
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
|
||||
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
|
||||
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
|
||||
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
|
||||
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
|
||||
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
|
||||
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
|
||||
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ABQAH/wEL
|
||||
CP8EAAH/AfABtQKRAbUB8gH/BAAB/wGZBSoDAwQqAQMBURAABv8C+Qj/AwAB8wH3AZEBvAH0AfMBBwGR
|
||||
AfcB8wMAAfQBMQE3ATgDNwEwAUoBUgQ3ATgBUgQAAfQBvAFzAUUBRAFuAQcB9AQABP8L+QH/AgAB8wG1
|
||||
AfMB/wL2AvQB9gHvAa4B8wIAAfYBeQFZAV4DOAEiAV8BbQH7AzgBNwFzAwAB8AFvASQDJQEkAQEBRAG8
|
||||
AwAC/wEODPkB/wEAAfQBtQH0Av8BCQGGAYsBuwL2Ae8BkQH/AgABGwFZAl4BOAH7ATABIgExAzgB+wEw
|
||||
ARwCAAEbAUwHJQEkAUQBvAIAAf8B3g35Av8BBwG8A/8B3QGmAYYB8wH/AfMB9AGuAbwCAAH/AXkDXgL7
|
||||
ATcB+wI4AV4BNwEDAf8BAAH0AW8JJQEkAUQB9AEAA/8BAQv5Af8B9AG1BP8B8gKtAv8C9AEHAZEDAAEb
|
||||
AVkB5QFeAfsBNwFEATcCOAH7ATABHAIAARoBRgImAv8CTQL/AiUBAQEHAQAF/wP5CP8B8wG1BP8B8QKt
|
||||
AfQC/wH0AfABkQMAAf8BeQLlAV4BNwFmATcC+wE4ASoB9AIAAZMBRgImAXUE/wF1AiUBJAFuAQAG/wGw
|
||||
AfkB/wFUBv8B8gG1BP8B8QKtAfMC/wH0AfIBkQQAARsBWQGgAV4BWAGiAVgC+wExAXMDAAFvBE0BvQL/
|
||||
AZoBJgMlAUQBAAn/AlQBFwT/AfABtQT/AQkCrQH0Av8B9gHwAZEEAAH/AXkBoAHlAVEBXwFRAvsBAwHz
|
||||
AwABbwHjAXUB4wFNAb0C/wGaASYDJQFFAQAD/wpUA/8B8wG1BP8B8wHxAfMD/wH2AQcBtQUAARsBWQHl
|
||||
AUoBCgETAfsBMQFRBAABkwHjAnUBlAT/AXUBJgIlAXMBAAP/DFQC/wEJAfIE/wK1BP8BrgHzBQAB/wF5
|
||||
AeUBUQEQAVEB+wEDAfIEAAEaAUwBdQGUAv8BlAF1Av8BJgElAUUBvAEAA/8MVAHzAQAB8wEJA/8B8wKt
|
||||
AfQC/wG1Ae8B/wYAARsBWQHlAVgBXgE3AVEFAAH0AXQB4wGUAZoCdQJNAiYBJQFvAfQBAAP/ClQBVQL/
|
||||
AQAB/wHxAQkE/wH0Av8BuwG1Af8HAAH/AVgDXgEDARoGAAEbAW8B4wF1AZQCdQFNASYBJQFMAfACAAn/
|
||||
A1QE/wIAAf8B8gEJAhkB9AHzAbwBuwG8Af8JAAEaAVkB5QE3AVEB/wcAARsBdAFMA+MCTAFvARsDAAn/
|
||||
AVQBlAX/BAAB9AHxA90B8gH0CwAB/wJYAXkBGwkAAfQBGgGTAm8BkwEaAfQEABD/MAABQgFNAT4HAAE+
|
||||
AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4MAAfABDwIAAv8CAAHgAQcCAAHwAQ8CAAHAAQMCAAHg
|
||||
AQcCAAGAAQEBgAEAAcABAwMAAQEBgAEAAYABAQMAAQEBwAEBAYABAQMAAQEBwAEBAYABAQMAAQEB4AED
|
||||
AYABAQMAAQEB4AEDAYABAQMAAQEB8AEHAYABAQMAAQEB8AEHAYABAQIAAYABAQH4AQ8BgAEBAgABgAED
|
||||
AfgBDwHAAQMCAAHAAQcB/AEPAeABBwIAAfABHwH8AR8B8AEPAgAG/ws=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ti_Main.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>208, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7//v7+//7+/v/+/v7//v7+//7+/v/6+Pr/rqPU//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+
|
||||
/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/EvOL/MSnc/yMb3f/+/v7//v7+//7+/v/+/v7//v7+//7+
|
||||
/v/+/v7//v7+//7+/v/+/v7//v7+/+rl7/9kWtn/AwH0/wEA/f8TDeX/g3re/4N73v+De97/g3ve/4N7
|
||||
3v+De97/r6bg//7+/v/+/v7//Pv8/5qR2v8VD+f/AQD9/wIA/f8CAP3/AQD9/wIA/f8CAP3/AgD9/wIA
|
||||
/f8CAP3/AgD9/1ZM3v/+/v7/+PT4/zwyz/8BAP3/AgD9/wIA/f8CAP3/AgD9/wIA/f8CAP3/AgD9/wIA
|
||||
/f8CAP3/AgD9/wIA/f9WTN7//v7+//7+/v/JwuT/Ni7b/wIA/f8CAP3/AgD9/wIA/f8CAP3/AgD9/wIA
|
||||
/f8CAP3/AgD9/wIA/f8CAP3/Vkze//7+/v/+/v7//v7+//z6+/+Wjdn/Ew7n/wIA/f8CAP3/BgLx/yAX
|
||||
3v8gF97/Hxbe/x8W3v8fFd3/HhXd/2xf0v/+/v7//v7+//7+/v/+/v7//v7+/+nk7/9iWNj/AwD0/yMb
|
||||
3f/y9Pr/8PL5//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/8O7
|
||||
4v9YS8f/zN7g/1DDN/+y1MP//f3+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/9Tl4P+w2Lf/sNi3/7DY
|
||||
t/+w2Lf/sNi3/5LGov9E0A7/RNAP/2rCZv/Z5uj//v7+//7+/v/+/v7//v7+//7+/v+RzZb/RNAO/0TQ
|
||||
Dv9E0A7/RNAO/0TQDv9E0A7/RNAO/0TQDv9E0A7/Rcge/5HLmv/z9fv//v7+//7+/v/+/v7/kc2W/0TQ
|
||||
Dv9E0A7/RNAO/0TQDv9E0A7/RNAO/0TQDv9E0A7/RNAO/0TQDv9E0A7/Ur5F/+br9f/+/v7//v7+/5HN
|
||||
lf9E0A7/RNAO/0TQDv9E0A7/RNAO/0TQDv9E0A7/RNAO/0TQDv9E0A7/W8JN/8fd2P/+/v7//v7+//7+
|
||||
/v+x1cD/dcpt/3XKbf92ym3/dspu/3bKbv9ow2L/RNAO/0TQDv9Ixif/n86r//n5/f/+/v7//v7+//7+
|
||||
/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/zd7g/0PNEv94xXj/5Ovx//7+/v/+/v7//v7+//7+
|
||||
/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/+Pq8P/C2tP//v7+//7+/v/+/v7//v7+//7+
|
||||
/v/+/v7/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA
|
||||
rEEAAKxBAACsQQ==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AirScoutDatabaseManager
|
||||
namespace CATCheck
|
||||
{
|
||||
static class Program
|
||||
{
|
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("CATCheck")]
|
||||
[assembly: AssemblyDescription("CAT intreface checker for Windows & LInux/Mono")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("DL2ALF")]
|
||||
[assembly: AssemblyProduct("CATCheck")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2021 DL2ALF")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("0f0b27d0-7957-4ce0-9121-2c89746af136")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -8,7 +8,7 @@
|
|||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace AirScoutDatabaseManager.Properties
|
||||
namespace CATCheck.Properties
|
||||
{
|
||||
|
||||
|
||||
|
@ -44,7 +44,7 @@ namespace AirScoutDatabaseManager.Properties
|
|||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AirScoutDatabaseManager.Properties.Resources", typeof(Resources).Assembly);
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CATCheck.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
|
@ -0,0 +1,61 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace CATCheck.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string RigDefinitionsFolder {
|
||||
get {
|
||||
return ((string)(this["RigDefinitionsFolder"]));
|
||||
}
|
||||
set {
|
||||
this["RigDefinitionsFolder"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public global::ScoutBase.CAT.RigSettings RigSettings {
|
||||
get {
|
||||
return ((global::ScoutBase.CAT.RigSettings)(this["RigSettings"]));
|
||||
}
|
||||
set {
|
||||
this["RigSettings"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("llAll")]
|
||||
public global::ScoutBase.CAT.LOGLEVEL LogVerbosity {
|
||||
get {
|
||||
return ((global::ScoutBase.CAT.LOGLEVEL)(this["LogVerbosity"]));
|
||||
}
|
||||
set {
|
||||
this["LogVerbosity"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="CATCheck.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="RigDefinitionsFolder" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="RigSettings" Type="AirScout.CAT.RigSettings" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="LogVerbosity" Type="AirScout.CAT.LOGLEVEL" Scope="User">
|
||||
<Value Profile="(Default)">llAll</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 1.1 KiB |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 28 KiB |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 2.8 KiB |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 2.8 KiB |
Some files were not shown because too many files have changed in this diff Show More
Ładowanie…
Reference in New Issue