mag_fft.h , v 1.7
#include "hdfi.h" #define FFTBIN 32 /* 32 FFT frequency bins */ #define MJ_FFT_CYC 5 /* Major frames per FFT cycle */ struct MagFFTSet /* setkey=fG */ { uint32 sctime_readout; /* 32 bit spacecraft readout time */ uint32 sctime_collection; /* 32 bit spacecraft collection time */ uint32 QAC; /* number of missing frames in this cycle */ uint16 fft_statbits[MJ_FFT_CYC]; /* bits 15-9 - unused (=0) */ /* bit 8 = Rg (ST5 bit 2) */ /* lsByte = ST6 */ uint8 fft_val[10][FFTBIN]; /* first index = 0 -> X-axis FFT transform real output */ /* first index = 1 -> Y-axis FFT transform real output */ /* first index = 2 -> Z-axis FFT transform real output */ /* first index = 3 -> X-Y cross-spectra real output */ /* first index = 4 -> X-Y cross-spectra imaginary output */ /* first index = 5 -> X-Z cross-spectra real output */ /* first index = 6 -> X-Z cross-spectra imaginary output */ /* first index = 7 -> Y-Z cross-spectra real output */ /* first index = 8 -> Y-Z cross-spectra imaginary output */ /* first index = 9 -> magnitude FFT transform real output */ };
mag_hskp.h , v 1.9
#include "hdfi.h" struct MagHskpSet { uint32 sctime_readout; /* 32 bit spacecraft readout time */ uint32 sctime_collection; /* 32 bit spacecraft collection time */ uint32 QAC; /* number of missing frames in this cycle */ uint8 QACarr[16]; /* each entry corresponds to a single minor frame */ /* if value =0 frame is OK. =1 frame contains fill data*/ uint8 st1a; /* status byte 1, minor frame 1 */ uint8 st2a; /* status byte 2, minor frame 2 */ uint8 st3; /* status byte 3 */ uint8 st4; /* status byte 4 */ uint8 st5; /* status byte 5 */ uint8 st6; /* status byte 6 */ uint8 pctemp; /* power converter temperature status */ uint8 cmon; /* current monitor reading status */ uint8 st1b; /* status byte 1, minor frame 9 */ uint8 st2b; /* status byte 2, minor frame 10 */ uint8 hk1; /* housekeeping byte 1 */ uint8 hk2; /* housekeeping byte 2 */ uint8 hk3; /* housekeeping byte 3 */ uint8 hk4; /* housekeeping byte 4 */ uint8 hk5; /* housekeeping byte 5 */ uint8 sync; /* sync byte, TBD */ uint16 st; /* st byte(s), TBD */ uint8 in_temp; /* inboard temperature */ uint8 out_temp; /* outboard temperature */ uint8 in_pwrlvl; /* inboard heater power level */ uint8 out_pwrlvl; /* outboard heater power level */ uint8 current; /* MAG current */ uint8 SenIntTempPosY; /* MAG +Y Sensor Interface Temp */ uint8 SenIntTempNegY; /* MAG -Y Sensor Interface Temp */ uint8 MagPowBits; /* MAG Power/Ordinance Bits */ /* 7 - Main Sys Power A - Bit pos 15 */ /* 6 - Main Sys Power B - Bit pos 16 */ /* 5 - Main Int Heaters - Bit pos 19 */ /* 4 - Main Interface Heater - Bit pos 56 */ /* 3 - Main Boom Y Axis Arm - Bit pos 67 */ /* 2 - Backup Boom Y Axis Arm- Bit pos 72 */ /* 1 - Unused - */ /* 0 - Unused - */ };
mag_snapshot.h , v 1.6
#include "hdfi.h" #define SNPVAL 21 #define SNAPCYCLELEN 340 /* The snapshot buffer is 340 major frames long */ struct MagSnapSet /* setkey=sG */ { uint32 sctime_readout; /* 32 bit spacecraft readout time */ uint32 sctime_collection; /* 32 bit spacecraft collection time */ uint32 QAC; /* number of missing frames in this cycle*/ /* 21 x, y and z values per major frame */ uint16 hxyz[3][SNPVAL*SNAPCYCLELEN]; };
mag_vector.h , v 1.5
#include "hdfi.h" #define MAGNUMVCT 96 #define MAGVECDIM 3 struct MagVectorSet { uint32 sctime_readout; /* 32 bit spacecraft readout time */ uint32 sctime_collection; /* 32 bit spacecraft collection time */ uint32 QAC; /* number of missing frame in this cycle */ int16 vector[MAGVECDIM][MAGNUMVCT]; /* component of magnetic vector */ };
mag_avgvec.h , v 1.2
#include "hdfi.h" #define MAGAVGDIM 3 struct MagAvgVec { uint32 sctime_readout; /* 32 bit spacecraft readout time. */ /* scclock for first minor frame */ uint32 sctime_collection; /* 32 bit spacecraft collection time */ /* beginning of MAG data collection cycle */ uint32 QAC; /* number of missing minor frames in this 16-sec cycle */ float64 b_inertial[MAGAVGDIM]; /* 16 second average mag vector in despun s/c */ /* inertial coordinates */ float64 b_sigma; /* dBrms over 16 seconds */ };
magframe_out_br.h , v 1.7
#include "hdfi.h" struct MagFrm_out_br { float64 bin_start; /* beginning of bin. # of sec since Jan 1 1996 UTC */ float64 bin_end; /* end of bin. # of sec since Jan 1 1996 UTC */ float64 b_out[3]; float64 b_mag_av; float64 b_sigma; uint32 iflag_out; uint8 weight; }; /*The identity of the variables is as follows: */ /*b_out[3] are the 3 (R,T,N) components of the output 16-second */ /* average of the IMF. */ /*b_mag_av the value of <|B|> computed over 16 seconds */ /*b_sigma dBrms over 16 seconds */ /* weight number of individual measurements in the average */ /*iflag_out obsolete. Now set to be same as weight */
For comments, questions or suggestions regarding these data structures,
email: asc@srl.caltech.eduLast update: Wed Nov 3 12:45:31 PST 1999