avoid wrapping the counter of usb SOF events
skip samples with no GPS lock
use an adaptive filter based on how many samples are rejected over a 5*16 second window
move GPS NMEA data and PPS data into Moose objects