diff --git a/README.md b/README.md index 4cf6090..c8908d8 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,10 @@ to either fixed-point or floating-point format: * ``minmea_rescale({-123456, 1000}, 10) => -1235`` * ``minmea_float({-123456, 1000}) => -123.456`` +The compound type ``struct minmea_float`` uses ``int_least32_t`` internally. Therefore, +the coordinate precision is guaranteed to be at least ``[+-]DDDMM.MMMMM`` (five decimal digits) +or ±20cm LSB at the equator. + ## Coordinate format NMEA uses the clunky ``DDMM.MMMM`` format which, honestly, is not good in the internet era. @@ -114,10 +118,6 @@ typing ``make``. ## Limitations -* Fractional numbers are represented as ``int`` internally, which is 32 bits on - most embedded platforms. Therefore, the maximum supported coordinate precision - is ``[+-]DDDMM.MMMMM``. The library does not check for integer overflow at the - moment; coordinates with more precision will not parse correctly. * Only a handful of frames is supported right now. * There's no support for omitting parts of the library from building. As a workaround, use the ``-ffunction-sections -Wl,--gc-sections`` linker flags