Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

not able to read chunk data using aravis 0.8 (it worked with 0.6) #899

Open
weichselbaumj opened this issue May 3, 2024 · 10 comments
Open
Labels
2. Needs informations Needs additional informations 5. Genicam Issue in Genicam implementation

Comments

@weichselbaumj
Copy link

Describe the bug
Since upgrade to aravis 0.8 (from 0.6) reading chunk data does not work. I also tried the given example code (https://github.com/AravisProject/aravis/blob/main/tests/arvchunkparsertest.c), it does not work in my configuration.

To Reproduce

Expected behavior
Getting desired chunk data.

Camera description:

  • FLIR
  • FLIR-Blackfly S BFS-PGE-16S2C
  • GigE

Platform description:

  • Aravis version 0.8.30
  • OS: Ubuntu 20.04
  • x86_64

Additional context
Reading chunk data worked fine with aravis 0.6. Fore some reason we had to upgrade to aravis 0.8 and besides of the chunk data issue, everything works as expected.
Thanks for your help.

@weichselbaumj
Copy link
Author

Additional output by using ARV_DEBUG=all

[12:58:50.396] 🅸 interface> Found 0 USB3Vision device (among 9 USB devices)
[12:58:50.397] 🅸 interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[12:58:50.397] 🅸 interface> [GvDiscoverSocket::new] Add interface 10.101.41.6 (10.101.41.255)
[12:58:50.398] 🅸 interface> [GvDiscoverSocket::new] Add interface 192.168.130.1 (192.168.130.255)
[12:58:50.398] 🅸 interface> [GvDiscoverSocket::new] Add interface 192.168.86.17 (192.168.86.255)
[12:58:50.398] 🅸 interface> [GvDiscoverSocket::new] Add interface 192.168.120.1 (192.168.120.255)
[12:58:50.398] 🅸 interface> [GvDiscoverSocket::new] Add interface 192.168.110.1 (192.168.110.255)
[12:58:50.398] 🅸 interface> [GvDiscoverSocket::new] Add interface 172.17.0.1 (172.17.255.255)
[12:58:50.398] 🅸 interface> [GvDiscoverSocket::new] Add interface 10.9.0.6 (10.9.0.255)
[12:58:50.400] 🅸 interface> [GvInterface::discovery] Device 'FLIR-Blackfly S BFS-PGE-16S2C-22458335' found (interface 192.168.110.1) user_id '' - MAC '2c:dd:a3:56:af:df'
[12:58:50.400] 🅸 device> [GvDevice::new] Interface address = 192.168.110.1
[12:58:50.400] 🅸 device> [GvDevice::new] Device address = 192.168.110.2
[12:58:50.407] 🅸 device> [GvDevice::load_genicam] xml url = 'Local:BFS-PGE-16S2C_019ADA4C.zip;60000000;13DBC' at 0x200
[12:58:50.407] 🅸 device> [GvDevice::load_genicam] Xml address = 0x60000000 - size = 0x13dbc - BFS-PGE-16S2C_019ADA4C.zip
[12:58:50.600] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[12:58:50.606] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'xmlns:xi'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationLLA'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationDHCP'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationPersistentIP'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPAddress'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentSubnetMask'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentDefaultGateway'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevNumberOfNetworkInterfaces'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentIPAddress'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentSubnetMask'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentDefaultGateway'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelCount'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelSelector'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPAddrCalc'
[12:58:50.694] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevTimestampTickFrequency'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPHostPort'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSFireTestPacket'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSDoNotFragment'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSBigEndian'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSPacketSize'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPD'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCDA'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCSP'
[12:58:50.695] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCCFGMultipart'
[12:58:50.698] 🅸 device> [GvDevice::new] Device endianness = big
[12:58:50.698] 🅸 device> [GvDevice::new] Packet resend     = yes
[12:58:50.698] 🅸 device> [GvDevice::new] Write memory      = yes
[12:58:50.698] 🅸 device> [GvDevice::new] Legacy endianness handling = yes
[12:58:50.700] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'xmlns:xi'
[12:58:51.469] 🅸 device> [GvDevice::create_stream] Number of stream channels = 1
[12:58:51.486] 🅸 device> [GvDevice::auto_packet_size] Current packet size check successfull (5000 bytes)
[12:58:51.491] 🅸 stream> [GvStream::stream_new] Stream channel = 0
[12:58:51.494] 🅸 stream> [GvStream::stream_new] Packet size = 5000 byte(s)
[12:58:51.498] 🅸 stream> [GvStream::stream_new] Destination stream port = 53823
[12:58:51.498] 🅸 stream> [GvStream::stream_new] Source stream port = 49153
[12:58:51.498] 🅸 stream> [GvStream::loop] Standard socket method

** (process:561348): CRITICAL **: 12:58:51.538: arv_buffer_get_chunk_data: assertion 'arv_buffer_has_chunks (buffer)' failed
[12:58:51.538] 🆆 chunk> [ChunkWidth] [ChunkWidth_Val] [WidthPort] Chunk 0x05040006 not found
ChunkWidth = 0
error getting chunk data:
[ChunkWidth] [ChunkWidth_Val] [WidthPort] Chunk 0x05040006 not found
[12:58:51.545] 🅸 stream>     bins    ;frame_retent; packet_time;inter_packet
                                    0;           0;          44;         471
                                 2000;           0;          50;           0
                                 4000;           0;          50;           0
                                 6000;           0;          50;           0
                                 8000;           0;          50;           0
                                10000;           0;          50;           0
                                12000;           0;          50;           0
                                14000;           0;          50;           0
                                16000;           0;          50;           0
                                18000;           1;          28;           0
                         -------------
                         >=     20000;           0;           0;           0
                         <          0;           0;           0;           0
                         min         :       19154;           0;           0
                         max         :       19154;       19154;         320
                         last max at :           0;         471;         133
                         counter     :           1:         472:         471
[12:58:51.545] 🅸 stream> [GvStream::finalize] n_completed_buffers    = 1
[12:58:51.545] 🅸 stream> [GvStream::finalize] n_failures             = 0
[12:58:51.545] 🅸 stream> [GvStream::finalize] n_underruns            = 105
[12:58:51.545] 🅸 stream> [GvStream::finalize] n_timeouts             = 0
[12:58:51.545] 🅸 stream> [GvStream::finalize] n_aborted              = 0
[12:58:51.545] 🅸 stream> [GvStream::finalize] n_missing_frames       = 0
[12:58:51.545] 🅸 stream> [GvStream::finalize] n_size_mismatch_errors = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_received_packets     = 577
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_missing_packets      = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_error_packets        = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_ignored_packets      = 105
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_resend_requests      = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_resent_packets       = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_resend_ratio_reached = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_resend_disabled      = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_duplicated_packets   = 0
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_transferred_bytes    = 2336660
[12:58:51.546] 🅸 stream> [GvStream::finalize] n_ignored_bytes        = 517132
[12:58:51.546] 🅸 stream> [Stream::finalize] Flush 0 buffer[s] in input queue
[12:58:51.546] 🅸 stream> [Stream::finalize] Flush 0 buffer[s] in output queue

@EmmanuelP
Copy link
Contributor

Could you attach the genicam data of your device ?

@weichselbaumj
Copy link
Author

Here are the outputs of arv-tool-0.8 values and arv-tool-0.8 features. If that is not what you meant, please let me know. Thanks.
features.txt
values.txt

@EmmanuelP
Copy link
Contributor

I can not reproduce the issue here using a BFLY-PGE-14S2C-CS.

Sources/aravis/build on  aravis-0-8 [$] took 4s ❯ ARV_DEBUG=all ./tests/arv-chunk-parser-test 
[09:18:17.492] 🅸 interface> Found 0 USB3Vision device (among 16 USB devices)
[09:18:17.492] 🅸 interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[09:18:17.492] 🅸 interface> [GvDiscoverSocket::new] Add interface 192.168.0.114 (192.168.0.255)
[09:18:17.494] 🅸 interface> [GvInterface::discovery] Device 'Point Grey Research-Blackfly BFLY-PGE-14S2C-13125101' found (interface 192.168.0.114) user_id 'PointGrey' - MAC '00:b0:9d:c8:45:ed'
[09:18:17.494] 🅸 device> [GvDevice::new] Interface address = 192.168.0.114
[09:18:17.494] 🅸 device> [GvDevice::new] Device address = 192.168.0.93
[09:18:17.496] 🅸 device> [GvDevice::load_genicam] xml url = 'Local:GRS_GEV_v003_217679.zip;7F1D0040;8474' at 0x200
[09:18:17.496] 🅸 device> [GvDevice::load_genicam] Xml address = 0x7f1d0040 - size = 0x8474 - GRS_GEV_v003_217679.zip
[09:18:17.606] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[09:18:17.608] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'xmlns:xi'
[09:18:17.644] 🅸 genicam> [Gc::set_default_node_data] Add 'DeviceManufacturerInfo'
[09:18:17.644] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationLLA'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationDHCP'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationPersistentIP'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPAddress'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentSubnetMask'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentDefaultGateway'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevNumberOfNetworkInterfaces'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentIPAddress'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentSubnetMask'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentDefaultGateway'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelCount'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelSelector'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPAddrCalc'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevTimestampTickFrequency'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPHostPort'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSFireTestPacket'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSDoNotFragment'
[09:18:17.645] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSBigEndian'
[09:18:17.646] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSPacketSize'
[09:18:17.646] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPD'
[09:18:17.646] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCDA'
[09:18:17.646] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCSP'
[09:18:17.646] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCCFGMultipart'
[09:18:17.649] 🅸 device> [GvDevice::new] Device endianness = little
[09:18:17.649] 🅸 device> [GvDevice::new] Packet resend     = yes
[09:18:17.650] 🅸 device> [GvDevice::new] Write memory      = yes
[09:18:17.650] 🅸 device> [GvDevice::new] Legacy endianness handling = yes
[09:18:17.652] 🅸 dom> [GcFeature::set_attribute] Unknown attribute 'xmlns:xi'
[09:18:17.933] 🅸 device> [GvDevice::create_stream] Number of stream channels = 1
[09:18:17.951] 🅸 device> [GvDevice::auto_packet_size] Current packet size check successfull (1400 bytes)
[09:18:17.955] 🅸 stream> [GvStream::stream_new] Stream channel = 0
[09:18:17.959] 🅸 stream> [GvStream::stream_new] Packet size = 1400 byte(s)
[09:18:17.964] 🅸 stream> [GvStream::stream_new] Destination stream port = 58679
[09:18:17.964] 🅸 stream> [GvStream::stream_new] Source stream port = 1030
[09:18:17.964] 🅸 stream> [GvStream::loop] Standard socket method
ChunkWidth = 1296
ChunkHeight = 1032
[09:18:18.004] 🅸 stream>     bins    ;frame_retent; packet_time;inter_packet
                                    0;           0;         134;         982
                                 2000;           0;         135;           0
                                 4000;           0;         140;           0
                                 6000;           0;         133;           0
                                 8000;           0;         141;           0
                                10000;           0;         141;           0
                                12000;           0;         132;           0
                                14000;           1;          27;           0
                         -------------
                         >=     16000;           0;           0;           0
                         <          0;           0;           0;           0
                         min         :       14470;           0;           0
                         max         :       14470;       14470;         368
                         last max at :           0;         982;         695
                         counter     :           1:         983:         982
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_completed_buffers    = 1
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_failures             = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_underruns            = 164
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_timeouts             = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_aborted              = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_missing_frames       = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_size_mismatch_errors = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_received_packets     = 1147
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_missing_packets      = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_error_packets        = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_ignored_packets      = 164
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_resend_requests      = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_resent_packets       = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_resend_ratio_reached = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_resend_disabled      = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_duplicated_packets   = 0
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_transferred_bytes    = 1345390
[09:18:18.004] 🅸 stream> [GvStream::finalize] n_ignored_bytes        = 223656
[09:18:18.004] 🅸 stream> [Stream::finalize] Flush 0 buffer[s] in input queue
[09:18:18.004] 🅸 stream> [Stream::finalize] Flush 0 buffer[s] in output queue

@EmmanuelP
Copy link
Contributor

Category    : 'Root'
    Category    : 'AnalogControl'
        Enumeration  : [RO] 'GainSelector'
              * Gain
              * GainAuto
              * AutoGainLowerLimit
              * AutoGainUpperLimit
            EnumEntry   : 'All'
        Enumeration  : [RW] 'GainAuto'
            EnumEntry   : 'Continuous'
            EnumEntry   : 'Once'
            EnumEntry   : 'Off'
        Float        : [RW] 'Gain'
        Float        : [RW] 'AutoGainLowerLimit'
        Float        : [RW] 'AutoGainUpperLimit'
        Float        : [RW] 'BlackLevel'
        Boolean      : [RW] 'BlackLevelEnabled'
        Float        : [RW] 'Gamma'
        Boolean     : 'GammaEnabled' (Not available)
        Integer      : [RW] 'Sharpness'
        Boolean     : 'SharpnessEnabled' (Not available)
        Enumeration : 'SharpnessAuto' (Not available)
            EnumEntry   : 'Continuous' (Not available)
            EnumEntry   : 'Once' (Not available)
            EnumEntry   : 'Off' (Not available)
        Float        : [RW] 'Hue'
        Boolean     : 'HueEnabled' (Not available)
        Float        : [RW] 'Saturation'
        Boolean     : 'SaturationEnabled' (Not available)
        Enumeration : 'SaturationAuto' (Not available)
            EnumEntry   : 'Off'
        Enumeration  : [RW] 'BalanceWhiteAuto'
            EnumEntry   : 'Continuous'
            EnumEntry   : 'Once'
            EnumEntry   : 'Off'
        Enumeration  : [RW] 'BalanceRatioSelector'
              * BalanceRatio
            EnumEntry   : 'Blue'
            EnumEntry   : 'Red'
        Float       : 'BalanceRatio' (Not available)
    Category    : 'DeviceControl'
        StringReg    : [RO] 'DeviceVendorName'
        StringReg    : [RO] 'DeviceModelName'
        StringReg    : [RO] 'DeviceVersion'
        StringReg    : [RO] 'DeviceSerialNumber'
        StringReg    : [RO] 'DeviceID'
        StringReg    : [RW] 'DeviceUserID'
        StringReg    : [RO] 'pgrSensorDescription'
        StringReg    : [RO] 'DeviceSVNVersion'
        StringReg    : [RO] 'DeviceFirmwareVersion'
        Enumeration  : [RO] 'DeviceScanType'
            EnumEntry   : 'Areascan'
        Float        : [RO] 'DeviceTemperature'
        Command      : [WO] 'DeviceReset'
        Integer      : [RO] 'pgrDeviceUptime'
        Enumeration  : [RW] 'AutoFunctionAOIsControl'
              * AutoFunctionAOIWidth
              * AutoFunctionAOIHeight
              * AutoFunctionAOIOffsetX
              * AutoFunctionAOIOffsetY
            EnumEntry   : 'On'
            EnumEntry   : 'Off'
        Integer     : 'AutoFunctionAOIWidth' (Not available)
        Integer     : 'AutoFunctionAOIHeight' (Not available)
        Integer     : 'AutoFunctionAOIOffsetX' (Not available)
        Integer     : 'AutoFunctionAOIOffsetY' (Not available)
        Enumeration  : [RW] 'pgrDevicePowerSupplySelector'
              * pgrPowerSourcePresent
              * pgrPowerSupplyEnable
              * pgrPowerSupplyVoltage
              * pgrPowerSupplyCurrent
            EnumEntry   : 'SensorPower'
            EnumEntry   : 'LinkPower'
            EnumEntry   : 'External'
        Enumeration : 'pgrPowerSourcePresent' (Not available)
            EnumEntry   : 'True'
            EnumEntry   : 'False'
        Enumeration : 'pgrPowerSupplyEnable' (Not available)
            EnumEntry   : 'True'
            EnumEntry   : 'False'
        Float        : [RO] 'pgrPowerSupplyVoltage'
        Float        : [RO] 'pgrPowerSupplyCurrent'
        Integer      : [RO] 'DeviceMaxThroughput'
        Integer      : [RW] 'DeviceLinkThroughputLimit'
        Integer      : [RW] 'DeviceLinkReserve'
        Enumeration  : [RW] 'DeviceIndicatorMode'
            EnumEntry   : 'Active'
            EnumEntry   : 'Inactive'
    Category    : 'AcquisitionControl'
        Enumeration  : [RW] 'TriggerSelector'
              * TriggerMode
              * TriggerSoftware
              * TriggerSource
              * TriggerActivation
              * TriggerOverlap
              * TriggerDelay
              * TriggerDelayEnabled
            EnumEntry   : 'ExposureActive'
            EnumEntry   : 'FrameStart'
        Enumeration  : [RW] 'TriggerMode'
            EnumEntry   : 'On'
            EnumEntry   : 'Off'
        Command     : 'TriggerSoftware' (Not available)
        Enumeration  : [RW] 'TriggerSource'
            EnumEntry   : 'Line0'
            EnumEntry   : 'Software'
        Enumeration  : [RW] 'TriggerActivation'
            EnumEntry   : 'FallingEdge'
            EnumEntry   : 'RisingEdge'
        Float        : [RW] 'TriggerDelay'
        Boolean      : [RW] 'TriggerDelayEnabled'
        Enumeration  : [RW] 'ExposureMode'
            EnumEntry   : 'TriggerWidth'
            EnumEntry   : 'Timed'
        Enumeration  : [RW] 'ExposureAuto'
            EnumEntry   : 'Continuous'
            EnumEntry   : 'Once'
            EnumEntry   : 'Off'
        Float        : [RW] 'ExposureTime'
        Float        : [RW] 'ExposureTimeAbs'
        Float        : [RW] 'AutoExposureTimeLowerLimit'
        Float        : [RW] 'AutoExposureTimeUpperLimit'
        Enumeration  : [RW] 'pgrExposureCompensationAuto'
            EnumEntry   : 'Continuous'
            EnumEntry   : 'Once'
            EnumEntry   : 'Off'
        Float        : [RW] 'pgrExposureCompensation'
        Float        : [RW] 'pgrAutoExposureCompensationLowerLimit'
        Float        : [RW] 'pgrAutoExposureCompensationUpperLimit'
        Enumeration  : [RW] 'AcquisitionMode'
            EnumEntry   : 'MultiFrame'
            EnumEntry   : 'SingleFrame'
            EnumEntry   : 'Continuous'
        Command      : [WO] 'AcquisitionStart'
        Command      : [WO] 'AcquisitionStop'
        Enumeration  : [RW] 'AcquisitionFrameRateAuto'
            EnumEntry   : 'Continuous'
            EnumEntry   : 'Off'
        Boolean      : [RW] 'AcquisitionFrameRateEnabled'
        Float        : [RW] 'AcquisitionFrameRate'
        Integer     : 'AcquisitionFrameCount' (Not available)
        Enumeration  : [RW] 'AcquisitionStatusSelector'
            EnumEntry   : 'FrameTriggerWait'
        Boolean      : [RO] 'AcquisitionStatus'
        Enumeration  : [RW] 'SingleFrameAcquisitionMode'
            EnumEntry   : 'Triggered'
            EnumEntry   : 'FreeRunning'
    Category    : 'ImageFormatControl'
        Enumeration  : [RW] 'PixelFormat'
            EnumEntry   : 'RGB8Packed'
            EnumEntry   : 'YUV444Packed'
            EnumEntry   : 'YUV422Packed'
            EnumEntry   : 'YUV411Packed'
            EnumEntry   : 'BayerRG16'
            EnumEntry   : 'BayerRG12Packed'
            EnumEntry   : 'BayerRG8'
            EnumEntry   : 'Mono16'
            EnumEntry   : 'Mono12Packed'
            EnumEntry   : 'Mono8'
        Enumeration  : [RO] 'PixelCoding'
            EnumEntry   : 'Raw'
            EnumEntry   : 'YUV444Packed'
            EnumEntry   : 'YUV422Packed'
            EnumEntry   : 'YUV411Packed'
            EnumEntry   : 'RGBPacked'
            EnumEntry   : 'MonoSigned'
            EnumEntry   : 'Mono'
        Boolean      : [RW] 'pgrPixelBigEndian'
        Integer      : [RW] 'Width'
        Integer      : [RW] 'Height'
        Integer      : [RW] 'OffsetX'
        Integer      : [RW] 'OffsetY'
        Integer      : [RO] 'SensorWidth'
        Integer      : [RO] 'SensorHeight'
        Integer      : [RO] 'WidthMax'
        Integer      : [RO] 'HeightMax'
        Enumeration  : [RW] 'VideoMode'
            EnumEntry   : 'Mode2'
            EnumEntry   : 'Mode0'
        Integer      : [RW] 'BinningHorizontal'
        Integer      : [RW] 'BinningVertical'
        Integer      : [RW] 'DecimationHorizontal'
        Integer      : [RW] 'DecimationVertical'
        Boolean      : [RW] 'ReverseX'
        Enumeration  : [RO] 'PixelSize'
            EnumEntry   : 'Bpp32'
            EnumEntry   : 'Bpp24'
            EnumEntry   : 'Bpp16'
            EnumEntry   : 'Bpp12'
            EnumEntry   : 'Bpp10'
            EnumEntry   : 'Bpp8'
        Enumeration  : [RO] 'PixelColorFilter'
            EnumEntry   : 'None'
            EnumEntry   : 'BayerBG'
            EnumEntry   : 'BayerGR'
            EnumEntry   : 'BayerGB'
            EnumEntry   : 'BayerRG'
        Integer      : [RO] 'PixelDynamicRangeMin'
        Integer      : [RO] 'PixelDynamicRangeMax'
        Enumeration  : [RW] 'TestImageSelector'
            EnumEntry   : 'TestImage2'
            EnumEntry   : 'TestImage1'
            EnumEntry   : 'Off'
        Enumeration  : [RW] 'TestPattern'
            EnumEntry   : 'TestImage2'
            EnumEntry   : 'TestImage1'
            EnumEntry   : 'Off'
        Category    : 'PixelDefectControl'
            Enumeration  : [RO] 'pgrDefectPixelCorrectionType'
                EnumEntry   : 'SensorCorrection'
                EnumEntry   : 'FPGACorrection'
            Boolean      : [RW] 'pgrDefectPixelCorrectionEnable'
            Enumeration  : [RW] 'pgrDefectPixelCorrectionTestMode'
                EnumEntry   : 'On'
                EnumEntry   : 'Off'
            Integer      : [RW] 'pgrCurrentCorrectedPixelCount'
            Integer      : [RW] 'pgrCurrentCorrectedPixelIndex'
            Integer      : [RW] 'pgrCurrentCorrectedPixelOffsetX'
            Integer      : [RW] 'pgrCurrentCorrectedPixelOffsetY'
            Command      : [WO] 'pgrCurrentCorrectedPixelSave'
    Category    : 'UserSetControl'
        Integer      : [RO] 'UserSetCurrent'
        Enumeration  : [RW] 'UserSetSelector'
              * UserSetLoad
              * UserSetSave
            EnumEntry   : 'UserSet2'
            EnumEntry   : 'UserSet1'
            EnumEntry   : 'Default'
        Command      : [WO] 'UserSetLoad'
        Command      : [WO] 'UserSetSave'
        Enumeration  : [RW] 'UserSetDefault'
            EnumEntry   : 'UserSet2'
            EnumEntry   : 'UserSet1'
            EnumEntry   : 'Default'
        Enumeration  : [RW] 'UserSetDefaultSelector'
            EnumEntry   : 'UserSet2'
            EnumEntry   : 'UserSet1'
            EnumEntry   : 'Default'
    Category    : 'DigitalIOControl'
        Enumeration  : [RW] 'LineSelector'
              * LineMode
              * LineSource
              * LineInverter
              * StrobeDelay
              * StrobeDuration
              * UserOutputValue
              * LineDebouncerTimeRaw
              * LineStatus
              * LineStatusAll
            EnumEntry   : 'Line1'
            EnumEntry   : 'Line0'
        Enumeration  : [RW] 'LineMode'
              * LineSource
              * LineInverter
              * StrobeDelay
              * StrobeDuration
              * UserOutputValue
              * LineDebouncerTimeRaw
              * LineStatus
              * LineStatusAll
            EnumEntry   : 'Output' (Not available)
            EnumEntry   : 'Input'
        Enumeration  : [RW] 'LineSource'
              * LineInverter
              * StrobeDelay
              * StrobeDuration
              * LineStatus
              * LineStatusAll
              * UserOutputValue
            EnumEntry   : 'UserOutput3' (Not available)
            EnumEntry   : 'UserOutput2' (Not available)
            EnumEntry   : 'UserOutput1' (Not available)
            EnumEntry   : 'ExternalTriggerActive' (Not available)
            EnumEntry   : 'ExposureActive' (Not available)
        Boolean     : 'LineInverter' (Not available)
        Float       : 'StrobeDelay' (Not available)
        Float       : 'StrobeDuration' (Not available)
        Integer      : [RW] 'LineDebouncerTimeRaw'
        Boolean      : [RO] 'LineStatus'
        Integer      : [RO] 'LineStatusAll'
        Enumeration  : [RW] 'UserOutputSelector'
            EnumEntry   : 'UserOutputValue1'
        Boolean     : 'UserOutputValue' (Not available)
    Category    : 'DataFlashControl'
        Integer      : [RO] 'DataFlashPageSize'
        Integer      : [RO] 'DataFlashPageCount'
        Integer      : [RW] 'ActivePageNumber'
              * ActivePageOffset
              * ActivePageValue
        Integer      : [RW] 'ActivePageOffset'
        Integer      : [RW] 'ActivePageValue'
        Command      : [WO] 'ActivePageSave'
    Category    : 'LUTControl'
        Enumeration  : [RW] 'LUTSelector'
              * LUTEnable
              * LUTIndex
              * LUTValueAll
            EnumEntry   : 'Luminance'
        Boolean      : [RW] 'LUTEnable'
        Integer     : 'LUTIndex' (Not available)
        Integer     : 'LUTValue' (Not available)
        Register    : 'LUTValueAll' (Not available)
    Category    : 'TransportLayerControl'
        Integer      : [RW] 'GevSCPSPacketSize'
        Integer      : [RW] 'GevSCPD'
        Integer      : [RO] 'GevCurrentIPAddress'
        Integer      : [RO] 'GevCurrentSubnetMask'
        Integer      : [RO] 'GevCurrentDefaultGateway'
        Integer      : [RW] 'GevPersistentIPAddress'
        Integer      : [RW] 'GevPersistentSubnetMask'
        Integer      : [RW] 'GevPersistentDefaultGateway'
        Integer      : [RW] 'GevHeartbeatTimeout'
        Boolean      : [RW] 'GevGVCPHeartbeatDisable'
        Boolean      : [RW] 'GevGVCPPendingAck'
        Integer      : [RO] 'GevGVCPPendingTimeout'
        Integer      : [RO] 'GevTimestampTickFrequency'
        Command      : [WO] 'GevTimestampControlLatch'
        Command      : [WO] 'GevTimestampControlReset'
        Integer      : [RO] 'GevTimestampValue'
        Integer      : [RW] 'GevStreamChannelSelector'
              * GevSCPInterfaceIndex
              * GevSCPHostPort
              * GevSCPDirection
              * GevSCPSFireTestPacket
              * GevSCPSDoNotFragment
              * GevSCPSBigEndian
              * GevSCPSPacketSize
              * GevSCPD
              * GevSCDA
              * GevSCSP
        Integer      : [RO] 'GevStreamChannelCount'
        Enumeration  : [RW] 'GevCCP'
            EnumEntry   : 'ControlAccess'
            EnumEntry   : 'ExclusiveAccess'
            EnumEntry   : 'OpenAccess'
        Enumeration  : [RW] 'GevSupportedOptionSelector'
              * GevSupportedOption
            EnumEntry   : 'StreamChannelSourceSocket'
            EnumEntry   : 'IPConfigurationPersistentIP'
            EnumEntry   : 'IPConfigurationDHCP'
            EnumEntry   : 'IPConfigurationLLA'
            EnumEntry   : 'CommandsConcatenation'
            EnumEntry   : 'WriteMem'
            EnumEntry   : 'PacketResend'
            EnumEntry   : 'Event'
            EnumEntry   : 'EventData'
            EnumEntry   : 'PendingAck'
            EnumEntry   : 'Action'
            EnumEntry   : 'ExtendedStatusCodes'
            EnumEntry   : 'DiscoveryAckDelayWritable'
            EnumEntry   : 'DiscoveryAckDelay'
            EnumEntry   : 'TestData'
            EnumEntry   : 'ManifestTable'
            EnumEntry   : 'CCPApplicationSocket'
            EnumEntry   : 'LinkSpeed'
            EnumEntry   : 'HeartbeatDisable'
            EnumEntry   : 'SerialNumber'
            EnumEntry   : 'UserDefinedName'
        Boolean      : [RO] 'GevSupportedOption'
        Boolean      : [RW] 'GevCurrentIPConfigurationLLA'
        Boolean      : [RW] 'GevCurrentIPConfigurationDHCP'
        Boolean      : [RW] 'GevCurrentIPConfigurationPersistentIP'
        Integer      : [RO] 'GevVersionMajor'
        Integer      : [RO] 'GevVersionMinor'
        Boolean      : [RO] 'GevDeviceModeIsBigEndian'
        Enumeration  : [RO] 'GevDeviceModeCharacterSet'
            EnumEntry   : 'UTF8'
        Integer      : [RW] 'GevInterfaceSelector'
              * GevMACAddress
              * GevCurrentIPConfigurationLLA
              * GevCurrentIPConfigurationDHCP
              * GevCurrentIPConfigurationPersistentIP
              * GevCurrentIPAddress
              * GevCurrentSubnetMask
              * GevCurrentDefaultGateway
              * GevPersistentIPAddress
              * GevPersistentSubnetMask
              * GevPersistentDefaultGateway
              * GevLinkSpeed
        Integer      : [RO] 'GevMACAddress'
        StringReg    : [RO] 'GevFirstURL'
        StringReg    : [RO] 'GevSecondURL'
        Integer      : [RO] 'GevNumberOfInterfaces'
        Integer      : [RO] 'GevLinkSpeed'
        Integer      : [RO] 'GevMessageChannelCount'
        Integer      : [RO] 'GevPrimaryApplicationSocket'
        Integer      : [RO] 'GevPrimaryApplicationIPAddress'
        Integer      : [RW] 'GevSCPInterfaceIndex'
        Integer      : [RW] 'GevSCPHostPort'
        Enumeration  : [RO] 'GevSCPDirection'
            EnumEntry   : 'Receiver'
            EnumEntry   : 'Transmitter'
        Boolean      : [RW] 'GevSCPSFireTestPacket'
        Boolean      : [RW] 'GevSCPSDoNotFragment'
        Boolean      : [RW] 'GevSCPSBigEndian'
        Integer      : [RW] 'GevSCDA'
        Integer      : [RO] 'GevSCSP'
        Integer      : [RW] 'TLParamsLocked'
        Integer      : [RO] 'PayloadSize'
        Integer      : [RO] 'TransmitFailureCount'
        Command      : [WO] 'TransmitFailureCountReset'
    Category    : 'ChunkDataControl'
        Boolean      : [RW] 'ChunkModeActive'
        Enumeration  : [RW] 'ChunkSelector'
              * ChunkEnable
            EnumEntry   : 'Timestamp'
            EnumEntry   : 'DynamicPixelRangeMax'
            EnumEntry   : 'DynamicPixelRangeMin'
            EnumEntry   : 'PixelFormat'
            EnumEntry   : 'BlackLevel'
            EnumEntry   : 'Gain'
            EnumEntry   : 'ExposureTime'
            EnumEntry   : 'Height'
            EnumEntry   : 'Width'
            EnumEntry   : 'OffsetY'
            EnumEntry   : 'OffsetX'
            EnumEntry   : 'FrameCounter'
            EnumEntry   : 'CRC'
        Boolean      : [RW] 'ChunkEnable'
        Integer      : [RO] 'ChunkCRC'
        Integer      : [RO] 'ChunkFrameCounter'
        Integer      : [RO] 'ChunkOffsetX'
        Integer      : [RO] 'ChunkOffsetY'
        Integer      : [RO] 'ChunkWidth'
        Integer      : [RO] 'ChunkHeight'
        Float        : [RO] 'ChunkExposureTime'
        Float        : [RO] 'ChunkGain'
        Float        : [RO] 'ChunkBlackLevel'
        Enumeration  : [RO] 'ChunkPixelFormat'
            EnumEntry   : 'BayerBG12Packed'
            EnumEntry   : 'BayerRG12Packed'
            EnumEntry   : 'BayerGR12Packed'
            EnumEntry   : 'BayerGB12Packed'
            EnumEntry   : 'YUV422_YUYV_Packed'
            EnumEntry   : 'YUV422Packed'
            EnumEntry   : 'BayerBG12'
            EnumEntry   : 'BayerGB12'
            EnumEntry   : 'BayerRG12'
            EnumEntry   : 'BayerGR12'
            EnumEntry   : 'BayerBG8'
            EnumEntry   : 'BayerGB8'
            EnumEntry   : 'BayerRG8'
            EnumEntry   : 'BayerGR8'
            EnumEntry   : 'Mono12Packed'
            EnumEntry   : 'Mono12'
            EnumEntry   : 'Mono10'
            EnumEntry   : 'Mono8'
        Integer      : [RO] 'ChunkPixelDynamicRangeMin'
        Integer      : [RO] 'ChunkPixelDynamicRangeMax'
        Integer      : [RO] 'ChunkTimestamp'
    Category    : 'EventControl'
        Enumeration  : [RW] 'EventSelector'
            EnumEntry   : 'ExposureEnd'
            EnumEntry   : 'AcquisitionEnd'
            EnumEntry   : 'AcquisitionStart'
        Enumeration  : [RW] 'EventNotification'
            EnumEntry   : 'Off'
            EnumEntry   : 'On'
        Category    : 'EventAcquisitionStartData'
            Integer      : [RO] 'EventAcquisitionStart'
            Integer      : [RO] 'EventAcquisitionStartTimestamp'
            Integer      : [RO] 'EventAcquisitionStartFrameID'
        Category    : 'EventAcquisitionEndData'
            Integer      : [RO] 'EventAcquisitionEnd'
            Integer      : [RO] 'EventAcquisitionEndTimestamp'
            Integer      : [RO] 'EventAcquisitionEndFrameID'
        Category    : 'EventExposureEndData'
            Integer      : [RO] 'EventExposureEnd'
            Integer      : [RO] 'EventExposureEndTimestamp'
            Integer      : [RO] 'EventExposureEndFrameID'
    Category    : 'RemoveParameterLimits'
        Enumeration  : [RW] 'ParameterSelector'
              * RemoveLimits
            EnumEntry   : 'Gain'
        Boolean      : [RW] 'RemoveLimits'

@EmmanuelP
Copy link
Contributor

I don't see any difference in the way chunk are defined between the 2 devices.

@EmmanuelP
Copy link
Contributor

Please attach the defintions of ChunkWidth and ChunkHeight in the genicam data of your camera.

@EmmanuelP EmmanuelP added 5. Genicam Issue in Genicam implementation 2. Needs informations Needs additional informations labels Jun 16, 2024
@weichselbaumj
Copy link
Author

I can confirm that reading Chunk data with a BFLY-PGE-14S2C-CS works as expected.

The output of arv-tool-0.8 features for both cameras can be found here:
BFLY-PGE-14S2C.txt
BFS-PGE-16S2C.txt

I hope this helps. Please let me know if you need more information.
Thanks a lot.

@EmmanuelP
Copy link
Contributor

I still don't understand :(

Could you attach the genicam data of the BFS-PGE-16S2C camera ?

@weichselbaumj
Copy link
Author

Hi @EmmanuelP
I already attached the Genicam data in this post. If this is not what you need, could you please give me instructions how to get the data you need?
Thanks a lot in advance.
BR Johann

Here are the outputs of arv-tool-0.8 values and arv-tool-0.8 features. If that is not what you meant, please let me know. Thanks. features.txt values.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2. Needs informations Needs additional informations 5. Genicam Issue in Genicam implementation
Projects
None yet
Development

No branches or pull requests

2 participants