Awesome
INDIGO is the next generation of INDI, based on layered architecture and software bus.
This is the list of requirements taken into the consideration:
- No GPL dependency to allow commercial use under application stores licenses.
- ANSI C for portability and to allow simple wrapping into .Net, Java, GOlang, Objective-C or Swift in future
- Layered architecture to allow direct linking of the drivers into applications and or to replace wire protocol.
- Atomic approach to device drivers. E.g. if camera has imaging and guiding chip, driver should expose two independent simple devices instead of one complex. It is much easier and transparent for client.
- Drivers should support hot-plug at least for USB devices. If device is connected/disconnected while driver is running, its properties should appear/disappear on the bus.
- FITS, XISF, JPEG, TIFF, RAW, AVI and SER format supported directly by the framework.
This is already done
Framework
- INDIGO Bus framework
- XML & JSON protocol adapter for client and server side
- indigo_server - server with loadable (indigo .so/.dylib and indi executables) drivers
- indigo_server_standalone - server with built-in drivers
- INDIGO Server for macOS wrapper (provided just as an example)
- Integrated HTTP server for BLOB download & server control (= web based INDI control panel)
- indigo_prop_tool - command line tool to list and set properties
Drivers
- CCD (with wheel, guider, AO and focuser) simulator
- Mount simulator
- Atik CCD (Titan, 3xx/4xx/One with built in wheel, VS/Infinity, 11000/4000) driver
- Atik EFW2 filterwheel driver
- SX CCD driver
- SX wheel driver
- Shoestring FCUSB focuser driver
- SSAG/QHY5 CCD driver
- ASI wheel driver
- IIDC CCD driver
- ASI CCD driver
- NexStar mount driver (supports Celestron NexStar and Sky-Watcher mounts)
- LX200 mount driver (supports Meade, Avalon, Losmandy, 10microns, AstroPhysics, ZWO and PegasusAstro mounts and EQMac)
- FLI filter wheel driver
- FLI CCD driver
- FLI focuser driver (testers needed)
- USB_Focus v3 driver
- SBIG CCD driver (with guider, guider CCD and external guider head)
- SBIG Filter wheel driver (part of CCD driver)
- ASCOM driver for INDIGO Camera
- ASCOM driver for INDIGO Filter Wheel
- QHY CCD driver (NOTE: Maybe unstable due to inherited instability in the QHY SDK)
- ZWO USB-ST4 port
- Meade DSI Camera driver
- Takahashi Temma mount driver
- ICA (ImageCapture API) driver for DSLRs (Mac only, deprecated)
- GPS Simulator
- NMEA 0183 GPS driver
- Andor CCD driver (32/64-bit Intel Linux only)
- WeMacro Rail focuser driver (platform independent USB & Mac only bluetooth)
- EQMac guider driver (Mac only, deprecated)
- Apogee CCD driver
- Moravian Intruments CCD and filter wheel driver
- HID Joystick AUX driver
- CGUSBST4 guider driver
- Brightstar Quantum filter wheel driver (untested)
- Trutek filter wheel driver (untested)
- Xagyl filter wheel driver (untested)
- Optec filter wheel driver (untested)
- Pegasus DMFC focuser driver
- RigelSys nSTEP focuser driver
- RigelSys nFOCUS focuser driver (untested)
- iOptron mount driver
- MoonLite focuser driver
- MJKZZ rail focuser driver (untested, platform independent USB & Mac only bluetooth)
- GPhoto2 CCD driver (deprecated, excluded from build)
- Optec focuser driver (untested)
- ToupTek CCD driver
- AltairAstro CCD driver
- RTS-on-COM aux (shutter) driver (untested)
- DSUSB aux (shutter) driver
- GPUSB guider driver
- LakesideAstro focuser (untested)
- SX AO driver
- SBIG AO driver (part of CCD driver)
- SynScan (EQMod) mount driver
- ASCOL driver
- ASI Focuser driver
- DeepSky Dad AF1 and AF2 focuser driver
- Baader Planetarium SteelDrive II focuser driver
- Unihedron SQM driver
- Artesky Flat Box USB driver
- NexDome dome driver (untested, based on G.Rozema's firmware)
- USB_Dewpoint V1 and V2 AUX driver
- Pegasus Astro FlatMaster driver
- AstroGadget FocusDreamPro / ASCOM Jolo focuser driver added
- Lacerta Flat Box Controller AUX driver
- UVC (USB Video Class) CCD driver
- NexDome v3 dome driver (untested, requires firmware v.3.0.0 or newer)
- Optec Flip-Flap driver
- GPS Service Daemon (GPSD) driver
- Lunatico Astronomy Limpet/Armadillo/Platypus Focuser/Rotator/Powerbox/GPIO Drivers
- Lunatico Astronomy Limpet/Armadillo/Platypus Rotator/Focuser/Powerbox/GPIO driver
- Lunatico Astronomy Dragonfly Dome / Relay Controller GPIO driver
- Rotator Simulator Driver
- Lunatico AAG CloudWacher driver
- Baader Planetarium Classic (Rotating) dome driver
- MGBox driver
- Manual wheel driver
- PMC8 mount controller driver
- RoboFocus focuser driver
- QHY CFW filter wheel driver
- RainbowAstro Mount driver
- NexStar AUX protocol mount driver
- Lunatico Astronomy AAG CloudWatcher driver
- MyFocuserPro 2 focuser driver
- Interactive Astronomy SkyRoof driver
- ASTROMECHANICS focuser driver
- Nexdome Beaver dome driver
- ASTROMECHANICS Light Pollution Meter PRO driver
- Optec Pyxis rotator driver
- SvBony camera driver
- Geoptik flat field generator driver
- Talon 6 dome driver
- Interactive Astronomy SkyAlert driver
- Vixen StarBook mount driver
- PlayerOne camera driver
- PegasusAstro Prodigy Microfocuser driver
- PegasusAstro Indigo wheel driver
- PegasusAstro Falcon rotator driver
- OmegonPro CCD driver
- MallinCam CCD driver
- RisingCam CCD driver
- Orion StarShotG CCD driver
- OGMA CCD driver
- PrimaLuceLab focuser driver
- ZWO ASIAIR Power Ports
- Wanderer Astro WandererBox Plus V3
- Wanderer Astro WandererBox Pro V3
- Wanderer Astro WandererCover V4-EC
- iOptron iEAF focuser driver
- Optec FocusLynx focuser driver
- PegasusAstro FocusCube3 driver
- Lacerta LACERTA Motorfocus driver
This is under development
- a-Box Adaptive optics driver
How to build INDIGO
Prerequisites
Ubuntu / Debian / Raspbian
sudo apt-get install build-essential autoconf autotools-dev libtool cmake libudev-dev libavahi-compat-libdnssd-dev libusb-1.0-0-dev libcurl4-gnutls-dev libz-dev git curl bsdmainutils bsdextrautils patchelf
It is advised to remove libraw1394-dev
sudo apt-get remove libraw1394-dev
Fedora
dnf install automake autoconf cmake libtool gcc gcc-c++ libusb-devel avahi-compat-libdns_sd-devel libudev-devel git curl curl-devel zlib-devel
It is advised to remove libraw1394-devel
dnf remove libraw1394-devel
macOS
Install XCode and download and build autoconf, automake and libtool (use tools/cltools.sh script).
Get code and build it
git clone https://github.com/indigo-astronomy/indigo.git
cd indigo
make all
build/bin/indigo_server -v indigo_ccd_simulator [other drivers]
and connect from any INDIGO/INDI client or web browser to localhost on port 7624...
No pthread_yield()
New linux distributions come with the latest glibc that does not provide pthread_yield() However libqhy.a depends on it. We do not have control over this library and it is not officially supprted by QHY any more. So if you get complaints by the linker for missing pthread_yield call please execute the folowing command in indigo_drivers/ccd_qhy/bin_externals/pthread_yield_compat/:
make patchlib
and rerun the build