use input capture instead of EXTI interrupt to measure PPS time, send 2 clock samples per second instead of 1
two timer samples per second, reject NMEA data if it repeats the same second twice
split code into smaller functions