private void TransactEmptyReponse(string command) { var transaction = new EmptyResponseTransaction(command); processor.CommitTransaction(transaction); transaction.WaitForCompletionOrTimeout(); }
public void SetRelay(ushort id) { var transaction = new EnergizeRelayTransaction(id); transactionProcessor.CommitTransaction(transaction); transaction.WaitForCompletionOrTimeout(); }
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); }
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(); } }