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);
file.read (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 !



Christophe BONNEFOY replied to the topic 'Raspberry Pi Camera Module - Indi' in the forum. 12 months ago


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 ?




Christophe BONNEFOY replied to the topic 'Re:Raspberry Pi Camera Module - Indi' in the forum. 1 year ago

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 ?




Christophe BONNEFOY replied to the topic 'Re:Raspberry Pi Camera Module - Indi' in the forum. 1 year ago

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,



Christophe BONNEFOY created a new topic ' Raspberry Pi Camera Module - Indi' in the forum. 1 year ago


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 : www.indilib.org/support/tutorials/169-ek...-complete-guide.html
  • 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 !



3rd Party

Choose from the numerous 3rd party INDI drivers to suit your needs!

Got Problem?

Check out the FAQ, the forum, and the bug tracking system to resolve any issues you might have!
You can also subscribe to INDI newsletter and development mailing lists to get the latest updates on INDI!