Go to the documentation of this file.
87 char *routine =
"process_group2_packet1_vdata";
94 if ((pkt ==
NULL) || (eng_data ==
NULL)) {
112 if ((eng_data[
i].field[
j].order > 0) && (eng_data[
i].field[
j].order <=
129 switch (eng_data[
i].field[
j].
type) {
131 (int8)
extr_bits(pkt,start_bit,start_byte,num_bits);
135 (uint8)
extr_bits(pkt,start_bit,start_byte,num_bits);
138 ui16_value = (uint16)
extr_bits(pkt,start_bit,start_byte,num_bits);
139 if (ui16_value > 0x800)
141 (
int16) (ui16_value - 0x1000);
147 (uint16)
extr_bits(pkt,start_bit,start_byte,num_bits);
151 (int32)
extr_bits(pkt,start_bit,start_byte,num_bits);
155 (uint32)
extr_bits(pkt,start_bit,start_byte,num_bits);
158 sprintf(
msg,
"Vdata Name = %s, Field Name = %s", eng_data[
i].vdata_name,
159 eng_data[
i].field[
j].field_name);
173 sprintf(
msg,
"Vdata Name = %s, Field Name = %s", eng_data[
i].vdata_name,
174 eng_data[
i].field[
j].field_name);
EN_FIELD_TYPE_t field[EN_MAX_FIELDS_PER_VDATA]
HDF4 data type of the output SDS Default is DFNT_FLOAT32 Common types used DFNT_INT32
#define EN_MAX_VDATA_ORDER
union EN_FIELD_TYPE_t::@18 union_value[EN_MAX_VDATA_ORDER]
#define EN_SC_ANCILLARY_VDATA_END
#define PD_NUM_BITS_IN_BYTE
#define MODIS_E_INVALID_VDATA_ORDER
#define PD_PKT_CONTENTS_BYTE_OFFSET
#define EN_SC_ANCILLARY_VDATA_START
void log_fmt_msg(PGSt_SMF_status code, const char *routine, const char *msg_fmt,...)
HDF4 data type of the output SDS Default is DFNT_FLOAT32 Common types used DFNT_INT16
void process_group2_packet1_vdata(PGSt_IO_L0_Packet *pkt, EN_VDATA_TYPE_t *eng_data)
uint32 extr_bits(uint8 *a, int start_bit, int start_byte, int num_bits)
#define MODIS_E_INVALID_VDATA_TYPE
#define MODIS_E_NULL_POINTER