This is an API breaker that incorporates the following big changes:
1. The (value, scale) float, as used in minmea, is a compound type. It
should be declared and used as such.
2. Some platforms, notably avr-gcc, have 16-bit ints. Make life easier
for them by using int_least32_t for floating point values.
3. As a side effect, the following functions were renamed:
* minmea_coord -> minmea_tocoord
* minmea_float -> minmea_tofloat
Migration guide for user code (easy unless you do fancy stuff):
1. Replace calls to minmea_{coord,float}.
2. Replace int32_t with int_least32_t in user code if your platform
requires this.
This is a backwards-incompatible change that I knew I'd have to
introduce sooner or later. Which means now.
Long story short: when I first started writing this library, I wanted to
make things simpler by treating the entire talker+sentence as one big
ID. Of course, this is an oversimplification, as there are different
talkers out there.
Turns out they're more common than I initially thought. I just came
across a module (read: I had one soldered to my board by our crazy
hardware guy) that spits out GPRMC, GLRMC or GNRMC depending on where it
got the data. I could have kludged around this, but here's this change,
for the purity of code.
Fortunately, we're the only users of this codebase as far as I know, so
no real harm is done - but it's a lesson to design my interfaces right
from the very start so I don't have to break compatibility and write
apologetic messages later on.