Commit 645f5d00 authored by Bryan Cazabonne's avatar Bryan Cazabonne
Browse files

Added RTCM orbit and clock messages for GPS, GLONASS, and Galileo.

parent 54b4e321
Pipeline #2161 passed with stages
in 15 minutes and 22 seconds
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.ephemeris.utils;
package org.orekit.gnss.metric.messages.common;
/**
* This interface represents an accuracy providerused to validate RTCM ephemeris messages.
......
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.ssr.igm;
package org.orekit.gnss.metric.messages.common;
/**
* Container for SSR clock correction data.
......
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.ssr.igm;
package org.orekit.gnss.metric.messages.common;
/**
* Container for code bias data.
......
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.ephemeris.utils;
package org.orekit.gnss.metric.messages.common;
/** Enumerate for GLONASS User Range Accuracy.
* @see "ICD L1, L2 GLONASS, Edition 5.1, Table 4.4, 2008"
......
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.ssr.igm;
package org.orekit.gnss.metric.messages.common;
/**
* Container for SSR orbit correction data.
......
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.ssr.igm;
package org.orekit.gnss.metric.messages.common;
/**
......
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.ephemeris.utils;
package org.orekit.gnss.metric.messages.common;
/** Signal-In-Space Accuracy (SISA).
* @see "Galileo OS Signal-In-Space Interface Control Document, Issue 1.3, December 2016, Table 76"
......
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.common;
/** SSR Update interval.
* <p>
* Using the indicator parsed in the RTCM message, this
* class provides the SSR update interval in seconds.
* </p>
* @author Bryan Cazabonne
* @since 12.0
*/
public class SsrUpdateInterval {
/** SSR update interval indicator. */
private final int indicator;
/**
* Constructor.
* @param indicator indicator read in the RTCM message
*/
public SsrUpdateInterval(final int indicator) {
this.indicator = indicator;
}
/**
* Get the update interval.
* @return the update interval in seconds
*/
public double getUpdateInterval() {
switch (indicator) {
case 0 : return 1.0;
case 1 : return 2.0;
case 2 : return 5.0;
case 3 : return 10.0;
case 4 : return 15.0;
case 5 : return 30.0;
case 6 : return 60.0;
case 7 : return 120.0;
case 8 : return 240.0;
case 9 : return 300.0;
case 10 : return 600.0;
case 11 : return 900.0;
case 12 : return 1800.0;
case 13 : return 3600.0;
case 14 : return 7200.0;
default : return 10800.0;
}
}
}
......@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.ephemeris.utils;
package org.orekit.gnss.metric.messages.common;
import org.hipparchus.util.FastMath;
......
......@@ -21,4 +21,4 @@
* @author Bryan Cazabonne
* @since 11.0
*/
package org.orekit.gnss.metric.messages.rtcm.ephemeris.utils;
package org.orekit.gnss.metric.messages.common;
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1057 message: GPS Orbit Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1057 extends RtcmCorrectionMessage<RtcmOrbitCorrectionHeader, RtcmOrbitCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1057(final int typeCode, final RtcmOrbitCorrectionHeader header,
final List<RtcmOrbitCorrectionData> data) {
super(typeCode, SatelliteSystem.GPS, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1057 message: GPS Clock Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1058 extends RtcmCorrectionMessage<RtcmCorrectionHeader, RtcmClockCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1058(final int typeCode, final RtcmCorrectionHeader header,
final List<RtcmClockCorrectionData> data) {
super(typeCode, SatelliteSystem.GPS, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1060 message: GPS Combined Orbit and Clock Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1060 extends RtcmCorrectionMessage<RtcmOrbitCorrectionHeader, RtcmCombinedCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1060(final int typeCode, final RtcmOrbitCorrectionHeader header,
final List<RtcmCombinedCorrectionData> data) {
super(typeCode, SatelliteSystem.GPS, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1063 message: GLONASS Orbit Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1063 extends RtcmCorrectionMessage<RtcmOrbitCorrectionHeader, RtcmOrbitCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1063(final int typeCode, final RtcmOrbitCorrectionHeader header,
final List<RtcmOrbitCorrectionData> data) {
super(typeCode, SatelliteSystem.GLONASS, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1064 message: GLONASS Clock Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1064 extends RtcmCorrectionMessage<RtcmCorrectionHeader, RtcmClockCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1064(final int typeCode, final RtcmCorrectionHeader header,
final List<RtcmClockCorrectionData> data) {
super(typeCode, SatelliteSystem.GLONASS, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1066 message: GLONASS Combined Orbit and Clock Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1066 extends RtcmCorrectionMessage<RtcmOrbitCorrectionHeader, RtcmCombinedCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1066(final int typeCode, final RtcmOrbitCorrectionHeader header,
final List<RtcmCombinedCorrectionData> data) {
super(typeCode, SatelliteSystem.GLONASS, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1240 message: Galileo Orbit Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1240 extends RtcmCorrectionMessage<RtcmOrbitCorrectionHeader, RtcmOrbitCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1240(final int typeCode, final RtcmOrbitCorrectionHeader header,
final List<RtcmOrbitCorrectionData> data) {
super(typeCode, SatelliteSystem.GALILEO, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1241 message: Galileo Clock Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1241 extends RtcmCorrectionMessage<RtcmCorrectionHeader, RtcmClockCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1241(final int typeCode, final RtcmCorrectionHeader header,
final List<RtcmClockCorrectionData> data) {
super(typeCode, SatelliteSystem.GALILEO, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import java.util.List;
import org.orekit.gnss.SatelliteSystem;
/**
* RTCM 1242 message: Combined Galileo Clock Correction Message.
* @author Bryan Cazabonne
* @since 12.0
*/
public class Rtcm1243 extends RtcmCorrectionMessage<RtcmOrbitCorrectionHeader, RtcmCombinedCorrectionData> {
/**
* Constructor.
* @param typeCode message number
* @param header message header
* @param data message data
*/
public Rtcm1243(final int typeCode, final RtcmOrbitCorrectionHeader header,
final List<RtcmCombinedCorrectionData> data) {
super(typeCode, SatelliteSystem.GALILEO, header, data);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.rtcm.correction;
import org.orekit.gnss.metric.messages.common.ClockCorrection;
/**
* Container for common data in RTCM clock correction message type.
* @author Bryan Cazabonne
* @since 12.0
*/
public class RtcmClockCorrectionData extends RtcmCorrectionData {
/** Container for clock correction data. */
private ClockCorrection clockCorrection;
/** Constructor. */
public RtcmClockCorrectionData() {
// Nothing to do ...
}
/**
* Get the clock correction data.
* @return the clock correction data
*/
public ClockCorrection getClockCorrection() {
return clockCorrection;
}
/**
* Set the clock correction data.
* @param clockCorrection the data to set
*/