ON Semiconductor AR1820 Linux Driver

From RidgeRun Developer Wiki




Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help.


Driver List Information
Refer to the RidgeRun Linux Camera Drivers to meet all the list of Drivers available


ON Semiconductor AR1820 Features

The AR1820HS is an 18 megapixel, 1/2.3-inch format, 1.25 um pixel sensor using ON Semiconductor’s A-PixHS™ BSI technology. With a variety of operating modes, the AR1820HS can dynamically optimize resolution, low-light, and frame rate for environmental conditions. For example, the camera could run in full 18 megapixel resolution at 24 fps under high-light conditions and switch to a 2:1 summing and 2:1 binning at 1080p 60 frames-per-second modes for superb low-light performance under darker conditions. With high resolution and frame rates, and a variety of flexible modes, the AR1820HS sensor is excellent for many applications such as surveillance, sports cameras, and mobile handsets. (Taken from OnSemi webpage).

Learn more about the sensor in the OnSemi webpage!

Supported Platforms

  • NXP iMX8

Features Included of the ON Semiconductor AR1820 Linux Driver

iMX8
Feature Details SDK Support
1920x1080 Bayer 10, 4fps to 40 fps Linux 4.5.7 / Linux 4.14.98
3840x2160 Bayer 10 Linux 4.5.7 / Linux 4.14.98
Gain controls Linux 4.5.7 / Linux 4.14.98
Exposure control Linux 4.5.7 / Linux 4.14.98

Enabling the Driver

Here we will assume the source code for the kernel is already available.

  • Once you have the source code, apply the provided patch in order to add the changes required for the AR1820 camera at kernel and dtb level.
ar1820_support.patch
  • Make sure the driver is selected at menuconfig. In yocto BSP this can be done by running the following command:
bitbake -c menuconfig virtual/kernel

Make sure VIDEO_ONSEMI_AR1820 is selected for building.

After this, build and install as indicated by the BSP provider.

Using the Driver

v4l2 ctrl

Capture

  • 1920x10805fps BG10
v4l2-ctl -d /dev/video0 --set-parm=5 --set-fmt-video=width=1920,height=1080,pixelformat=BG10 --set-crop=top=770,left=544,width=3840,height=2160 --stream-count=1 --stream-mmap --stream-to=test-1080p-bayer-bg10-single-frame.raw --verbose

Controls using v4l2-ctrl

v4l2-ctl --set-ctrl=CONTROL_NAME=CONTROL_VALUE

To get the list of controls and max/min values we can run:

v4l2-ctl -l

Which should give an output like the following:

User Controls

                       exposure (int)    : min=0 max=65535 step=1 default=800 value=800
                horizontal_flip (bool)   : default=0 value=0
                  vertical_flip (bool)   : default=0 value=0
               digital_gain_red (int)    : min=1000 max=15999 step=1 default=1000 value=1000
         digital_gain_green_red (int)    : min=1000 max=15999 step=1 default=1000 value=1000
              digital_gain_blue (int)    : min=1000 max=15999 step=1 default=1000 value=1000
        digital_gain_green_blue (int)    : min=1000 max=15999 step=1 default=1000 value=1000

Image Source Controls

                  analogue_gain (int)    : min=1000 max=16000 step=1 default=2000 value=2000

Image Processing Controls

                   digital_gain (int)    : min=1000 max=15999 step=1 default=1000 value=1000

NOTE: Please contact us for v4l2src bayer 10 support.



For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.


Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.