ISP Transform
The ISP Transform (isp_transform
) updates specific ISP field(s) according
to a transformation specification. This tool traverses all ISPs in the provided ISP
stream, and updates the fields based on transformation configuration.
- A transformation has two components:
selection criteria, which can be based on time_selection (e.g. the ISP time
is inside a given time interval) or on field_selection (e.g. a certain field had a value inside a given interval
update definition, which defines the field(s) and value(s) to be used
ISP Transform Options
-h [ –help ] : Displays options help
-v [ –version ] : Displays version information
–verbose : Display progress bar while processing the file
–schema arg : Schema of the ISP [REQUIRED]
–isp arg : ISP file [REQUIRED]
–timeline arg : Timeline file that defines the ISP fields to be updated [REQUIRED]
The Timeline, provided by using option –fields is a JSON file which provides a list of time_segments and for each segment the time period when it is applicable and the fields to be updated.
{
"transformations": [
{
"field_selection": {
"path": "/Packet_Primary_Header/Packet_Sequence_Ctrl/SSC",
"minimum": "5",
"maximum": "10"
},
"updates": [
{
"path": [
"/Packet_Data_Field/NAVATT_Packet_Secondary_Header/Destination_Id"
],
"type": "uint8_t",
"value": "3"
}
]
},
{
"time_selection": {
"path": "/Packet_Data_Field/NAVATT_Packet_Secondary_Header/Time_Code_Field/Time_Code/Coarse_Time",
"gps_time_start": "2019-09-14T10:36:33.000",
"gps_time_stop": "2019-09-14T10:36:38.000",
"__1.COMMENT": "Notice that 2019-09-14T10:36:33.000 (GPS) represents 2019-09-14T10:36:15.000 (UTC)",
"__2.COMMENT": "Notice that time interval is defined as [gps_time_start, gps_time_stop["
},
"updates": [
{
"path": [
"/Packet_Data_Field/NAVATT_Packet_Secondary_Header/Time_Code_Field/Quality_Field"
],
"type": "uint8_t",
"value": "0"
}
]
},
{
"time_selection": {
"path": "/Packet_Data_Field/NAVATT_Packet_Secondary_Header/Time_Code_Field/Time_Code/Coarse_Time",
"gps_time_start": "2019-10-16T00:04:00",
"gps_time_stop": "2019-10-16T00:08:00"
},
"updates": [
{
"path": [
"/Packet_Data_Field/NAVATT_User_Data_Field/ISP_Data/GNSR_Raw_Navigation_Data_ECEF/GNSR1_PVT_Status_Flags",
"/Packet_Data_Field/NAVATT_User_Data_Field/ISP_Data/GNSR_Raw_Navigation_Data_ECEF/GNSR2_PVT_Status_Flags"
],
"type": "uint32_t",
"value": "0"
},
{
"path": [
"/Packet_Data_Field/NAVATT_User_Data_Field/ISP_Data/AOCS_Attitude_Data_ECI_J2000/Attitude_Quality"
],
"type": "uint32_t",
"value": "0"
}
]
}
]
}