Exemple #1
0
        private void TransactEmptyReponse(string command)
        {
            var transaction = new EmptyResponseTransaction(command);

            processor.CommitTransaction(transaction);
            transaction.WaitForCompletionOrTimeout();
        }
Exemple #2
0
        public void SetRelay(ushort id)
        {
            var transaction = new EnergizeRelayTransaction(id);

            transactionProcessor.CommitTransaction(transaction);
            transaction.WaitForCompletionOrTimeout();
        }
Exemple #3
0
        public void InitialTransactions()
        {
            //Command: “:V#”
            //Response: “V1.00#”
            //This command is the first initialization command of iOptron products.
            var VersionTransaction = new ZEQ25Transaction(":V#")
            {
                Timeout = TimeSpan.FromSeconds(2)
            };

            Task.Run(() => transactionProcessor.CommitTransaction(VersionTransaction));
            log.Info("Waiting for Version");
            VersionTransaction.WaitForCompletionOrTimeout();
            log.Info("Version (Response): {0}", VersionTransaction.Response);

            //Command: “:MountInfo#”
            //Response: “8407”,”8497”,”8408” ,”8498”
            //This command gets the mount type. “8407” means iEQ45 EQ mode or iEQ30, “8497” means iEQ45
            //AA mode, “8408” means ZEQ25, “8498” means SmartEQ.
            var MountInfoTransaction = new ZEQ25MountInfoTransaction(":MountInfo#")
            {
                Timeout = TimeSpan.FromSeconds(2)
            };

            Task.Run(() => transactionProcessor.CommitTransaction(MountInfoTransaction));
            log.Info("Waiting for MountInfo");
            MountInfoTransaction.WaitForCompletionOrTimeout();
            log.Info("MountInfo (Response): {0}", MountInfoTransaction.Response);
        }
        public void ClearRelay(ushort id)
        {
            var transaction = new WriteRelayTransaction(id, false);

            transactionProcessor.CommitTransaction(transaction);
            transaction.WaitForCompletionOrTimeout();
            RaiseRelayStateChanged(id, false);
        }
Exemple #5
0
        public void ConfigureShutter(uint maxSpeed, uint rampTime, uint lowVoltsThreshold)
        {
            var speedTransaction =
                new EmptyResponseTransaction(string.Format(Constants.CmdSetMotorSpeedTemplate, 'S', maxSpeed));

            processor.CommitTransaction(speedTransaction);
            var speedTask = speedTransaction.WaitForCompletionOrTimeout();
            var accelerationTransaction =
                new EmptyResponseTransaction(string.Format(Constants.CmdSetRampTimeTemplate, 'S', rampTime));

            processor.CommitTransaction(accelerationTransaction);
            accelerationTransaction.WaitForCompletionOrTimeout();
            if (lowVoltsThreshold > 0)
            {
                var lowVoltsTransaction =
                    new EmptyResponseTransaction(
                        string.Format(Constants.CmdSetLowBatteryVoltsThreshold, lowVoltsThreshold));
                processor.CommitTransaction(lowVoltsTransaction);
                lowVoltsTransaction.WaitForCompletionOrTimeout();
            }
        }