Max set rate using arv_camera_get_frame_rate

Dear Aravis hello,
I want to set the frame rate using the arv_camera_set_frame_rate function.
The thing is when I set it to 150 frames and I read using the arv_camera_get_frame_rate function I get 66.49.

Does the maximum rate I could set is 66.49?
Thank you in advance

It depends on your camera, and how it is configured. Aravis by itself does not impose limits to the framerate.

arv_camera_get_frame_rate_bounds() will give you the device limits.

Hello Emmanuel,
Thank you for your answer, I called that arv_camera_get_frame_rate_bounds() function and this is the result.

the maximum bound is 66.493843 and the minimum bound is 0.499989

In the datasheet of my camera, I have this information:

Freerun mode frame rate 161
Trigger frame rate (continuous) 161
Trigger frame rate (maximum) 164

I am using the arv-tool-0.8 features to list all the features but, I have no device found in return.
This happens only with my USB camera even if I added the vendor to /etc/udev/rules.d/rules.

The maximum frame rate may depend on other settings, like the exposure time. That should be all explained in your camera documentation.

But as alwaysl, bug happens, it could be an Aravis issue.

Yes, I want to use the arv-viewer-0.8 to set manually the parameters.
my issue is when I run the arv-viwer-0.8 the USB camera is not listed in the list. I could only the ethernet camera.
I added the vendor to the /etc/udev/rules.d/rules but still couldnโ€™t see the camera in the list.
Could you help, please?
Thank you in advance.

Could you run arv-viewer with debug enabled: arv-viewer-0.8 -d all, and post the console output here ?

l-machine:~$ arv-tool-0.8 -n U3-306xCP-M genicam
Device 'U3-306xCP-M' not found
-virtual-machine:~$ arv-tool-0.8 -n 'U3-306xCP-M' genicam
Device 'U3-306xCP-M' not found
tvirtual-machine:~$ arv-viewer-0.8 -d all
[16:50:30.302] ๐Ÿ†† interface> Failed to open USB device
[16:50:30.302] ๐Ÿ…ธ interface> Found 0 USB3Vision device (among 10 USB devices)
[16:50:30.302] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[16:50:30.302] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 10.1.0.171 (10.1.3.255)
[16:52:19.559] ๐Ÿ†† interface> Failed to open USB device
[16:52:19.559] ๐Ÿ…ธ interface> Found 0 USB3Vision device (among 10 USB devices)
[16:52:19.559] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[16:52:19.559] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 10.1.0.171 (10.1.3.255)
[16:52:20.563] ๐Ÿ†† interface> Failed to open USB device
[16:52:20.563] ๐Ÿ…ธ interface> Found 0 USB3Vision device (among 10 USB devices)
[16:52:20.563] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[16:52:20.564] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 10.1.0.171 (10.1.3.255)

mmm failed to open the USB deviceโ€ฆ
but it works if I use directly the library!

Trying running arv-tool-0.8 -d all as root and report the output here.

Hello,

I launched the arv-viewer-0.8 with a the root user and it works,
Thank you for your help,

virtual-machine:~$ sudo arv-tool-0.8 -d all
[sudo] password for tarik: 
[09:53:27.220] ๐Ÿ…ธ interface> Found 1 USB3Vision device (among 10 USB devices)
[09:53:27.220] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[09:53:27.221] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 10.1.0.171 (10.1.3.255)
IDS Imaging Development Systems GmbH-1409f4a499aa-4104427946 (USB3)
-virtual-machine:~$ sudo arv-viewer-0.8 -d all

(gst-plugin-scanner:3621): GLib-GObject-WARNING **: 09:55:07.420: type name '-a-png-encoder-pred' contains invalid characters

(gst-plugin-scanner:3621): GLib-GObject-CRITICAL **: 09:55:07.420: g_type_set_qdata: assertion 'node != NULL' failed

(gst-plugin-scanner:3621): GLib-GObject-CRITICAL **: 09:55:07.420: g_type_set_qdata: assertion 'node != NULL' failed

(gst-plugin-scanner:3621): GLib-GObject-WARNING **: 09:55:07.490: type name '-a-png-encoder-pred' contains invalid characters

(gst-plugin-scanner:3621): GLib-GObject-CRITICAL **: 09:55:07.490: g_type_set_qdata: assertion 'node != NULL' failed

(gst-plugin-scanner:3621): GLib-GObject-CRITICAL **: 09:55:07.490: g_type_set_qdata: assertion 'node != NULL' failed
[09:55:08.377] ๐Ÿ…ธ interface> Found 1 USB3Vision device (among 10 USB devices)
[09:55:08.377] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[09:55:08.377] ๐Ÿ…ธ interface> [GvDiscoverSocket::new] Add interface 10.1.0.171 (10.1.3.255)
[09:55:12.699] ๐Ÿ…ธ device> [UvDevice::new] GUID    = 1409f4a499aa
[09:55:12.710] ๐Ÿ…ธ device> [UvDevice::new] Using control endpoint 1, interface 0
[09:55:12.710] ๐Ÿ…ธ device> [UvDevice::new] Using data endpoint 2, interface 1
[09:55:12.710] ๐Ÿ…ธ device> Get genicam
[09:55:12.711] ๐Ÿ…ธ device> MANUFACTURER_NAME =        'IDS Imaging Development Systems GmbH'
[09:55:12.714] ๐Ÿ…ธ device> MAX_DEVICE_RESPONSE_TIME = 0x0000012c
[09:55:12.714] ๐Ÿ…ธ device> DEVICE_CAPABILITY        = 0x0000000000000f0d
[09:55:12.714] ๐Ÿ…ธ device> SRBM_ADDRESS =             0x0000000000010000
[09:55:12.714] ๐Ÿ…ธ device> MANIFEST_TABLE_ADDRESS =   0x0000000000150000
[09:55:12.717] ๐Ÿ…ธ device> U3VCP_CAPABILITY =         0x00000003
[09:55:12.717] ๐Ÿ…ธ device> MAX_CMD_TRANSFER =         0x00000800
[09:55:12.717] ๐Ÿ…ธ device> MAX_ACK_TRANSFER =         0x00000800
[09:55:12.717] ๐Ÿ…ธ device> SIRM_OFFSET =              0x0000000000020000
[09:55:12.726] ๐Ÿ…ธ device> SIRM_INFO =                  0x02000000
[09:55:12.726] ๐Ÿ…ธ device> SIRM_CONTROL =               0x00000000
[09:55:12.726] ๐Ÿ…ธ device> SIRM_REQ_PAYLOAD_SIZE =      0x0000000000232800
[09:55:12.726] ๐Ÿ…ธ device> SIRM_REQ_LEADER_SIZE =       0x00000034
[09:55:12.726] ๐Ÿ…ธ device> SIRM_REQ_TRAILER_SIZE =      0x00000020
[09:55:12.726] ๐Ÿ…ธ device> SIRM_MAX_LEADER_SIZE =       0x00000034
[09:55:12.726] ๐Ÿ…ธ device> SIRM_PAYLOAD_SIZE =          0x00000000
[09:55:12.726] ๐Ÿ…ธ device> SIRM_PAYLOAD_COUNT =         0x00000000
[09:55:12.726] ๐Ÿ…ธ device> SIRM_TRANSFER1_SIZE =        0x00000000
[09:55:12.726] ๐Ÿ…ธ device> SIRM_TRANSFER2_SIZE =        0x00000000
[09:55:12.726] ๐Ÿ…ธ device> SIRM_MAX_TRAILER_SIZE =      0x00000020
[09:55:12.729] ๐Ÿ…ธ device> MANIFEST_N_ENTRIES =       0x0000000000000001
[09:55:12.729] ๐Ÿ…ธ device> MANIFEST ENTRY
                         00000000 00 00 01 00 00 04 01 01 48 00 15 00 00 00 00 00  ........H.......
                         00000010 15 cc 00 00 00 00 00 00 02 93 de 10 8a 5c ad c6  .............\..
                         00000020 6e 15 be 47 54 a1 fd 11 f2 10 b2 8c 00 00 00 00  n..GT...........
                         00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
[09:55:12.729] ๐Ÿ…ธ device> genicam address =          0x0000000000150048
[09:55:12.729] ๐Ÿ…ธ device> genicam size    =          0x000000000000cc15
[09:55:13.116] ๐Ÿ…ธ device> zip file =                 U3-306x-M_2.20.16848.xml
[09:55:13.147] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (IsSelfClearing)
[09:55:13.151] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (IsSelfClearing)
[09:55:13.152] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (IsSelfClearing)
[09:55:13.152] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (IsSelfClearing)
[09:55:13.182] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.183] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.183] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.184] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.196] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.202] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.214] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.223] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (pBlockPolling)
[09:55:13.227] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (CacheChunkData)
[09:55:13.227] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (CacheChunkData)
[09:55:13.227] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (CacheChunkData)
[09:55:13.227] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (CacheChunkData)
[09:55:13.227] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (CacheChunkData)
[09:55:13.227] ๐Ÿ…ธ dom> [Genicam::create_element] Unknown tag (CacheChunkData)
[09:55:13.272] ๐Ÿ†† misc> [PixelFormat::to_gst_caps_string] 0x010a0046 not found
[09:55:13.272] ๐Ÿ†† misc> [PixelFormat::to_gst_caps_string] 0x010c0047 not found
[09:55:18.458] ๐Ÿ…ธ stream> SIRM_INFO             = 0x02000000
[09:55:18.459] ๐Ÿ…ธ stream> SIRM_REQ_PAYLOAD_SIZE = 0x0000000000232800
[09:55:18.459] ๐Ÿ…ธ stream> SIRM_REQ_LEADER_SIZE  = 0x00000034
[09:55:18.459] ๐Ÿ…ธ stream> SIRM_REQ_TRAILER_SIZE = 0x00000020
[09:55:18.459] ๐Ÿ…ธ stream> Required alignment    = 4
[09:55:18.462] ๐Ÿ…ธ stream> SIRM_PAYLOAD_SIZE     = 0x00100000
[09:55:18.462] ๐Ÿ…ธ stream> SIRM_PAYLOAD_COUNT    = 0x00000002
[09:55:18.462] ๐Ÿ…ธ stream> SIRM_TRANSFER1_SIZE   = 0x00032800
[09:55:18.462] ๐Ÿ…ธ stream> SIRM_TRANSFER2_SIZE   = 0x00000000
[09:55:18.462] ๐Ÿ…ธ stream> SIRM_MAX_LEADER_SIZE  = 0x00000034
[09:55:18.462] ๐Ÿ…ธ stream> SIRM_MAX_TRAILER_SIZE = 0x00000020

Great.

This means the rules.d file is either wrong, or not taken into account. What is the content of your file ?

cat /etc/udev/rules.d/rules
# Basler
SUBSYSTEM=="usb", ATTRS{idVendor}=="2676", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# The Imaging Source
SUBSYSTEM=="usb", ATTRS{idVendor}=="199e", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Point Grey Research
SUBSYSTEM=="usb", ATTRS{idVendor}=="1e10", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Daheng Imaging
SUBSYSTEM=="usb", ATTRS{idVendor}=="2ba2", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Dahua Technology
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e03", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Omron Sentech
SUBSYSTEM=="usb", ATTRS{idVendor}=="1421", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Camera
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d6b", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Camera IDS
SUBSYSTEM=="usb", ATTRS{idVendor}=="1409", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"

I added the 2 last lines
#camera
โ€ฆ
and
#Camera IDS
โ€ฆ

You probably need to tell udev to reload the rules:

udevadm control --reload-rules && udevadm trigger
1 Like

And disconnect reconnect your USB camera.

1 Like