This is kind of ugly. If someone tries to specify 3.02 codes, they'll be interpreted incorrectly.
This is kind of ugly. If someone tries to specify 3.02 codes, they'll be interpreted incorrectly.
Table 4.9 in the ICD suggests there are two sets of scales and number of bits, one for legacy GLONASS and one for GLONASS-M, but it doesn't say if tau_c starts at the same bit position in legacy. Another implementation always uses the -M bit pattern. It's not clear what's correct.
This is a bit sketchy because it relies on the hard-coded integer leap seconds in gnsstk::getLeapSeconds(), but I can't think of a more reliable way to get this data here at the moment. Luckily changes are few and far between.