SubFrame4B.java

  1. /* Copyright 2022-2025 Thales Alenia Space
  2.  * Licensed to CS GROUP (CS) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * CS licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *   http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package org.orekit.gnss.rflink.gps;

  18. /**
  19.  * Container for sub-frames 4, pages 10, 14, 15, 17.
  20.  * <p>
  21.  * Table 40-1, sheet 11 in
  22.  * <a href="https://navcen.uscg.gov/sites/default/files/pdf/gps/IS-GPS-200N.pdf">NAVSTAR
  23.  * GPS Space Segment/Navigation User Segment Interface</a>, IS-GPS-200N, 22 Aug 2022
  24.  * </p>
  25.  * @author Luc Maisonobe
  26.  * @since 12.0
  27.  */
  28. public class SubFrame4B extends SubFrame45 {

  29.     /** Index of reserved field in word 3. */
  30.     private static final int RESERVED_3 = 9;

  31.     /** Index of reserved field in word 4. */
  32.     private static final int RESERVED_4 = 10;

  33.     /** Index of reserved field in word 5. */
  34.     private static final int RESERVED_5 = 11;

  35.     /** Index of reserved field in word 6. */
  36.     private static final int RESERVED_6 = 12;

  37.     /** Index of reserved field in word 7. */
  38.     private static final int RESERVED_7 = 13;

  39.     /** Index of reserved field in word 8. */
  40.     private static final int RESERVED_8 = 14;

  41.     /** Index of reserved field in word 9. */
  42.     private static final int RESERVED_9 = 15;

  43.     /** Index of reserved field in word 10. */
  44.     private static final int RESERVED_10 = 16;

  45.     /** Simple constructor.
  46.      * @param words raw words
  47.      */
  48.     SubFrame4B(final int[] words) {

  49.         // create raw container
  50.         super(words, RESERVED_10 + 1);

  51.         // populate container
  52.         setField(RESERVED_3,    3,  6, 16, words);
  53.         setField(RESERVED_4,    4,  6, 24, words);
  54.         setField(RESERVED_5,    5,  6, 24, words);
  55.         setField(RESERVED_6,    6,  6, 24, words);
  56.         setField(RESERVED_7,    7,  6, 24, words);
  57.         setField(RESERVED_8,    8,  6, 24, words);
  58.         setField(RESERVED_9,    9,  6, 24, words);
  59.         setField(RESERVED_10,  10,  8, 22, words);

  60.     }

  61.     /** Get the reserved field in word 3.
  62.      * @return reserved field in word 3
  63.      */
  64.     public int getReserved03() {
  65.         return getField(RESERVED_3);
  66.     }

  67.     /** Get the reserved field in word 4.
  68.      * @return reserved field in word 4
  69.      */
  70.     public int getReserved04() {
  71.         return getField(RESERVED_4);
  72.     }

  73.     /** Get the reserved field in word 5.
  74.      * @return reserved field in word 5
  75.      */
  76.     public int getReserved05() {
  77.         return getField(RESERVED_5);
  78.     }

  79.     /** Get the reserved field in word 6.
  80.      * @return reserved field in word 6
  81.      */
  82.     public int getReserved06() {
  83.         return getField(RESERVED_6);
  84.     }

  85.     /** Get the reserved field in word 7.
  86.      * @return reserved field in word 7
  87.      */
  88.     public int getReserved07() {
  89.         return getField(RESERVED_7);
  90.     }

  91.     /** Get the reserved field in word 8.
  92.      * @return reserved field in word 8
  93.      */
  94.     public int getReserved08() {
  95.         return getField(RESERVED_8);
  96.     }

  97.     /** Get the reserved field in word 9.
  98.      * @return reserved field  in word 9
  99.      */
  100.     public int getReserved09() {
  101.         return getField(RESERVED_9);
  102.     }

  103.     /** Get the reserved field in word 10.
  104.      * @return reserved field in word 10
  105.      */
  106.     public int getReserved10() {
  107.         return getField(RESERVED_10);
  108.     }

  109. }