INDI update, text, links, and an image for the architecture
small updates in text
Line 3: Line 3:
[http://indilib.org/ INDI] (Instrument-Neutral Distributed Interface) is a distributed control protocol designed to operate astronomical instrumentation. INDI is small, flexible, easy to parse, and scalable. It supports common DCS functions such as remote control, data acquisition, monitoring, and a lot more.
[http://indilib.org/ INDI] (Instrument-Neutral Distributed Interface) is a distributed control protocol designed to operate astronomical instrumentation. INDI is small, flexible, easy to parse, and scalable. It supports common DCS functions such as remote control, data acquisition, monitoring, and a lot more.


It can be regarded as an abstraction layer, like Ascom on Windows, but to many device types and it communicates over the network.
It can be regarded as an abstraction layer, like Ascom on Windows, but to many device types and it can communicate over the network.


[http://indilib.org/index.php?title=Devices List of devices supported by INDI.]
[http://indilib.org/index.php?title=Devices List of devices supported by INDI.]


INDI drivers communicate with devices. The INDI server optionally offers an INET socket link to INDI drivers, and thus makes the relay between clients and drivers. Clients generally request a description of devices and their capabilities (called Properties), which will allow them to interact with the devices. They can get the current value of properties, modify them, or be notified when the value changes. Graphical clients should generate dynamic GUIs according to the description.
INDI drivers communicate with devices. The INDI server optionally offers an INET socket link to INDI drivers, and thus makes the relay between clients and drivers, as show below. Clients can request a description of devices and their capabilities (called Properties), which will allow them to interact with the devices. They can get the current value of properties, modify them, or be notified when the value changes. Graphical clients should generate dynamic GUIs according to the description.


[[File:INDI_arch.gif|frame|250px|center|The INDI architecture]]
[[File:INDI_arch.gif|frame|250px|center|The INDI architecture]]


[http://indilib.org/index.php?title=Clients List of clients using INDI.]
[http://indilib.org/index.php?title=Clients List of clients using INDI.]
The INDI protocol is simple and uses XML. Properties can be of the following types: Text, Number, Switch, Lights, and BLOB. Switch is the boolean value, Lights is a feedback type defined with 4 states (idle, OK, busy, alert), and BLOB is the binary large object.


[http://www.indilib.org/api/index.html INDI API.]
[http://www.indilib.org/api/index.html INDI API.]

Revision as of 18:23, 1 September 2012

INDI

INDI (Instrument-Neutral Distributed Interface) is a distributed control protocol designed to operate astronomical instrumentation. INDI is small, flexible, easy to parse, and scalable. It supports common DCS functions such as remote control, data acquisition, monitoring, and a lot more.

It can be regarded as an abstraction layer, like Ascom on Windows, but to many device types and it can communicate over the network.

List of devices supported by INDI.

INDI drivers communicate with devices. The INDI server optionally offers an INET socket link to INDI drivers, and thus makes the relay between clients and drivers, as show below. Clients can request a description of devices and their capabilities (called Properties), which will allow them to interact with the devices. They can get the current value of properties, modify them, or be notified when the value changes. Graphical clients should generate dynamic GUIs according to the description.

The INDI architecture

List of clients using INDI.

The INDI protocol is simple and uses XML. Properties can be of the following types: Text, Number, Switch, Lights, and BLOB. Switch is the boolean value, Lights is a feedback type defined with 4 states (idle, OK, busy, alert), and BLOB is the binary large object.

INDI API.