imap-processing 0.16.2__py3-none-any.whl → 0.17.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of imap-processing might be problematic. Click here for more details.

Files changed (45) hide show
  1. imap_processing/_version.py +2 -2
  2. imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +24 -0
  3. imap_processing/cdf/config/imap_codice_l1b_variable_attrs.yaml +24 -0
  4. imap_processing/cdf/config/imap_hi_variable_attrs.yaml +8 -8
  5. imap_processing/cdf/config/imap_hit_global_cdf_attrs.yaml +1 -1
  6. imap_processing/cdf/config/imap_hit_l2_variable_attrs.yaml +394 -411
  7. imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +9 -9
  8. imap_processing/cdf/config/imap_idex_l2b_variable_attrs.yaml +150 -57
  9. imap_processing/cdf/config/imap_swapi_variable_attrs.yaml +19 -0
  10. imap_processing/cdf/config/imap_swe_l1b_variable_attrs.yaml +20 -0
  11. imap_processing/cdf/config/imap_swe_l2_variable_attrs.yaml +39 -0
  12. imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +108 -0
  13. imap_processing/cdf/config/imap_ultra_l1a_variable_attrs.yaml +103 -2
  14. imap_processing/cdf/utils.py +7 -1
  15. imap_processing/cli.py +14 -8
  16. imap_processing/codice/codice_l1a.py +89 -30
  17. imap_processing/hi/hi_l1a.py +4 -4
  18. imap_processing/hi/hi_l1b.py +2 -2
  19. imap_processing/hi/packet_definitions/TLM_HI_COMBINED_SCI.xml +218 -38
  20. imap_processing/hit/hit_utils.py +2 -2
  21. imap_processing/hit/l0/decom_hit.py +2 -1
  22. imap_processing/hit/l2/hit_l2.py +2 -1
  23. imap_processing/idex/idex_constants.py +7 -0
  24. imap_processing/idex/idex_l2b.py +372 -55
  25. imap_processing/lo/l0/lo_star_sensor.py +48 -0
  26. imap_processing/lo/l1a/lo_l1a.py +32 -32
  27. imap_processing/mag/l0/decom_mag.py +9 -6
  28. imap_processing/mag/l0/mag_l0_data.py +46 -0
  29. imap_processing/swapi/l1/swapi_l1.py +12 -2
  30. imap_processing/swapi/l2/swapi_l2.py +7 -6
  31. imap_processing/swe/l1b/swe_l1b.py +9 -0
  32. imap_processing/swe/l2/swe_l2.py +111 -17
  33. imap_processing/ultra/l0/decom_tools.py +13 -6
  34. imap_processing/ultra/l0/decom_ultra.py +190 -4
  35. imap_processing/ultra/l0/ultra_utils.py +184 -3
  36. imap_processing/ultra/l1a/ultra_l1a.py +52 -4
  37. imap_processing/ultra/packet_definitions/ULTRA_SCI_COMBINED.xml +3 -3
  38. imap_processing/utils.py +20 -42
  39. {imap_processing-0.16.2.dist-info → imap_processing-0.17.0.dist-info}/METADATA +1 -1
  40. {imap_processing-0.16.2.dist-info → imap_processing-0.17.0.dist-info}/RECORD +43 -44
  41. imap_processing/lo/l0/data_classes/star_sensor.py +0 -98
  42. imap_processing/lo/l0/utils/lo_base.py +0 -57
  43. {imap_processing-0.16.2.dist-info → imap_processing-0.17.0.dist-info}/LICENSE +0 -0
  44. {imap_processing-0.16.2.dist-info → imap_processing-0.17.0.dist-info}/WHEEL +0 -0
  45. {imap_processing-0.16.2.dist-info → imap_processing-0.17.0.dist-info}/entry_points.txt +0 -0
imap_processing/cli.py CHANGED
@@ -896,27 +896,26 @@ class Idex(ProcessInstrument):
896
896
  dependency = load_cdf(science_files[0])
897
897
  datasets = [idex_l2a(dependency)]
898
898
  elif self.data_level == "l2b":
899
- if len(dependency_list) != 3:
899
+ if len(dependency_list) < 3 or len(dependency_list) > 4:
900
900
  raise ValueError(
901
901
  f"Unexpected dependencies found for IDEX L2B:"
902
- f"{dependency_list}. Expected only three dependencies."
902
+ f"{dependency_list}. Expected three or four dependencies."
903
903
  )
904
904
  sci_files = dependencies.get_file_paths(
905
905
  source="idex", descriptor="sci-1week"
906
906
  )
907
- dependency = load_cdf(sci_files[0])
907
+ sci_dependencies = [load_cdf(f) for f in sci_files]
908
908
  hk_files = dependencies.get_file_paths(source="idex", descriptor="evt")
909
- hk_dependencies = [load_cdf(dep) for dep in hk_files]
910
- datasets = [idex_l2b(dependency, hk_dependencies)]
909
+ # Remove duplicate housekeeping files
910
+ hk_dependencies = [load_cdf(dep) for dep in list(set(hk_files))]
911
+ datasets = [idex_l2b(sci_dependencies, hk_dependencies)]
911
912
  elif self.data_level == "l2c":
912
913
  if len(dependency_list) != 1:
913
914
  raise ValueError(
914
915
  f"Unexpected dependencies found for IDEX L2C:"
915
916
  f"{dependency_list}. Expected only one dependency."
916
917
  )
917
- sci_files = dependencies.get_file_paths(
918
- source="idex", descriptor="sci-1week"
919
- )
918
+ sci_files = dependencies.get_file_paths(source="idex", descriptor="sci-1mo")
920
919
  dependency = load_cdf(sci_files[0])
921
920
  datasets = idex_l2c(dependency)
922
921
  return datasets
@@ -1122,6 +1121,13 @@ class Mag(ProcessInstrument):
1122
1121
  mode=DataMode(descriptor_no_frame.upper()),
1123
1122
  )
1124
1123
 
1124
+ for ds in datasets:
1125
+ if "raw" not in ds.attrs["Logical_source"] and not np.all(
1126
+ ds["epoch"].values[1:] > ds["epoch"].values[:-1]
1127
+ ):
1128
+ raise ValueError(
1129
+ "Timestamps for output file are not monotonically increasing."
1130
+ )
1125
1131
  return datasets
1126
1132
 
1127
1133
 
@@ -54,8 +54,6 @@ class CoDICEL1aPipeline:
54
54
 
55
55
  Methods
56
56
  -------
57
- calculate_epoch_values()
58
- Calculate and return the values to be used for `epoch`.
59
57
  decompress_data(science_values)
60
58
  Perform decompression on the data.
61
59
  define_coordinates()
@@ -89,28 +87,6 @@ class CoDICEL1aPipeline:
89
87
  self.plan_step = plan_step
90
88
  self.view_id = view_id
91
89
 
92
- def calculate_epoch_values(self) -> NDArray[int]:
93
- """
94
- Calculate and return the values to be used for `epoch`.
95
-
96
- On CoDICE, the epoch values are derived from the `acq_start_seconds` and
97
- `acq_start_subseconds` fields in the packet.
98
-
99
- Note that the `acq_start_subseconds` field needs to be converted from
100
- microseconds to seconds.
101
-
102
- Returns
103
- -------
104
- epoch : NDArray[int]
105
- List of epoch values.
106
- """
107
- epoch = met_to_ttj2000ns(
108
- self.dataset["acq_start_seconds"]
109
- + self.dataset["acq_start_subseconds"] / 1e6
110
- )
111
-
112
- return epoch
113
-
114
90
  def decompress_data(self, science_values: list[NDArray[str]] | list[str]) -> None:
115
91
  """
116
92
  Perform decompression on the data.
@@ -167,17 +143,30 @@ class CoDICEL1aPipeline:
167
143
  self.coords = {}
168
144
 
169
145
  coord_names = [
170
- "epoch",
171
146
  *self.config["output_dims"].keys(),
172
147
  *[key + "_label" for key in self.config["output_dims"].keys()],
173
148
  ]
174
149
 
150
+ # Define epoch coordinates
151
+ epochs, epoch_delta_minus, epoch_delta_plus = calculate_epoch_values(
152
+ self.dataset.acq_start_seconds, self.dataset.acq_start_subseconds
153
+ )
154
+ for name, var in [
155
+ ("epoch", epochs),
156
+ ("epoch_delta_minus", epoch_delta_minus),
157
+ ("epoch_delta_plus", epoch_delta_plus),
158
+ ]:
159
+ coord = xr.DataArray(
160
+ var,
161
+ name=name,
162
+ dims=[name],
163
+ attrs=self.cdf_attrs.get_variable_attributes(name, check_schema=False),
164
+ )
165
+ self.coords[name] = coord
166
+
175
167
  # Define the values for the coordinates
176
168
  for name in coord_names:
177
- if name == "epoch":
178
- values = self.calculate_epoch_values()
179
- dims = [name]
180
- elif name in [
169
+ if name in [
181
170
  "esa_step",
182
171
  "inst_az",
183
172
  "spin_sector",
@@ -674,6 +663,54 @@ class CoDICEL1aPipeline:
674
663
  self.cdf_attrs.add_instrument_variable_attrs("codice", "l1a")
675
664
 
676
665
 
666
+ def calculate_epoch_values(
667
+ acq_start_seconds: xr.DataArray, acq_start_subseconds: xr.DataArray
668
+ ) -> tuple[NDArray[int], NDArray[int], NDArray[int]]:
669
+ """
670
+ Calculate and return the values to be used for `epoch`.
671
+
672
+ On CoDICE, the epoch values are derived from the `acq_start_seconds` and
673
+ `acq_start_subseconds` fields in the packet.
674
+
675
+ Note that the `acq_start_subseconds` field needs to be converted from
676
+ microseconds to seconds.
677
+
678
+ Parameters
679
+ ----------
680
+ acq_start_seconds : xarray.DataArray
681
+ The acquisition times to calculate the epoch values from.
682
+ acq_start_subseconds : xarray.DataArray
683
+ The subseconds portion of the acquisition times.
684
+
685
+ Returns
686
+ -------
687
+ epoch : NDArray[int]
688
+ List of centered epoch values.
689
+ epoch_delta_minus: NDArray[int]
690
+ List of values that represent the length of time from acquisition
691
+ start to the center of the acquisition time bin.
692
+ epoch_delta_plus: NDArray[int]
693
+ List of values that represent the length of time from the center of
694
+ the acquisition time bin to the end of acquisition.
695
+ """
696
+ # First calculate an epoch value based on the acquisition start
697
+ acq_start = met_to_ttj2000ns(acq_start_seconds + acq_start_subseconds / 1e6)
698
+
699
+ # Apply correction to center the epoch bin
700
+ epoch = (acq_start[:-1] + acq_start[1:]) // 2
701
+ epoch_delta_minus = epoch - acq_start[:-1]
702
+ epoch_delta_plus = acq_start[1:] - epoch
703
+
704
+ # Since the centers and deltas are determined by averaging sequential bins,
705
+ # the last elements must be calculated differently. For this, we just use
706
+ # the last acquisition start and the previous deltas
707
+ epoch = np.concatenate([epoch, [acq_start[-1]]])
708
+ epoch_delta_minus = np.concatenate([epoch_delta_minus, [epoch_delta_minus[-1]]])
709
+ epoch_delta_plus = np.concatenate([epoch_delta_plus, [epoch_delta_plus[-1]]])
710
+
711
+ return epoch, epoch_delta_minus, epoch_delta_plus
712
+
713
+
677
714
  def group_ialirt_data(
678
715
  packets: xr.Dataset, data_field_range: range, prefix: str
679
716
  ) -> list[bytearray]:
@@ -777,6 +814,8 @@ def create_binned_dataset(
777
814
  dims=["epoch"],
778
815
  attrs=pipeline.cdf_attrs.get_variable_attributes("epoch", check_schema=False),
779
816
  )
817
+ # TODO: Figure out how to calculate epoch centers and deltas and store them
818
+ # in variables here
780
819
  dataset = xr.Dataset(
781
820
  coords={"epoch": coord},
782
821
  attrs=pipeline.cdf_attrs.get_global_attributes(pipeline.config["dataset_name"]),
@@ -869,7 +908,11 @@ def create_direct_event_dataset(apid: int, packets: xr.Dataset) -> xr.Dataset:
869
908
  )[0]
870
909
  acq_start_seconds = packets.acq_start_seconds[epoch_indices]
871
910
  acq_start_subseconds = packets.acq_start_subseconds[epoch_indices]
872
- epochs = met_to_ttj2000ns(acq_start_seconds + acq_start_subseconds / 1e6)
911
+
912
+ # Calculate epoch variables
913
+ epochs, epochs_delta_minus, epochs_delta_plus = calculate_epoch_values(
914
+ acq_start_seconds, acq_start_subseconds
915
+ )
873
916
 
874
917
  # Define coordinates
875
918
  epoch = xr.DataArray(
@@ -878,6 +921,20 @@ def create_direct_event_dataset(apid: int, packets: xr.Dataset) -> xr.Dataset:
878
921
  dims=["epoch"],
879
922
  attrs=cdf_attrs.get_variable_attributes("epoch", check_schema=False),
880
923
  )
924
+ epoch_delta_minus = xr.DataArray(
925
+ epochs_delta_minus,
926
+ name="epoch_delta_minus",
927
+ dims=["epoch_delta_minus"],
928
+ attrs=cdf_attrs.get_variable_attributes(
929
+ "epoch_delta_minus", check_schema=False
930
+ ),
931
+ )
932
+ epoch_delta_plus = xr.DataArray(
933
+ epochs_delta_plus,
934
+ name="epoch_delta_plus",
935
+ dims=["epoch_delta_plus"],
936
+ attrs=cdf_attrs.get_variable_attributes("epoch_delta_plus", check_schema=False),
937
+ )
881
938
  event_num = xr.DataArray(
882
939
  np.arange(10000),
883
940
  name="event_num",
@@ -899,6 +956,8 @@ def create_direct_event_dataset(apid: int, packets: xr.Dataset) -> xr.Dataset:
899
956
  dataset = xr.Dataset(
900
957
  coords={
901
958
  "epoch": epoch,
959
+ "epoch_delta_minus": epoch_delta_minus,
960
+ "epoch_delta_plus": epoch_delta_plus,
902
961
  "event_num": event_num,
903
962
  "event_num_label": event_num_label,
904
963
  },
@@ -170,8 +170,8 @@ def finish_de_dataset(packets_data: xr.Dataset) -> xr.Dataset:
170
170
  "last_spin_num": "last_spin_num",
171
171
  "spin_invalids": "spin_invalids",
172
172
  "esa_step_num": "esa_step",
173
- "meta_seconds": "meta_seconds",
174
- "meta_subseconds": "meta_subseconds",
173
+ "esa_step_seconds": "esa_step_seconds",
174
+ "esa_step_milliseconds": "esa_step_milliseconds",
175
175
  }.items():
176
176
  de_data_dict[to_key] = packets_data[from_key].data
177
177
 
@@ -228,8 +228,8 @@ def create_de_dataset(de_data_dict: dict[str, npt.ArrayLike]) -> xr.Dataset:
228
228
 
229
229
  # Compute the meta-event MET in seconds
230
230
  meta_event_met = (
231
- np.array(de_data_dict["meta_seconds"]).astype(np.float64)
232
- + np.array(de_data_dict["meta_subseconds"]) * MILLISECOND_TO_S
231
+ np.array(de_data_dict["esa_step_seconds"]).astype(np.float64)
232
+ + np.array(de_data_dict["esa_step_milliseconds"]) * MILLISECOND_TO_S
233
233
  )
234
234
  # Compute the MET of each event in seconds
235
235
  # event MET = meta_event_met + de_clock
@@ -169,8 +169,8 @@ def annotate_direct_events(l1a_dataset: xr.Dataset) -> xr.Dataset:
169
169
  "pkt_len",
170
170
  "last_spin_num",
171
171
  "spin_invalids",
172
- "meta_seconds",
173
- "meta_subseconds",
172
+ "esa_step_seconds",
173
+ "esa_step_milliseconds",
174
174
  "tof_1",
175
175
  "tof_2",
176
176
  "tof_3",
@@ -1,6 +1,6 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
2
  <xtce:SpaceSystem xmlns:xtce="http://www.omg.org/space/xtce" name="H45">
3
- <xtce:Header date="2024-11-26 00:00:00" version="1" author="IMAP SDC" source_file="TLM_H45_H90_20241126.xlsx" />
3
+ <xtce:Header date="29/04/2025" version="1.2" author="IMAP SDC" source_file="TLM_H45_H90_20250429.xlsx" />
4
4
  <xtce:TelemetryMetaData>
5
5
  <xtce:ParameterTypeSet>
6
6
  <xtce:IntegerParameterType name="VERSION" signed="false">
@@ -24,6 +24,56 @@
24
24
  <xtce:IntegerParameterType name="PKT_LEN" signed="false">
25
25
  <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
26
26
  </xtce:IntegerParameterType>
27
+ <xtce:IntegerParameterType name="H45_MEMDMP.SHCOARSE" signed="false">
28
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
29
+ </xtce:IntegerParameterType>
30
+ <xtce:IntegerParameterType name="H45_MEMDMP.PACKET_VERSION" signed="false">
31
+ <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
32
+ </xtce:IntegerParameterType>
33
+ <xtce:IntegerParameterType name="H45_MEMDMP.SPARE" signed="false">
34
+ <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
35
+ </xtce:IntegerParameterType>
36
+ <xtce:EnumeratedParameterType name="H45_MEMDMP.MEMORY_ID" signed="false">
37
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
38
+ <xtce:EnumerationList>
39
+ <xtce:Enumeration value="16777217" label="MIMEM_RAW" />
40
+ <xtce:Enumeration value="33554434" label="MIPROM" />
41
+ <xtce:Enumeration value="67108868" label="MIMRAM" />
42
+ <xtce:Enumeration value="134217736" label="MISDRAM_CPU" />
43
+ <xtce:Enumeration value="285212688" label="MISDRAM_SCI" />
44
+ <xtce:Enumeration value="591733573" label="MICDH_FPGA" />
45
+ <xtce:Enumeration value="301989920" label="MIHVPSBD1" />
46
+ <xtce:Enumeration value="335544384" label="MIHVPSBD2" />
47
+ <xtce:Enumeration value="402653312" label="MIFEEFPGA" />
48
+ <xtce:Enumeration value="570425856" label="MISCRATCH" />
49
+ <xtce:Enumeration value="587203328" label="MICPU" />
50
+ <xtce:Enumeration value="2050814831" label="MIENG_LUT_PRI" />
51
+ <xtce:Enumeration value="2116893225" label="MIENG_LUT_RED" />
52
+ <xtce:Enumeration value="1160045761" label="MIENG_LUT_RAM" />
53
+ <xtce:Enumeration value="763219379" label="MISCI_LUT_PRI" />
54
+ <xtce:Enumeration value="1973595935" label="MISCI_LUT_RED" />
55
+ <xtce:Enumeration value="1517368615" label="MISCI_LUT_RAM" />
56
+ </xtce:EnumerationList>
57
+ </xtce:EnumeratedParameterType>
58
+ <xtce:IntegerParameterType name="H45_MEMDMP.START_ADDRESS" signed="false">
59
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
60
+ </xtce:IntegerParameterType>
61
+ <xtce:IntegerParameterType name="H45_MEMDMP.NUM_BYTES" signed="false">
62
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
63
+ </xtce:IntegerParameterType>
64
+ <xtce:BinaryParameterType name="H45_MEMDMP.DUMP_DATA">
65
+ <xtce:BinaryDataEncoding bitOrder="mostSignificantBitFirst">
66
+ <xtce:SizeInBits>
67
+ <xtce:DynamicValue>
68
+ <xtce:ParameterInstanceRef parameterRef="PKT_LEN" />
69
+ <xtce:LinearAdjustment slope="8" intercept="-168" />
70
+ </xtce:DynamicValue>
71
+ </xtce:SizeInBits>
72
+ </xtce:BinaryDataEncoding>
73
+ </xtce:BinaryParameterType>
74
+ <xtce:IntegerParameterType name="H45_MEMDMP.CKSUM" signed="false">
75
+ <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
76
+ </xtce:IntegerParameterType>
27
77
  <xtce:IntegerParameterType name="H45_APP_NHK.SHCOARSE" signed="false">
28
78
  <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
29
79
  </xtce:IntegerParameterType>
@@ -970,16 +1020,16 @@
970
1020
  <xtce:IntegerParameterType name="H45_SCI_DE.SPARE" signed="false">
971
1021
  <xtce:IntegerDataEncoding sizeInBits="20" encoding="unsigned" />
972
1022
  </xtce:IntegerParameterType>
973
- <xtce:IntegerParameterType name="H45_SCI_DE.META_BITMASK" signed="false">
1023
+ <xtce:IntegerParameterType name="H45_SCI_DE.SPARE1" signed="false">
974
1024
  <xtce:IntegerDataEncoding sizeInBits="2" encoding="unsigned" />
975
1025
  </xtce:IntegerParameterType>
976
1026
  <xtce:IntegerParameterType name="H45_SCI_DE.ESA_STEP_NUM" signed="false">
977
1027
  <xtce:IntegerDataEncoding sizeInBits="4" encoding="unsigned" />
978
1028
  </xtce:IntegerParameterType>
979
- <xtce:IntegerParameterType name="H45_SCI_DE.META_SUBSECONDS" signed="false">
1029
+ <xtce:IntegerParameterType name="H45_SCI_DE.ESA_STEP_MILLISECONDS" signed="false">
980
1030
  <xtce:IntegerDataEncoding sizeInBits="10" encoding="unsigned" />
981
1031
  </xtce:IntegerParameterType>
982
- <xtce:IntegerParameterType name="H45_SCI_DE.META_SECONDS" signed="false">
1032
+ <xtce:IntegerParameterType name="H45_SCI_DE.ESA_STEP_SECONDS" signed="false">
983
1033
  <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
984
1034
  </xtce:IntegerParameterType>
985
1035
  <xtce:BinaryParameterType name="H45_SCI_DE.DE_TOF">
@@ -1271,6 +1321,56 @@
1271
1321
  <xtce:IntegerParameterType name="H45_DIAG_FEE.CKSUM" signed="false">
1272
1322
  <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
1273
1323
  </xtce:IntegerParameterType>
1324
+ <xtce:IntegerParameterType name="H90_MEMDMP.SHCOARSE" signed="false">
1325
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
1326
+ </xtce:IntegerParameterType>
1327
+ <xtce:IntegerParameterType name="H90_MEMDMP.PACKET_VERSION" signed="false">
1328
+ <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
1329
+ </xtce:IntegerParameterType>
1330
+ <xtce:IntegerParameterType name="H90_MEMDMP.SPARE" signed="false">
1331
+ <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
1332
+ </xtce:IntegerParameterType>
1333
+ <xtce:EnumeratedParameterType name="H90_MEMDMP.MEMORY_ID" signed="false">
1334
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
1335
+ <xtce:EnumerationList>
1336
+ <xtce:Enumeration value="16777217" label="MIMEM_RAW" />
1337
+ <xtce:Enumeration value="33554434" label="MIPROM" />
1338
+ <xtce:Enumeration value="67108868" label="MIMRAM" />
1339
+ <xtce:Enumeration value="134217736" label="MISDRAM_CPU" />
1340
+ <xtce:Enumeration value="285212688" label="MISDRAM_SCI" />
1341
+ <xtce:Enumeration value="591733573" label="MICDH_FPGA" />
1342
+ <xtce:Enumeration value="301989920" label="MIHVPSBD1" />
1343
+ <xtce:Enumeration value="335544384" label="MIHVPSBD2" />
1344
+ <xtce:Enumeration value="402653312" label="MIFEEFPGA" />
1345
+ <xtce:Enumeration value="570425856" label="MISCRATCH" />
1346
+ <xtce:Enumeration value="587203328" label="MICPU" />
1347
+ <xtce:Enumeration value="2050814831" label="MIENG_LUT_PRI" />
1348
+ <xtce:Enumeration value="2116893225" label="MIENG_LUT_RED" />
1349
+ <xtce:Enumeration value="1160045761" label="MIENG_LUT_RAM" />
1350
+ <xtce:Enumeration value="763219379" label="MISCI_LUT_PRI" />
1351
+ <xtce:Enumeration value="1973595935" label="MISCI_LUT_RED" />
1352
+ <xtce:Enumeration value="1517368615" label="MISCI_LUT_RAM" />
1353
+ </xtce:EnumerationList>
1354
+ </xtce:EnumeratedParameterType>
1355
+ <xtce:IntegerParameterType name="H90_MEMDMP.START_ADDRESS" signed="false">
1356
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
1357
+ </xtce:IntegerParameterType>
1358
+ <xtce:IntegerParameterType name="H90_MEMDMP.NUM_BYTES" signed="false">
1359
+ <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
1360
+ </xtce:IntegerParameterType>
1361
+ <xtce:BinaryParameterType name="H90_MEMDMP.DUMP_DATA">
1362
+ <xtce:BinaryDataEncoding bitOrder="mostSignificantBitFirst">
1363
+ <xtce:SizeInBits>
1364
+ <xtce:DynamicValue>
1365
+ <xtce:ParameterInstanceRef parameterRef="PKT_LEN" />
1366
+ <xtce:LinearAdjustment slope="8" intercept="-168" />
1367
+ </xtce:DynamicValue>
1368
+ </xtce:SizeInBits>
1369
+ </xtce:BinaryDataEncoding>
1370
+ </xtce:BinaryParameterType>
1371
+ <xtce:IntegerParameterType name="H90_MEMDMP.CKSUM" signed="false">
1372
+ <xtce:IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
1373
+ </xtce:IntegerParameterType>
1274
1374
  <xtce:IntegerParameterType name="H90_APP_NHK.SHCOARSE" signed="false">
1275
1375
  <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
1276
1376
  </xtce:IntegerParameterType>
@@ -1386,7 +1486,7 @@
1386
1486
  <xtce:IntegerDataEncoding sizeInBits="12" encoding="unsigned">
1387
1487
  <xtce:DefaultCalibrator>
1388
1488
  <xtce:PolynomialCalibrator>
1389
- <xtce:Term coefficient="2.243589743589744" exponent="1" />
1489
+ <xtce:Term coefficient="2.243589744" exponent="1" />
1390
1490
  </xtce:PolynomialCalibrator>
1391
1491
  </xtce:DefaultCalibrator>
1392
1492
  </xtce:IntegerDataEncoding>
@@ -2216,16 +2316,16 @@
2216
2316
  <xtce:IntegerParameterType name="H90_SCI_DE.SPARE" signed="false">
2217
2317
  <xtce:IntegerDataEncoding sizeInBits="20" encoding="unsigned" />
2218
2318
  </xtce:IntegerParameterType>
2219
- <xtce:IntegerParameterType name="H90_SCI_DE.META_BITMASK" signed="false">
2319
+ <xtce:IntegerParameterType name="H90_SCI_DE.SPARE1" signed="false">
2220
2320
  <xtce:IntegerDataEncoding sizeInBits="2" encoding="unsigned" />
2221
2321
  </xtce:IntegerParameterType>
2222
2322
  <xtce:IntegerParameterType name="H90_SCI_DE.ESA_STEP_NUM" signed="false">
2223
2323
  <xtce:IntegerDataEncoding sizeInBits="4" encoding="unsigned" />
2224
2324
  </xtce:IntegerParameterType>
2225
- <xtce:IntegerParameterType name="H90_SCI_DE.META_SUBSECONDS" signed="false">
2325
+ <xtce:IntegerParameterType name="H90_SCI_DE.ESA_STEP_MILLISECONDS" signed="false">
2226
2326
  <xtce:IntegerDataEncoding sizeInBits="10" encoding="unsigned" />
2227
2327
  </xtce:IntegerParameterType>
2228
- <xtce:IntegerParameterType name="H90_SCI_DE.META_SECONDS" signed="false">
2328
+ <xtce:IntegerParameterType name="H90_SCI_DE.ESA_STEP_SECONDS" signed="false">
2229
2329
  <xtce:IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
2230
2330
  </xtce:IntegerParameterType>
2231
2331
  <xtce:BinaryParameterType name="H90_SCI_DE.DE_TOF">
@@ -2540,6 +2640,28 @@
2540
2640
  <xtce:Parameter name="PKT_LEN" parameterTypeRef="PKT_LEN">
2541
2641
  <xtce:LongDescription>CCSDS Packet Length (number of bytes after Packet length minus 1)</xtce:LongDescription>
2542
2642
  </xtce:Parameter>
2643
+ <xtce:Parameter name="H45_MEMDMP.SHCOARSE" parameterTypeRef="H45_MEMDMP.SHCOARSE" shortDescription="MISSION ELAPSED TIME">
2644
+ <xtce:LongDescription>MISSION ELAPSED TIME</xtce:LongDescription>
2645
+ </xtce:Parameter>
2646
+ <xtce:Parameter name="H45_MEMDMP.PACKET_VERSION" parameterTypeRef="H45_MEMDMP.PACKET_VERSION" shortDescription="PACKET VERSION">
2647
+ <xtce:LongDescription>PACKET VERSION - THIS WILL BE INCREMENTED EACH TIME THE FORMAT OF THE PACKET CHANGES.</xtce:LongDescription>
2648
+ </xtce:Parameter>
2649
+ <xtce:Parameter name="H45_MEMDMP.SPARE" parameterTypeRef="H45_MEMDMP.SPARE" shortDescription="SPARE FOR ALIGNMENT">
2650
+ <xtce:LongDescription>SPARE FOR ALIGNMENT</xtce:LongDescription>
2651
+ </xtce:Parameter>
2652
+ <xtce:Parameter name="H45_MEMDMP.MEMORY_ID" parameterTypeRef="H45_MEMDMP.MEMORY_ID" shortDescription="MEMORY ID">
2653
+ <xtce:LongDescription>MEMORY DEVICE/TYPE IDENTIFIER. INDICATES THE SOURCE FOR THE DATA INCLUDED IN THE DATA FIELD</xtce:LongDescription>
2654
+ </xtce:Parameter>
2655
+ <xtce:Parameter name="H45_MEMDMP.START_ADDRESS" parameterTypeRef="H45_MEMDMP.START_ADDRESS" shortDescription="START ADDRESS">
2656
+ <xtce:LongDescription>START ADDRESS WITHIN THE DEVICE</xtce:LongDescription>
2657
+ </xtce:Parameter>
2658
+ <xtce:Parameter name="H45_MEMDMP.NUM_BYTES" parameterTypeRef="H45_MEMDMP.NUM_BYTES" shortDescription="NUMBER OF BYTES IN THE DATA FIELD">
2659
+ <xtce:LongDescription>NUMBER OF BYTES INCLUDED IN THE DATA FIELD (NOT INCLUDING PAD BYTES AND THE PACKET CHECKSUM)</xtce:LongDescription>
2660
+ </xtce:Parameter>
2661
+ <xtce:Parameter name="H45_MEMDMP.DUMP_DATA" parameterTypeRef="H45_MEMDMP.DUMP_DATA" shortDescription="DUMP DATA">
2662
+ <xtce:LongDescription>DUMPED DATA. SINCE THIS IS A VARIABLE LENGTH FIELD IT WILL ALSO ENCOMPASS ANY PAD BYTES AND THE PACKET CHECKSUM.</xtce:LongDescription>
2663
+ </xtce:Parameter>
2664
+ <xtce:Parameter name="H45_MEMDMP.CKSUM" parameterTypeRef="H45_MEMDMP.CKSUM" shortDescription="CHECKSUM" />
2543
2665
  <xtce:Parameter name="H45_APP_NHK.SHCOARSE" parameterTypeRef="H45_APP_NHK.SHCOARSE" shortDescription="MISSION ELAPSED TIME">
2544
2666
  <xtce:LongDescription>MISSION ELAPSED TIME</xtce:LongDescription>
2545
2667
  </xtce:Parameter>
@@ -2894,23 +3016,24 @@
2894
3016
  MOS SIGNIFICANT BIT IS ALSO THE HIGHEST SPIN</xtce:LongDescription>
2895
3017
  </xtce:Parameter>
2896
3018
  <xtce:Parameter name="H45_SCI_DE.SPARE" parameterTypeRef="H45_SCI_DE.SPARE" shortDescription="SPARE" />
2897
- <xtce:Parameter name="H45_SCI_DE.META_BITMASK" parameterTypeRef="H45_SCI_DE.META_BITMASK" shortDescription="META_BITMASK IS ALWAYS 0" />
2898
- <xtce:Parameter name="H45_SCI_DE.ESA_STEP_NUM" parameterTypeRef="H45_SCI_DE.ESA_STEP_NUM" shortDescription="ESA STEP NUMBER" />
2899
- <xtce:Parameter name="H45_SCI_DE.META_SUBSECONDS" parameterTypeRef="H45_SCI_DE.META_SUBSECONDS" shortDescription="META EVENT FINE CLOCK TICKS" />
2900
- <xtce:Parameter name="H45_SCI_DE.META_SECONDS" parameterTypeRef="H45_SCI_DE.META_SECONDS" shortDescription="META EVENT COARSE CLOKC TICKS" />
2901
- <xtce:Parameter name="H45_SCI_DE.DE_TOF" parameterTypeRef="H45_SCI_DE.DE_TOF" shortDescription="VARIABLE LENGTH FIELD FOR DIRECT EVENT TOF DATA. MAX SIZE 665X48 BITS.">
3019
+ <xtce:Parameter name="H45_SCI_DE.SPARE1" parameterTypeRef="H45_SCI_DE.SPARE1" shortDescription="MORE SPARE" />
3020
+ <xtce:Parameter name="H45_SCI_DE.ESA_STEP_NUM" parameterTypeRef="H45_SCI_DE.ESA_STEP_NUM" shortDescription="ONE BASED ESA STEP NUMBER THE PACKET'S DATA CORESPONDS TO">
3021
+ <xtce:LongDescription>ESA STEP NUMBER WHEN THE DATA IS COLLECTED STARTING AT 1</xtce:LongDescription>
3022
+ </xtce:Parameter>
3023
+ <xtce:Parameter name="H45_SCI_DE.ESA_STEP_MILLISECONDS" parameterTypeRef="H45_SCI_DE.ESA_STEP_MILLISECONDS" shortDescription="MILLISECOND PART OF START TIME OF ESA STEP THE PACKET DATA IS FOR">
3024
+ <xtce:LongDescription>TIMESTAMP OF ESA STEP STARTING TIME, MILLISECONDS</xtce:LongDescription>
3025
+ </xtce:Parameter>
3026
+ <xtce:Parameter name="H45_SCI_DE.ESA_STEP_SECONDS" parameterTypeRef="H45_SCI_DE.ESA_STEP_SECONDS" shortDescription="SECOND PART OF START TIME OF ESA STEP THE PACKET DATA IS FOR">
3027
+ <xtce:LongDescription>TIMESTAMP OF ESA STEP STARTING TIME, SECONDS</xtce:LongDescription>
3028
+ </xtce:Parameter>
3029
+ <xtce:Parameter name="H45_SCI_DE.DE_TOF" parameterTypeRef="H45_SCI_DE.DE_TOF" shortDescription="VARIABLE LENGTH FIELD FOR DIRECT EVENT TOF DATA. MAX SIZE 664X48 BITS.">
2902
3030
  <xtce:LongDescription>DIRECT EVENT TOF DATA.
2903
- LENGTH IS VARIABLE. MAX IS 665 X 48 BITS
3031
+ LENGTH IS VARIABLE. MAX IS 664 X 48 BITS
2904
3032
  START_BITMASK_DATA - 2 BITS (TA=1, TB=2, TC1=3, META=0)
2905
- IF START_BITMASK != 0
2906
3033
  DE_TAG - 16 BITS
2907
3034
  TOF_1 - 10 BITS
2908
3035
  TOF_2 - 10 BITS
2909
- TOF_3 - 10 BITS
2910
- IF START_BIT_MASK == 0:
2911
- ESA_STEP_NUM - 4 BITS
2912
- MET_SUBSECONDS - 10 BITS
2913
- MET_SECONDS - 32 BITS</xtce:LongDescription>
3036
+ TOF_3 - 10 BITS</xtce:LongDescription>
2914
3037
  </xtce:Parameter>
2915
3038
  <xtce:Parameter name="H45_SCI_DE.CKSUM" parameterTypeRef="H45_SCI_DE.CKSUM" shortDescription="PACKET CHECKSUM" />
2916
3039
  <xtce:Parameter name="H45_DIAG_FEE.SHCOARSE" parameterTypeRef="H45_DIAG_FEE.SHCOARSE" shortDescription="MISSION ELAPSED TIME" />
@@ -3005,6 +3128,28 @@ MET_SECONDS - 32 BITS</xtce:LongDescription>
3005
3128
  <xtce:Parameter name="H45_DIAG_FEE.FEE_RECV_CMD_COUNT" parameterTypeRef="H45_DIAG_FEE.FEE_RECV_CMD_COUNT" shortDescription="SHOWS HOW MANY COMMANDS ARE RECEIVED FROM THE FEE FROM THE C&amp;DH FPGA" />
3006
3129
  <xtce:Parameter name="H45_DIAG_FEE.SPARE" parameterTypeRef="H45_DIAG_FEE.SPARE" shortDescription="SPARE FIELD" />
3007
3130
  <xtce:Parameter name="H45_DIAG_FEE.CKSUM" parameterTypeRef="H45_DIAG_FEE.CKSUM" shortDescription="PACKET CHECKSUM" />
3131
+ <xtce:Parameter name="H90_MEMDMP.SHCOARSE" parameterTypeRef="H90_MEMDMP.SHCOARSE" shortDescription="MISSION ELAPSED TIME">
3132
+ <xtce:LongDescription>MISSION ELAPSED TIME</xtce:LongDescription>
3133
+ </xtce:Parameter>
3134
+ <xtce:Parameter name="H90_MEMDMP.PACKET_VERSION" parameterTypeRef="H90_MEMDMP.PACKET_VERSION" shortDescription="PACKET VERSION">
3135
+ <xtce:LongDescription>PACKET VERSION - THIS WILL BE INCREMENTED EACH TIME THE FORMAT OF THE PACKET CHANGES.</xtce:LongDescription>
3136
+ </xtce:Parameter>
3137
+ <xtce:Parameter name="H90_MEMDMP.SPARE" parameterTypeRef="H90_MEMDMP.SPARE" shortDescription="SPARE FOR ALIGNMENT">
3138
+ <xtce:LongDescription>SPARE FOR ALIGNMENT</xtce:LongDescription>
3139
+ </xtce:Parameter>
3140
+ <xtce:Parameter name="H90_MEMDMP.MEMORY_ID" parameterTypeRef="H90_MEMDMP.MEMORY_ID" shortDescription="MEMORY ID">
3141
+ <xtce:LongDescription>MEMORY DEVICE/TYPE IDENTIFIER. INDICATES THE SOURCE FOR THE DATA INCLUDED IN THE DATA FIELD</xtce:LongDescription>
3142
+ </xtce:Parameter>
3143
+ <xtce:Parameter name="H90_MEMDMP.START_ADDRESS" parameterTypeRef="H90_MEMDMP.START_ADDRESS" shortDescription="START ADDRESS">
3144
+ <xtce:LongDescription>START ADDRESS WITHIN THE DEVICE</xtce:LongDescription>
3145
+ </xtce:Parameter>
3146
+ <xtce:Parameter name="H90_MEMDMP.NUM_BYTES" parameterTypeRef="H90_MEMDMP.NUM_BYTES" shortDescription="NUMBER OF BYTES IN THE DATA FIELD">
3147
+ <xtce:LongDescription>NUMBER OF BYTES INCLUDED IN THE DATA FIELD (NOT INCLUDING PAD BYTES AND THE PACKET CHECKSUM)</xtce:LongDescription>
3148
+ </xtce:Parameter>
3149
+ <xtce:Parameter name="H90_MEMDMP.DUMP_DATA" parameterTypeRef="H90_MEMDMP.DUMP_DATA" shortDescription="DUMP DATA">
3150
+ <xtce:LongDescription>DUMPED DATA. SINCE THIS IS A VARIABLE LENGTH FIELD IT WILL ALSO ENCOMPASS ANY PAD BYTES AND THE PACKET CHECKSUM.</xtce:LongDescription>
3151
+ </xtce:Parameter>
3152
+ <xtce:Parameter name="H90_MEMDMP.CKSUM" parameterTypeRef="H90_MEMDMP.CKSUM" shortDescription="CHECKSUM" />
3008
3153
  <xtce:Parameter name="H90_APP_NHK.SHCOARSE" parameterTypeRef="H90_APP_NHK.SHCOARSE" shortDescription="MISSION ELAPSED TIME">
3009
3154
  <xtce:LongDescription>MISSION ELAPSED TIME</xtce:LongDescription>
3010
3155
  </xtce:Parameter>
@@ -3359,23 +3504,24 @@ MET_SECONDS - 32 BITS</xtce:LongDescription>
3359
3504
  MOS SIGNIFICANT BIT IS ALSO THE HIGHEST SPIN</xtce:LongDescription>
3360
3505
  </xtce:Parameter>
3361
3506
  <xtce:Parameter name="H90_SCI_DE.SPARE" parameterTypeRef="H90_SCI_DE.SPARE" shortDescription="SPARE" />
3362
- <xtce:Parameter name="H90_SCI_DE.META_BITMASK" parameterTypeRef="H90_SCI_DE.META_BITMASK" shortDescription="META_BITMASK IS ALWAYS 0" />
3363
- <xtce:Parameter name="H90_SCI_DE.ESA_STEP_NUM" parameterTypeRef="H90_SCI_DE.ESA_STEP_NUM" shortDescription="ESA STEP NUMBER" />
3364
- <xtce:Parameter name="H90_SCI_DE.META_SUBSECONDS" parameterTypeRef="H90_SCI_DE.META_SUBSECONDS" shortDescription="META EVENT FINE CLOCK TICKS" />
3365
- <xtce:Parameter name="H90_SCI_DE.META_SECONDS" parameterTypeRef="H90_SCI_DE.META_SECONDS" shortDescription="META EVENT COARSE CLOKC TICKS" />
3366
- <xtce:Parameter name="H90_SCI_DE.DE_TOF" parameterTypeRef="H90_SCI_DE.DE_TOF" shortDescription="VARIABLE LENGTH FIELD FOR DIRECT EVENT TOF DATA. MAX SIZE 665X48 BITS.">
3507
+ <xtce:Parameter name="H90_SCI_DE.SPARE1" parameterTypeRef="H90_SCI_DE.SPARE1" shortDescription="MORE SPARE" />
3508
+ <xtce:Parameter name="H90_SCI_DE.ESA_STEP_NUM" parameterTypeRef="H90_SCI_DE.ESA_STEP_NUM" shortDescription="ONE BASED ESA STEP NUMBER THE PACKET'S DATA CORESPONDS TO">
3509
+ <xtce:LongDescription>ESA STEP NUMBER WHEN THE DATA IS COLLECTED STARTING AT 1</xtce:LongDescription>
3510
+ </xtce:Parameter>
3511
+ <xtce:Parameter name="H90_SCI_DE.ESA_STEP_MILLISECONDS" parameterTypeRef="H90_SCI_DE.ESA_STEP_MILLISECONDS" shortDescription="MILLISECOND PART OF START TIME OF ESA STEP THE PACKET DATA IS FOR">
3512
+ <xtce:LongDescription>TIMESTAMP OF ESA STEP STARTING TIME, MILLISECONDS</xtce:LongDescription>
3513
+ </xtce:Parameter>
3514
+ <xtce:Parameter name="H90_SCI_DE.ESA_STEP_SECONDS" parameterTypeRef="H90_SCI_DE.ESA_STEP_SECONDS" shortDescription="SECOND PART OF START TIME OF ESA STEP THE PACKET DATA IS FOR">
3515
+ <xtce:LongDescription>TIMESTAMP OF ESA STEP STARTING TIME, SECONDS</xtce:LongDescription>
3516
+ </xtce:Parameter>
3517
+ <xtce:Parameter name="H90_SCI_DE.DE_TOF" parameterTypeRef="H90_SCI_DE.DE_TOF" shortDescription="VARIABLE LENGTH FIELD FOR DIRECT EVENT TOF DATA. MAX SIZE 664X48 BITS.">
3367
3518
  <xtce:LongDescription>DIRECT EVENT TOF DATA.
3368
- LENGTH IS VARIABLE. MAX IS 665 X 48 BITS
3519
+ LENGTH IS VARIABLE. MAX IS 664 X 48 BITS
3369
3520
  START_BITMASK_DATA - 2 BITS (TA=1, TB=2, TC1=3, META=0)
3370
- IF START_BITMASK != 0
3371
3521
  DE_TAG - 16 BITS
3372
3522
  TOF_1 - 10 BITS
3373
3523
  TOF_2 - 10 BITS
3374
- TOF_3 - 10 BITS
3375
- IF START_BIT_MASK == 0:
3376
- ESA_STEP_NUM - 4 BITS
3377
- MET_SUBSECONDS - 10 BITS
3378
- MET_SECONDS - 32 BITS</xtce:LongDescription>
3524
+ TOF_3 - 10 BITS</xtce:LongDescription>
3379
3525
  </xtce:Parameter>
3380
3526
  <xtce:Parameter name="H90_SCI_DE.CKSUM" parameterTypeRef="H90_SCI_DE.CKSUM" shortDescription="PACKET CHECKSUM" />
3381
3527
  <xtce:Parameter name="H90_DIAG_FEE.SHCOARSE" parameterTypeRef="H90_DIAG_FEE.SHCOARSE" shortDescription="MISSION ELAPSED TIME" />
@@ -3483,6 +3629,23 @@ MET_SECONDS - 32 BITS</xtce:LongDescription>
3483
3629
  <xtce:ParameterRefEntry parameterRef="PKT_LEN" />
3484
3630
  </xtce:EntryList>
3485
3631
  </xtce:SequenceContainer>
3632
+ <xtce:SequenceContainer name="H45_MEMDMP">
3633
+ <xtce:BaseContainer containerRef="CCSDSPacket">
3634
+ <xtce:RestrictionCriteria>
3635
+ <xtce:Comparison parameterRef="PKT_APID" value="740" useCalibratedValue="false" />
3636
+ </xtce:RestrictionCriteria>
3637
+ </xtce:BaseContainer>
3638
+ <xtce:EntryList>
3639
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.SHCOARSE" />
3640
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.PACKET_VERSION" />
3641
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.SPARE" />
3642
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.MEMORY_ID" />
3643
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.START_ADDRESS" />
3644
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.NUM_BYTES" />
3645
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.DUMP_DATA" />
3646
+ <xtce:ParameterRefEntry parameterRef="H45_MEMDMP.CKSUM" />
3647
+ </xtce:EntryList>
3648
+ </xtce:SequenceContainer>
3486
3649
  <xtce:SequenceContainer name="H45_APP_NHK">
3487
3650
  <xtce:BaseContainer containerRef="CCSDSPacket">
3488
3651
  <xtce:RestrictionCriteria>
@@ -3627,10 +3790,10 @@ MET_SECONDS - 32 BITS</xtce:LongDescription>
3627
3790
  <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.LAST_SPIN_NUM" />
3628
3791
  <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.SPIN_INVALIDS" />
3629
3792
  <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.SPARE" />
3630
- <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.META_BITMASK" />
3793
+ <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.SPARE1" />
3631
3794
  <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.ESA_STEP_NUM" />
3632
- <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.META_SUBSECONDS" />
3633
- <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.META_SECONDS" />
3795
+ <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.ESA_STEP_MILLISECONDS" />
3796
+ <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.ESA_STEP_SECONDS" />
3634
3797
  <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.DE_TOF" />
3635
3798
  <xtce:ParameterRefEntry parameterRef="H45_SCI_DE.CKSUM" />
3636
3799
  </xtce:EntryList>
@@ -3736,6 +3899,23 @@ MET_SECONDS - 32 BITS</xtce:LongDescription>
3736
3899
  <xtce:ParameterRefEntry parameterRef="H45_DIAG_FEE.CKSUM" />
3737
3900
  </xtce:EntryList>
3738
3901
  </xtce:SequenceContainer>
3902
+ <xtce:SequenceContainer name="H90_MEMDMP">
3903
+ <xtce:BaseContainer containerRef="CCSDSPacket">
3904
+ <xtce:RestrictionCriteria>
3905
+ <xtce:Comparison parameterRef="PKT_APID" value="804" useCalibratedValue="false" />
3906
+ </xtce:RestrictionCriteria>
3907
+ </xtce:BaseContainer>
3908
+ <xtce:EntryList>
3909
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.SHCOARSE" />
3910
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.PACKET_VERSION" />
3911
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.SPARE" />
3912
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.MEMORY_ID" />
3913
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.START_ADDRESS" />
3914
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.NUM_BYTES" />
3915
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.DUMP_DATA" />
3916
+ <xtce:ParameterRefEntry parameterRef="H90_MEMDMP.CKSUM" />
3917
+ </xtce:EntryList>
3918
+ </xtce:SequenceContainer>
3739
3919
  <xtce:SequenceContainer name="H90_APP_NHK">
3740
3920
  <xtce:BaseContainer containerRef="CCSDSPacket">
3741
3921
  <xtce:RestrictionCriteria>
@@ -3880,10 +4060,10 @@ MET_SECONDS - 32 BITS</xtce:LongDescription>
3880
4060
  <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.LAST_SPIN_NUM" />
3881
4061
  <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.SPIN_INVALIDS" />
3882
4062
  <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.SPARE" />
3883
- <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.META_BITMASK" />
4063
+ <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.SPARE1" />
3884
4064
  <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.ESA_STEP_NUM" />
3885
- <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.META_SUBSECONDS" />
3886
- <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.META_SECONDS" />
4065
+ <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.ESA_STEP_MILLISECONDS" />
4066
+ <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.ESA_STEP_SECONDS" />
3887
4067
  <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.DE_TOF" />
3888
4068
  <xtce:ParameterRefEntry parameterRef="H90_SCI_DE.CKSUM" />
3889
4069
  </xtce:EntryList>