777adb260a
Develop
* Removed unwanted files
* Adding git ignore file
* Started working on getting the basic communications with the scope working.
Working on routines to get and set the date and time in the handbox.
* Switched the serial port over to using the .net frameworks serial port.
Extracted the serial port into it's own class and created a simpler command processing mechanism.
* Implemented AbortSlew and did some code tidy up.
* Forced all code to 64-bit only, will make this 32/64 bit before release.
Fixed issue in the SerialProcessor when setting the time, makes sure that there's no chance of thread stealing when pulling out the junk messages
Added ConformanceResult.txt to show the progress of the driver development
* Added code for the site latitude
and started work on the longitude.
* Added unit tests for reading and writing the utcDate.
Fixed a couple of defects in the code that was setting the utcDate.
* Corrected Longitude value range
* Added support for UTC offset.
* Pulse guiding support added
* Added SiteLatitude unit tests
* Added unit tests for SiteLongitude
* Added unit tests for the new Pulse guide implementation.
* Added support for AlignmentMode
* Added support for AtPark and Park
* Added support for parking the scope
Added support for reading the scope Azimuth
* Added support for reading Declination
* Added 5 second timeout for the serial port.
Fixed problem with the GW command not working on the Autostar 497.
* Fixed broken unit test
* Added support for altitude
* Tidying up resharper warinings
* Implemented RightAscension
TargetRightAscension
TargetDec
SlewToCoord
and SlewToCoordAsync
* Sorted out the target RA and Dec exceptions to be compliant with ascom.
* Implemented SlewToAltAz and SlewToAltAzAsync
* Implemented SyncToTarget functionality
* Implemented slew to target
* Added support for MoveAxis
* Added support for tracking rate
* Added IFocuserV3 to the driver and made sure that it's registered for ASCOM as a focuser as well.
* Fixed issue with Target RA and Dec loosing precision
* Telescope driver now passes the Ascom conformance.
74 lines
2.4 KiB
C#
74 lines
2.4 KiB
C#
// This implements a console application that can be used to test an ASCOM driver
|
|
//
|
|
|
|
// This is used to define code in the template that is specific to one class implementation
|
|
// unused code can be deleted and this definition removed.
|
|
|
|
#define Telescope
|
|
// remove this to bypass the code that uses the chooser to select the driver
|
|
#define UseChooser
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace ASCOM
|
|
{
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
// Uncomment the code that's required
|
|
#if UseChooser
|
|
// choose the device
|
|
string id = ASCOM.DriverAccess.Telescope.Choose("ASCOM.MeadeAutostar497.Telescope");
|
|
if (string.IsNullOrEmpty(id))
|
|
return;
|
|
// create this device
|
|
ASCOM.DriverAccess.Telescope device = new ASCOM.DriverAccess.Telescope(id);
|
|
#else
|
|
// this can be replaced by this code, it avoids the chooser and creates the driver class directly.
|
|
ASCOM.DriverAccess.Telescope device = new ASCOM.DriverAccess.Telescope("ASCOM.MeadeAutostar497.Telescope");
|
|
#endif
|
|
// now run some tests, adding code to your driver so that the tests will pass.
|
|
// these first tests are common to all drivers.
|
|
Console.WriteLine("name " + device.Name);
|
|
Console.WriteLine("description " + device.Description);
|
|
Console.WriteLine("DriverInfo " + device.DriverInfo);
|
|
Console.WriteLine("driverVersion " + device.DriverVersion);
|
|
|
|
// TODO add more code to test the driver.
|
|
device.Connected = true;
|
|
|
|
//Console.WriteLine(device.Slewing);
|
|
|
|
//device.UTCDate = DateTime.UtcNow;
|
|
//Console.WriteLine(device.UTCDate.ToLocalTime());
|
|
|
|
|
|
//Console.WriteLine(device.AlignmentMode);
|
|
|
|
|
|
|
|
//double l = device.SiteLatitude;
|
|
//device.SiteLatitude = l;
|
|
|
|
//double l = device.SiteLongitude;
|
|
//device.SiteLongitude = l;
|
|
//Console.WriteLine(device.SiteLongitude);
|
|
|
|
//Console.WriteLine(device.RightAscension);
|
|
|
|
//device.SlewToAltAz(0,0);
|
|
|
|
|
|
Console.WriteLine(device.TrackingRate);
|
|
|
|
device.Connected = false;
|
|
Console.WriteLine("Press Enter to finish");
|
|
Console.ReadLine();
|
|
}
|
|
}
|
|
}
|