INDI can control most cameras supported by GPhoto library using the INDI gphoto driver. This includes most DSLRs cameras. Make sure the OS does not mount the camera as a disk-drive as this would prevent the driver from communicating with the camera.
INDI should be able to support any camera supported by libgphoto2, including Canon, Nikon, Pentax, Sony, & Fuji DSLRs. Once you connect, you will be provided with a standard set of controls supported by INDI, as well as full exposure to all parameters supported by libgphoto. You must set your camera to Manual/Bulb mode in order to get full control via INDI. This can be done by turing the rotatory controls until they point at BULB or MANUAL mode.
There are two types of drivers available:
- GPhoto Driver: This is the generic driver that works with all camera. The driver name is always "GPhoto CCD" and it can connect only to a single camera at a time. The executable is indi_gphoto_ccd.
- DSLR-specific drivers. These drivers can connect to multiple cameras of the same type (i.e. two Canon cameras) and driver name would reflect the detected camera name.
- Canon: indi_canon_ccd
- Nikon: indi_nikon_ccd
- Pentax: indi_pentax_ccd
- Sony: indi_sony_ccd
- Fuji: indi_fuji_ccd
Besides the differences outlined above, the drivers are idential in every other way.
On the first time you use the driver, you must set the required CCD Information specific to your DSLR model. Your client should provide you with a list of drivers you can connect with.
Under Ubuntu, you can install the driver via:
sudo add-apt-repository ppa:mutlaqja/ppa
sudo apt-get update
sudo apt-get install indi-gphoto
The gphoto driver provides you with an option to compress incoming streams and images. The compression option enables you to balance between network load vs. CPU load.
If compression is enabled, network load is reduced (If your camera is not remote, network load is negligible), but CPU load is increased. If compression is disabled, network load is increased, but CPU load is decreased. The compression is disabled by default. The compress only applies to images captured in FITS format and it would produce a .fits.fz compressed file which can save up to 70% of the image size.
External Shutter Release
If your camera uses an external shutter release cable, make sure to indicate the port of the shutter release USB cable (usually /dev/ttyUSB0) in the Main Control tab of the GPhoto driver before connecting to the camera.
Additionaly, users may employ DSUSB/DSUSB2 from Shoestring Astronomy in order to control the shutter. Before you connect, the port field must be set to DSUSB.
By default, the transfer format is set to FITS. Images from the camera can be transferred in native (e.g. CR2, NEF..etc) without converting to FITS first. This can reduce latency and CPU usage on the server. Furthermore, FITS images can be larger in size compared to native formats such as RAW/JPEG. The FITS images are transferred as Bayered frames and it is the clients responsiblity to debayer the image upon reception.
Raw images from the camera will be in whatever mode your camera is set to (normally either RAW or JPEG). When using RAW images, it is the client software's responsibility to convert these to a usable format via libraw or equivalent. You cannot use RAW+JPG mode it is not supported by the driver, you must pick a single format.
To retain Image Format settings between sessions, set the desired Image Format then save the driver configuration under the Options tab
The image info tab contains information on the resolution of the CCD (Maximum Width & Height) in addition to the pixel size in microns. Make sure that the information in this tab is correct and update it accordingly. By default, all values are set to zero, please update it to fit your CCD chip specification. The resolution value will change automatically after each exposure in case the image resolution is changed due to selecting a differently sized image from the drop down list.
Some clients like KStars will ask you to specify the maximum resolution of your camera and would limit the camera's image to this specific size.
Since GPhoto tends to produce different image sizes for CR2 vs. FITS image. it is critical to use only one method when imaging. You cannot take CR2 flats and mix them with FITS Lights. All images in a session must be all CR2 or all FITS.
GPhoto driver supports mirror lock in order to reduce mechanical vibrations. It's currently implemented only for Canon DSLR. You must Enable Mirror Lock feature in your camera before you can use this feature in the driver.
To enable it in your camera (usually in the last tab, Custom Functions, called Mirror Lockup). Then set the serial port for shooter, and open the gphoto camera as usual. When a serial port is set, now a new setting appears on connection: "Mirror lock", with a default value of 0.
Set it to a reasonable value (2 seconds will do). Now when shooting, you'll hear two "clicks" from your camera instead of the usual one: the first pulls up the mirror, the second (after the number of seconds you specified) opens the shutter and starts the exposure.
You can opt to save all captured images to the local storage. This is the local storage of the device running the INDI GPhoto driver and not the SD Card. Settings for saving to SD card is also available. Under Options tab you can select the Upload mode:
- Client: Upload image to client (default).
- Local: Store image locally, never send to client.
- Both: Store image locally and send it to client as well.
GPhoto driver support live video preview mode if supported by your camera. KStars is the only client currently that supports live preview mode. To Enable, click on the Enable Preview in the driver's main control tab.
The Live View supports zoom levels of 5x and 10x respectively.
If supported by your camera, you can control Focus In and Focus Out with speed settings under the Focus tab of the GPhoto driver. You can autofocus with any client that supports INDI auto-focusing.
Once you're connected, you can capture images as FITS or RAW from the camera. When using Ekos, you can configure what DSLR format is set to in capture module. Ekos automatically switches format to FITS when using Focus, Guide, and Align modules.
When using the driver for the first time, you must set the CCD Information specific to your DSLR model. Initially, all parameters are set to zero as shown below.
Fill and set the required parameters. For example, for Canon 600d. The following values were used. Please note that Bits Per Pixel is always set to multiples of 8 regardless of the DSLR's bit depth. This is because FITS format are transferred in multiples of 8.
After setting the parameters, you should save the parameters to the DSLR's configuration file so that they are loaded in future sessions.
INDI will detect any extra options that your device may support and if found, INDI shall construct dynamic controls (knobs & switches) to control these features.
Nikon is officially supported under GPhoto but the level of features supported is less than that of Canon cameras. For bulb exposures to work, you must set Capture Target to SD Card. By default it is set to Internal RAM which is problematic in Nikon cameras. Please save configuration after setting capture target to SD Card.
The following settings would make capture possible with Canon 1DX camera according to this INDI Forum Thread:
Mirror Lockup = 0 (It I set the mirror lockup on it would fail, and I would need to reboot the system and restart KStars on the Mac)
Force Bulb = OFF (Camera was set to Bulb mode, if I used Force Bulb it would fail)
Capture Format = RAW
Transfer Format - Native
Capture Target = SD Card (I think this one was the key in the Image Settings tab)
SD Image = Delete
The INDI Sony driver is reported to work well with the Sony A7III camera. Just make sure to set the format to RAW.
Olympus OM-D E-M1
Even if you set the mode to BULB, the camera automatically switches to M mode and the exposure is set to 1-second automatically after the first capture. To resolve this, set the mode back to BULB after the first capture and subsequent captures should be fine.
In case the camera fails to connect or capture, please make sure of the following:
- Make sure the battery in the camera is full
- Make sure the SD card in the camera has enough space.
- Make sure camera is set to Bulb/Manual mode. You might need to rotate the dial to Bulb or Manual and then adjust camera settings to enable BULB mode.
- Turn off any power-saving feature of the camera that might cause it to hibernate or sleep. Some cameras support adjustable inactivity timers before automatically turning off. Set such timers to 15 minutes or more.
- Try a different USB cable.
- Try a different USB port.
- Turn off Noise Reduction settings in the camera.
- Turn off mirror lock in the camera settings.
Please check the INDI Forum DSLRs FAQs before submitting any support request. If you found a bug, please report it at INDI's issue tracking system at Github.