INDIOpen Astronomy InstrumentationGet INDI

Developer manual

How INDI works and how to write drivers for it, in reading order. For newer material, see the technical documentation and the API reference.

  1. 1IntroductionThe Instrument-Neutral-Distributed-Interface control protocol (INDI) is a key technology for device automation and control.
  2. 2Purpose of ManualThe goal of this manual is to enable programmers to take full advantage of the INDI architecture by providing a practical guide that illustrates the different aspects…
  3. 3Intended AudienceThe INDI library is geared toward experienced programmers planning to develop backend hardware drivers to run under the INDI architecture.
  4. 4Introduction to INDIINDI is a simple XML-like communications protocol described for interactive and automated remote control of diverse instrumentation.
  5. 5INDI ServerINDI server is the public network access point where one or more INDI clients may contact one or more INDI Drivers.
  6. 6Driver ConstructionAn INDI driver is what directly communicates with your device(s).
  7. 73rd Party driversINDI Library includes by default several drivers for popular astronomical instruments mainly used in amateur astronomy.
  8. 8Standard PropertiesINDI does not place any special semantics on property names (i.e.
  9. 9Binary TransferThus far, the main focus was on control and monitoring oriented properties.
  10. 10Inter-driver communicationINDI Library provides the facility to snoop on properties in other drivers.
  11. 11ScriptingINDI provides three command line tools that can be used to write complex scripts for settting, retrieving, and controlling the behavior of INDI devices.
  12. 12Debugging & LoggingINDI provides a Debugging and Logging API where the driver can log different types of messages to the client and/or log file along with time in seconds since the start…
  13. 13Setting development environmentTo start developing INDI drivers, it is necessary to set up an environment for C/C++ development.