All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yamcs.protobuf.TimeCorrelationApiClient Maven / Gradle / Ivy

There is a newer version: 5.10.9
Show newest version
package org.yamcs.protobuf;

import com.google.protobuf.Empty;
import org.yamcs.api.MethodHandler;
import org.yamcs.api.Observer;

/**
 * 
 * Methods related to the Time Correlation Service.
 * 
*/ @javax.annotation.processing.Generated(value = "org.yamcs.maven.ServiceGenerator", date = "2025-02-13T11:12:59.910669889Z") public class TimeCorrelationApiClient extends AbstractTimeCorrelationApi { private final MethodHandler handler; public TimeCorrelationApiClient(MethodHandler handler) { this.handler = handler; } /** *
     *  Get the TCO config
     * 
     *  Returns the TCO configuration comprising the accuracy, validity and the fixed delays.
     * 
*/ @Override public final void getConfig(Void ctx, GetTcoConfigRequest request, Observer observer) { handler.call( getDescriptorForType().getMethods().get(0), request, TcoConfig.getDefaultInstance(), observer); } /** *
     *  Set the TCO config
     * 
     *  Set the TCO configuration. The configuration is not persisted on disk.
     * 
*/ @Override public final void setConfig(Void ctx, SetTcoConfigRequest request, Observer observer) { handler.call( getDescriptorForType().getMethods().get(1), request, Empty.getDefaultInstance(), observer); } /** *
     *  Get the TCO status
     * 
     *  Returns the TCO status comprising the currently used coefficients, the last computed deviation
     *  and the last received samples.
     * 
*/ @Override public final void getStatus(Void ctx, GetTcoStatusRequest request, Observer observer) { handler.call( getDescriptorForType().getMethods().get(2), request, TcoStatus.getDefaultInstance(), observer); } /** *
     *  Set the TCO coefficients
     * 
     * Manually set the coefficients to be used for time correlation. These will overwrite 
     *  the automatic computed coefficients.
     * 
*/ @Override public final void setCoefficients(Void ctx, SetCoefficientsRequest request, Observer observer) { handler.call( getDescriptorForType().getMethods().get(3), request, Empty.getDefaultInstance(), observer); } /** *
     * Reset the time correlation.
     * 
     * The current used TCO coefficients are removed together with all collected samples.
     * 
*/ @Override public final void reset(Void ctx, TcoResetRequest request, Observer observer) { handler.call( getDescriptorForType().getMethods().get(4), request, Empty.getDefaultInstance(), observer); } /** *
     *  Add intervals for the time of flight calculation.
     * 
     *  Each ``[ertStart, ertStop)`` interval contains a polynomial function used to compute the time of flight for the given ``ert``.
     *  The intervals can overlap and are sorted in descending order of the start time.
     *  The first (highest start time) interval where the requested ert fits, will be used for the calculation. 
     *  
     *  The formula used for calculating the time of flight for a frame/packet received
     *  at ``ert`` in the ``[ertStart, ertStop)`` interval is:
     *  
     *      ``delta = ert - ertStart``
     * 
     *      ``tof = polCoef[0] + polCoef[1] * delta + polCoef[2] * delta^2 + ...``
     *  
     *  The result of the polynomial is the ``tof`` expressed in seconds.
     * 
     * 
*/ @Override public final void addTimeOfFlightIntervals(Void ctx, AddTimeOfFlightIntervalsRequest request, Observer observer) { handler.call( getDescriptorForType().getMethods().get(5), request, Empty.getDefaultInstance(), observer); } /** *
     *  Delete intervals for the time of flight calculation.
     * 
     *  All the intervals with the start time
     *  falling in the requested [start, stop] interval will be removed. 
     * 
*/ @Override public final void deleteTimeOfFlightIntervals(Void ctx, DeleteTimeOfFlightIntervalsRequest request, Observer observer) { handler.call( getDescriptorForType().getMethods().get(6), request, Empty.getDefaultInstance(), observer); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy