User:Daggerstab/TelescopeControl rewrite
From Stellarium Wiki
DRAFT/BRAINSTORMING
Short-term
Tasks and steps necessary for completing the ongoing rewrite of the Telescope Control plug-in:
- doing away with "slots". Telescope clients/reticles should be identified with a string.
- the implementation of the new telescopes.json format should be finished (at the moment, it still uses slots).
- telescope numbers/shortcuts should be another telescope property
- INDI client class(es?)
- INCOMING: should emit signals when a property is defined/updated/deleted
- OUTGOING: should provide a mechanism for setting property values by the client (unclear paradigm at the moment)
- should support multiple named devices in the same INDI stream (connection)
- should support multiple INDI streams
- should support acting as a server/calling indiserver (long term target?)
- should support all kinds of INDI properties, including BLOBs
- in the beginning, BLOBs can just be saved with an appropriate filename/timestamp
- should be able to provide "device snooping" (redirecting the output from one device to another)
- should be able to provide logging
- INDI telescope client class
- should be based on INDI standard properties
- should be able to connect/disconnect
- should be able to detect whether J2000 or JNow coordinates are used
- all functions other than the basic "go to" and "receive current position" should be handled by the INDI control panel (see below)
- GUI: INDI device selector/editor (a window or a tab allowing the selection of installed INDI devices/drivers)
- should be able to detect if the INDI package/drivers is installed
- should read the XML list of drivers and display a device selector (a QComboBox listing only telescopes as a beginning)
- should provide a way of changing the directory where it looks for the INDI drivers/indiserver
- GUI: INDI control panel - a dynamically generated window.
- uses tabs within tabs - top level for devices, another level within devices for groups of properties
- receives signals from the INDI client
- (I'm still not sure what mechanism exactly to use for setting new values of the properties)
Long term
- porting of some basic INDI drivers to Windows
- built-in FITS viewer (requires a dependency on cfitsio)
Information
- INDI whitepaper - describes the INDI "wire protocol"
- INDI Developers Manual (concerns mostly drivers)
- CFITSIO home page