la1k / flyby

A satellite tracking program
GNU General Public License v2.0
39 stars 8 forks source link

Use non-blocking socket reads for rotctl track responses #109

Closed bjorgan closed 2 years ago

bjorgan commented 2 years ago

Ref. https://github.com/la1k/flyby/issues/108: Flyby singletrack UI can become unresponsive during tracking since we wait for confirmation of the previous response before we try to set a new position.

These changes modify the socket read to be non-blocking, so that we can return back to the UI loop when the full response is not available yet, and still retain the mechanism with the previous response being required before we are allowed to set a new position.

This does not fully solve https://github.com/la1k/flyby/issues/108 since we will have an issue with the hamlib status windows, but I'll continue on that in a different branch and merge this already now so that the user experience can be improved.