package com.imdroid.sideslope.calc;

import com.imdroid.secapi.dto.GnssGroupCalc;
import com.imdroid.sideslope.message.D341LocationMessage;
import com.imdroid.sideslope.sal.Device;

import java.time.LocalDateTime;

public interface GNSSDataCalcService {
    /**
     * 计算单条GNSS数据
     *
     * @param message GNSS数据
     * @param completeWhenIdle 是否根据空闲时间判断本轮结束
     * @return x,y,z三轴数据
     */
    double[] calcSingle(D341LocationMessage message, boolean completeWhenIdle);

    /**
     * 单轮解算结束，计算平滑值
     */
    void calSingleDone(Device device, GnssGroupCalc groupCalc, LocalDateTime resultTime);

}
