Thank you very much for your answerWouter,

I think I also have to use a simulator telescope to have the tab enabled.
I think, with the manual slew of the polar alignment, that I will also be able to do a polar alignment with three consecutive photos, exactly as the polarscope !

Now there are too many clouds to test it :(

clear skies



first of all thank you for ekos and indi, impressive platform!

I am using a very lightweight setup with a star adventurer and a DSLR; so no slew.

I managed to trigger my DSLR with ekos; is there a way to platesolve my pictures and place it on kstar map ? to make sure my framing is what I expect ?

thanks for your help




I an cleaning my projects right now and before erasing, I share with you a bunch of code lines:

i tweeaked the example 3 in the libindi folder

** Client is asking us to start an exposure
bool SimpleCCD::StartExposure(float duration)
ExposureRequest = duration;
system("raspiyuv -t 1 -w 2592 -h 1944 -rgb -o /tmp/test.rgb");
// Since we have only have one CCD with one chip, we set the exposure duration of the primary CCD

gettimeofday(&ExpStart, nullptr);

InExposure = true;

// We're done
return true;

void SimpleCCD::grabImage()
// Let's get a pointer to the frame buffer
uint8_t *image = PrimaryCCD.getFrameBuffer();

streampos size;
char * memblock;

ifstream file ("/tmp/test.rgb2", ios::in | ios::binary);

if (file.is_open())
file.seekg (0, ios::end);
size = file.tellg();
memblock = new char [size];
file.seekg (0, ios::beg); (memblock, size);

int expectedNbPixel = PrimaryCCD.getXRes() * PrimaryCCD.getYRes();

uint8_t * red = image;
uint8_t * green = image +expectedNbPixel;
uint8_t * blue = image+2*expectedNbPixel;

for(int i=0;i<expectedNbPixel;i++)
*(red++) = (uint8_t)(*(memblock + 3*i ));
*(green++) = (uint8_t)(*(memblock + 3*i + 1));
*(blue++) = (uint8_t)(*(memblock + 3*i + 2));

} //end if image exists
IDMessage(getDeviceName(), "Download complete.");

// Let INDI::CCD know we're done filling the image buffer

wish it helps :)



Christophe BONNEFOY is friends with Eric

Hi all,

I am searching a teammate to build a driver for the Raspberry Pi Camera which would actually wrap the raspistill command line.

The base class we would have to derive from is there : link

An example of a simple CCD : link

Basically the plan is to :

  • see how to lauch a command with default parameters
  • see how we would convert the file generated into an array of integers
  • fill the PrimaryCCD.FrameBuffer with this array

A comparable work has been done in java link

Hope to find someone interested !

PLEASE : inform me if such initiative or comparable already exists !




I have plenty of updates to give you !

Actually, It seems that my EKOS is not able to send the configuration of the image it wants from the cam when I click on the preview button: each time I get an "ioctl invalid" .

To avoid that, I tweaked the parameters from INDI configuration tap BEFORE coming into kstars/ekos :
*Capture Option / Capture Format : YUYV 4:2:2
*Capture Size : 1024x768
Then I went to Ekos and it worked ! :)

I had still had some things to improve:

* Indi tells me 1sec is the maximum I can do and I did not succeed photos with more than 1024x768 while "raspistill -w 2592 -h 1944 -ISO 800 -ss 6000000 -br 80 -co 100 -o out.jpeg" makes 6 sec hi-res photos...

* [solved, I do not know how ?] : INDI configuration window was not reachable from EKOS : each time I wanted to change or see something, I closed KStar, I "indiserver indi_V4l2_ccd" and I use PDH2 which has a button to reach Indi config. -> after hours tweaking, it appeared that the INDI parameter window is supposed to appear just after "start indi" ! It never did that to me until recently :woohoo: . It is now much easier to change settings and consult indi log

I therefore have now advanced in my journey with several questions :

  • Longer exposures, I think it is already posted here
  • Higher Resolution : I can live without it for now, let say it leads to binning and therefore better SNR... let's say...
  • Why the Indi configuration window did not show before ?
  • Why is there an invalid ioctl, I propose to keep only this question for this post

Many thanks for your help, I would be more than happy to provide additional logs or anything else to help.

PS : last thought, as "raspistill" is a command line tool would you think a indi driver feasible to wrap all its functionalities ?




hi again,
you are right the desired size has not been sent correctly :

Driver indi_v4l2_ccd: VIDIOC_CROPCAP: Inappropriate ioctl for device

what should I do ?




Hi all, hi Knro and Eric,

Please find enclosed my logs as proposed by knro.

I briefly looked into the log, it seems that the frames are actualy taken but dropped because not of the expected size : " V4L2 CCD : [DEBUG] read_frame: frame is 38544-byte long, expected 786432 - frame should be dropped "
This is a great news as it means that there is actually a frame ;)

Any help would be appreciated !

PS : the command that I did to test raspi still was : "raspistill -t 2000 -o image.jpg", my camera is the camera module v2 for raspberry pi (bought here )

Best regards,




I am trying to use indi with my camera module v2 on a raspberry pi 3/ubuntu mate 16.04.
I did a lot of tries before asking and listed below what I did :

  • I made sure my raspberry pi camera module v2 was ok with the "raspistill".
  • I followed the install instructions presented here :
  • Indi seems totally ok and I launch my server with the indi_v4l2_ccd driver.
  • with phd2 I can connect to the server, it is able to retrieve resolution, pixel size, ... and I can connect to the camera (in the tray bay I can see camera connected").
  • My only problem is when I set a 0.2 sec exposure, it seems to start but never ends.

I would take any clue to progress on my investigations.

Thank you in advance for your help !