Integer parsing did not properly handle negative numbers, thus ECEF values decoded from message types 1005 and 1006 were incorrect. This patch adds the proper parsing of signed integer values. RTCM integer fields are stored in big-ending, twos-complement notation. To parse them, if the MSB is 1, then we need to XOR all the bits, add 1, and then add the negative sign.
Integer parsing did not properly handle negative numbers, thus ECEF values decoded from message types 1005 and 1006 were incorrect. This patch adds the proper parsing of signed integer values. RTCM integer fields are stored in big-ending, twos-complement notation. To parse them, if the MSB is 1, then we need to XOR all the bits, add 1, and then add the negative sign.