adrianmo / go-nmea

A NMEA parser library in pure Go
MIT License
227 stars 78 forks source link

Add sentences: HDG, HDM, MTW, ROT, TXT, PHTRO, PRDID, PSONCMS. + more #87

Closed aldas closed 2 years ago

aldas commented 2 years ago

Note: I think MTK implementation is not correct. MTK is command protocol embedded into NMEA sentence. Fields that current MTK struct has are meant for MTK packet "PMTK001" but actually MTK packet can have variable amound of data fields.

See:

Note 2: I think p.EnumString(4, "variation direction", East, West), implementation maybe needs counterpart that sets error when value is empty "" currently it does not error. Sometimes is OK when field is empty but times it is not.

Note 3: in newer sentences testcase tables are inside test methods. This is because in that way Goland allows you to execute each testcase separately if you want - which is handy. VsCode does not have that feature yet but there are open feature tickets so it will probably land in there also. image

icholy commented 2 years ago

This is great!

icholy commented 2 years ago

@adrianmo this LGTM, but I won't merge until you've had a chance to look it over.

adrianmo commented 2 years ago

This is fantastic - what a contribution!

Thanks for the Christmas present @aldas 😄