Instrument Neutral Distributed Interface INDI  1.9.2
Namespaces | Classes | Typedefs | Functions
INDI Namespace Reference

Namespace to encapsulate INDI client, drivers, and mediator classes. More...

Namespaces

 AlignmentSubsystem
 Namespace to encapsulate the INDI Alignment Subsystem classes. For more information see "INDI Alignment Subsystem" in "Related Pages" accessible via the banner at the top of this page.
 
 SP
 INDI Standard Properties are common properties standarized across drivers and clients alike.
 

Classes

class  BaseClient
 Class to provide basic client functionality. More...
 
class  BaseClientPrivate
 
class  BaseClientQt
 Class to provide basic client functionality based on Qt5 toolkit and is therefore suitable for cross-platform development. More...
 
class  BaseDevice
 Class to provide basic INDI device functionality. More...
 
class  BaseDevicePrivate
 
class  BaseMediator
 Meditates event notification as generated by driver and passed to clients. More...
 
struct  BLOBMode
 
class  CCD
 Class to provide general functionality of CCD cameras with a single CCD sensor, or a primary CCD sensor in addition to a secondary CCD guide head. More...
 
class  CCDChip
 The CCDChip class provides functionality of a CCD Chip within a CCD. More...
 
class  Controller
 The Controller class provides functionality to access a controller (e.g. joystick) input and send it to the requesting driver. More...
 
class  Correlator
 Class to provide general functionality of Monodimensional Correlator. More...
 
class  DefaultDevice
 Class to provide extended functionality for devices in addition to the functionality provided by INDI::BaseDevice. This class should only be subclassed by drivers directly as it is linked with main(). Virtual drivers cannot employ INDI::DefaultDevice. More...
 
class  DefaultDevicePrivate
 
class  Detector
 Class to provide general functionality of Monodimensional Detector. More...
 
class  Dome
 Class to provide general functionality of a Dome device. More...
 
class  DustCapInterface
 
class  ElapsedTimer
 The ElapsedTimer class provides a fast way to calculate elapsed times. More...
 
class  ElapsedTimerPrivate
 
class  EncoderInterface
 The EncoderInterface class is the base class for video streaming encoders. More...
 
class  EncoderManager
 The EncoderManager class contains a list of active supported encoders. More...
 
class  FilterInterface
 
class  FilterWheel
 
class  Focuser
 
class  FocuserInterface
 Provides interface to implement focuser functionality. More...
 
class  FPSMeter
 
class  GPS
 
class  GuiderInterface
 
struct  IEquatorialCoordinates
 
struct  IGeographicCoordinates
 
struct  IHorizontalCoordinates
 
class  LightBoxInterface
 
class  Logger
 The Logger class is a simple logger to log messages to file and INDI clients. This is the implementation of a simple logger in C++. It is implemented as a Singleton, so it can be easily called through two DEBUG macros. It is Pthread-safe. It allows to log on both file and screen, and to specify a verbosity threshold for both of them. More...
 
class  MJPEGEncoder
 The MJPEGEncoder class encodes frames in JPEG format before transmitting them to the client. More...
 
class  Properties
 
class  PropertiesPrivate
 
class  Property
 Provides generic container for INDI properties. More...
 
class  PropertyBasic
 
class  PropertyBasicPrivateTemplate
 
class  PropertyBlob
 
class  PropertyBlobPrivate
 
class  PropertyLight
 
class  PropertyLightPrivate
 
class  PropertyNumber
 
class  PropertyNumberPrivate
 
class  PropertyPrivate
 
class  PropertySwitch
 
class  PropertySwitchPrivate
 
class  PropertyText
 
class  PropertyTextPrivate
 
class  PropertyView
 Provides decorator for Low-Level IXXXVectorProperty/IXXX. More...
 
struct  pulse_t
 
class  RawEncoder
 The RawEncoder class sends the image as-is (lossless) to the client. More...
 
class  Receiver
 Class to provide general functionality of Monodimensional Receiver. More...
 
class  RecorderInterface
 The RecorderInterface class is the base class for recorders. More...
 
class  RecorderManager
 The RecorderManager class contains a list of active supported recorders. More...
 
class  Rotator
 
class  RotatorInterface
 
class  SensorInterface
 The SensorDevice class provides functionality of a Sensor Device within a Sensor. More...
 
class  SER_Recorder
 The SER_Recorder class implements recording of video streams in SER format. More...
 
class  SingleThreadPool
 
class  SingleThreadPoolPrivate
 
class  Spectrograph
 Class to provide general functionality of Monodimensional Spectrograph. More...
 
class  StreamManager
 
class  StreamManagerPrivate
 
class  Telescope
 
class  TheoraRecorder
 The TheoraRecorder class implemented recording of video streaming data in a libtheora OGV file. More...
 
class  Timer
 The Timer class provides repetitive and single-shot timers. More...
 
class  TimerPrivate
 
class  USBDevice
 
class  V4L2_Base
 
class  Weather
 
class  WeatherInterface
 Provides interface to implement weather reporting functionality. More...
 
struct  WidgetTraits
 
struct  WidgetTraits< IBLOB >
 
struct  WidgetTraits< ILight >
 
struct  WidgetTraits< INumber >
 
struct  WidgetTraits< ISwitch >
 
struct  WidgetTraits< IText >
 
struct  WidgetView
 
struct  WidgetView< IBLOB >
 
struct  WidgetView< ILight >
 
struct  WidgetView< INumber >
 
struct  WidgetView< ISwitch >
 
struct  WidgetView< IText >
 

Typedefs

using WidgetText = INDI::WidgetView< IText >
 
using WidgetNumber = INDI::WidgetView< INumber >
 
using WidgetSwitch = INDI::WidgetView< ISwitch >
 
using WidgetLight = INDI::WidgetView< ILight >
 
using WidgetBlob = INDI::WidgetView< IBLOB >
 

Functions

std::string regex_replace_compat (const std::string &input, const std::string &pattern, const std::string &replace)
 
Logger::loggerConf operator| (Logger::loggerConf __a, Logger::loggerConf __b)
 
Logger::loggerConf operator& (Logger::loggerConf __a, Logger::loggerConf __b)
 
std::string regex_replace_compat2 (const std::string &input, const std::string &pattern, const std::string &replace)
 
int mkpath (std::string path, mode_t mode)
 Create a path directory - this function uses 'mkdir'. More...
 
std::string format_time (const std::tm &tm, const char *format)
 Converts the date and time to string - this function uses 'strftime'. More...
 
void replace_all (std::string &subject, const std::string &search, const std::string &replace)
 Replaces every occurrence of the string 'search' with the string 'replace'. More...
 
 Properties::operator std::vector< INDI::Property * > * ()
 
 Properties::operator const std::vector< INDI::Property * > * () const
 
void ObservedToJ2000 (IEquatorialCoordinates *observed, double jd, IEquatorialCoordinates *J2000pos)
 ObservedToJ2000 converts an observed position to a J2000 catalogue position removes aberration, nutation and precession. More...
 
void J2000toObserved (IEquatorialCoordinates *J2000pos, double jd, IEquatorialCoordinates *observed)
 *J2000toObserved converts catalogue to observed More...
 
void ln_get_equ_nut (ln_equ_posn *posn, double jd, bool reverse)
 apply or remove nutation More...
 
void EquatorialToHorizontal (IEquatorialCoordinates *object, IGeographicCoordinates *observer, double JD, IHorizontalCoordinates *position)
 EquatorialToHorizontal Calculate horizontal coordinates from equatorial coordinates. More...
 
void HorizontalToEquatorial (IHorizontalCoordinates *object, IGeographicCoordinates *observer, double JD, IEquatorialCoordinates *position)
 HorizontalToEquatorial Calculate Equatorial EOD Coordinates from horizontal coordinates. More...
 

Detailed Description

Namespace to encapsulate INDI client, drivers, and mediator classes.

Developers can subclass the base devices class to implement device specific functionality. This ensures interoperability and consistency among devices within the same family and reduces code overhead.

Author
Jasem Mutlaq
Gerry Rozema

Typedef Documentation

◆ WidgetBlob

Definition at line 31 of file indipropertybasic.h.

◆ WidgetLight

Definition at line 30 of file indipropertybasic.h.

◆ WidgetNumber

Definition at line 28 of file indipropertybasic.h.

◆ WidgetSwitch

Definition at line 29 of file indipropertybasic.h.

◆ WidgetText

Definition at line 27 of file indipropertybasic.h.

Function Documentation

◆ EquatorialToHorizontal()

void INDI::EquatorialToHorizontal ( IEquatorialCoordinates object,
IGeographicCoordinates observer,
double  JD,
IHorizontalCoordinates position 
)

EquatorialToHorizontal Calculate horizontal coordinates from equatorial coordinates.

Parameters
objectEquatorial Object Coordinates in INDI standaard (RA Hours, DE degrees).
observerObserver Location in INDI Standard (Longitude 0 to 360 Increasing Eastward)
JDJulian Date
positionCalculated Horizontal Coordinates.
Note
Use this instead of libnova ln_get_hrz_from_equ since it corrects libnova Azimuth (0 = North and not South).

Definition at line 140 of file libastro.cpp.

◆ format_time()

std::string INDI::format_time ( const std::tm &  tm,
const char *  format 
)

Converts the date and time to string - this function uses 'strftime'.

Definition at line 64 of file indiutility.cpp.

◆ HorizontalToEquatorial()

void INDI::HorizontalToEquatorial ( IHorizontalCoordinates object,
IGeographicCoordinates observer,
double  JD,
IEquatorialCoordinates position 
)

HorizontalToEquatorial Calculate Equatorial EOD Coordinates from horizontal coordinates.

Parameters
objectHorizontal Object Coordinates
observerObserver Location in INDI Standard (Longitude 0 to 360 Increasing Eastward)
JDJulian Date
positionCalculated Equatorial Coordinates in INDI standards (RA hours, DE degrees).
Note
Use this instead of libnova ln_get_equ_from_hrz since it corrects libnova Azimuth (0 = North and not South).

Definition at line 156 of file libastro.cpp.

◆ J2000toObserved()

void INDI::J2000toObserved ( IEquatorialCoordinates J2000pos,
double  jd,
IEquatorialCoordinates observed 
)

*J2000toObserved converts catalogue to observed

J2000toObserved converts a J2000 catalogue position to an observed position for the epoch jd applies precession, nutation and aberration.

Parameters
J2000poscatalogue position
jdjulian day for the observed epoch
observedreturns observed position
J2000posJ2000 catalogue position
jdJulian day epoch of observed position
observedreturns observed position for the JD epoch

Definition at line 80 of file libastro.cpp.

◆ ln_get_equ_nut()

void INDI::ln_get_equ_nut ( ln_equ_posn *  posn,
double  jd,
bool  reverse = false 
)

apply or remove nutation

ln_get_equ_nut applies or removes nutation in place for the epoch JD

Parameters
posnposition, nutation is applied or removed in place
jd
reverseset to true to remove nutation

Definition at line 102 of file libastro.cpp.

◆ mkpath()

int INDI::mkpath ( std::string  path,
mode_t  mode 
)

Create a path directory - this function uses 'mkdir'.

Note
Not available on Windows. Need to use C++17 cross-platform std::filesystem later.

Definition at line 29 of file indiutility.cpp.

◆ ObservedToJ2000()

void INDI::ObservedToJ2000 ( IEquatorialCoordinates observed,
double  jd,
IEquatorialCoordinates J2000pos 
)

ObservedToJ2000 converts an observed position to a J2000 catalogue position removes aberration, nutation and precession.

Parameters
observedposition
jdJulian day epoch of observed position
J2000posreturns catalogue position

Definition at line 50 of file libastro.cpp.

◆ operator&()

Logger::loggerConf INDI::operator& ( Logger::loggerConf  __a,
Logger::loggerConf  __b 
)
inline

Definition at line 285 of file indilogger.h.

◆ operator|()

Logger::loggerConf INDI::operator| ( Logger::loggerConf  __a,
Logger::loggerConf  __b 
)
inline

Definition at line 280 of file indilogger.h.

◆ Properties::operator const std::vector< INDI::Property * > *()

INDI::Properties::operator const std::vector< INDI::Property * > * ( ) const

Definition at line 205 of file indiproperties.cpp.

◆ Properties::operator std::vector< INDI::Property * > *()

INDI::Properties::operator std::vector< INDI::Property * > * ( )

Definition at line 194 of file indiproperties.cpp.

◆ regex_replace_compat()

std::string INDI::regex_replace_compat ( const std::string &  input,
const std::string &  pattern,
const std::string &  replace 
)

Definition at line 3121 of file indiccd.cpp.

◆ regex_replace_compat2()

std::string INDI::regex_replace_compat2 ( const std::string &  input,
const std::string &  pattern,
const std::string &  replace 
)

Definition at line 1180 of file indisensorinterface.cpp.

◆ replace_all()

void INDI::replace_all ( std::string &  subject,
const std::string &  search,
const std::string &  replace 
)

Replaces every occurrence of the string 'search' with the string 'replace'.

Definition at line 73 of file indiutility.cpp.