simpleStructs.h
1 
9 #ifndef SIMPLESTRUCTS_H
10 #define SIMPLESTRUCTS_H
11 
12 #define ANITA_STRUCTURES_H
13 
15 #include "AnitaConventions.h"
22 #ifdef SLAC_DATA06
23 //SLAC data definitions
24 #define VER_EVENT_BODY 7
25 #define VER_PEDSUBBED_EVENT_BODY 7
26 #define VER_EVENT_HEADER 7
27 #define VER_WAVE_PACKET 4
28 #define VER_SURF_PACKET 4
29 #define VER_ENC_WAVE_PACKET 4
30 #define VER_ENC_SURF_PACKET 4
31 #define VER_SURF_HK 5
32 #define VER_ADU5_PAT 4
33 #define VER_ADU5_SAT 4
34 #define VER_ADU5_VTG 4
35 #define VER_G12_POS 4
36 #define VER_G12_SAT 4
37 #define VER_HK_FULL 6
38 #define VER_CMD_ECHO 4
39 #define VER_MONITOR 5
40 #define VER_TURF_RATE 6
41 #define VER_LAB_PED 1
42 #define VER_FULL_PED 1
43 #define VER_SLOW_FULL 1
44 #define VER_SLOW_1 1
45 #define VER_SLOW_2 1
46 #elif ANITA_1_DATA
47 //ANITA 1 (2006/7) Data
48 #define VER_EVENT_BODY 7
49 #define VER_PEDSUBBED_EVENT_BODY 7
50 #define VER_EVENT_HEADER 9
51 #define SLAC_VER_EVENT_HEADER 7
52 #define VER_WAVE_PACKET 6
53 #define VER_SURF_PACKET 6
54 #define VER_ENC_WAVE_PACKET 6
55 #define VER_ENC_SURF_PACKET 6
56 #define VER_SURF_HK 9
57 #define VER_ADU5_PAT 4
58 #define VER_ADU5_SAT 4
59 #define VER_ADU5_VTG 4
60 #define VER_G12_POS 4
61 #define VER_G12_SAT 4
62 #define VER_HK_FULL 6
63 #define VER_CMD_ECHO 4
64 #define VER_MONITOR 7
65 #define VER_TURF_RATE 6
66 #define VER_LAB_PED 1
67 #define VER_FULL_PED 1
68 #define VER_SLOW_1 1
69 #define VER_SLOW_2 1
70 #define VER_SLOW_FULL 1
71 #define VER_ZIPPED_FILE 1
72 #define VER_ZIPPED_PACKET 1
73 #define VER_RUN_START 1
74 #define VER_OTHER_MON 1
75 #elif ANITA_2_DATA
76 #define VER_EVENT_BODY 11
77 #define VER_PEDSUBBED_EVENT_BODY 11
78 #define VER_EVENT_HEADER 13
79 #define SLAC_VER_EVENT_HEADER 10
80 #define VER_WAVE_PACKET 10
81 #define VER_SURF_PACKET 10
82 #define VER_ENC_WAVE_PACKET 10
83 #define VER_ENC_SURF_PACKET 10
84 #define VER_SURF_HK 14
85 #define VER_GPS_GGA 10
86 #define VER_ADU5_PAT 10
87 #define VER_ADU5_SAT 10
88 #define VER_ADU5_VTG 10
89 #define VER_G12_POS 10
90 #define VER_G12_SAT 10
91 #define VER_HK_FULL 10
92 #define VER_CMD_ECHO 10
93 #define VER_MONITOR 10
94 #define VER_TURF_RATE 16
95 #define VER_LAB_PED 10
96 #define VER_FULL_PED 10
97 #define VER_SLOW_1 10
98 #define VER_SLOW_2 10
99 #define VER_SLOW_FULL 10
100 #define VER_ZIPPED_FILE 10
101 #define VER_ZIPPED_PACKET 10
102 #define VER_RUN_START 10
103 #define VER_OTHER_MON 10
104 #define VER_GPSD_START 10
105 #define VER_LOGWATCHD_START 10
106 #define VER_AVG_SURF_HK 14
107 #define VER_SUM_TURF_RATE 16
108 #define VER_ACQD_START 11
109 #define VER_TURF_REG 10
110 #elif ANITA_3_DATA
111 #define VER_EVENT_BODY 30
112 #define VER_PEDSUBBED_EVENT_BODY 30
113 #define VER_EVENT_HEADER 33
114 #define SLAC_VER_EVENT_HEADER 30
115 #define VER_WAVE_PACKET 30
116 #define VER_SURF_PACKET 30
117 #define VER_ENC_WAVE_PACKET 30
118 #define VER_ENC_SURF_PACKET 30
119 #define VER_SURF_HK 31
120 #define VER_GPS_GGA 30
121 #define VER_ADU5_PAT 30
122 #define VER_ADU5_SAT 30
123 #define VER_ADU5_VTG 30
124 #define VER_G12_POS 30
125 #define VER_G12_SAT 30
126 #define VER_HK_FULL 30
127 #define VER_HK_SS 30
128 #define VER_CMD_ECHO 30
129 #define VER_MONITOR 31
130 #define VER_TURF_RATE 35
131 #define VER_LAB_PED 30
132 #define VER_FULL_PED 30
133 #define VER_SLOW_1 30
134 #define VER_SLOW_2 30
135 #define VER_SLOW_FULL 30
136 #define VER_ZIPPED_FILE 30
137 #define VER_ZIPPED_PACKET 30
138 #define VER_RUN_START 30
139 #define VER_OTHER_MON 30
140 #define VER_GPSD_START 30
141 #define VER_LOGWATCHD_START 30
142 #define VER_AVG_SURF_HK 31
143 #define VER_SUM_TURF_RATE 34
144 #define VER_ACQD_START 32
145 #define VER_TURF_REG 30
146 #define VER_TURF_EVENT_DATA 30
147 #define VER_GPU_POW_SPEC 30
148 #else //ANITA_4_DATA
149 #define VER_EVENT_BODY 40
150 #define VER_PEDSUBBED_EVENT_BODY 40
151 #define VER_EVENT_HEADER 41
152 #define SLAC_VER_EVENT_HEADER 40
153 #define VER_WAVE_PACKET 40
154 #define VER_SURF_PACKET 40
155 #define VER_ENC_WAVE_PACKET 40
156 #define VER_ENC_SURF_PACKET 40
157 #define VER_SURF_HK 41
158 #define VER_GPS_GGA 40
159 #define VER_ADU5_PAT 40
160 #define VER_ADU5_SAT 40
161 #define VER_ADU5_VTG 40
162 #define VER_G12_POS 40
163 #define VER_G12_SAT 40
164 #define VER_HK_FULL 40
165 #define VER_HK_SS 40
166 #define VER_CMD_ECHO 40
167 #define VER_MONITOR 41
168 #define VER_TURF_RATE 42
169 #define VER_LAB_PED 40
170 #define VER_FULL_PED 40
171 #define VER_SLOW_1 40
172 #define VER_SLOW_2 40
173 #define VER_SLOW_FULL 40
174 #define VER_ZIPPED_FILE 40
175 #define VER_ZIPPED_PACKET 40
176 #define VER_RUN_START 40
177 #define VER_OTHER_MON 41
178 #define VER_GPSD_START 40
179 #define VER_LOGWATCHD_START 40
180 #define VER_AVG_SURF_HK 41
181 #define VER_SUM_TURF_RATE 42
182 #define VER_ACQD_START 41
183 #define VER_TURF_REG 40
184 #define VER_TURF_EVENT_DATA 40
185 #define VER_GPU_POW_SPEC 41
186 #define VER_RTLSDR_POW_SPEC 40
187 #define VER_TUFF_STATUS 40
188 #define VER_TUFF_RAW_CMD 40
189 #define VER_TURF_RAW_BANK3 40
190 #endif
191 
192 
193 
194 //Enumerations
196 
199 typedef enum {
200  PACKET_BD = 0xff,
201  PACKET_HD = 0x100,
202  PACKET_WV = 0x101,
203  PACKET_SURF = 0x102,
204  PACKET_HD_SLAC = 0x103,
205  PACKET_SURF_HK = 0x110,
212  PACKET_ENC_SURF = 0x121,
219  PACKET_LAB_PED = 0x130,
220  PACKET_FULL_PED = 0x131,
226  PACKET_GPS_GGA = 0x205,
227  PACKET_HKD = 0x300,
228  PACKET_HKD_SS = 0x301,
230  PACKET_MONITOR = 0x500,
231  PACKET_WAKEUP_LOS = 0x600,
232  PACKET_WAKEUP_HIGHRATE = 0x601,
233  PACKET_WAKEUP_COMM1 = 0x602,
234  PACKET_WAKEUP_COMM2 = 0x603,
235  PACKET_SLOW1 = 0x700,
236  PACKET_SLOW2 = 0x800,
246  PACKET_RTLSDR_POW_SPEC = 0xe00 ,
247  PACKET_TUFF_STATUS =0xf00,
248  PACKET_TUFF_RAW_CMD =0xf01
249 
250 } PacketCode_t;
251 
252 typedef enum {
253  PACKET_FROM_G12 = 0x10000,
254  PACKET_FROM_ADU5A = 0x20000,
255  PACKET_FROM_ADU5B = 0x40000,
256  CMD_FROM_PAYLOAD = 0x80000
257 } AuxPacketCode_t;
258 
259 typedef enum {
260  kNoEncoding=0
261 } EventEncodingScheme_t;
262 
263 #ifdef SLAC_DATA06
264 typedef enum {
265  ENCODE_NONE=0,
266  ENCODE_SOMETHING=0x100
268 #else
269 
273 typedef enum {
277  ENCODE_LOSSLESS_11BIT,
278  ENCODE_LOSSLESS_10BIT,
279  ENCODE_LOSSLESS_9BIT,
280  ENCODE_LOSSLESS_8BIT,
281  ENCODE_LOSSLESS_7BIT,
282  ENCODE_LOSSLESS_6BIT,
283  ENCODE_LOSSLESS_5BIT,
284  ENCODE_LOSSLESS_4BIT,
285  ENCODE_LOSSLESS_3BIT,
286  ENCODE_LOSSLESS_2BIT,
287  ENCODE_LOSSLESS_1BIT,
290  ENCODE_LOSSLESS_BINFIB_10BIT,
291  ENCODE_LOSSLESS_BINFIB_9BIT,
292  ENCODE_LOSSLESS_BINFIB_8BIT,
293  ENCODE_LOSSLESS_BINFIB_7BIT,
294  ENCODE_LOSSLESS_BINFIB_6BIT,
295  ENCODE_LOSSLESS_BINFIB_5BIT,
296  ENCODE_LOSSLESS_BINFIB_4BIT,
297  ENCODE_LOSSLESS_BINFIB_3BIT,
298  ENCODE_LOSSLESS_BINFIB_2BIT,
299  ENCODE_LOSSLESS_BINFIB_1BIT,
301  ENCODE_LOSSY_MULAW_8BIT,
302  ENCODE_LOSSY_MULAW_7BIT,
303  ENCODE_LOSSY_MULAW_6BIT,
304  ENCODE_LOSSY_MULAW_5BIT,
305  ENCODE_LOSSY_MULAW_4BIT,
306  ENCODE_LOSSY_MULAW_3BIT,
307  ENCODE_LOSSY_MULAW_11_8,
308  ENCODE_LOSSY_MULAW_11_7,
309  ENCODE_LOSSY_MULAW_11_6,
310  ENCODE_LOSSY_MULAW_11_5,
311  ENCODE_LOSSY_MULAW_11_4,
312  ENCODE_LOSSY_MULAW_11_3,
313  ENCODE_LOSSY_MULAW_10_8,
314  ENCODE_LOSSY_MULAW_10_7,
315  ENCODE_LOSSY_MULAW_10_6,
316  ENCODE_LOSSY_MULAW_10_5,
317  ENCODE_LOSSY_MULAW_10_4,
318  ENCODE_LOSSY_MULAW_10_3,
319  ENCODE_LOSSY_MULAW_9_7,
320  ENCODE_LOSSY_MULAW_9_6,
321  ENCODE_LOSSY_MULAW_9_5,
322  ENCODE_LOSSY_MULAW_9_4,
323  ENCODE_LOSSY_MULAW_9_3,
324  ENCODE_LOSSY_MULAW_8_6,
325  ENCODE_LOSSY_MULAW_8_5,
326  ENCODE_LOSSY_MULAW_8_4,
327  ENCODE_LOSSY_MULAW_8_3,
328  ENCODE_LOSSY_MULAW_7_5,
329  ENCODE_LOSSY_MULAW_7_4,
330  ENCODE_LOSSY_MULAW_7_3,
331  ENCODE_LOSSY_MULAW_6_4,
332  ENCODE_LOSSY_MULAW_6_3
334 #endif
335 
337 
340 typedef enum {
341  PRI_FORCED = 0,
342  PRI_CALIB = 1,
343  PRI_1 = 1,
344  PRI_2,
345  PRI_3,
346  PRI_4,
347  PRI_TIMEOUT,
348  PRI_6,
349  PRI_7,
350  PRI_8,
351  PRI_PAYLOAD
352 } PriorityCode;
353 
355 
358 typedef enum {
359  IP320_RAW=0x100,
360  IP320_AVZ=0x200,
361  IP320_CAL=0x300
363 
365 //Structures
367 
369 
374 typedef struct {
375  PacketCode_t code;
376  unsigned int packetNumber;
377  unsigned short numBytes;
378  unsigned char feByte;
379  unsigned char verId;
380  unsigned int checksum;
382 
384 
387 typedef struct {
388  unsigned char trigType;
389  unsigned char l3Type1Count;
390  unsigned short trigNum;
391  unsigned int trigTime;
392  unsigned int ppsNum;
393  unsigned int c3poNum;
394  unsigned short upperL1TrigPattern;
395  unsigned short lowerL1TrigPattern;
396  unsigned short upperL2TrigPattern;
397  unsigned short lowerL2TrigPattern;
398  unsigned short l3TrigPattern;
399  unsigned short l3TrigPattern2;
401 
402 #ifdef SLAC_DATA06
404 #else
405 
410 typedef struct {
412 
415  unsigned char trigType;
416  unsigned char l3Type1Count;
417  unsigned short trigNum;
418  unsigned int trigTime;
419  unsigned short ppsNum;
420  unsigned short deadTime;
421  unsigned int c3poNum;
422  unsigned short l3TrigPattern;
423  unsigned short l3TrigPatternH;
424  unsigned char bufferDepth;
425  unsigned char reserved[3];
427 #endif
428 
430 
433 typedef struct {
434  unsigned char chanId;
435  unsigned char chipIdFlag;
436  unsigned char firstHitbus;
437  unsigned char lastHitbus;
438  float mean;
439  float rms;
440 
442 
444 
447 typedef struct {
449  ChannelEncodingType_t encType;
450  unsigned short numBytes;
451  unsigned short crc;
453 
454 #ifdef SLAC_DATA06
456 #else
457 
462 typedef struct {
464 
467  unsigned char chanId; // chan+9*surf
469 
475  unsigned char chipIdFlag; // Bits 0,1 chipNum; Bit 3 hitBus wrap; 4-7 hitBusOff
477 
481  unsigned char firstHitbus; // If wrappedHitbus=0 data runs, lastHitbus+1
483 
487  unsigned char lastHitbus; //to firstHitbus-1 inclusive
488 
490 #endif
491 
493 
496 typedef struct {
497  RawSurfChannelHeader_t rawHdr;
498  ChannelEncodingType_t encType;
499  unsigned short numBytes;
500  unsigned short crc;
502 
504 
507 typedef struct {
508  RawSurfChannelHeader_t header;
509  unsigned short data[MAX_NUMBER_SAMPLES];
511 
513 
516 typedef struct {
517  RawSurfChannelHeader_t header;
518  short xMax;
519  short xMin;
520  float mean;
521  float rms;
522  short data[MAX_NUMBER_SAMPLES];
524 
526 
529 typedef struct {
530  unsigned int unixTime;
531  unsigned int status;
532 } CalibStruct_t;
533 
535 
538 typedef struct {
539  unsigned short data[CHANS_PER_IP320];
541 
543 
546 typedef struct {
547  int data[CHANS_PER_IP320];
549 
551 
554 typedef struct {
555  AnalogueCode_t code;
556  AnalogueDataStruct_t board[NUM_IP320_BOARDS];
558 
559 
561 
564 typedef struct {
565  AnalogueCode_t code;
566  AnalogueDataStruct_t board;
568 
569 
570 #ifdef ANITA_1_DATA
571 typedef struct {
572  unsigned short temp[2];
574 #elif ANITA_2_DATA
575 
579 typedef struct {
580  short temp[4];
582 #else // ANITA_3_DATA
583 
587 typedef struct {
588  short temp[6];
590 #endif
591 
593 
596 typedef struct {
597  float x;
598  float y;
599  float z;
601 
602 
606 typedef struct
607 {
608  unsigned int unixTime;
609  unsigned int unixTimeUs;
612 
613 
615 
618 typedef struct {
619  unsigned int unixTime;
620  unsigned int unixTimeUs;
621  unsigned short scaler[ACTIVE_SURFS][32];
622  unsigned short extraScaler[ACTIVE_SURFS][32];
623 } SimpleScalerStruct_t; //No inter used
624 
626 
629 typedef struct __attribute__((packed))
630 {
631  GenericHeader_t gHdr;
632  unsigned int unixTime;
633  unsigned int unixTimeUs;
634  unsigned int whichBank;
635  unsigned int values[TURF_BANK_SIZE];
636 } TurfRegisterContents_t;
637 
638 
639 
641 
644 typedef struct {
645  GenericHeader_t gHdr;
646  unsigned int unixTime;
647  unsigned int unixTimeUs;
648  unsigned int eventNumber;
649  unsigned char rawBytes[TURF_EVENT_DATA_SIZE];
651 
652 
653 
655 
667 typedef struct {
668  unsigned short diskSpace[8];
669  char ntuLabel[12];
670  char otherLabel[12];
671  char usbLabel[12];
673 
675 
678 typedef struct {
679  unsigned short eventLinks[NUM_PRIORITIES];
680  unsigned short hkLinks[21];
681 } QueueStruct_t;
682 
684 
687 typedef struct {
688  unsigned int utime[NUM_PROCESSES];
689  unsigned int stime[NUM_PROCESSES];
690  unsigned int vsize[NUM_PROCESSES];
691 } ProcessInfo_t;
692 
694 
697 typedef struct {
698  unsigned char numCmdBytes;
699  unsigned char cmd[MAX_CMD_LENGTH];
700  unsigned int fromSipd;
702 
704 
707 typedef struct {
708  unsigned int numLines;
709  int logReq;
710  int jclOpt;
711  int optArg;
712  char filename[180];
714 
716 
719 typedef struct {
720  unsigned char chanId;
721  unsigned char chipId;
722  unsigned short chipEntries;
723  unsigned short pedMean[MAX_NUMBER_SAMPLES];
724  unsigned char pedRMS[MAX_NUMBER_SAMPLES];
726 
728 
731 typedef struct {
732  unsigned int eventNumber;
733  unsigned int runNumber;
735  char ntuLabel[12];
736  char otherLabel[12];
737  char usbLabel[12];
738 } IndexEntry_t;
739 
741 
744 typedef struct {
745  unsigned int eventNumber;
746  int pri;
748 
750 
753 typedef struct {
754  unsigned int eventNumber;
755  unsigned char rfPwrAvg[ACTIVE_SURFS][RFCHAN_PER_SURF];
756  unsigned char avgScalerRates[TRIGGER_SURFS][SCALERS_PER_SURF];
757  //unsigned char rmsScalerRates[TRIGGER_SURFS][TRIGGERS_PER_SURF];
758  // unsigned char avgL1Rates[TRIGGER_SURFS]; ///< 3 of 8 counters --fix later
759  // unsigned char avgL2Rates[PHI_SECTORS]; ///< average of upper and lower
760  // unsigned char avgL3Rates[PHI_SECTORS];
761  unsigned char eventRate1Min;
762  unsigned char eventRate10Min;
764 
766 
769 typedef struct {
770  float latitude;
771  float longitude;
772  short altitude;
773  unsigned char temps[4];
774  unsigned char powers[4];
776 
777 
778 
780 //Telemetry Structs (may be used for onboard storage)
782 
784 
787 typedef struct {
788  GenericHeader_t gHdr;
789  unsigned int unixTime;
790  unsigned int lastEventNumber;
791  float latitude;
792  float longitude;
793  float altitude;
794  unsigned short sbsTemp[2];
796 
798 
801 typedef struct {
802  GenericHeader_t gHdr;
803  unsigned int unixTime;
807 
809 
812 typedef struct {
813  GenericHeader_t gHdr;
814  unsigned int unixTime;
815  unsigned int c3poNum;
816  unsigned short ppsNum;
817  unsigned short deadTime;
818  unsigned char l3RatesGated[PHI_SECTORS];
819  unsigned short l2Rates[PHI_SECTORS]; //
820  unsigned char l3Rates[PHI_SECTORS];
821  unsigned short l2TrigMask;
822  unsigned short phiTrigMask;
823  unsigned char errorFlag;
824  unsigned char refPulses;
825  unsigned char reserved[2];
826 
827 
829 
830 
837 typedef struct __attribute__((packed))
838 {
839  GenericHeader_t gHdr;
840  unsigned int unixTime;
841  unsigned int unixTimeUs;
842  unsigned int whichBank; //just to match TurfRegisterContents_t
843  unsigned short l2Rates[16];
844  unsigned int unused[8];
845  unsigned char l3Rates[16];
846  unsigned int unused2[4];
847  unsigned char l3RatesGated[16];
848  unsigned int unused3[4];
849  unsigned char refPulses;
850  unsigned char unused4[3];
851  unsigned short deadTime;
852  unsigned short nothingtoseehere;
853  unsigned short rfScaler;
854  unsigned short unused5;
855  unsigned int moreunused[4];
856  unsigned int c3poNum;
857  unsigned char morejunk[6];
858  unsigned short ppsNum;
859  unsigned int shadowed[6];
860  unsigned int garbage[16];
861 } TurfRawBank3Struct_t;
862 
863 
864 
865 
867 
870 typedef struct {
871  GenericHeader_t gHdr;
872  unsigned int unixTime;
873  unsigned short numRates;
874  unsigned short deltaT;
875  unsigned int deadTime;
876  unsigned char bufferCount[4];
877  unsigned int l2Rates[PHI_SECTORS];
878  unsigned short l3Rates[PHI_SECTORS];
879  unsigned short l2TrigMask;
880  unsigned short phiTrigMask;
881  unsigned char errorFlag;
883 
885 
889 typedef struct {
890  GenericHeader_t gHdr;
891  unsigned int unixTime;
892  unsigned int unixTimeUs;
893 
895 
902  unsigned int turfEventId;
903  unsigned int eventNumber;
904  unsigned short calibStatus;
905  unsigned char priority;
906  unsigned char turfUpperWord;
907  unsigned char otherFlag;
908 
918  unsigned char errorFlag;
919  unsigned char surfSlipFlag;
920  unsigned char peakThetaBin;
921  unsigned short l2TrigMask;
922  unsigned short l2TrigMaskH;
923  unsigned short phiTrigMask;
924  unsigned short phiTrigMaskH;
925  unsigned short imagePeak;
926  unsigned short coherentSumPeak;
927  unsigned short prioritizerStuff;
930 
931 
933 
936 typedef struct {
937  GenericHeader_t gHdr;
938  unsigned int eventNumber;
939  SurfChannelFull_t waveform;
941 
942 
944 
948 typedef struct {
949  GenericHeader_t gHdr;
950  unsigned int eventNumber;
951  unsigned int whichPeds;
952  SurfChannelPedSubbed_t waveform;
954 
956 
959 typedef struct {
960  GenericHeader_t gHdr;
961  unsigned int eventNumber;
962  SurfChannelFull_t waveform[CHANNELS_PER_SURF];
964 
966 
969 typedef struct {
970  GenericHeader_t gHdr;
971  unsigned int eventNumber;
972  unsigned int whichPeds;
973  SurfChannelPedSubbed_t waveform[CHANNELS_PER_SURF];
975 
976 
977 // typedef struct {
978 // GenericHeader_t gHdr;
979 // unsigned int eventNumber;
980 // unsigned int whichPeds;
981 // EncodedSurfChannelHeader_t chanHead;
982 // } EncodedWaveformPacket_t; //0x101
983 
985 
988 typedef struct {
989  GenericHeader_t gHdr;
990  unsigned int eventNumber;
992 
994 
997 typedef struct {
998  GenericHeader_t gHdr;
999  unsigned int eventNumber;
1000  unsigned int whichPeds;
1002 
1005 
1007 
1010 typedef struct {
1011  GenericHeader_t gHdr;
1012  unsigned int unixTime;
1013  unsigned int unixTimeUs;
1014  unsigned int timeOfDay;
1015  float heading;
1016  float pitch;
1017  float roll;
1018  float mrms;
1019  float brms;
1020  float latitude;
1021  float longitude;
1022  float altitude;
1023  unsigned int attFlag;
1025 
1027 
1030 typedef struct {
1031  GenericHeader_t gHdr;
1032  unsigned int unixTime;
1033  unsigned int unixTimeUs;
1034  unsigned int timeOfDay;
1035  float latitude;
1036  float longitude;
1037  float altitude;
1038  float hdop;
1039  float geoidSeparation;
1040  float ageOfCalc;
1041  unsigned char posFixType;
1042  unsigned char numSats;
1043  unsigned short baseStationId;
1044 } GpsGgaStruct_t;
1045 
1047 
1050 typedef struct {
1051  unsigned char prn;
1052  unsigned char elevation;
1053  unsigned char snr;
1054  unsigned char flag;
1055  unsigned short azimuth;
1056 } GpsSatInfo_t;
1057 
1059 
1062 typedef struct {
1063  GenericHeader_t gHdr;
1064  unsigned int unixTime;
1065  unsigned int numSats;
1066  GpsSatInfo_t sat[MAX_SATS];
1068 
1070 
1073 typedef struct {
1074  GenericHeader_t gHdr;
1075  unsigned int unixTime;
1076  unsigned char numSats[4];
1077  GpsSatInfo_t sat[4][MAX_SATS];
1079 
1081 
1084 typedef struct {
1085  GenericHeader_t gHdr;
1086  unsigned int unixTime;
1087  unsigned int unixTimeUs;
1088  float trueCourse;
1089  float magneticCourse;
1090  float speedInKnots;
1091  float speedInKPH;
1093 
1095 
1098 typedef struct {
1099  GenericHeader_t gHdr;
1100  unsigned int unixTime;
1101  unsigned int unixTimeUs;
1102  unsigned int timeOfDay;
1103  unsigned int numSats;
1104  float latitude;
1105  float longitude;
1106  float altitude;
1107  float trueCourse;
1108  float verticalVelocity;
1109  float speedInKnots;
1110  float pdop;
1111  float hdop;
1112  float vdop;
1113  float tdop;
1115 
1117 
1120 typedef struct {
1121  GenericHeader_t gHdr;
1122  unsigned int unixTime;
1123  unsigned char ackCount[3];
1124  unsigned char nakCount[3];
1125  unsigned char rioBitMask;
1126  unsigned char tstBitMask;
1128 
1129 
1131 
1139 typedef struct {
1140  GenericHeader_t gHdr;
1141  unsigned int unixTime;
1142  unsigned char turfIdBytes[4];
1143  unsigned int turfIdVersion;
1144  unsigned char turfioIdBytes[4];
1145  unsigned int turfioIdVersion;
1146  unsigned char surfIdBytes[ACTIVE_SURFS][4];
1147  unsigned int surfIdVersion[ACTIVE_SURFS];
1148  unsigned char testBytes[8];
1149  unsigned int numEvents;
1150  float chanMean[ACTIVE_SURFS][CHANNELS_PER_SURF];
1151  float chanRMS[ACTIVE_SURFS][CHANNELS_PER_SURF];
1152  unsigned short threshVals[10];
1153  unsigned short scalerVals[TRIGGER_SURFS][SCALERS_PER_SURF][10];
1155 
1157 
1160 typedef struct {
1161  GenericHeader_t gHdr;
1162  unsigned int unixTime;
1163  unsigned int unixTimeUs;
1164  FullAnalogueStruct_t ip320;
1167 } HkDataStruct_t;
1168 
1169 
1171 
1174 typedef struct {
1175  GenericHeader_t gHdr;
1176  unsigned int unixTime;
1177  unsigned int unixTimeUs;
1178  SingleAnalogueStruct_t ip320;
1180 
1182 
1185 typedef struct {
1186  GenericHeader_t gHdr;
1187  unsigned int unixTime;
1188  unsigned int unixTimeUs;
1189  unsigned short globalThreshold;
1190  unsigned short errorFlag;
1191  unsigned short scalerGoals[NUM_ANTENNA_RINGS];
1192  unsigned short reserved;
1193  unsigned short upperWords[ACTIVE_SURFS];
1194  unsigned short scaler[TRIGGER_SURFS][SCALERS_PER_SURF];
1195  unsigned short l1Scaler[TRIGGER_SURFS][L1S_PER_SURF];
1196  unsigned short l2Scaler[TRIGGER_SURFS][L2S_PER_SURF];
1197  unsigned short threshold[TRIGGER_SURFS][SCALERS_PER_SURF];
1198  unsigned short setThreshold[TRIGGER_SURFS][SCALERS_PER_SURF];
1199  unsigned short rfPower[ACTIVE_SURFS][RFCHAN_PER_SURF];
1200  unsigned short surfTrigBandMask[TRIGGER_SURFS];
1201  unsigned char surfTrigIndex[TRIGGER_SURFS];
1203 
1205 
1208 typedef struct {
1209  GenericHeader_t gHdr;
1210  unsigned int unixTime;
1211  unsigned short numHks;
1212  unsigned short deltaT;
1213  unsigned int hadError;
1214  unsigned short globalThreshold;
1215  unsigned short scalerGoals[NUM_ANTENNA_RINGS];
1216  unsigned short avgScaler[TRIGGER_SURFS][SCALERS_PER_SURF];
1217  unsigned short rmsScaler[TRIGGER_SURFS][SCALERS_PER_SURF];
1218  unsigned short avgL1[TRIGGER_SURFS][L1S_PER_SURF];
1219  unsigned short rmsL1[TRIGGER_SURFS][L1S_PER_SURF];
1220  unsigned short avgThresh[TRIGGER_SURFS][SCALERS_PER_SURF];
1221  unsigned short rmsThresh[TRIGGER_SURFS][SCALERS_PER_SURF];
1222  unsigned short avgRFPower[ACTIVE_SURFS][RFCHAN_PER_SURF];
1223  unsigned short rmsRFPower[ACTIVE_SURFS][RFCHAN_PER_SURF];
1224  unsigned short surfTrigBandMask[TRIGGER_SURFS];
1226 
1228 
1232 typedef struct {
1233  GenericHeader_t gHdr;
1234  unsigned int unixTime;
1235  unsigned short goodFlag;
1236  unsigned short numCmdBytes;
1237  unsigned char cmd[MAX_CMD_LENGTH];
1238 } CommandEcho_t;
1239 
1241 
1244 typedef struct {
1245  GenericHeader_t gHdr;
1246  unsigned int unixTime;
1247  DiskSpaceStruct_t diskInfo;
1248  QueueStruct_t queueInfo;
1249  ProcessInfo_t procInfo;
1250 } MonitorStruct_t;
1251 
1253 
1256 typedef struct __attribute__((packed)) {
1257  GenericHeader_t gHdr;
1258  unsigned int unixTime;
1259  unsigned int ramDiskInodes;
1260  unsigned int runStartTime;
1261  unsigned int runStartEventNumber;
1262  unsigned int runNumber;
1263  unsigned short dirFiles[3];
1264  unsigned short dirLinks[3];
1265  unsigned int processBitMask;
1266  unsigned short reserved;
1267 } OtherMonitorStruct_t;
1268 
1270 
1273 typedef struct {
1274  GenericHeader_t gHdr;
1275  unsigned int unixTimeStart;
1276  unsigned int unixTimeEnd;
1277  LabChipChannelPedStruct_t pedChan[CHANNELS_PER_SURF];
1279 
1281 
1284 typedef struct {
1285  GenericHeader_t gHdr;
1286  unsigned int numUncompressedBytes;
1287 } ZippedPacket_t;
1288 
1290 
1293 typedef struct {
1294  GenericHeader_t gHdr;
1295  unsigned int unixTime;
1296  unsigned short numUncompressedBytes;
1297  unsigned short segmentNumber;
1298  char filename[60];
1299 } ZippedFile_t;
1300 
1302 
1305 typedef struct {
1306  GenericHeader_t gHdr;
1307  unsigned int unixTime;
1308  unsigned int eventNumber;
1309  unsigned int runNumber;
1310 } RunStart_t;
1311 
1313 
1316 typedef struct {
1317  GenericHeader_t gHdr;
1318  unsigned int unixTime;
1319  unsigned int runNumber;
1320  float upTime;
1321  float idleTime;
1323 
1325 // On-board structs
1327 
1329 
1332 typedef struct {
1333  GenericHeader_t gHdr;
1334  unsigned int eventNumber; /* Global event number */
1335  unsigned int surfEventId[ACTIVE_SURFS];
1336  SurfChannelFull_t channel[NUM_DIGITZED_CHANNELS];
1338 
1340 
1343 typedef struct {
1344  GenericHeader_t gHdr;
1345  unsigned int eventNumber; /* Global event number */
1346  unsigned int surfEventId[ACTIVE_SURFS];
1347  unsigned int whichPeds;
1348  SurfChannelPedSubbed_t channel[NUM_DIGITZED_CHANNELS];
1350 
1352 
1355 typedef struct {
1356  AnitaEventHeader_t header;
1357  AnitaEventBody_t body;
1359 
1361 
1364 typedef struct {
1366  unsigned int eventNumber;
1367  unsigned numBytes;
1369 
1371 
1374 typedef struct {
1375  unsigned int unixTime;
1376  unsigned int subTime;
1377  int fromAdu5;
1378 } GpsSubTime_t;
1379 
1380 
1382 //Raw Gps Structs
1384 
1386 
1389 typedef struct __attribute__((packed)) RawAdu5MBNStruct {
1390  char header[11];
1391  unsigned short sequence_tag;
1392  unsigned char mben_left;
1393  unsigned char svpm;
1394  unsigned char el;
1395  unsigned char az;
1396  unsigned char chnind;
1397  unsigned char warn;
1398  unsigned char good_bad;
1399  unsigned char polarity_know;
1400  unsigned char ireg;
1401  unsigned char qa_phase;
1402  double full_phase;
1403  double raw_range;
1404  int doppler;
1405  int smoothing;
1406  unsigned char checkSum;
1407  char carriageReturn;
1408  char lineFeed;
1409 } RawAdu5MBNStruct_t;
1410 
1411 
1413 
1416 typedef struct __attribute__((packed)) RawAdu5SNVStruct {
1417  char snvHeader[11];
1418  short weekNumber;
1419  int secondsInWeek;
1420  float groupDelay;
1421  int aodc;
1422  int toc;
1423  float af2;
1424  float af1;
1425  float af0;
1426  int aode;
1427  float deltaN;
1428  double m0;
1429  double eccentricity;
1430  double roota;
1431  int toe;
1432  float cic;
1433  float crc;
1434  float cis;
1435  float crs;
1436  float cuc;
1437  float cus;
1438  double omega0;
1439  double omega;
1440  double i0;
1441  float omegadot;
1442  float idot;
1443  short accuracy;
1444  short health;
1445  short fit;
1446  char prnnum;
1447  char res;
1448  unsigned short checkSum;
1449  char carriageReturn;
1450  char lineFeed;
1451 } RawAdu5SNVStruct_t;
1452 
1454 
1456 
1459 typedef struct __attribute__((packed)) RawAdu5PBNStruct {
1460  char pbenHeader[11];
1461  int pben_time;
1462  char sitename[4];
1463  double navx;
1464  double navy;
1465  double navz;
1466  float navt;
1467  float navxdot;
1468  float navydot;
1469  float navzdot;
1470  float navtdot;
1471  unsigned short pdop;
1472  unsigned short checkSum;
1473  char carriageReturn;
1474  char lineFeed;
1475 } RawAdu5PBNStruct_t;
1476 
1478 
1481 typedef struct __attribute__((packed)) RawAdu5ATTStruct {
1482  char attHeader[11];
1483  double head;
1484  double pitch;
1485  double roll;
1486  double brms;
1487  double mrms;
1488  int timeOfWeek;
1489  char reset;
1490  char spare;
1491  unsigned short checkSum;
1492  char carriageReturn;
1493  char lineFeed;
1494 } RawAdu5ATTStruct_t;
1495 
1496 
1497 typedef struct __attribute__((packed)) RawAdu5BFileHeader {
1498  char version[10];
1499  unsigned char raw_version;
1500  char rcvr_type[10];
1501  char chan_ver[10];
1502  char nav_ver[10];
1503  short capability;
1504  int wb_start;
1505  char num_obs_type;
1506  char spare[42];
1507 } RawAdu5BFileHeader_t;
1508 
1509 typedef struct __attribute__((packed)) RawAdu5BFileRawNav {
1510  char sitename[4];
1511  double rcv_time;
1512  double navx;
1513  double navy;
1514  double navz;
1515  float navxdot;
1516  float navydot;
1517  float navzdot;
1518  double navt;
1519  double navtdot;
1520  unsigned short pdop;
1521  char num_sats;
1522 } RawAdu5BFileRawNav_t;
1523 
1524 typedef struct __attribute__((packed)) RawAdu5BFileChanObs {
1525  double raw_range;
1526  float smth_corr;
1527  unsigned short smth_count;
1528  char polarity_known;
1529  unsigned char warning;
1530  unsigned char goodbad;
1531  unsigned char ireg;
1532  unsigned char qa_phase;
1533  int doppler;
1534  double carphase;
1535 } RawAdu5BFileChanObs_t;
1536 
1537 
1538 typedef struct __attribute__((packed)) RawAdu5BFileSatelliteHeader {
1539  unsigned char svprn;
1540  unsigned char elevation;
1541  unsigned char azimuth;
1542  unsigned char chnind;
1543 } RawAdu5BFileSatelliteHeader_t;
1544 
1545 
1547 
1550 typedef struct __attribute__((packed)) RawAdu5EFileStruct {
1551  char prnnum;
1552  short weekNumber;
1553  int secondsInWeek;
1554  float groupDelay;
1555  int aodc;
1556  int toc;
1557  float af2;
1558  float af1;
1559  float af0;
1560  int aode;
1561  float deltaN;
1562  double m0;
1563  double eccentricity;
1564  double roota;
1565  int toe;
1566  float cic;
1567  float crc;
1568  float cis;
1569  float crs;
1570  float cuc;
1571  float cus;
1572  double omega0;
1573  double omega;
1574  double i0;
1575  float omegadot;
1576  float idot;
1577  short accuracy;
1578  short health;
1579  short fit;
1580 } RawAdu5EFileStruct_t;
1581 
1583 
1586 typedef struct __attribute__((packed)) RawAdu5AFileStruct {
1587  double head;
1588  double roll;
1589  double pitch;
1590  double brms;
1591  double mrms;
1592  int timeOfWeek;
1593  char reset;
1594  char spare;
1595 } RawAdu5AFileStruct_t;
1596 
1598 //Utility Structures
1601 
1604 typedef struct {
1605  unsigned int pedUnixTime;
1606  ChannelEncodingType_t encTypes[ACTIVE_SURFS][CHANNELS_PER_SURF];
1608 
1610 //Prioritizer Utitlity Structs
1613 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1614 // these are syntactic sugar to help us keep track of bit shifts
1615 typedef int Fixed3_t;
1616 typedef int Fixed6_t;
1617 typedef int Fixed8_t;
1618 
1619 
1620 /* FOR THREE STRUCTS THAT FOLLOW
1621  valid samples==-1 prior to unwinding
1622 */
1623 
1625 
1628 typedef struct {
1629  int data[MAX_NUMBER_SAMPLES];
1630  int valid_samples;
1631 } LogicChannel_t;
1632 
1634 
1637 typedef struct {
1638  Fixed3_t data[MAX_NUMBER_SAMPLES];
1639  Fixed3_t baseline;
1640  short valid_samples;
1641 } TransientChannel3_t;
1642 
1644 
1647 typedef struct {
1648  Fixed6_t data[MAX_NUMBER_SAMPLES];
1649  short valid_samples;
1650 } TransientChannel6_t;
1651 
1653 
1656 typedef struct {
1657  Fixed8_t data[MAX_NUMBER_SAMPLES];
1658  Fixed8_t baseline;
1659  short valid_samples;
1660 } TransientChannel8_t;
1661 
1663 
1666 typedef struct {
1667  float data[MAX_NUMBER_SAMPLES];
1668  short valid_samples;
1669 } TransientChannelF_t;
1670 
1672 
1675 typedef struct {
1676  float data[MAX_NUMBER_SAMPLES];
1677  short valid_samples;
1678  float RMSall;
1679  float RMSpre;
1680 } TransientChannelFRMS_t;
1681 
1683 
1686 typedef struct {
1687  TransientChannel3_t ch[NUM_DIGITZED_CHANNELS];
1688 } AnitaTransientBody3_t; /* final corrected transient type
1689  used to calculate power */
1691 
1694 typedef struct {
1695  TransientChannel6_t ch[NUM_DIGITZED_CHANNELS];
1696 } AnitaPowerBody6_t; /* power from squaring an AnitaTransientBody3 */
1697 
1699 
1702 typedef struct {
1703  TransientChannel8_t ch[NUM_DIGITZED_CHANNELS];
1704 } AnitaTransientBody8_t; /* used for pedestal subtraction, unwrapping,
1705  averaging, and gain correction */
1707 
1710 typedef struct {
1711  TransientChannelF_t ch[NUM_DIGITZED_CHANNELS];
1712 } AnitaTransientBodyF_t;
1713 
1715 
1718 typedef struct {
1719  TransientChannel6_t S0,S1,S2,S3;
1720 } AnitaStokes6_t;
1722 #endif //DOXYGEN_SHOULD_SKIP_THIS
1723 
1728 
1731 typedef struct {
1732  unsigned int unixTimeStart;
1733  unsigned int unixTimeEnd;
1734  LabChipChannelPedStruct_t pedChan[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF];
1735 } FullPedStruct_t;
1736 
1738 
1741 typedef struct {
1742  unsigned int unixTimeStart;
1743  unsigned int unixTimeEnd;
1744  unsigned short chipEntries[ACTIVE_SURFS][LABRADORS_PER_SURF];
1745  unsigned int mean[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF][MAX_NUMBER_SAMPLES];
1746  unsigned int meanSq[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF][MAX_NUMBER_SAMPLES];
1747  unsigned int entries[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF][MAX_NUMBER_SAMPLES];
1748  float fmean[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF][MAX_NUMBER_SAMPLES];
1749  float frms[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF][MAX_NUMBER_SAMPLES];
1750 } PedCalcStruct_t;
1751 
1753 
1756 typedef struct {
1757  unsigned int unixTime;
1758  unsigned int nsamples;
1759  unsigned short thePeds[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF][MAX_NUMBER_SAMPLES];
1760  unsigned short pedsRMS[ACTIVE_SURFS][LABRADORS_PER_SURF][CHANNELS_PER_SURF][MAX_NUMBER_SAMPLES];
1762 
1763 
1764 typedef struct {
1765  unsigned char bins[99];
1767 
1768 typedef struct {
1769  GenericHeader_t gHdr;
1770  unsigned int unixTimeFirstEvent;
1771  unsigned int unixTimeLastEvent;
1772  unsigned int numEventsAveraged;
1773  unsigned int firstEventInAverage;
1774  unsigned char pol;
1775  unsigned char ring;
1776  // GpuAnitaBandPowerSpectrumStruct_t powSpectra[NUM_ANTENNA_RINGS][2];
1777  // should be NUM_PHI
1778  GpuAnitaBandPowerSpectrumStruct_t powSpectra[16];
1780 
1781 
1782 
1789 typedef struct
1790 {
1791  GenericHeader_t gHdr;
1792  unsigned int nFreq; //< number of frequency bins actually stored
1793  unsigned int startFreq; //< start frequency of output, in Hz
1794  unsigned int freqStep; //< frequency step of output, in Hz
1795  unsigned int unixTimeStart; //< time when scan was started (unix time)
1796  unsigned short scanTime; //< approximate time it scan to finish finished (in decisecs).
1797  unsigned short gain; //< LNA gain, in cBm (i.e. 10 * dBm)
1798  unsigned char spectrum [RTLSDR_MAX_SPECTRUM_BINS]; //< power spectra... see anitaFlight.h for units
1799  unsigned char rtlNum ; //<which RTL is this? This is the SERIAL NUMBER (RTL%d), not the device enumeration order ( 4 bits is sufficient for < 15 devices)
1801 
1802 
1806 typedef struct __attribute__((packed))
1807 {
1808  GenericHeader_t gHdr;
1809  unsigned int notchSetTime; // The last time the notches were set
1810  unsigned int unixTime; // The approximate time that this was written. If temperatures are read, the temperatures are read around this time
1811  unsigned char startSectors[NUM_TUFF_NOTCHES]; //start sectors... 0 to 15 for real sectors, start and stop on 16 means nothing is enabled
1812  unsigned char endSectors[NUM_TUFF_NOTCHES]; //stop sectors... 0 to 15 for real sectors, start and stop on 16 means nothing is enabled
1813  char temperatures[NUM_RFCM]; //-128 if temperatures are not being read , 127 if TUFF not responding.
1814 } TuffNotchStatus_t;
1815 
1816 typedef struct __attribute__((packed))
1817 {
1818  GenericHeader_t gHdr;
1819  unsigned int requestedTime;
1820  unsigned int enactedTime;
1821  unsigned short cmd;
1822  unsigned char irfcm; //these could be packed more strongly
1823  unsigned char tuffStack; //these could be packed more strongly
1824 } TuffRawCmd_t;
1825 
1826 
1827 
1828 
1829 #include "oldStructs.h"
1830 
1831 #endif //SIMPLESTRUCTS_H
EncodedPedSubbedChannelPacketHeader_t – Yes.
Gps Satellite Info.
SS Hk Data Struct – Telemetered.
unsigned short ppsNum
1PPS
Encoded SURF Packet header – Telemetered.
float rms
Filled by Prioritizerd.
MonitorStruct_t – Yes.
Slow rate struct.
struct __attribute__((packed))
Debugging use only TURF scaler data.
unsigned int unixTime
Corresponds to unixTimeEnd above.
GpsAdu5PatStruct_t – Yes.
unsigned short trigNum
turf trigger counter
Acromag data array.
HkDataStruct_t – Yes.
AnitaEventBody_t – No.
ZippedFile_t – Yes.
unsigned numBytes
Not including the EncodedEventWrapper_t;.
unsigned int whichPeds
whichPedestals did we subtract
unsigned char chipIdFlag
Bits 0,1 chipNum; Bit 3 hitBus wrap; 4-7 hitBusOff.
SummedTurfRateStruct_t – yes.
unsigned short deadTime
How much were we dead??
ChannelEncodingType_t
The encoding enumeration.
On board log request struct.
unsigned short goodFlag
0 is bad, 1 is good
Disk Space.
unsigned int unixTime
Time of first hk.
unsigned char peakThetaBin
8-bit peak theta bin from Prioritizer
ADU5 Satellite Info – Telemetered.
unsigned int eventNumber
Global event number.
unsigned short phiTrigMask
16 bit phi-sector mask
Pedestal utility.
The TURF I/O struct.
Gpsd Start Block – Telemetered.
int gpsSubTime
GPS timestamp.
On board structure for calibration/relay status.
On board pedestal struct.
Summed Turf Rates – Telemetered.
Debugging use only scaler data.
PedSubbedSurfPacket_t – Yes.
The magnetometer data.
Single Acromag data structure.
unsigned char priority
priority and other
The Generic Header.
GenericHeader_t gHdr
gHdr.numBytes includes EncodedEventWrapper_t
unsigned char chanId
chan+9*surf
Slow Rate Block – Telemetered.
EncodedPedSubbedSurfPacketHeader_t – Yes.
int fromAdu5
2 is ADU52, 1 is ADU51 , 0 is g12
unsigned char trigType
Trig type bit masks.
unsigned int eventNumber
Start eventNumber.
unsigned char chanId
Channel Id.
OtherMonitorStruct_t – Yes.
unsigned int ppsNum
1PPS
RunStart_t – Yes.
Pedestal subtracted event format.
Done is just a marker for below.
unsigned short deltaT
Difference in time between first and last.
GpsGgaStruct_t – Yes.
GPS Event Timestamp.
ADU5 course and speed info – Telemetered.
LogWatchdStart_t – Yes.
Queue Stuff.
The Acqd Startup Struct – Telemetered.
FullSurfHkStruct_t –Yes.
unsigned int c3poNum
1 number of trigger time ticks per PPS
G12 Satellite Info – Telemetered.
Raw waveform packet – Telemetered.
unsigned short trigNum
turf trigger counter
unsigned int unixTime
Time of first hk.
unsigned int numLines
0 results in a cat, otherwise a tail
Done is just a marker for below.
Pedestal Block – Telemetered.
unsigned short calibStatus
Were we flashing the pulser?
Raw event format.
unsigned char errorFlag
Error Flag.
AcqdStartStruct_t – Yes.
Hk Data Struct – Telemetered.
unsigned int deadTime
Summed dead time between first and last.
EncodedSurfPacketHeader_t – Yes.
float rms
Filled by pedestalLib.
RawWaveformPacket_t –Yes.
Monitor Block – Telemetered.
unsigned char l3Type1Count
L3 counter.
TurfioStruct_t turfio
The X byte TURFIO data.
On board Playback request.
unsigned char errorFlag
Bit 1-4 bufferdepth, Bits 5,6,7 are for upper,lower,nadir trig mask match.
SlowRateFull_t – Yes.
ANITA Event Header – Telemetered.
unsigned char otherFlag
unsigned int turfEventId
Turf event id that doesn&#39;t roll.
unsigned short errorFlag
Will define at some point.
Acromag data array.
unsigned short phiTrigMaskH
16-bit phi mask (from TURF)
Process Information.
unsigned short deadTime
fraction = deadTime/64400
Zipped File – Telemetered.
ADU5 Postion and Attitude – Telemetered.
float mean
Filled by Prioritizerd.
unsigned short l2TrigMaskH
16-bit phi ant mask (from TURF)
Zipped packet – Telemetered.
PacketCode_t
The Packet Code.
unsigned char refPulses
Ref pulses.
Average Surf Hk – Telemetered.
unsigned short ppsNum
It&#39;s only updated every second so no need for sub-second timing.
unsigned char eventRate1Min
Multiplied by 8.
unsigned int fromSipd
1 means it was a user command from SIPd, 0 is payload generated
TurfRateStruct_t – Yes.
The channel header.
EncodedEventWrapper_t – No.
Encoded PedSubbed Packet Header – Telemetered.
EncodedEventWrapper_t – No.
Command Echo – Telemetered.
Wrapper for data that is written encoded.
unsigned short imagePeak
16-bit image peak from Prioritizer
unsigned short globalThreshold
set to zero if there isn&#39;t one
unsigned char lastHitbus
Last sample of the hitbus.
PriorityCode
The PriorityCode.
unsigned char bufferDepth
bits 0,1 trigTime depth 2,3 current depth
PedSubbedEventBody_t – No too big.
unsigned char l3Type1Count
L3 counter.
unsigned char surfSlipFlag
Sync Slip between SURF 2-9 and SURF 1.
G12 Position and speed info – Telemetered.
Pedsubbed Waveform packet – Telemetered.
int eventDiskBitMask
Which disks was it written to?
Full Acromag data structure.
unsigned char errorFlag
Bit 1-4 bufferdepth, Bits 5,6,7 are for upper,lower,nadir trig mask match.
ADU5 Postion and Geoid – Telemetered.
unsigned int packetNumber
Especially for Ped.
Pedestal utility.
The Old SLAC data TURF I/O struct.
unsigned char turfUpperWord
The upper 8 bits from the TURF.
unsigned char trigType
The trigger type.
unsigned short prioritizerStuff
TBD.
unsigned char firstHitbus
First sample of the hitbus.
Done is just a marker for below.
unsigned int hadError
Bit mask to be defined.
unsigned int unixTime
unix UTC sec
AveragedSurfHkStruct_t – yes.
Pedestal utility.
unsigned int c3poNum
1 number of trigger time ticks per PPS
unsigned short numHks
Number of hks in average.
unsigned short numCmdBytes
number of cmd bytes (upto 10)
GpsAdu5VtgStruct_t – Yes.
unsigned char chanId
chan+9*surf
PedestalStruct_t – No (Too Big)
unsigned short l2TrigMask
As read from TURF (16-bit phi)
SSHkDataStruct_t – Yes.
GpsG12SatStruct_t – Yes.
On board command structre.
unsigned int unixTime
Start time.
unsigned int unixTimeUs
unix UTC microsec
Full event format – never used.
GpuPhiSectorPowerSpectrum_t – Yes.
Run Start Block - Telemetered.
unsigned int nsamples
What was the mean occupancy.
GpsdStartStruct_t – Yes.
unsigned short numRates
Number of rates in average.
Slow Hk Stuff.
Pedestal subtracted SURF wavefom packet – Telemetered.
Turf Rates – Telemetered.
The XCR14 temperatures.
A complete pedestal subtracted SURF channel.
unsigned char eventRate10Min
Multiplied by 8.
LogWatchd Start Block – Telemetered.
ZippedPacket_t – Yes.
unsigned short coherentSumPeak
16-bit coherent sum peak from Prioritizer
unsigned int runNumber
Run number.
A complete SURF channel.
unsigned short phiTrigMask
16-bit phi mask (from TURF)
On board Index struct.
unsigned short phiTrigMask
16-bit phi-sector mask
PedSubbedWaveformPacket_t – Yes.
GpsAdu5SatStruct_t – Yes.
TurfRegisterContents_t – probably not.
FullLabChipPedStruct_t – Yes.
AnalogueCode_t
The Hk Analogue Code.
SURF Hk – Telemetered.
Raw SURF wavefom packet – Telemetered.
unsigned char chipIdFlag
chip id bitmask
CommandEcho_t – Yes.
unsigned short l2TrigMask
16-bit phi ant mask (from TURF)
GpsG12PosStruct_t – Yes.
unsigned char chipId
0-3
unsigned short deltaT
Difference in time between first and last.
float mean
Filled by pedestalLib.
Channel header for encoded data.
Debugging use only TURF raw event data.
unsigned short l2TrigMask
to get Hz
RawSurfPacket_t – Yes.
AnitaEventHeader_t –Yes.
TurfRawEventData_t – probably not.