Skip to content

Event based coordinate update

Mount has a timer based function updateTelescopeCoords() that reads once per second the current status from the underlying INDI mount representation. This is not only an unnecessary complexity, it also creates concurrency issues for short mount slews.

The underlying ISD::Telescope already partially uses events to communicates its status changes. These are enhanced so that the partially duplicated computation of the pointing position can be removed from Mount.

  • Replace name based target event by a SkyPoint based event
  • Create a new event for coordinates updates in ISD::Telescope
  • Remove timer from Mount updating the mount coordinates and use the event for coordinate updates
  • Shift SkyPoint calculation from Mount to ISD::Telescope
  • Merge events Mount::newCoords() and ISD::Telescope::newCoords()

Hint 1: This is the basic work making it possible shifting the entire target calculation to Mount. Goal is that all EKOS modules communicate directly with events with Mount instead of implementing their own interpretation of low level INDI mount communication. Since touching mount functionality is a critical part in EKOS I decided to split this technical refactoring of Mount from refactorings of other modules.

Hint 2: I eliminated commented out code that breaks QTCreator file parsing.

Edited by Wolfgang Reissenberger

Merge request reports