-------------------------------------- Log file format for balloon_tx program -------------------------------------- The program creates two type of log file. One master file for all the position and slow scan data and one for fastscan data. GPS positon and slow A/D format (stored on balloon device compact flash) file naming convention: hostname_MMDDYYYY.log MM - Month starting at January=01 DD - Day starting at 01 YYYY - Year in 4 digits (ex. 2004) Example of GPS log file: pebble_02152004.log Log file for pebble machine started on Feb. 15, 2004 <> # Mon Feb 16 21:26:49 2004 POS,pebble,21,26,49.00,34.066216,N,106.907402,W,1446.9,1,09,01.1,2c^M AD1,pebble,21,26,49.03687,-00.3708,000.0009,000.0674,000.0043,16^M AD2,pebble,21,26,49.03687,000.0745,000.0302,-00.0677,-00.0247,17^M AD3,pebble,21,26,49.03687,-00.0049,-00.0070,000.0037,-00.1279,10^M AD4,pebble,21,26,49.03687,-00.1294,-00.2075,-00.2426,-00.1593,1b^M AD1,pebble,21,27,26.03746,-00.3647,000.0012,000.1266,000.1657,14^M AD2,pebble,21,27,26.03746,000.1492,000.1868,000.3711,000.6699,30^M AD3,pebble,21,27,26.03746,-00.0018,-00.1923,-00.3259,-00.4291,0f^M AD4,pebble,21,27,26.03746,-00.4071,-00.5048,-02.1924,-03.3752,18^M <> <> # Mon Feb 16 21:26:49 2004 POS,pebble,21,26,49.00,34.066216,N,106.907402,W,1446.9,1,09,01.1,2c^M AD1,pebble,21,26,49.03687,-00.3708,000.0009,000.0674,000.0043,16^M AD2,pebble,21,26,49.03687,000.0745,000.0302,-00.0677,-00.0247,17^M AD3,pebble,21,26,49.03687,-00.0049,-00.0070,000.0037,-00.1279,10^M AD4,pebble,21,26,49.03687,-00.1294,-00.2075,-00.2426,-00.1593,1b^M AD1,pebble,21,27,26.03746,-00.3647,000.0012,000.1266,000.1657,14^M AD2,pebble,21,27,26.03746,000.1492,000.1868,000.3711,000.6699,30^M AD3,pebble,21,27,26.03746,-00.0018,-00.1923,-00.3259,-00.4291,0f^M AD4,pebble,21,27,26.03746,-00.4071,-00.5048,-02.1924,-03.3752,18^M # Mon Feb 16 21:39:06 2004 POS,pebble,21,39,11.00,34.066174,N,106.907433,W,1431.7,1,08,01.4,26^M AD1,pebble,21,39,11.03608,-00.3683,000.0012,001.3995,002.1896,21^M AD2,pebble,21,39,11.03608,002.8766,003.9557,005.5457,009.0012,39^M AD3,pebble,21,39,11.03608,-00.0034,000.3992,000.7239,000.6100,11^M AD4,pebble,21,39,11.03608,000.7703,001.3589,002.6794,007.7908,41^M POS,pebble,21,39,38.00,34.066174,N,106.907463,W,1428.3,1,08,01.4,34^M AD1,pebble,21,39,38.03628,-00.3671,000.0009,000.1178,000.0867,20^M AD2,pebble,21,39,38.03628,000.1584,000.1364,000.0632,000.1282,1c^M AD3,pebble,21,39,38.03628,-00.0037,-00.1682,-00.2487,-00.3552,18^M AD4,pebble,21,39,38.03628,-00.3555,-00.4477,-00.5612,-00.3174,1f^M <> Log string formats: ------------------ POS or position: POS,Inst ID,UTC Hour,Min,Secs,Latitude,Hemisphere,Longitude,Hemisphere, Altitude (m),gps fix,num sats,hdop,checksum *The time for the POS string comes from the GPS. A/D string: AD?,Inst. ID,UTC Hour,Min.,Sec.,Voltage channel[0,4,8,12],V ch.[1,5,9.13], V ch.[2,6,10,14],V ch.[3,7,11,15],checksum *The time for the ADx strings come from the CPU system time. Maximum Votage string: MAX1,Inst ID,UTC hour,min,sec,max ch0.,max ch1.,max ch2.,max ch3.,checksum *The max value represents the maximum voltage (either positive or negative) that was encoutered while reading the fast A/D channels. The time stamp is the time it was transmitted and not the precise time where it occured. The values are reset after transmission. Fast A/D format (stored on balloon device compact flash) ending in .edat file naming convention: hostname_MMDDYYYY_HHMM_VVV.edat MM - Month starting at January=01 DD - Day starting at 01 YYYY - Year in 4 digits (ex. 2004) HH - Hour (0 -23 UTC) MM - Minute (0-59 UTC) VVV - 3 digit file format version number. Currently 001. Files are currently about 8.5M in size. A new file is generated for each minute. The file is composed of multiple two second data records created with the following structure. #define FAD_SAMPLES 20000 #define FAD_SAMPLE_RATE 10000 struct ad_capture{ struct timespec time_start; struct timespec time_stop; short overflow; DSCSAMPLE ad0[FAD_SAMPLES]; DSCSAMPLE ad1[FAD_SAMPLES]; struct timespec time_start1; struct timespec time_stop1; DSCSAMPLE ad2[FAD_SAMPLES]; DSCSAMPLE ad3[FAD_SAMPLES]; struct timespec time_start2; struct timespec time_stop2; DSCSAMPLE ad4[FAD_SAMPLES]; DSCSAMPLE ad5[FAD_SAMPLES]; struct timespec time_start3; struct timespec time_stop3; DSCSAMPLE ad6[FAD_SAMPLES]; DSCSAMPLE ad7[FAD_SAMPLES]; }; time_start 8 bytes time_stop 8 bytes overflow 2 bytes ad[0-7] 2 bytes * FAD_SAMPLES = 40000 each or 320000 total -------------------------------------- Log file format for balloon_rx program -------------------------------------- Raw GPS receive mode: #POS, GPSRAW, hrZ,min,sec.xx,Lat,N,Long,W,Alt(m),rx mode,num sats, hdop,checksum Examples: POS,GPSRAW,21,13,05.00,33.981312,N,107.187920,W,3232.2,6,00,12.5,7e POS,GPSRAW,21,13,16.00,33.981503,N,107.187973,W,3232.2,6,00,12.5,7c POS,GPSRAW,21,13,17.00,33.981522,N,107.187973,W,3232.2,6,00,12.5,7e The time comes from the GPS UTC time. rx_mode is 0= no fix available and 1 = non-differential GPS fix num sats is the number of satellites the GPS is tracking. hdop is the horizontal dilution of preciscion in meters. * There appears to be a bug in the balloon_rx program. The rx_mode should be either a 0 or 1 not a 6. Also the hdop of 12.5 meters would correspsond to a satellite of 6 not 0. So there apears to be a problem in the raw gps GGA string decoding and log writing. Other file formats are the same for POS,AD?,and MAX1 strings as above. Way Point file used by GPSDRIVE program to track the balloon: Instr. ID:alt=m latitude longitude Examples: Esonde03:alt=03231m +33.982182 -107.188141 Esonde03:alt=03231m +33.982182 -107.188141 Esonde03:alt=03232m +33.982162 -107.188156 *The latitude and longitude are converted to there proper plus and minus values based on the hemispher character. The first field is actually the waypoint label as far as the GPSDRIVE program is concerned. Matlab output files: Since matlab can't handle characters very well when trying to convet the entire file into a matrix the text in the string type were replaced with numbers, the instr. ID's removed,and the lat. and long. were converted to their plus and minus values. Other than those changes,the stirngs remianed the same. String coversion list: 0 = POS 1 = AD1 2 = AD2 3 = AD3 4 = AD4 Examples: 0,18,39,22.00,33.982197,-107.188133,3229.3,1,07,01.5 1,18,39,22.009,-00.0459,+00.0937,+00.0816,+00.3004 2,18,39,22.009,+00.0206,-00.7253,+00.5827,+01.6620 3,18,39,22.009,+05.1613,+05.8903,+08.4318,-08.6043 4,18,39,22.009,+05.2209,+03.1706,+00.8654,+00.5862 Naming convension: Instr ID_MMDDYYYY.mat Instr ID is the name of the transmitting instrument. MMDDYYY is the the month, date and year of the start of when the file was written. Esonde03_08182004.mat ==================================================== VERSION 2.0 // MAY 2005 - John Battles