Class AbstractTimeCorrelationApi<T>

java.lang.Object
org.yamcs.protobuf.AbstractTimeCorrelationApi<T>
All Implemented Interfaces:
Api<T>
Direct Known Subclasses:
TimeCorrelationApi, TimeCorrelationApiClient

@Generated(value="org.yamcs.maven.ServiceGenerator", date="2024-12-10T15:41:02.542411931Z") public abstract class AbstractTimeCorrelationApi<T> extends Object implements Api<T>
 Methods related to the Time Correlation Service.
 
  • Constructor Details

    • AbstractTimeCorrelationApi

      public AbstractTimeCorrelationApi()
  • Method Details

    • getConfig

      public abstract void getConfig(T ctx, GetTcoConfigRequest request, Observer<TcoConfig> observer)
        Get the TCO config
       
        Returns the TCO configuration comprising the accuracy, validity and the fixed delays.
       
    • setConfig

      public abstract void setConfig(T ctx, SetTcoConfigRequest request, Observer<com.google.protobuf.Empty> observer)
        Set the TCO config
       
        Set the TCO configuration. The configuration is not persisted on disk.
       
    • getStatus

      public abstract void getStatus(T ctx, GetTcoStatusRequest request, Observer<TcoStatus> observer)
        Get the TCO status
       
        Returns the TCO status comprising the currently used coefficients, the last computed deviation
        and the last received samples.
       
    • setCoefficients

      public abstract void setCoefficients(T ctx, SetCoefficientsRequest request, Observer<com.google.protobuf.Empty> observer)
        Set the TCO coefficients
       
       Manually set the coefficients to be used for time correlation. These will overwrite 
        the automatic computed coefficients.
       
    • reset

      public abstract void reset(T ctx, TcoResetRequest request, Observer<com.google.protobuf.Empty> observer)
       Reset the time correlation.
       
       The current used TCO coefficients are removed together with all collected samples.
       
    • addTimeOfFlightIntervals

      public abstract void addTimeOfFlightIntervals(T ctx, AddTimeOfFlightIntervalsRequest request, Observer<com.google.protobuf.Empty> 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.
       
       
    • deleteTimeOfFlightIntervals

      public abstract void deleteTimeOfFlightIntervals(T ctx, DeleteTimeOfFlightIntervalsRequest request, Observer<com.google.protobuf.Empty> 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. 
       
    • getDescriptorForType

      public final com.google.protobuf.Descriptors.ServiceDescriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface Api<T>
    • getRequestPrototype

      public final com.google.protobuf.Message getRequestPrototype(com.google.protobuf.Descriptors.MethodDescriptor method)
      Specified by:
      getRequestPrototype in interface Api<T>
    • getResponsePrototype

      public final com.google.protobuf.Message getResponsePrototype(com.google.protobuf.Descriptors.MethodDescriptor method)
      Specified by:
      getResponsePrototype in interface Api<T>
    • callMethod

      public final void callMethod(com.google.protobuf.Descriptors.MethodDescriptor method, T ctx, com.google.protobuf.Message request, Observer<com.google.protobuf.Message> future)
      Specified by:
      callMethod in interface Api<T>
    • callMethod

      public final Observer<com.google.protobuf.Message> callMethod(com.google.protobuf.Descriptors.MethodDescriptor method, T ctx, Observer<com.google.protobuf.Message> future)
      Specified by:
      callMethod in interface Api<T>