Instrument Neutral Distributed Interface (INDI) is a distributed control system (DCS) protocol to enable control, data acquisition and exchange among hardware devices and software front ends, emphasizing astronomical instrumentation.
INDI is a simple protocol modeled on Extensible Markup Language (XML), described for interactive and automated remote control of diverse instruments.
In the INDI paradigm, each Device poses all command and status functions in terms of setting and getting Properties.
The INDI protocol can be nested within other XML elements such as Remote Telescope Markup Language (RTML) to add constraints for automatic scheduling and execution.
This is accomplished by using XML to describe a generic hierarchy that can represent both canonical and non-canonical devices.
Drivers send a list of supported device properties to clients where they are parsed and presented to the end users.