// 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.Threading; using ASCOM.DriverAccess; namespace ASCOM.MeadeGeneric { public static class Program { public static void Main() { // Uncomment the code that's required #if UseChooser // choose the device string id = Focuser.Choose("ASCOM.MeadeGeneric.Focuser"); if (string.IsNullOrEmpty(id)) return; // create this device Focuser device = new Focuser(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.MeadeGeneric.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; device.Move(2000); Thread.Sleep(2000); device.Move(-2000); device.Connected = false; Console.WriteLine("Press Enter to finish"); Console.ReadLine(); } } }