×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Driver for Raspberry Pi "High Quality Camera?"

  • Posts: 123
  • Thank you received: 13
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.

 
File Attachment:


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.
The following user(s) said Thank You: Jasem Mutlaq
Last edit: 2 years 5 months ago by Outta.
2 years 5 months ago #76078
The topic has been locked.
Impressive! Any ideas how can we inquire if binning is supported or not? and the range? Then it would be easy to code in.
2 years 5 months ago #76098
The topic has been locked.
  • Posts: 62
  • Thank you received: 12
Wow, good job! I have to try.

Is there a limit to the max exposure?
The following user(s) said Thank You: Outta
2 years 5 months ago #76106
The topic has been locked.
  • Posts: 123
  • Thank you received: 13
Thanks Tomas. 
EDIT: Just saw this, yes there is 200s exposure limit(although it could possibly go to max of 230)

Jason, I do not think we can get binning data from camera, but it is defined in raspberry documentation: www.raspberrypi.org/documentation/accessories/camera.html.
All 3 cameras support only 2x2 hardware binning, but in different modes. I am not sure does this driver support OV5647 sensor, I doubt it. 
There are lot of modes but I think we are interested only in 2x2 binning at full resolution as we can easily crop image afterwards, and hi speed recording is not intended in this usecase.

We could create mapping class per sensor name (as we do have that information from camera)  and using that class set Sensor mode and Max Resolution (half of max y and x provided by camera). 
File Attachment:
Last edit: 2 years 5 months ago by Outta.
2 years 5 months ago #76111
The topic has been locked.
  • Posts: 123
  • Thank you received: 13
Here is one more result Helix nebula on 60/330 apo in light poluted area: 
File Attachment:

Both 200s gain 12 and I think gain 16 on not binned one(but I do not see difference between 12 and 16. 
New one was not autoguided just tracked, guiding failed for some reason. 

Another issue that i found, and solved by Hardcoding is that "Plate Solving" automatically takes "Max Resolution" in that case it breaks the system, so I hardcoded the use of 2028x1520.
Again, implementation of binning and auto having resolution would solve this problem
The following user(s) said Thank You: Jasem Mutlaq
Last edit: 2 years 5 months ago by Outta.
2 years 5 months ago #76206
The topic has been locked.
Great, now all we need is to adjust the driver to set the correct modes per sensor to achieve this.
2 years 5 months ago #76207
The topic has been locked.
  • Posts: 123
  • Thank you received: 13
So I got a baby in house now, so no time for astronomy :) , but my only true test with rpi hiq camera, this is only 50 minutes (15x200) on 60/330. So capable cheap device. 


 
The following user(s) said Thank You: Craig Dobbs
Last edit: 2 years 4 months ago by Outta.
2 years 4 months ago #77586
Attachments:
The topic has been locked.
  • Posts: 4
  • Thank you received: 1
Thanks for the help getting the HQ camera up and running. I'm new to the Raspi so I am wondering if you can point me to the file you updated for Plate Solving? I have run into a few issues that maybe you have run into and know how to work around. 1) Ekos KStars Focus always sets the resolution of the Camera back to 4056x3040. 2) When I run PHD2 and perform the camera image loop the driver crashes. I think it is due to PHD2 trying to set the resolution to 8112x6080 after the first image is requested.

Thanks for any help you can provide!
1 year 11 months ago #82530
The topic has been locked.
  • Posts: 123
  • Thank you received: 13
Hi Craig,

Issue is not in fact in resolution issue is in exposure time of 1s. There is indeed a bug in driver with 1s. I have fixed that locally but did not make pull request as I did not test it with regular setup as my configuration is heavily modified so I cannot do true test without returning everything to default, that I am lazy to do.

But to help people out here I will upload my Source Code from RPI right here so other people can build if needed my custom version.

Regarding guiding, I have typed everything I did in other thread, there is still one small thing I am trying to discover, but I have accidently burdened my mounts brain (shorted something on STM32 BluePilll :) ) and now I am waiting for new ones to come.
So uf you start ekos driver, and take 10s then 15s exposure you will "enable" long exposure mode, in that mode download slows down to ~3-4s, but you will be able to take exposures longer than 5 sec, what is important for imaging. As I was doing this by default every time I start ekos I noticed if i do not do that, download is much faster, but I did not find out what impact does ti have on quality of image for guding, due to problem above. If image quality is degraded and SNR is bad I prefer old mode, despite being slower.

Also not to forget, I turned off "noise reduction" in RPI camera using commands:

sudo vcdbg set imx477_dpc <value>
where <value> can be one of:
0 - All DPC disabled. - DPC(Defective Pixel Correction)
1 - Enable mapped on-sensor DPC.
2 - Enable dynamic on-sensor DPC.
3 - Enable mapped and dynamic on-sensor DPC.
indilib.org/forum/general/7332-raspberry...uiding.html?start=12
Last edit: 1 year 11 months ago by Outta.
1 year 11 months ago #82544
The topic has been locked.
  • Posts: 123
  • Thank you received: 13
Here is my custom edit of this driver, it is compiled so you can just go to that folder and run
sudo make install

If it does not work go through whole procedure:
Then open Terminal and type this only first time(prerequisite):
sudo apt-get install libnova-dev libcfitsio-dev libusb-1.0-0-dev zlib1g-dev libgsl-dev build-essential cmake git libjpeg-dev libcurl4-gnutls-dev libtiff-dev libftdi-dev libgps-dev libraw-dev libdc1394-22-dev libgphoto2-dev libboost-dev libboost-regex-dev librtlsdr-dev liblimesuite-dev libftdi1-dev libgps-dev libavcodec-dev libavdevice-dev
sudo apt-get -y install libindi-dev
And then type this in
mkdir -p ~/Projects/build/indi-rpicam
cd ~/Projects/build/indi-rpicam
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ~/Projects/indi-3rdparty/indi-rpicam
make -j4
sudo make install
1 year 11 months ago #82546
Attachments:
The topic has been locked.
  • Posts: 4
  • Thank you received: 1
Thanks for posting! I followed the other posting in raspberry-pi-hq-autoguiding to this forum so I had the 1s fix as well. :) I noted a few diffs between the files that I didn't specifically see in your diff you posted on page 6. Though now that I see them I should have looked closer at the driver package. I'm going to try with these changes and if that doesn't work I'm going to reinstall the OS and start from scratch. Thanks again for your work.

In mmalcamera.cpp

-- if (!strcmp(cameraModel, "imx477")) {
xPixelSize = yPixelSize = 1.55F;
}
++ if (!strcmp(cameraModel, "imx477")) {
xPixelSize = yPixelSize = 3.1F;
}


In mmaldriver.cpp
-- SetCCDParams(static_cast<int>(camera_control->get_camera()->get_width()),
static_cast<int>(camera_control->get_camera()->get_height()),
++ SetCCDParams(2028,
1520,
16,
-- uint32_t nbuf = PrimaryCCD.getXRes() * PrimaryCCD.getYRes() * PrimaryCCD.getBPP() / 8;
++ uint32_t nbuf = 2028 * 1520 * PrimaryCCD.getBPP() / 8;

-- // | CCD_HAS_STREAMING // Does the CCD support live video streaming?
++ | CCD_HAS_STREAMING // Does the CCD support live video streaming?
1 year 11 months ago #82563
The topic has been locked.
  • Posts: 123
  • Thank you received: 13
Indeed I did play a bit more with that version I sent. I updated pixel size to get accurate SNR, because of "false" hard coded binning I implemented i would get incorrect SNR.

Also I started playing with streaming, for future planetary capture, but did not get very far :) so if you click stream everything crashes, or you can comment out that line so you do not accidently click it.

You do not need to reinstall OS for this, you can easily reset it to default. Keep me updated I am interested how it works for other people as well.
1 year 11 months ago #82569
The topic has been locked.
Time to create page: 3.456 seconds