I have this one currently as I was testing out the waveshare 16MP cam:
2023-01-16T16:46:29: Driver indi_libcamera_ccd: [94:02:55.876760888] [23473] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3897-c3c878a9
I did a sudo rpi-update and it stayed on this version.
Read More...
Replying to myself... so apparently only when using DNG it stays the same image level regardless of settings. When you use JPG it uses the new values and stays on that for subsequent DNG captures... kind of annoying if you ask me.
Read More...
Preview is working for both pics and streams, but apparently it doesn't matter if you change the exposure time. it's always the same image. Also it takes a *really* long time, for a 1s exposure, it takes > 10s to take a pic and some 5s to download. For longer exposures it's even worse.
Read More...
Yeah, but:
www.waveshare.com/wiki/IMX519-78_16MP_AF_Camera#libcamera-jpeg
"The gain parameter set will first set the analog gain parameter inside the photosensitive chip. If the set gain exceeds the maximum built-in analog gain value of the driver, the maximum analog gain of the chip will be set first, and then the remaining gain multiples will be used as numbers. gain to take effect. "
So you unless you exceed the analog gain max, you'll never use the digital gain.
Read More...
@OUTTA Have you seen this: github.com/raspberrypi/libcamera-apps/issues/344
I have the waveshare module and contrary to what it reports
2022-12-22T16:38:58: Driver ../build/indi-libcamera/indi_libcamera_ccd: ExposureTime : [14..7229147]
it seems like it does expose for 15s?
Read More...
OK, so I re-added CloseCamera/OpenCamera calls so the cam is now locked only for the duration of shots.
Playing with the text props will still crash, so be careful with them. Probably best leave them at the first item.
And I added width/height setting. You need to do this on the "Image Setting" page - and make sure your width is divisible by 2.
I also noticed that you can't compile the driver on buster, as there are changes in libcamera (exposure is a long, not a pointer and a few other things). Then again, it probably won't run the newer cams anyway.
Read More...
Thanks for this, I hope I'll get try it in the next few days.
Frankly, if I had time I would have written a pure python command line driver (ie, not using picamera2, but forking to a new process and getting stdout or the file it produces). Otherwise libcamera is just too flaky for my tastes.
I'd just have used a pre-exisitng lib like github.com/MMTObservatory/pyINDI/tree/mmtcam_stuff
I think they have a CCD template floating around. But I also definitely wanted video, and have no idea on how to show that on the client and how many props I would have to implement for it.
Read More...
For me it does, but again not for raw images. They don't change at all unless you shoot jpegs first.
Read More...
Actually, the DNG doesn't change at all with exposure and gain settings at least not from what I see. It's only after you shoot a jpeg it does change.
Also, the controls can be useful for a variety of things, getting video to work better being one.
So yeah, for the "actual" images raw is fine, but it's a lot more convenient when you have other options, too.
Read More...
And finally, controls for about everything (brightness, f-stops, contrast, awb etc). But they are all numeric because I'm too tired to look up how to figure out arrays of strings.
It just doesn't look like the images get better when you play around with them.
Read More...
I'd rather prefer something like the V4L driver does, ie auto create menus and controls, but I guess there's no corresponding API for the creation of visible names.
Read More...
Here's some more properties, I guess this can be used to create them dynamically. I think it's "low,high,current":
>>> pprint.pprint(picam2.camera_controls)
{'AeConstraintMode': (0, 3, 0),
'AeEnable': (False, True, None),
'AeExposureMode': (0, 3, 0),
'AeMeteringMode': (0, 3, 0),
'AnalogueGain': (1.0, 16.0, None),
'AwbEnable': (False, True, None),
'AwbMode': (0, 7, 0),
'Brightness': (-1.0, 1.0, 0.0),
'ColourCorrectionMatrix': (-16.0, 16.0, None),
'ColourGains': (0.0, 32.0, None),
'Contrast': (0.0, 32.0, 1.0),
'ExposureTime': (0, 66666, None),
'ExposureValue': (-8.0, 8.0, 0.0),
'FrameDurationLimits': (33333, 120000, None),
'NoiseReductionMode': (0, 4, 0),
'Saturation': (0.0, 32.0, 1.0),
'ScalerCrop': (libcamera.Rectangle(0, 0, 0, 0),
libcamera.Rectangle(65535, 65535, 65535, 65535),
libcamera.Rectangle(0, 0, 0, 0)),
'Sharpness': (0.0, 16.0, 1.0)}
Read More...