Issues: GPS(1) - GPS reset 8 times during mission. Possible bug in driver. symptoms: valid NMEA string, with good fix (12 sats, quality=2), but driver chose to reboot device, e.g. : AshtechGps::processRecord() - $GPRMC,230802.00,A,3641.74724,N,12202.77932,W,1.300,122.56,290620,,,D*74 : AshtechGps::processRecord() - $GPGGA,230802.00,3641.74724,N,12202.77932,W,2,12,0.71,-3.4,M,-31.1,M,,0000*4E : AshtechGps::processRecord() - $GPGLL,3641.74724,N,12202.77932,W,230802.00,A,D*7C : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: 1 : AshtechGps::processRecord() - $GPZDA,230802.00,29,06,2020,00,00*60 : AshtechGps::processRecord() - $GPRMC,230803.00,A,3641.74703,N,12202.77897,W,1.150,123.68,290620,,,D*75 : AshtechGps::processRecord() - $GPGGA,230803.00,3641.74703,N,12202.77897,W,2,12,0.71,-4.0,M,-31.1,M,,0000*47 : AshtechGps::processRecord() - $GPGLL,3641.74703,N,12202.77897,W,230803.00,A,D*76 : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: 1 : GetGPS::execute() - 5 minutes with no gps fix - cold start : GpsServer::initialize() - Cold starting gps! : AshtechGps::processRecord() - $GPZDA,230803.00,29,06,2020,00,00*61 : AshtechGps::processRecord() - received cold start command : dvlSOS = 0.000000 : AshtechGps::processRecord() - $GPTXT,01,01,02,Resetting GNSS*25 : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: 0 : AshtechGps::processRecord() - $GPRMC,,V,,,,,,,,,,N*53 : AshtechGps::processRecord() - $GPGGA,,,,,,0,00,99.99,,,,,,*48 GPS(2) - possible bug in GPS driver. Symptom: GPGGA strings look good, but driver is not processing them as good hit candidates, which resulted in an extended surface intervals. For example, here are relavent log segments from t=36,624s (21:18 local time), which corresponds to the getGPS behavior following completion of the second set of deep transects. This getGPS behavior took 512 seconds (8m32s) to complete, even though the GPGGA message reported fix quality = 1, and 12 tracked satellites 9 seconds after the behavior started). : LayeredControl::execute() -- (t = 36624.591044) Behavior ascend:-1 has changed to state Finished : LayeredControl::execute() -- (t = 36624.591044) Behavior getgps:-1 has changed to state Active : DynamicControlServer::Begin horizontal mode 0 at t = 36624.58 sec. : DynamicControlServer::Begin vertical mode 2 at t = 36624.58 sec. : AshtechGps::processRecord() - $GPZDA,041807.00,30,06,2020,00,00*69 : AshtechGps::processRecord() - $GPRMC,041808.00,V,,,,,,,300620,,,N*7F : AshtechGps::processRecord() - $GPGGA,041808.00,,,,,0,00,99.99,,,,,,*63 : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: , : AshtechGps::processRecord() - $GPGLL,,,,,041808.00,V,N*4F ...LOG TRUNCATED FOR BREVITY ...LOG TRUNCATED FOR BREVITY : AshtechGps::processRecord() - $GPRMC,041813.00,A,3641.79022,N,12202.76939,W,1.554,,300620,,,A*60 : AshtechGps::processRecord() - $GPGGA,041813.00,3641.79022,N,12202.76939,W,1,03,2.39,-5.0,M,-31.1,M,,*43 : AshtechGps::processRecord() - $GPGLL,3641.79022,N,12202.76939,W,041813.00,A,A*7B ...LOG TRUNCATED FOR BREVITY ...LOG TRUNCATED FOR BREVITY : AshtechGps::processRecord() - $GPGGA,041816.00,3641.78855,N,12202.76446,W,1,10,1.05,-8.2,M,-31.1,M,,*4B : AshtechGps::processRecord() - $GPGLL,3641.78855,N,12202.76446,W,041816.00,A,A*72 : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: 1 : AshtechGps::processRecord() - $GPZDA,041816.00,30,06,2020,00,00*69 : AshtechGps::processRecord() - $GPRMC,041817.00,A,3641.78884,N,12202.76435,W,1.454,4.37,300620,,,A*7F : dvlSOS = 0.000000 : AshtechGps::processRecord() - $GPGGA,041817.00,3641.78884,N,12202.76435,W,1,10,1.05,-7.7,M,-31.1,M,,*48 ...LOG TRUNCATED FOR BREVITY ...LOG TRUNCATED FOR BREVITY : AshtechGps::processRecord() - $GPGGA,041824.00,3641.79070,N,12202.76339,W,1,11,0.91,-5.8,M,-31.1,M,,*41 : dvlSOS = 0.000000 : AshtechGps::processRecord() - $GPGLL,3641.79070,N,12202.76339,W,041824.00,A,A*72 : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: 1 : AshtechGps::processRecord() - $GPZDA,041824.00,30,06,2020,00,00*68 : AshtechGps::processRecord() - $GPRMC,041825.00,A,3641.79081,N,12202.76334,W,0.567,37.17,300620,,,A*46 : AshtechGps::processRecord() - $GPGGA,041825.00,3641.79081,N,12202.76334,W,1,12,0.83,-6.2,M,-31.1,M,,*4A ...LOG TRUNCATED FOR BREVITY ...LOG TRUNCATED FOR BREVITY : AshtechGps::processRecord() - $GPGGA,041827.00,3641.79156,N,12202.76393,W,1,12,0.83,-6.5,M,-31.1,M,,*49 : AshtechGps::processRecord() - $GPGLL,3641.79156,N,12202.76393,W,041827.00,A,A*74 : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: 1 : AshtechGps::processRecord() - $GPZDA,041827.00,30,06,2020,00,00*6B : dvlSOS = 0.000000 : AshtechGps::processRecord() - $GPRMC,041828.00,A,3641.79190,N,12202.76411,W,1.218,334.00,300620,,,A*72 : AshtechGps::processRecord() - $GPGGA,041828.00,3641.79190,N,12202.76411,W,1,12,0.83,-6.2,M,-31.1,M,,*46 ...LOG TRUNCATED FOR BREVITY ...LOG TRUNCATED FOR BREVITY : AshtechGps::processRecord() - $GPGGA,042531.00,3641.77270,N,12202.78628,W,1,12,0.88,-4.5,M,-31.1,M,,*4B : GetGPS: fix.quality = 1 : GetGPS::execute() -- Got a new GPS hit: 1 of 10 needed : AshtechGps::processRecord() - $GPGLL,3641.77270,N,12202.78628,W,042531.00,A,A*7F ...LOG TRUNCATED FOR BREVITY ...LOG TRUNCATED FOR BREVITY : AshtechGps::processRecord() - $GPGGA,042540.00,3641.77223,N,12202.78733,W,2,12,0.88,-5.8,M,-31.1,M,,0000*4F : GetGPS: fix.quality = 2 : GetGPS::execute() -- Got a new GPS hit: 2 of 10 needed : AshtechGps::processRecord() - $GPGGA,042558.00,3641.77067,N,12202.78799,W,2,12,0.88,-6.8,M,-31.1,M,,0000*47 : GetGPS: fix.quality = 2 : GetGPS::execute() -- Got a new GPS hit: 9 of 10 needed : AshtechGps::processRecord() - $GPGLL,3641.77067,N,12202.78799,W,042558.00,A,D*7A ...TRUNCATED LOG FOR BREVITY ...TRUNCATED LOG FOR BREVITY : AshtechGps::processRecord() - $GPGGA,042639.00,3641.76674,N,12202.79113,W,2,12,0.85,-5.2,M,-31.1,M,,0000*47 : dvlSOS = 0.000000 : GetGPS: fix.quality = 2 : AshtechGps::processRecord() - $GPGLL,3641.76674,N,12202.79113,W,042639.00,A,D*7E : GetGPS::execute() -- Got a new GPS hit: 10 of 10 needed : AshtechGps::processRecord() - GpsUtils::hemisphere() - bad hemisphere value: 1 : LayeredControl::execute() -- (t = 37136.795955) Behavior getgps:-1 has changed to state Finished Iridium(1): 9601 is not reliably reporting. No hits were received for the entire mission, and only one SBD got out while the vehicle was being recovered. The magnet has been left out since the vehicle has been on deck, and in the 4 hours since recovery, the 9601 has gotten out msgs reliably. Apollo(1): During recovery the Apollo was not observed flashing until the crane had picked the vehicle from the water for several seconds. Apollo(2): Apollo relay misses some opportunities to transmit (surface intervals). Is this because the unit is in sleep, or because it detects seawater (likely the root cause of the above non-flashing behavior). Fearing(1): Wave action and boat roll during recovery resulted in the vehicle nose staying in the water while the tail torqued up. This resulted in the crane head applying significant force to area of the ferring aft of the Ti hook, further cracking the plastic. Tailcone(1): Wave action and boat roll during recovery resulted in the tail cone contacting the crane arm when the vehicle nosed down (same even as above). The duct shows a small amount of white paint transfer, but no further damage was observed, and prop works nominally. Tailcone(2): Tailcone consumed ~1.5 in of oil, and comp was nearly empty on recovery.