[libcamera-devel] [PATCH v7 0/9] libcamera: Generate unique and stable camera IDs
Niklas Söderlund
niklas.soderlund at ragnatech.se
Tue Aug 4 18:13:49 CEST 2020
Hello,
This series aims to make and enforce unique camera names that are static
between system resets. This version is a complete rewrite of previous
versions and centers around on firmware descriptions. Biggest chance in
this version is that the UVC ides are reworked from scratch.
Before this series camera names on different systems looked like this (I
do not have access to a simple pipeline device):
- ipu3
ov13858 8-0010
ov5670 10-0036
- raspberrypi
imx219
- rkisp1
ov5695 7-0036
ov2685 7-003c
- uvcvideo
Venus USB2.0 Camera: Venus USB2
Logitech Webcam C930e
- vimc
VIMC Sensor B
With this series applied camera names on the same systems:
- ipu3
\_SB_.PCI0.I2C2.CAM0
\_SB_.PCI0.I2C4.CAM1
- raspberrypi
base/soc/i2c0mux/i2c at 1/imx219 at 10
- rkisp1
base/i2c at ff160000/camera at 36
base/i2c at ff160000/camera at 3c
- uvcvideo
\_SB_.PCI0.RP05.PXSX-2.1.1:1.0-0ac8:3420
\_SB_.PCI0.RP05.PXSX-2.4:1.0-046d:0843
- vimc
platform:vimc Sensor B
Niklas Söderlund (9):
libcamera: sysfs: Add new namespace to interact with sysfs
libcamera: sysfs: Add method to lookup firmware ID
libcamera: v4l2_device: Add method to lookup device path
libcamera: camera_sensor: Generate a sensor ID
libcamera: camera_sensor: Add accessors for sensor ID
libcamera: pipelines: Use sensor ID as camera name
libcamera: pipeline: uvcvideo: Generate unique camera names
libcamera: camera: Rename name() to id()
libcamera: camera_manager: Enforce unique camera IDs
include/libcamera/camera.h | 6 +-
include/libcamera/internal/camera_sensor.h | 4 +
include/libcamera/internal/meson.build | 1 +
include/libcamera/internal/sysfs.h | 24 ++++
include/libcamera/internal/v4l2_device.h | 1 +
src/android/camera_device.cpp | 4 +-
src/cam/main.cpp | 8 +-
src/gstreamer/gstlibcameraprovider.cpp | 4 +-
src/gstreamer/gstlibcamerasrc.cpp | 6 +-
src/libcamera/camera.cpp | 40 ++++---
src/libcamera/camera_controls.cpp | 2 +-
src/libcamera/camera_manager.cpp | 20 ++--
src/libcamera/camera_sensor.cpp | 48 ++++++++
src/libcamera/framebuffer_allocator.cpp | 2 +-
src/libcamera/meson.build | 1 +
src/libcamera/pipeline/ipu3/ipu3.cpp | 12 +-
.../pipeline/raspberrypi/raspberrypi.cpp | 7 +-
src/libcamera/pipeline/rkisp1/rkisp1.cpp | 16 +--
src/libcamera/pipeline/simple/simple.cpp | 2 +-
src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 77 ++++++++++++-
src/libcamera/pipeline/vimc/vimc.cpp | 4 +-
src/libcamera/sysfs.cpp | 105 ++++++++++++++++++
src/libcamera/v4l2_device.cpp | 28 +++++
src/qcam/dng_writer.cpp | 4 +-
src/qcam/main_window.cpp | 18 +--
src/v4l2/v4l2_camera_proxy.cpp | 2 +-
test/camera/buffer_import.cpp | 2 +-
test/camera/capture.cpp | 2 +-
test/camera/configuration_default.cpp | 2 +-
test/camera/configuration_set.cpp | 2 +-
test/camera/statemachine.cpp | 2 +-
test/controls/control_info_map.cpp | 2 +-
test/controls/control_list.cpp | 2 +-
test/pipeline/ipu3/ipu3_pipeline_test.cpp | 2 +-
test/pipeline/rkisp1/rkisp1_pipeline_test.cpp | 2 +-
test/serialization/serialization_test.h | 2 +-
36 files changed, 381 insertions(+), 85 deletions(-)
create mode 100644 include/libcamera/internal/sysfs.h
create mode 100644 src/libcamera/sysfs.cpp
--
2.28.0
More information about the libcamera-devel
mailing list