Instrument Neutral Distributed Interface INDI
2.0.2
|
INDI Standard Properties are common properties standarized across drivers and clients alike. More...
Variables | |
const char * | CONNECTION = "CONNECTION" |
Connect to and disconnect from device. More... | |
const char * | DEVICE_PORT = "DEVICE_PORT" |
Device serial (or bluetooth) connection port. The default value on Linux is /dev/ttyUSB0 while on MacOS it is /dev/cu.usbserial It is part of Connection::SerialInterface to manage connections to serial devices. More... | |
const char * | DEVICE_AUTO_SEARCH = "DEVICE_AUTO_SEARCH" |
Toggle device auto search. If enabled and on connection failure with the default port, the SerialInterface class shall scan the system for available serial ports and attempts connection and handshake with each until successful. Please note if this option is enabled it can take a while before connection is established depending on how many ports are available on the system and the handshake timeout of the the underlying device. More... | |
const char * | DEVICE_LAN_SEARCH = "DEVICE_LAN_SEARCH" |
Toggle device LAN search. If the initial handshake with the specified hostname and port number fails, then scan the local network using all available interfaces for any hosts that accepts connection on the specified port. If connection is established, attempt a handshake. On handshake failure, iterate to the next host detected in the local network and try again. More... | |
const char * | DEVICE_BAUD_RATE = "DEVICE_BAUD_RATE" |
Set device baud rate. More... | |
const char * | DEVICE_ADDRESS = "DEVICE_ADDRESS" |
Device hostname and port. It is part of Connection::TCPInterface to manage connections to devices over the network. More... | |
INDI Standard Properties are common properties standarized across drivers and clients alike.
INDI does not place any special semantics on property names (i.e. properties are just texts, numbers, or switches that represent no physical function). While GUI clients can construct graphical representation of properties in order to permit the user to operate the device, we run into situations where clients and drivers need to agree on the exact meaning of some fundamental properties. What if some client need to be aware of the existence of some property in order to perform some function useful to the user? How can that client tie itself to such a property if the property can be arbitrary defined by drivers?
The solution is to define Standard Properties in order to establish a level of interoperability among INDI drivers and clients. We propose a set of shared INDI properties that encapsulate the most common characteristics of astronomical instrumentation of interest. If the semantics of such properties are properly defined, not only it will insure base interoperability, but complete device automation becomes possible as well. Put another way, INDI standard properties are in essence properties that represent a clearly defined characteristic related to the operation of the device drivers.
For example, a very common standard property is EQUATORIAL_EOD_COORD. This property represents the telescope's current RA and DEC. Clients need to be aware of this property in order to, for example, draw the telescope's cross hair on the sky map. If you write a script to control a telescope, you know that any telescope supporting EQUATORIAL_EOD_COORD will behave in an expected manner when the property is invoked. INDI clients are required to honor standard properties if when and they implement any functions associated with a particular standard property. Furthermore, INDI drivers employing standard properties should strictly adhere to the standard properties structure as defined next.
The properties are defined as string constants. To refer to the property in device drivers, use INDI::StandardProperty::PROPERTY_NAME or the shortcut INDI::SP::PROPERTY_NAME.
The standard properties are divided into the following categories:
const char * INDI::SP::CONNECTION = "CONNECTION" |
Connect to and disconnect from device.
Name | Type | Member | Default | Description |
---|---|---|---|---|
CONNECTION | SWITCH | CONNECT | OFF | Establish connection to device |
CONNECTION | SWITCH | DISCONNECT | ON | Disconnect device |
Definition at line 27 of file indistandardproperty.cpp.
const char * INDI::SP::DEVICE_ADDRESS = "DEVICE_ADDRESS" |
Device hostname and port. It is part of Connection::TCPInterface to manage connections to devices over the network.
Name | Type | Member | Default | Description |
---|---|---|---|---|
DEVICE_ADDRESS | TEXT | ADDRESS | Device hostname or IP Address | |
DEVICE_ADDRESS | TEXT | PORT | Device port |
Definition at line 32 of file indistandardproperty.cpp.
const char * INDI::SP::DEVICE_AUTO_SEARCH = "DEVICE_AUTO_SEARCH" |
Toggle device auto search. If enabled and on connection failure with the default port, the SerialInterface class shall scan the system for available serial ports and attempts connection and handshake with each until successful. Please note if this option is enabled it can take a while before connection is established depending on how many ports are available on the system and the handshake timeout of the the underlying device.
Name | Type | Member | Default | Description |
---|---|---|---|---|
DEVICE_AUTO_SEARCH | SWITCH | INDI_ENABLED | ON | Auto Search ON |
DEVICE_AUTO_SEARCH | SWITCH | INDI_DISABLED | OFF | Auto Search OFF |
Definition at line 29 of file indistandardproperty.cpp.
const char * INDI::SP::DEVICE_BAUD_RATE = "DEVICE_BAUD_RATE" |
Set device baud rate.
Name | Type | Member | Default | Description |
---|---|---|---|---|
DEVICE_BAUD_RATE | SWITCH | 9600 | ON | 9600 |
DEVICE_BAUD_RATE | SWITCH | 19200 | OFF | 19200 |
DEVICE_BAUD_RATE | SWITCH | 38400 | OFF | 38400 |
DEVICE_BAUD_RATE | SWITCH | 57600 | OFF | 57600 |
DEVICE_BAUD_RATE | SWITCH | 115200 | OFF | 115200 |
DEVICE_BAUD_RATE | SWITCH | 230400 | OFF | 230400 |
Definition at line 31 of file indistandardproperty.cpp.
const char * INDI::SP::DEVICE_LAN_SEARCH = "DEVICE_LAN_SEARCH" |
Toggle device LAN search. If the initial handshake with the specified hostname and port number fails, then scan the local network using all available interfaces for any hosts that accepts connection on the specified port. If connection is established, attempt a handshake. On handshake failure, iterate to the next host detected in the local network and try again.
Name | Type | Member | Default | Description |
---|---|---|---|---|
DEVICE_LAN_SEARCH | SWITCH | INDI_ENABLED | OFF | LAN Search ON |
DEVICE_LAN_SEARCH | SWITCH | INDI_DISABLED | ON | LAN Search OFF |
Definition at line 30 of file indistandardproperty.cpp.
const char * INDI::SP::DEVICE_PORT = "DEVICE_PORT" |
Device serial (or bluetooth) connection port. The default value on Linux is /dev/ttyUSB0 while on MacOS it is /dev/cu.usbserial It is part of Connection::SerialInterface to manage connections to serial devices.
Name | Type | Member | Default | Description |
---|---|---|---|---|
DEVICE_PORT | TEXT | PORT | /dev/ttyUSB0 | Device serial connection port |
Definition at line 28 of file indistandardproperty.cpp.