Fwiw the SSL support is now available at https://github.com/ourairquality/RTKLIB This is still a wip, but the proposed front end and library support is done, ready for feedback - not really ready to be relied on and use at your own risk.
Tried to rebase this to the current main branch but it's a lot of work and that depends on the order that the dependent patches are accepted and what is accepted, so just putting it out there bundled with many other patches that people probably don't want to adopt.
NTRIP v2 support has also been added, almost necessary with SSL. The NTRIP caster accepting sources is now implemented.
IPv6 support has been added and the host name lookup now uses getaddrinfo() so it can try IPv6 and IPv4 addresses and can try all the addresses returned so can work around some servers being down.
It builds on linux and windows with BCC and MSC. The code in stream.c is largely rewritten, and streamsvr.c and rtksvr.c are heavily modified. There are front end changes to allow the setting of the SSL streams details.
The implementation of processing cycles in streamsvr and rtksvr had to change as SSL streams need to be serviced between epochs. So now observations are processes as soon as received, rather then sleeping until the next cycle.
While doing this the rtksvr has added a new feature that I have wanted for some time. A processing delay tolerance can now be specified so that the processing of rover observations can be delayed waiting for the base observations. This can reduce the age of differentials to zero even when there is some delay in the reception of base observations. It also allows for the interpolation of the base observations between epochs in near real time processing. Some quick testing suggests that 5 second base observations give little drift in position when using this new feature. e.g. This might be useful doing site calibrations where minutes of observations are taken at each static point and even a 10 second processing delay tolerance might be acceptable in order to get the best accuracy in the field. A smarter implementation could do this is real time, but it would be much more complex.
Fwiw the SSL support is now available at https://github.com/ourairquality/RTKLIB This is still a wip, but the proposed front end and library support is done, ready for feedback - not really ready to be relied on and use at your own risk.
Tried to rebase this to the current main branch but it's a lot of work and that depends on the order that the dependent patches are accepted and what is accepted, so just putting it out there bundled with many other patches that people probably don't want to adopt.
NTRIP v2 support has also been added, almost necessary with SSL. The NTRIP caster accepting sources is now implemented.
IPv6 support has been added and the host name lookup now uses getaddrinfo() so it can try IPv6 and IPv4 addresses and can try all the addresses returned so can work around some servers being down.
It builds on linux and windows with BCC and MSC. The code in stream.c is largely rewritten, and streamsvr.c and rtksvr.c are heavily modified. There are front end changes to allow the setting of the SSL streams details.
The implementation of processing cycles in streamsvr and rtksvr had to change as SSL streams need to be serviced between epochs. So now observations are processes as soon as received, rather then sleeping until the next cycle.
While doing this the rtksvr has added a new feature that I have wanted for some time. A processing delay tolerance can now be specified so that the processing of rover observations can be delayed waiting for the base observations. This can reduce the age of differentials to zero even when there is some delay in the reception of base observations. It also allows for the interpolation of the base observations between epochs in near real time processing. Some quick testing suggests that 5 second base observations give little drift in position when using this new feature. e.g. This might be useful doing site calibrations where minutes of observations are taken at each static point and even a 10 second processing delay tolerance might be acceptable in order to get the best accuracy in the field. A smarter implementation could do this is real time, but it would be much more complex.