Its quite useable with the current indi driver if ones takes care to set the parameters in the right order. I'm able to get exposures up to 200 sec, both through indi, and direct RPi command line.
However, I've been running it alongside a ZWOASI 120MM-S in a plate-solving project to compare performances. The small pixels do seem to be an issue. To get anywhere near the same sensitivity as the ZWO camera I have to bin it 4x4.
From what I can gather, it appears the RaspiHQ camera is perfectly usable within Ekos, as long as the correct setup order is done (Gain before exposure if I've read the thread correctly?). I've yet to test this in anger, but I appear to be getting some output during the day which is promising.
What I can't get to work though, is live video or video recording. The live video button below the sequence order window has a cross-through it?! Is this supported yet, or have I missed something on setup?
(Video seems to work fine via comman line and raspivid
Has there been any progress on this driver?
Unfortunately now something is wrong with forum and I can read only First page, and last using Reply trick so I cannot see any posts regarding driver.
I have installed and tried indi_rpicam that does not support video, I would guess that that is this one we are talking about here? but it seems a bit slow and I do not think it can be used for autoguiding, but it can be used for capturing.
I have tried V4L2 CCD driver(sudo apt-get install indi-webcam) and that one does stream video, but it can stream or capture as far as I saw(played for less then 15 minutes), it is also detected in PHD2 and I think it can be used for autoguiding, it might be best at this moment but additional testing and reading needed.
I have tried Indi Webcem driver(sudo apt-get install libindi1), that one is not good for this purpose.
There should also be support for "libcamera" for raspberry pi. That one should be the best option, but clean new driver will have to be written, but I am not sure about progress as information is scarce, but there is Google coding camp this summer for libcamera, so that is a good news. Libcamera should enable Raspberry Pi to plugin any sensor you want that has appropriate interface(MIPI CSI)
Hi Lars, can I ask, do you disable DPC (Defective Pixel Correction), otherwise known as the Sony Star Eater algorithm. As this is now possible to disable, eg by running this before starting the camera "sudo vcdbg set imx477_dpc 0". Please see here: www.raspberrypi.org/forums/viewtopic.php?t=277768
I do not agree with that.
You can easily disable that by running a script you mentioned(I created startup.sh script that runs few commands that I run before ekos), and sometimes you do not want that disabled, as I am using this camera for plate solving, I want noise to be reduced so I enable DPC.
Also as this is root command it would require entering password every time you start indi, it does not make sense.
I think most important feature needed is implementation of binning, further speeding up of download(binning would help there as well)
Also i have a weird bug, I first have to take 10 s exposure that takes 5 seconds, and then i have to take 15s to enable long exposures. If I do not do that, every exposure is locked at 5s for some reason.
I think Lars is too busy now to make any changes on code of rpi camera.
I was going through the code and noticed this part with comment :
selectSensorConfig(0 /* What ever 0 means */);
That is actually binning mode, as per documentation:
Just to note this is for high quality camera, different modes are for different cameras.
Also interesting thing is that zero is "Automatic" but explenation of that part is missing from documentation except this note for all cameras:
Anything output res below 1296 x 976 will use the 2 x 2 binned mode.
If automatic works then setting resolution to half should activate binning automatically, but I am not sure how to test that. Maybe by picturing fixed long distance target(lamp) with different resolutions but same exposure?
EDIT: i just tried reducing resolution, unfortunately it is only crop in current implementation of driver, but with resolution of 2028x1520, download time is 0.5 seconds.
Also I am unable to build and test this mode by changing modes "selectSensorConfig" could someone try to change that and try?
I managed to get binning working with this driver. Beside better sensitivity binning achieves lower download speed that is now around 1s.
Binning is set by changing sensor mode. There are 4 modes, but actually only mode 2 is useful here as it is full res 2x2 binning. Also there is no separate vertical or horizontal binning. I had to make few more little changes here as well to make this working.
Here is difference in non properly focused countertop of my kitchen:
I did not make pull request as I have no idea how to make this binning to take value from UI so you have to rebuild every time if you want to change binning. In short change is: setSensorConfig(2) in mmalcamera.cpp, in mmaldriver.cpp and raw12tobayer16pipeline.cpp remove resolution checks. In INDI you have to set resolution manually to 1/2 - 2028x1520.
Here is git diff if someone wants to try:
<code>diff --git a/indi-rpicam/mmalcamera.cpp b/indi-rpicam/mmalcamera.cpp
index bbc36f1..2175bc2 100644
@@ -38,7 +38,7 @@ MMALCamera::MMALCamera(int n) : MMALComponent(MMAL_COMPONENT_DEFAULT_CAMERA), ca
- selectSensorConfig(0 /* What ever 0 means */);
+ selectSensorConfig(2 /* What ever 0 means */);
diff --git a/indi-rpicam/mmaldriver.cpp b/indi-rpicam/mmaldriver.cpp
index fbb1804..2adf7c2 100644
@@ -67,13 +67,13 @@ void MMALDriver::assert_framebuffer(INDI::CCDChip *ccd)
int nbuf = (ccd->getXRes() * ccd->getYRes() * (ccd->getBPP() / );
- int expected = 4056 * 3040 * 2;
+ /* int expected = 4056 * 3040 * 2;
if (nbuf != expected)
LOGF_DEBUG("%s: frame buffer size set to %d", __FUNCTION__, nbuf);
LOGF_ERROR("%s: Wrong size of framebuffer: %d, expected %d", __FUNCTION__, nbuf, expected);
It should also be tested on IMX219 camera, I saw driver supports that sensor and unit test should be ran, I did not test that as I don't have Gtest. I am actually .net developer so I am kind of out of my league here but managing
And of course taking value from GUI should be implemented, as I just hard-coded 2. Programmatically changing resolutiom to 1/2 would be nice to have.
But for my personal use it can remain hardcoded as I would always use binned mode.
I finally managed to do a star test, and binned results are impressive. Since it was not mounted stars drifted a bit, I missed a focus a bit as well, and lens is garbage. It is 134mm FL 34mm D, 5s exposure with analog gain 12.
Since 2x2 is hardware binning it has impressive result. And binning is definitely must have as it increases sensitivity and download lasts 1s, so it can be used for guiding as well.
Also very very important note, if you do not set correct resolution in binned mode(2028x1520 or less),it will completly break everything and you need to restart whole RPi, as camera is stuck in exposing mode.