64MP source code

It appears that ArduCam 64MP contrary to 16MP (which is imx519 based, and natively supported by Rapsberry PI) does not have automatic exposure control.

Both of those problem appears to be missing implementation of camera helper:

  • completely (for auto-focus, auto exposure) for 64MP (no cam_helper for the arducam 64MP sensor)

Secondly the patches to support 64MP are missing from ArduCAM/Arducam-Pivariety-V4L2-Driver GitHub repository:

ArduCAM can you share the above source code?

2 Likes

OK. I see that at least arducam_64mp.c is upstreamed https://github.com/raspberrypi/linux/blob/rpi-5.15.y/drivers/media/i2c/arducam_64mp.c :slight_smile:

Hi, @kmaucxzu

Did you install the 64mp driver? The focus motor driver is included in the installation package.

Since the focus motor driver has not been integrated into the Raspberry Pi kernel, it still needs to be installed.

@yang Yes, I have installed.

I’m in particular asking for source code of all changes made by ArduCam that are shipped as binaries (libcamera-apps and libcamera-dev). I listed exactly what is missing up.

Hi, @kmaucxzu

The latest Patch file has been uploaded.

@yang

I don’t think this is complete:

Firstly, I do not see the /usr/share/libcamera/ipa/raspberrypi/arducam_64mp.json be present in the patch, but present in 0.0.8 of libcamera-dev.

The second difference is that AfTrigger is not exposed as part of controls of camera, which is the case for the https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/releases/download/libcamera-v0.0.5/libcamera-dev-0.0.8-bullseye-arm64.deb.

Thirdly, It would also help to make libcamera compiled by ArduCam to be compiled with libudev-dev (to enable device hotplug and ability to discover USB connected devices).

Forth, unsure what magic is required but when compiling the https://github.com/raspberrypi/libcamera with the applied patch camera does output image, but the AfTrigger does not work at all. So, I assume that patch is incomplete or is applied on top of different sources.

WARN IPARPI raspberrypi.cpp:981 Ctrl AfTrigger is not handled

Can you provide a complete patch with an instruction how to compile libcamera-dev to produce exact binary as published on GitHub by ArduCam?

Hi, @kmaucxzu

ipa follows the BSD protocol, we do not open source.

This is truly disappointing, given that there’s no big secrets in there. Maybe except slightly extended rpi.focus.

The are a few problems with the patches provided:

  • you can compile libcamera itself, it kind of works
  • the auto-focus is missing, which appears to uses rpi.focus underneath and there’s AfTrigger wiring
  • the auto-exposure control is missing from 64MP and there’s no way to add this since no patches are available

BSD does not prevent from sharing source code. I guess, the attitude shows reconsider buying ArduCam cameras otherwise you end-up with product with subpart implementation that is not fixable yourself, and you have to run binary blobs build in unknown way.

If Raspberry PI would to not share sources because this is BSD the ArduCam would not be there where it is with their cameras on RPI.

I for example try to help a person that owns 16MP and 64MP that is affected by the lack of software support.

1 Like

Hi, @kmaucxzu

In the ipa, in addition to including the implementation for handling focus, we also added other arducam specific code. We will discuss whether it is possible to open source the source code that does not have Arducam specific code for your use.

Thanks @kmaucxzu

A few details:

  • AfTrigger was changed in to 0.0.8 to be continuous auto-focus with start/cancel
  • This does not appear to be a god design as it prevents a single-off trigger of focus
  • There’s AfMode for that to indicate a type of auto-focus

I guess this is even worse then. I would expect that everything is open sourced, or at least in a state that allows to have main functions to work properly.

1 Like

Hi, @kmaucxzu

For more details, please contact us by email:

[email protected]