Hi all, I’m trying to implement more accurate dark current compensation with my Arducam AR0234 camera. For that I need access to the entire pixel array, including the extra columns of optical black pixels, not just the active portion of the pixel array. Does anyone know how to read those out through the pivariety driver?
Could you share a bit more about your setup? Which board and OS are you on, and how are you currently capturing frames? It would also help if you can post the output of uname -a and the camera-related dmesg lines.
Sure. Raspberry Pi 4 running the latest Bullseye 64-bit OS, with the Arducam Full HD Color Global Shutter Camera for Raspberry Pi, 2.3MP AR0234 Wide Angle Pivariety Camera Module. I’m using picamera2 to get RAW10 1920x1200 active pixel array, and that part works fine.
uname -a:
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
dmesg | grep -E "imx477|imx219|arducam":
[ 0.078086] platform fe801000.csi: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/arducam_pivariety@c
[ 7.503014] arducam-pivariety 10-000c: firmware version: 0x10003
[ 8.120677] arducam-pivariety 10-000c: Consider updating driver arducam-pivariety to match on endpoints
Thanks. So the camera itself is enumerating and working, and you’re getting the 1920x1200 RAW10 frames. Just to confirm, the only issue is accessing the optical black pixels outside that active array, correct?
Right, the camera is working fine otherwise. It’s just not clear how to access the entire pixel array including the optical black pixels.
Thanks for confirming. Looking at this, the AR0234 path currently only exposes the active pixel array (1920x1200 RAW10). The optical black pixels are not exposed through the available driver/support path, and reading them out requires original sensor-level support for the AR0234 that isn’t available at this time. So unfortunately I can’t help access the entire pixel array on this module for now.
Thanks for the explanation. As a follow-up, do you know whether the IMX296 camera supports output of the RAW pixel array including optical black pixels outside the active array area? I’m looking at the Arducam 1.58MP IMX296 Color Global Shutter Camera Module with M12 Lens for Raspberry Pi. Or is there any other global shutter camera Arducam offers that can do this, ideally 2 megapixels or more?
To summarize the AR0234 side: the optical black pixels aren’t accessible through the current driver, and getting them would need original sensor support that isn’t available right now. On the IMX296 question, I’ll need to verify whether its driver exposes the full pixel array outside the active area, and whether any other global shutter options do. Let me check and get back to you.