// // Constructor - Internal prevents public creation // of instances. Returned by Telescope.AxisRates. // internal AxisRates(TelescopeAxis Axis, ILogger TL) { m_axis = Axis; logger = TL; AlpacaDeviceBaseClass.LogMessage(TL, 0, "AlpacaClients.AxisRates Init", $"Supplied axis: {Axis}"); // // This collection must hold zero or more Rate objects describing the // rates of motion ranges for the Telescope.MoveAxis() method // that are supported by your driver. It is OK to leave this // array empty, indicating that MoveAxis() is not supported. // // Note that we are constructing a rate array for the axis passed // to the constructor. Thus we switch() below, and each case should // initialize the array for the rate for the selected axis. // switch (m_axis) { case TelescopeAxis.Primary: case TelescopeAxis.Secondary: case TelescopeAxis.Tertiary: m_Rates = new Rate[] { }; break; } pos = -1; AlpacaDeviceBaseClass.LogMessage(TL, 0, "AlpacaClients.AxisRates Init", $"Number of Rates: {m_Rates.Length}"); }
private IRestRequest BuildCanMoveAxisRequest(TelescopeAxis axis) { var parameters = new Dictionary <string, object> { { TelescopeCommandParameters.Axis, ((int)axis).ToString() } }; return(RequestBuilder.BuildRestRequest(TelescopeCommand.CanMoveAxis, Method.GET, parameters, GetClientTransactionId())); }
private IRestRequest BuildMoveAxisRequest(TelescopeAxis axis, double rate) { var parameters = new Dictionary <string, object> { { TelescopeCommandParameters.Axis, ((int)axis).ToString() }, { TelescopeCommandParameters.Rate, rate.ToString(CultureInfo.InvariantCulture) } }; return(RequestBuilder.BuildRestRequest(TelescopeCommand.MoveAxis, Method.PUT, parameters, GetClientTransactionId())); }
public bool CanMoveAxis(TelescopeAxis Axis) { DynamicClientDriver.SetClientTimeout(client, standardDeviceResponseTimeout); Dictionary <string, string> Parameters = new Dictionary <string, string> { { AlpacaConstants.AXIS_PARAMETER_NAME, ((int)Axis).ToString(CultureInfo.InvariantCulture) } }; return(DynamicClientDriver.SendToRemoteDevice <bool>(clientNumber, client, URIBase, strictCasing, TL, "CanMoveAxis", Parameters, Method.GET, MemberTypes.Method)); }
public void MoveAxis(TelescopeAxis Axis, double Rate) { DynamicClientDriver.SetClientTimeout(client, longDeviceResponseTimeout); Dictionary <string, string> Parameters = new Dictionary <string, string> { { AlpacaConstants.AXIS_PARAMETER_NAME, ((int)Axis).ToString(CultureInfo.InvariantCulture) }, { AlpacaConstants.RATE_PARAMETER_NAME, Rate.ToString(CultureInfo.InvariantCulture) } }; DynamicClientDriver.SendToRemoteDevice <NoReturnValue>(clientNumber, client, URIBase, strictCasing, TL, "MoveAxis", Parameters, Method.PUT, MemberTypes.Method); }
/// <inheritdoc/> public async Task MoveAxisAsync(TelescopeAxis axis, double rate) => await ExecuteRequestAsync(BuildMoveAxisRequest, axis, rate);
/// <inheritdoc/> public void MoveAxis(TelescopeAxis axis, double rate) => ExecuteRequest(BuildMoveAxisRequest, axis, rate);
/// <inheritdoc/> public async Task <bool> CanMoveAxisAsync(TelescopeAxis axis) => await ExecuteRequestAsync <bool, BoolResponse, TelescopeAxis>(BuildCanMoveAxisRequest, axis);
/// <inheritdoc/> public bool CanMoveAxis(TelescopeAxis axis) => ExecuteRequest <bool, BoolResponse, TelescopeAxis>(BuildCanMoveAxisRequest, axis);
/// <inheritdoc/> public async Task <IList <AxisRate> > GetAxisRatesAsync(TelescopeAxis axis) => await ExecuteRequestAsync <IList <AxisRate>, AxisRatesResponse, TelescopeAxis>(BuildGetAxisRatesRequest, axis);
/// <inheritdoc/> public IList <AxisRate> GetAxisRates(TelescopeAxis axis) => ExecuteRequest <IList <AxisRate>, AxisRatesResponse, TelescopeAxis>(BuildGetAxisRatesRequest, axis);