Hi,
I am working with nmealib-0.5.3 and I had some issues with the time interpretation
Imho, the time parser call in _nmea_parse_time(..) leads to a misinterpretation of the fractional seconds part (nmeaTIME struct, member hres). The NMEA message holds time as hhmmss, hhmmss.s, hhmmss.ss or hhmmss.sss, the fractional part is parsed separately from the rest of the string as one, two, three digit integer. However,
the interpretation of hres as milliseconds will lead to errors if there are less than 3 digits after the decimal point. My quick fix to the _nmea_parse_time(..) routine in parse.c looks like this (changes only in the lines marked with +:
int _nmea_parse_time(const char buff, int buff_sz, nmeaTIME res)
{
int success = 0;
switch(buff_sz) { case sizeof("hhmmss") - 1: success = (3 == nmea_scanf(buff, buff_sz, "%2d%2d%2d", &(res->hour), &(res->min), &(res->sec) )); break; case sizeof("hhmmss.s") - 1: case sizeof("hhmmss.ss") - 1:
Project was forked to https://github.com/ahr-project/nmealib because it was not active here.
Please file the issue there.