Exemplo n.º 1
0
        internal void Add(double Minium, double Maximum, TraceLoggerPlus TL)
        {
            TL.LogMessage("AxisRates.Add", "Before m_Rates.Length: " + m_Rates.Length);
            Rate r = new Rate(Minium, Maximum);                 // Create a new rate to add to the new array

            Rate[] NewRateArray = new Rate[m_Rates.Length + 1]; // Create a new Rate array to replace the current one
            TL.LogMessage("AxisRates.Add", "NewRateArray.Length: " + NewRateArray.Length);
            Array.Copy(m_Rates, NewRateArray, m_Rates.Length);  // Copy the current contents of the m_Rated array to the new array
            NewRateArray[m_Rates.Length] = r;                   // Add the new rate the new Rates array.
            m_Rates = NewRateArray;                             // Make m_Rates point at the new larger array
            TL.LogMessage("AxisRates.Add", "After m_Rates.Length: " + m_Rates.Length);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SafetyMonitorBaseClass"/> class.
        /// Must be public for COM registration.
        /// </summary>
        public SafetyMonitorBaseClass(string RequiredDriverNumber, string RequiredDriverDisplayName, string RequiredProgId)
        {
            try
            {
                // Initialise variables unique to this particular driver with values passed from the calling class
                DriverNumber      = RequiredDriverNumber;
                DriverDisplayName = RequiredDriverDisplayName; // Driver description that displays in the ASCOM Chooser.
                DriverProgId      = RequiredProgId;

                if (TL == null)
                {
                    TL = new TraceLoggerPlus("", string.Format(SharedConstants.TRACELOGGER_NAME_FORMAT_STRING, DriverNumber, DEVICE_TYPE));
                }
                DynamicClientDriver.ReadProfile(clientNumber, TL, DEVICE_TYPE, DriverProgId,
                                                ref traceState, ref debugTraceState, ref ipAddressString, ref portNumber, ref remoteDeviceNumber, ref serviceType, ref establishConnectionTimeout, ref standardDeviceResponseTimeout,
                                                ref longDeviceResponseTimeout, ref userName, ref password, ref manageConnectLocally, ref imageArrayTransferType, ref imageArrayCompression, ref uniqueId, ref enableRediscovery, ref ipV4Enabled, ref ipV6Enabled, ref discoveryPort);

                TL.LogMessage(clientNumber, DEVICE_TYPE, string.Format("Trace state: {0}, Debug Trace State: {1}, TraceLogger Debug State: {2}", traceState, debugTraceState, TL.DebugTraceState));
                Version version = Assembly.GetEntryAssembly().GetName().Version;
                TL.LogMessage(clientNumber, DEVICE_TYPE, "Starting initialisation, Version: " + version.ToString());

                clientNumber = DynamicClientDriver.GetUniqueClientNumber();
                TL.LogMessage(clientNumber, DEVICE_TYPE, "This instance's unique client number: " + clientNumber);

                DynamicClientDriver.ConnectToRemoteDevice(ref client, ipAddressString, portNumber, establishConnectionTimeout, serviceType, TL, clientNumber, DriverProgId, DEVICE_TYPE,
                                                          standardDeviceResponseTimeout, userName, password, uniqueId, enableRediscovery, ipV4Enabled, ipV6Enabled, discoveryPort);

                URIBase = string.Format("{0}{1}/{2}/{3}/", SharedConstants.API_URL_BASE, SharedConstants.API_VERSION_V1, DEVICE_TYPE, remoteDeviceNumber.ToString());
                TL.LogMessage(clientNumber, DEVICE_TYPE, "This devices's base URI: " + URIBase);
                TL.LogMessage(clientNumber, DEVICE_TYPE, "Establish communications timeout: " + establishConnectionTimeout.ToString());
                TL.LogMessage(clientNumber, DEVICE_TYPE, "Standard device response timeout: " + standardDeviceResponseTimeout.ToString());
                TL.LogMessage(clientNumber, DEVICE_TYPE, "Long device response timeout: " + longDeviceResponseTimeout.ToString());
                TL.LogMessage(clientNumber, DEVICE_TYPE, "User name: " + userName);
                TL.LogMessage(clientNumber, DEVICE_TYPE, string.Format("Password is Null or Empty: {0}, Password is Null or White Space: {1}", string.IsNullOrEmpty(password), string.IsNullOrWhiteSpace(password)));
                TL.LogMessage(clientNumber, DEVICE_TYPE, string.Format("Password length: {0}", password.Length));

                TL.LogMessage(clientNumber, DEVICE_TYPE, "Completed initialisation");
            }
            catch (Exception ex)
            {
                TL.LogMessageCrLf(clientNumber, DEVICE_TYPE, ex.ToString());
            }
        }
Exemplo n.º 3
0
        private void SetupDialogForm_Load(object sender, EventArgs e)
        {
            try
            {
                TL.LogMessage("SetupForm Load", "Start");

                Version version = Assembly.GetExecutingAssembly().GetName().Version;
                this.Text = $"{DriverDisplayName} Configuration - Version {version} - {DeviceType}";

                // Initialise controls
                cmbServiceType.Text                     = ServiceType;
                numPort.Value                           = PortNumber;
                numRemoteDeviceNumber.Value             = RemoteDeviceNumber;
                numEstablishCommunicationsTimeout.Value = Convert.ToDecimal(EstablishConnectionTimeout);
                numStandardTimeout.Value                = Convert.ToDecimal(StandardTimeout);
                numLongTimeout.Value                    = Convert.ToDecimal(LongTimeout);
                txtUserName.Text                        = UserName.Unencrypt(TL);
                txtPassword.Text                        = Password.Unencrypt(TL);
                chkTrace.Checked                        = TraceState;
                chkDebugTrace.Checked                   = DebugTraceState;
                ChkEnableRediscovery.Checked            = EnableRediscovery;
                NumDiscoveryPort.Value                  = Convert.ToDecimal(DiscoveryPort);

                // Set the IP v4 / v6 radio boxes
                if (IpV4Enabled & IpV6Enabled) // Both IPv4 and v6 are enabled so set the "both" button
                {
                    RadIpV4AndV6.Checked = true;
                }
                else // Only one of v4 or v6 is enabled so set accordingly
                {
                    RadIpV4.Checked = IpV4Enabled;
                    RadIpV6.Checked = IpV6Enabled;
                }

                // Populate the address list combo box
                PopulateAddressList();

                if (ManageConnectLocally)
                {
                    radManageConnectLocally.Checked = true;
                }
                else
                {
                    radManageConnectRemotely.Checked = true;
                }

                CmbImageArrayTransferType.Items.Add(SharedConstants.ImageArrayTransferType.JSON);
                CmbImageArrayTransferType.Items.Add(SharedConstants.ImageArrayTransferType.Base64HandOff);
                CmbImageArrayTransferType.SelectedItem = ImageArrayTransferType;

                cmbImageArrayCompression.Items.Add(SharedConstants.ImageArrayCompression.None);
                cmbImageArrayCompression.Items.Add(SharedConstants.ImageArrayCompression.Deflate);
                cmbImageArrayCompression.Items.Add(SharedConstants.ImageArrayCompression.GZip);
                cmbImageArrayCompression.Items.Add(SharedConstants.ImageArrayCompression.GZipOrDeflate);
                cmbImageArrayCompression.SelectedItem = ImageArrayCompression;

                // Make the ImageArray transfer configuration drop-downs visible only when a camera driver is being accessed.
                if (DeviceType == "Camera")
                {
                    cmbImageArrayCompression.Visible    = true;
                    CmbImageArrayTransferType.Visible   = true;
                    LabImageArrayConfiguration1.Visible = true;
                    LabImageArrayConfiguration2.Visible = true;
                }
                else
                {
                    cmbImageArrayCompression.Visible    = false;
                    CmbImageArrayTransferType.Visible   = false;
                    LabImageArrayConfiguration1.Visible = false;
                    LabImageArrayConfiguration2.Visible = false;
                }

                // Handle cases where the stored registry value is not one of the currently supported modes
                if (CmbImageArrayTransferType.SelectedItem == null)
                {
                    CmbImageArrayTransferType.SelectedItem = SharedConstants.IMAGE_ARRAY_TRANSFER_TYPE_DEFAULT;
                }
                if (cmbImageArrayCompression.SelectedItem == null)
                {
                    cmbImageArrayCompression.SelectedItem = SharedConstants.IMAGE_ARRAY_COMPRESSION_DEFAULT;
                }

                // Bring this form to the front of the screen
                this.WindowState = FormWindowState.Minimized;
                this.Show();
                this.WindowState = FormWindowState.Normal;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception initialising Dynamic Driver: " + ex.ToString());
            }
        }