AravisProject / aravis

A vision library for genicam based cameras
GNU Lesser General Public License v2.1
913 stars 338 forks source link

Imperx Bobcat 6620C Support #439

Open SaharGezer opened 4 years ago

SaharGezer commented 4 years ago

I have Imperx Bobcat 6620C GigE camera but I got an error when I tried to run a pipline via Gstreamer

ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not read camera "": node 'AcquisitionFrameRateAbs' not found

how can I fix this error?

Thanks

EmmanuelP commented 4 years ago

Hi,

This error means your device has neither AcquisitionFrameRate nor AcquisitionFrameRateAbs features, making it impossible to set the desired frame rate.

There is 2 things we can do in aravis:

What does the Imperx documentation says about frame rate setting ?

Emmanuel.

SaharGezer commented 4 years ago

When I use aravis viewer I see the camera and can get frames, when I use aravis-gst + another gige camera like Filer I do not get any errors.

In Imperx documentation there is not any mention about frame rate

EmmanuelP commented 4 years ago

Please attach the output of arv-tool-0.8 features.

SaharGezer commented 4 years ago
Imperx, inc.-GEV_B6620C-500981 (145.8.9.104)
Category    : 'Root'
    Category    : 'DeviceInformation'
        StringReg   : 'DeviceVendorName'
        StringReg   : 'DeviceModelName'
        StringReg   : 'DeviceManufacturerInfo'
        StringReg   : 'DeviceVersion'
        StringReg   : 'DeviceID'
        Enumeration : 'DeviceScanType'
            EnumEntry   : 'Areascan'
        Command     : 'DeviceReset'
        Command     : 'CameraHeadReset'
    Category    : 'ImageSizeControl'
        Category    : 'AOI'
            Category    : 'Slave_AOI1'
                Enumeration : 'AOI1_Select'
                    EnumEntry   : 'Exclude'
                    EnumEntry   : 'Include'
                    EnumEntry   : 'Off'
                Integer     : 'AOI1_OffsetX'
                Integer     : 'AOI1_Width'
                Integer     : 'AOI1_OffsetY'
                Integer     : 'AOI1_Height'
            Category    : 'Slave_AOI2'
                Enumeration : 'AOI2_Select'
                    EnumEntry   : 'Exclude'
                    EnumEntry   : 'Include'
                    EnumEntry   : 'Off'
                Integer     : 'AOI2_OffsetX'
                Integer     : 'AOI2_Width'
                Integer     : 'AOI2_OffsetY'
                Integer     : 'AOI2_Height'
            Category    : 'Slave_AOI3'
                Enumeration : 'AOI3_Select'
                    EnumEntry   : 'Exclude'
                    EnumEntry   : 'Include'
                    EnumEntry   : 'Off'
                Integer     : 'AOI3_OffsetX'
                Integer     : 'AOI3_Width'
                Integer     : 'AOI3_OffsetY'
                Integer     : 'AOI3_Height'
            Category    : 'Slave_AOI4'
                Enumeration : 'AOI4_Select'
                    EnumEntry   : 'Exclude'
                    EnumEntry   : 'Include'
                    EnumEntry   : 'Off'
                Integer     : 'AOI4_OffsetX'
                Integer     : 'AOI4_Width'
                Integer     : 'AOI4_OffsetY'
                Integer     : 'AOI4_Height'
            Category    : 'Slave_AOI5'
                Enumeration : 'AOI5_Select'
                    EnumEntry   : 'Exclude'
                    EnumEntry   : 'Include'
                    EnumEntry   : 'Off'
                Integer     : 'AOI5_OffsetX'
                Integer     : 'AOI5_Width'
                Integer     : 'AOI5_OffsetY'
                Integer     : 'AOI5_Height'
            Category    : 'Slave_AOI6'
                Enumeration : 'AOI6_Select'
                    EnumEntry   : 'Exclude'
                    EnumEntry   : 'Include'
                    EnumEntry   : 'Off'
                Integer     : 'AOI6_OffsetX'
                Integer     : 'AOI6_Width'
                Integer     : 'AOI6_OffsetY'
                Integer     : 'AOI6_Height'
        Integer     : 'SensorWidth'
        Integer     : 'SensorHeight'
        Enumeration : 'SensorDigitizationTaps'
            EnumEntry   : 'Two'
            EnumEntry   : 'One'
        Integer     : 'WidthMax'
        Integer     : 'HeightMax'
        Integer     : 'Width'
        Integer     : 'Height'
        Enumeration : 'BinningHorizontal'
            EnumEntry   : 'x8'
            EnumEntry   : 'x4'
            EnumEntry   : 'x3'
            EnumEntry   : 'x2'
            EnumEntry   : 'x1'
        Enumeration : 'BinningVertical'
            EnumEntry   : 'x8'
            EnumEntry   : 'x4'
            EnumEntry   : 'x3'
            EnumEntry   : 'x2'
            EnumEntry   : 'x1'
        Boolean     : 'ReverseX'
        Boolean     : 'ReverseY'
        Enumeration : 'PixelFormat'
            EnumEntry   : 'RGB8Packed'
            EnumEntry   : 'BayerBG12'
            EnumEntry   : 'BayerGB12'
            EnumEntry   : 'BayerRG12'
            EnumEntry   : 'BayerGR12'
            EnumEntry   : 'BayerBG10'
            EnumEntry   : 'BayerGB10'
            EnumEntry   : 'BayerRG10'
            EnumEntry   : 'BayerGR10'
            EnumEntry   : 'BayerBG8'
            EnumEntry   : 'BayerGB8'
            EnumEntry   : 'BayerRG8'
            EnumEntry   : 'BayerGR8'
            EnumEntry   : 'Mono16' (Not available)
            EnumEntry   : 'Mono12Packed'
            EnumEntry   : 'Mono12'
            EnumEntry   : 'Mono10Packed'
            EnumEntry   : 'Mono10'
            EnumEntry   : 'Mono8'
        Enumeration : 'PixelCoding'
            EnumEntry   : 'Raw'
            EnumEntry   : 'RGBPacked'
            EnumEntry   : 'MonoPacked'
            EnumEntry   : 'Mono'
        Enumeration : 'PixelSize'
            EnumEntry   : 'Bpp24'
            EnumEntry   : 'Bpp16'
            EnumEntry   : 'Bpp14'
            EnumEntry   : 'Bpp12'
            EnumEntry   : 'Bpp10'
            EnumEntry   : 'Bpp8'
        Enumeration : 'PixelColorFilter'
            EnumEntry   : 'BayerBG'
            EnumEntry   : 'BayerGR'
            EnumEntry   : 'BayerGB'
            EnumEntry   : 'BayerRG'
            EnumEntry   : 'None'
        Integer     : 'OffsetX'
        Integer     : 'OffsetY'
        Enumeration : 'CameraSpeed'
            EnumEntry   : 'OverClocked'
            EnumEntry   : 'Normal'
        Boolean     : 'ConstantFrameRate'
        Enumeration : 'BitShift'
            EnumEntry   : 'SevenBitsRight'
            EnumEntry   : 'SixBitsRight'
            EnumEntry   : 'FiveBitsRight'
            EnumEntry   : 'FourBitsRight'
            EnumEntry   : 'ThreeBitsRight'
            EnumEntry   : 'TwoBitsRight'
            EnumEntry   : 'OneBitRight'
            EnumEntry   : 'SevenBitsLeft'
            EnumEntry   : 'SixBitsLeft'
            EnumEntry   : 'FiveBitsLeft'
            EnumEntry   : 'FourBitsLeft'
            EnumEntry   : 'ThreeBitsLeft'
            EnumEntry   : 'TwoBitsLeft'
            EnumEntry   : 'OneBitLeft'
            EnumEntry   : 'NoShift'
        Boolean     : 'NegativeImage'
        Boolean     : 'ProgFrameTimeEnable'
        Integer     : 'ProgFrameTimeAbs'
        Boolean     : 'ProgLineTimeEnable'
        Integer     : 'ProgLineTimeAbs'
        Integer     : 'CurrentFrameRate'
        Integer     : 'GetCurrentRate'
    Category    : 'TestMode'
        Enumeration : 'TestImageSelector'
            EnumEntry   : 'GreyVerticalBars'
            EnumEntry   : 'Grey'
            EnumEntry   : 'SuperImposedLines'
            EnumEntry   : 'IPEngineTestPattern'
            EnumEntry   : 'GreyVerticalRampMoving'
            EnumEntry   : 'GreyHorizontalRampMoving'
            EnumEntry   : 'GreyVerticalRamp'
            EnumEntry   : 'GreyHorizontalRamp'
            EnumEntry   : 'White'
            EnumEntry   : 'Black'
            EnumEntry   : 'Off'
        Boolean     : 'SuperImposeLinesEnable' (Not available)
        Boolean     : 'SuperImposeCrossEnable' (Not available)
        Integer     : 'SuperImposeIntensity'
        Integer     : 'SuperImposeLineH1'
        Integer     : 'SuperImposeLineH2'
        Integer     : 'SuperImposeLineV1'
        Integer     : 'SuperImposeLineV2'
        Integer     : 'TestRegister'
    Category    : 'AcquisitionAndTriggerControls'
        Category    : 'Acquisition'
            Enumeration : 'AcquisitionMode'
                EnumEntry   : 'SingleFrameReadout'
                EnumEntry   : 'SingleFrameRecording'
                EnumEntry   : 'ContinuousReadout'
                EnumEntry   : 'ContinuousRecording'
                EnumEntry   : 'MultiFrame'
                EnumEntry   : 'SingleFrame'
                EnumEntry   : 'Continuous'
            Command     : 'AcquisitionStart'
            Command     : 'AcquisitionStop'
            Integer     : 'AcquisitionFrameCount'
        Category    : 'Trigger'
            Enumeration : 'TriggerMode'
                EnumEntry   : 'On'
                EnumEntry   : 'Off'
            Command     : 'TriggerSoftware'
            Enumeration : 'TriggerSource'
                EnumEntry   : 'TimerTrigger'
                EnumEntry   : 'PulseGenerator'
                EnumEntry   : 'External'
                EnumEntry   : 'Software'
            Enumeration : 'TriggerActivation'
                EnumEntry   : 'FallingEdge'
                EnumEntry   : 'RisingEdge'
            Enumeration : 'TriggerOverlap'
                EnumEntry   : 'PreviousFrame'
                EnumEntry   : 'ReadOut'
                EnumEntry   : 'Off'
            Integer     : 'TriggerDelayRaw'
            Enumeration : 'TriggerType'
                EnumEntry   : 'Asynchronous'
                EnumEntry   : 'FrameAccumulation'
                EnumEntry   : 'Double'
                EnumEntry   : 'Fast'
                EnumEntry   : 'Standard'
            Integer     : 'TriggerFilter'
            Enumeration : 'TriggerDebounce'
                EnumEntry   : 'FiveMilliSeconds'
                EnumEntry   : 'FiveHundredMicroSeconds'
                EnumEntry   : 'FiftyMicroSeconds'
                EnumEntry   : 'TenMicroSeconds'
                EnumEntry   : 'TenMilliSeconds'
                EnumEntry   : 'OneMilliSecond'
                EnumEntry   : 'OneHundredMicroSeconds'
                EnumEntry   : 'Disabled'
            Integer     : 'TriggerNumFrames'
            Integer     : 'TriggerNumPulses'
            Integer     : 'TriggerPeriod'
        Category    : 'Exposure'
            Enumeration : 'ExposureMode'
                EnumEntry   : 'IOExposureControl'
                EnumEntry   : 'TriggerWidth' (Not available)
                EnumEntry   : 'Timed'
                EnumEntry   : 'Off'
            Integer     : 'ExposureTimeRaw' (Not available)
            Integer     : 'CurrentExposure'
            Integer     : 'MaxExposure'
        Category    : 'CameraInfo'
            Integer     : 'GetCurrentFrameSize'
            Integer     : 'GetMinMaxHorizSize'
            Integer     : 'GetMinMaxVertSize'
            Integer     : 'GetLineTime'
            Integer     : 'FRM_TIM_ACT'
            Integer     : 'FRR_EXP_MIN'
            Integer     : 'FRM_TIM_MIN'
            Integer     : 'LIN_TIM_MIN'
            Integer     : 'MIN_HRZ_SZE'
            Integer     : 'MAX_HRZ_SZE'
            Integer     : 'MIN_VER_SZE'
            Integer     : 'MAX_VER_SZE'
            Integer     : 'CUR_HRZ_SZE'
            Integer     : 'CUR_VER_SZE'
            Integer     : 'GetCamAttributes'
    Category    : 'CountersAndTimersControls'
        Enumeration : 'TimerSelector'
              * TimerDelayRaw
              * TimerDurationRaw
              * TimerFrequency
              * TimerGranularityFactor
              * TimerPeriod
              * TimerTriggerActivation
              * TimerTriggerSource
            EnumEntry   : 'Timer2'
            EnumEntry   : 'Timer1'
        Integer     : 'TimerGranularityFactor'
        Float       : 'TimerPeriod'
        Float       : 'TimerFrequency'
        Integer     : 'TimerDurationRaw'
        Integer     : 'TimerDelayRaw'
        Enumeration : 'TimerTriggerSource'
            EnumEntry   : 'Continuous'
            EnumEntry   : 'PLC_Q'
        Enumeration : 'TimerTriggerActivation'
            EnumEntry   : 'LevelLow'
            EnumEntry   : 'AnyEdge'
            EnumEntry   : 'FallingEdge'
            EnumEntry   : 'LevelHigh'
            EnumEntry   : 'RisingEdge'
        Enumeration : 'Timer1Polarity'
            EnumEntry   : 'ActiveHigh'
            EnumEntry   : 'ActiveLow'
        Enumeration : 'Timer1Selector'
            EnumEntry   : 'VSync'
            EnumEntry   : 'HSync'
            EnumEntry   : 'IOExposureControl'
            EnumEntry   : 'TimerTrigger'
            EnumEntry   : 'None'
        Enumeration : 'Timer2Polarity'
            EnumEntry   : 'ActiveHigh'
            EnumEntry   : 'ActiveLow'
        Enumeration : 'Timer2Selector'
            EnumEntry   : 'VSync'
            EnumEntry   : 'HSync'
            EnumEntry   : 'IOExposureControl'
            EnumEntry   : 'TimerTrigger'
            EnumEntry   : 'None'
    Category    : 'EventsGeneration'
        Category    : 'PLC'
        Enumeration : 'EventSelector'
              * EventNotification
            EnumEntry   : 'IPEngineCamHeadSerialComLog'
            EnumEntry   : 'PLC_Interrupt_FIFO0_Q10'
            EnumEntry   : 'PLC_Interrupt_FIFO0_Q7'
            EnumEntry   : 'PLC_Interrupt_FIFO0_Q3'
            EnumEntry   : 'PLC_Interrupt_FIFO0_Q15'
        Enumeration : 'EventNotification'
            EnumEntry   : 'GigEVisionEvent'
            EnumEntry   : 'Off'
    Category    : 'AnalogControls'
        Category    : 'AnalogGain'
            Enumeration : 'GainSelector'
                  * GainRaw
                EnumEntry   : 'AnalogTap2'
                EnumEntry   : 'AnalogTap1'
            Enumeration : 'GainAutoBalance' (Not available)
                EnumEntry   : 'Continuous'
                EnumEntry   : 'Once'
                EnumEntry   : 'Off'
            Integer     : 'GainRaw' (Not available)
            Integer     : 'AnalogGain_Ch1'
            Integer     : 'AnalogGain_Ch2'
            Integer     : 'CurrentTap2Gain'
        Category    : 'AnalogOffset'
            Enumeration : 'BlackLevelSelector'
                  * BlackLevelRaw
                EnumEntry   : 'AnalogTap2'
                EnumEntry   : 'AnalogTap1'
            Integer     : 'BlackLevelRaw'
            Integer     : 'AnalogOffset_Ch1'
            Integer     : 'AnalogOffset_Ch2'
        Category    : 'DigitalGain'
            Integer     : 'DigitalGainAll'
        Category    : 'DigitalOffset'
            Integer     : 'DigitalOffsetAll'
        Category    : 'PreAmp'
            Enumeration : 'PreAmpSelector'
                  * PreAmpRaw
                EnumEntry   : 'AnalogTap2'
                EnumEntry   : 'AnalogTap1'
            Enumeration : 'PreAmpRaw'
                EnumEntry   : 'plus6dB'
                EnumEntry   : 'plus3dB'
                EnumEntry   : 'zero_dB'
                EnumEntry   : 'minus3dB'
            Enumeration : 'PreAmpGain_Ch1'
                EnumEntry   : 'plus6dB'
                EnumEntry   : 'plus3dB'
                EnumEntry   : 'zero_dB'
                EnumEntry   : 'minus3dB'
            Enumeration : 'PreAmpGain_Ch2'
                EnumEntry   : 'plus6dB'
                EnumEntry   : 'plus3dB'
                EnumEntry   : 'zero_dB'
                EnumEntry   : 'minus3dB'
        Category    : 'WhiteBalance'
            Enumeration : 'WhiteBalanceMode'
                EnumEntry   : 'AutoBayer' (Not available)
                EnumEntry   : 'OnceBayer' (Not available)
                EnumEntry   : 'Manual'
                EnumEntry   : 'Auto'
                EnumEntry   : 'Once'
                EnumEntry   : 'Off'
            Integer     : 'RedCoefficient' (Not available)
            Integer     : 'GreenCoefficient' (Not available)
            Integer     : 'BlueCoefficient' (Not available)
            Integer     : 'CurrentRedCoefficient'
            Integer     : 'CurrentGreenCoefficient'
            Integer     : 'CurrentBlueCoefficient'
        Category    : 'RgbGain'
            Integer     : 'RedGain' (Not available)
            Integer     : 'GreenGain' (Not available)
            Integer     : 'BlueGain' (Not available)
        Category    : 'RgbOffset'
            Integer     : 'RedOffset' (Not available)
            Integer     : 'GreenOffset' (Not available)
            Integer     : 'BlueOffset' (Not available)
    Category    : 'CustomFeatures'
        Category    : 'ImageProcessing'
            Category    : 'LUT'
                Enumeration : 'LUTSelector'
                      * LUTEnable
                    EnumEntry   : 'LUT2'
                    EnumEntry   : 'LUT1'
                Boolean     : 'LUTEnable'
            Category    : 'ProcessingAOI'
                Enumeration : 'ProcessingAOI_Select'
                    EnumEntry   : 'LUT'
                    EnumEntry   : 'ImageEnhancement'
                    EnumEntry   : 'Off'
                Integer     : 'ProcessingAOI_OffsetX'
                Integer     : 'ProcessingAOI_Width'
                Integer     : 'ProcessingAOI_OffsetY'
                Integer     : 'ProcessingAOI_Height'
            Category    : 'ImageEnhancement'
                Enumeration : 'EnhancementMode'
                    EnumEntry   : 'DualPointCorrection'
                    EnumEntry   : 'SinglePointCorrection'
                    EnumEntry   : 'DualThresholdContrast'
                    EnumEntry   : 'DualThresholdGreyscale'
                    EnumEntry   : 'DualThresholdBinary'
                    EnumEntry   : 'SingleThresholdBinary'
                    EnumEntry   : 'Off'
                Integer     : 'EnhancementPointX1'
                Integer     : 'EnhancementPointX2'
                Integer     : 'EnhancementPointY1'
                Integer     : 'EnhancementPointY2'
        Category    : 'AutoGainAndAutoExposure'
            Category    : 'Controls'
                Boolean     : 'AutoIris'
                Boolean     : 'AgcEnable'
                Integer     : 'AgcMin'
                Integer     : 'AgcMax'
                Enumeration : 'AgcSpeed'
                    EnumEntry   : 'x4'
                    EnumEntry   : 'x3'
                    EnumEntry   : 'x2'
                    EnumEntry   : 'x1'
                Boolean     : 'AecEnable'
                Integer     : 'AecMin'
                Integer     : 'AecMax'
                Enumeration : 'AecSpeed'
                    EnumEntry   : 'x4'
                    EnumEntry   : 'x3'
                    EnumEntry   : 'x2'
                    EnumEntry   : 'x1'
                Integer     : 'AgcAecLuminanceLevel'
                Enumeration : 'AgcAecLuminanceType'
                    EnumEntry   : 'Peak'
                    EnumEntry   : 'Average'
                Integer     : 'AgcAecOffsetX'
                Integer     : 'AgcAecWidth'
                Integer     : 'AgcAecOffsetY'
                Integer     : 'AgcAecHeight'
            Category    : 'Status'
                Integer     : 'CurrentAgcGain'
                Integer     : 'CurrentAecExposure'
                Integer     : 'CurrentAvgOrPeakLuminance'
                Boolean     : 'AgcMinLimitReached'
                Boolean     : 'AgcMaxLimitReached'
                Boolean     : 'AecMinLimitReached'
                Boolean     : 'AecMaxLimitReached'
                Integer     : 'GetAgcAecStatus'
        Category    : 'DataCorrection'
            Boolean     : 'BlackLevelCorrection'
            Enumeration : 'DefectPixelCorrection'
                EnumEntry   : 'Both'
                EnumEntry   : 'Dynamic'
                EnumEntry   : 'Static'
                EnumEntry   : 'Off'
            Enumeration : 'HotPixelCorrection'
                EnumEntry   : 'Both'
                EnumEntry   : 'Dynamic'
                EnumEntry   : 'Static'
                EnumEntry   : 'Off'
            Boolean     : 'FlatFieldCorrection'
            Enumeration : 'VerticalSmearCorrection'
                EnumEntry   : 'Advanced'
                EnumEntry   : 'Standard'
                EnumEntry   : 'Off'
        Category    : 'VersionInfo'
            Integer     : 'RgsID'
            Integer     : 'GetCustomerID'
            Integer     : 'FpgaID'
            Integer     : 'EpcsID'
            Integer     : 'CcdType'
            Integer     : 'FirmwareImage'
            Integer     : 'FirmwareVersion'
            Integer     : 'FirmwareBuild'
            Integer     : 'CustomerID'
            Integer     : 'XmlVersion'
            Integer     : 'GetFirmwareVersion'
        Category    : 'LensControl'
            Category    : 'Zoom'
                Integer     : 'ZoomSpeed' (Not available)
                Integer     : 'ZoomStepSize' (Not available)
                Command     : 'ZoomWideFull' (Not available)
                Command     : 'ZoomTeleFull' (Not available)
                Command     : 'ZoomWideStep' (Not available)
                Command     : 'ZoomTeleStep' (Not available)
                Command     : 'ZoomStop' (Not available)
            Category    : 'Focus'
                Integer     : 'FocusSpeed' (Not available)
                Integer     : 'FocusStepSize' (Not available)
                Command     : 'FocusFarFull' (Not available)
                Command     : 'FocusNearFull' (Not available)
                Command     : 'FocusFarStep' (Not available)
                Command     : 'FocusNearStep' (Not available)
                Command     : 'FocusStop' (Not available)
            Category    : 'Iris'
                Integer     : 'IrisSpeed' (Not available)
                Integer     : 'IrisStepSize' (Not available)
                Command     : 'IrisOpenFull' (Not available)
                Command     : 'IrisCloseFull' (Not available)
                Command     : 'IrisOpenStep' (Not available)
                Command     : 'IrisCloseStep' (Not available)
                Command     : 'IrisStop' (Not available)
            Enumeration : 'LensType' (Not available)
                EnumEntry   : 'TwelveVolts_8mS'
                EnumEntry   : 'TwelveVolts_4mS'
                EnumEntry   : 'TwelveVolts_2mS'
                EnumEntry   : 'TwelveVolts_1mS'
                EnumEntry   : 'SixVolts_8mS'
                EnumEntry   : 'SixVolts_4mS'
                EnumEntry   : 'SixVolts_2mS'
                EnumEntry   : 'SixVolts_1mS'
        Category    : 'IO'
            Category    : 'OUT2'
                Enumeration : 'OUT2Polarity'
                    EnumEntry   : 'ActiveHigh'
                    EnumEntry   : 'ActiveLow'
                Enumeration : 'OUT2Selector'
                    EnumEntry   : 'FrameTransfer'
                    EnumEntry   : 'OUT2Value'
                    EnumEntry   : 'Strobe2'
                    EnumEntry   : 'Strobe1'
                    EnumEntry   : 'PulseGenerator'
                    EnumEntry   : 'CameraReady'
                    EnumEntry   : 'TriggerDelayed'
                    EnumEntry   : 'Trigger'
                    EnumEntry   : 'OddEvenFlag'
                    EnumEntry   : 'VSync'
                    EnumEntry   : 'HSync'
                    EnumEntry   : 'ExposureWindow'
                    EnumEntry   : 'MidExposure'
                    EnumEntry   : 'ExposureEnd'
                    EnumEntry   : 'ExposureStart'
                    EnumEntry   : 'None'
                Boolean     : 'OUT2Value'
            Category    : 'OUT1'
                Enumeration : 'OUT1Polarity'
                    EnumEntry   : 'ActiveHigh'
                    EnumEntry   : 'ActiveLow'
                Enumeration : 'OUT1Selector'
                    EnumEntry   : 'FrameTransfer'
                    EnumEntry   : 'OUT1Value'
                    EnumEntry   : 'Strobe2'
                    EnumEntry   : 'Strobe1'
                    EnumEntry   : 'PulseGenerator'
                    EnumEntry   : 'CameraReady'
                    EnumEntry   : 'TriggerDelayed'
                    EnumEntry   : 'Trigger'
                    EnumEntry   : 'OddEvenFlag'
                    EnumEntry   : 'VSync'
                    EnumEntry   : 'HSync'
                    EnumEntry   : 'ExposureWindow'
                    EnumEntry   : 'MidExposure'
                    EnumEntry   : 'ExposureEnd'
                    EnumEntry   : 'ExposureStart'
                    EnumEntry   : 'None'
                Boolean     : 'OUT1Value'
            Category    : 'IN1'
                Enumeration : 'IN1Polarity'
                    EnumEntry   : 'ActiveHigh'
                    EnumEntry   : 'ActiveLow'
                Enumeration : 'IN1Selector'
                    EnumEntry   : 'VSync'
                    EnumEntry   : 'HSync'
                    EnumEntry   : 'IOExposureControl'
                    EnumEntry   : 'ExternalTrigger'
                    EnumEntry   : 'None'
            Category    : 'IN2'
                Enumeration : 'IN2Polarity'
                    EnumEntry   : 'ActiveHigh'
                    EnumEntry   : 'ActiveLow'
                Enumeration : 'IN2Selector'
                    EnumEntry   : 'VSync'
                    EnumEntry   : 'HSync'
                    EnumEntry   : 'IOExposureControl'
                    EnumEntry   : 'ExternalTrigger'
                    EnumEntry   : 'None'
        Category    : 'Temperature'
            Integer     : 'CurrentTemperature'
            Integer     : 'GetTemperature'
        Category    : 'Strobe'
            Enumeration : 'TrgStrobeMode'
                EnumEntry   : 'Strobe1andStrobe2'
                EnumEntry   : 'Strobe2'
                EnumEntry   : 'Strobe1'
                EnumEntry   : 'Off'
            Integer     : 'TrgStrobeDelay'
            Integer     : 'TrgStrobeDuration'
            Enumeration : 'StdStrobe1Mode'
                EnumEntry   : 'EvenFrames'
                EnumEntry   : 'OddFrames'
                EnumEntry   : 'EachFrame'
                EnumEntry   : 'Off'
            Integer     : 'StdStrobe1Duration'
            Integer     : 'StdStrobe1Position'
            Enumeration : 'StdStrobe2Mode'
                EnumEntry   : 'EvenFrames'
                EnumEntry   : 'OddFrames'
                EnumEntry   : 'EachFrame'
                EnumEntry   : 'Off'
            Integer     : 'StdStrobe2Duration'
            Integer     : 'StdStrobe2Position'
        Category    : 'PulseGenerator'
            Boolean     : 'PulseGenEnable'
            Enumeration : 'PulseGenGranularity'
                EnumEntry   : 'x1000'
                EnumEntry   : 'x100'
                EnumEntry   : 'x10'
                EnumEntry   : 'x1'
            Integer     : 'PulseGenWidth'
            Integer     : 'PulseGenPeriod'
            Integer     : 'PulseGenNumPulses'
    Category    : 'GigEVisionTransportLayer'
        Integer     : 'PayloadSize'
        Integer     : 'GevVersionMajor'
        Integer     : 'GevVersionMinor'
        Boolean     : 'GevDeviceModeIsBigEndian'
        Enumeration : 'GevDeviceModeCharacterSet'
            EnumEntry   : 'UTF8'
            EnumEntry   : 'Reserved'
        Integer     : 'GevInterfaceSelector'
        Integer     : 'GevMACAddress'
        Integer     : 'GevMACAddressHigh'
        Integer     : 'GevMACAddressLow'
        Boolean     : 'GevSupportedIPConfigurationLLA'
        Boolean     : 'GevSupportedIPConfigurationDHCP'
        Boolean     : 'GevSupportedIPConfigurationPersistentIP'
        Boolean     : 'GevCurrentIPConfigurationLLA'
        Boolean     : 'GevCurrentIPConfigurationDHCP'
        Boolean     : 'GevCurrentIPConfigurationPersistentIP'
        Integer     : 'GevCurrentIPAddress'
        Integer     : 'GevCurrentSubnetMask'
        Integer     : 'GevCurrentDefaultGateway'
        StringReg   : 'GevFirstURL'
        StringReg   : 'GevSecondURL'
        Integer     : 'GevNumberOfInterfaces'
        Integer     : 'GevMessageChannelCount'
        Integer     : 'GevStreamChannelCount'
        Boolean     : 'GevSupportedOptionalCommandsUserDefinedName'
        Boolean     : 'GevSupportedOptionalCommandsSerialNumber'
        Boolean     : 'GevSupportedOptionalCommandsEVENTDATA'
        Boolean     : 'GevSupportedOptionalCommandsEVENT'
        Boolean     : 'GevSupportedOptionalCommandsPACKETRESEND'
        Boolean     : 'GevSupportedOptionalCommandsWRITEMEM'
        Boolean     : 'GevSupportedOptionalCommandsConcatenation'
        Integer     : 'GevHeartbeatTimeout'
        Integer     : 'GevTimestampTickFrequency'
        Integer     : 'GevTimestampTickFrequencyHigh'
        Integer     : 'GevTimestampTickFrequencyLow'
        Command     : 'GevTimestampControlLatch'
        Command     : 'GevTimestampControlReset'
        Integer     : 'GevTimestampValue'
        Integer     : 'GevTimestampValueHigh'
        Integer     : 'GevTimestampValueLow'
        Enumeration : 'GevCCP'
            EnumEntry   : 'ControlAccess'
            EnumEntry   : 'ExclusiveAccess'
            EnumEntry   : 'OpenAccess'
        Integer     : 'GevMCPHostPort'
        Integer     : 'GevMCDA'
        Integer     : 'GevMCTT'
        Integer     : 'GevMCRC'
        Integer     : 'GevStreamChannelSelector'
        Integer     : 'GevSCPInterfaceIndex'
        Integer     : 'GevSCPHostPort'
        Boolean     : 'GevSCPSFireTestPacket'
        Boolean     : 'GevSCPSDoNotFragment'
        Boolean     : 'GevSCPSBigEndian'
        Integer     : 'GevSCPSPacketSize'
        Integer     : 'GevSCPD'
        Integer     : 'GevSCDA'
        Enumeration : 'GevTimestampCounterSelector'
            EnumEntry   : 'Counter1'
            EnumEntry   : 'GevTimestamp'
        Enumeration : 'GevTimestampSetSource'
            EnumEntry   : 'PLC_Q17'
            EnumEntry   : 'PLC_Q16'
            EnumEntry   : 'PLC_Q11'
            EnumEntry   : 'PLC_Q10'
            EnumEntry   : 'PLC_Q9'
            EnumEntry   : 'PLC_Q8'
            EnumEntry   : 'PLC_Q7'
            EnumEntry   : 'PLC_Q3'
        Enumeration : 'GevTimestampSetActivation'
            EnumEntry   : 'RisingEdgeInputSignal'
            EnumEntry   : 'Disabled'
        Integer     : 'GevTimestampValueAtSet'
        Enumeration : 'GevTimestampResetSource'
            EnumEntry   : 'PLC_Q17'
            EnumEntry   : 'PLC_Q16'
            EnumEntry   : 'PLC_Q11'
            EnumEntry   : 'PLC_Q10'
            EnumEntry   : 'PLC_Q9'
            EnumEntry   : 'PLC_Q8'
            EnumEntry   : 'PLC_Q7'
            EnumEntry   : 'PLC_Q3'
        Enumeration : 'GevTimestampResetActivation'
            EnumEntry   : 'RisingEdgeInputSignal'
            EnumEntry   : 'Disabled'
        Command     : 'GevTimestampControlSet'
        Integer     : 'GevTimestampControl'
        Enumeration : 'GevIPConfigurationStatus'
            EnumEntry   : 'ForceIP'
            EnumEntry   : 'LLA'
            EnumEntry   : 'DHCP'
            EnumEntry   : 'PersistentIP'
            EnumEntry   : 'None'
    Category    : 'IPEngine'
        Category    : 'ProgrammableLogicController'
            Category    : 'SignalRoutingBlock'
                Enumeration : 'PLC_I0'
                    EnumEntry   : 'PLC_rsl0_out'
                    EnumEntry   : 'Timer2Out'
                    EnumEntry   : 'Timer1Out'
                    EnumEntry   : 'PLC_Q6'
                    EnumEntry   : 'PLC_Q2'
                    EnumEntry   : 'PLC_ctrl2'
                    EnumEntry   : 'PLC_ctrl1'
                    EnumEntry   : 'PLC_ctrl0'
                    EnumEntry   : 'PLC_A6'
                    EnumEntry   : 'PLC_A5'
                    EnumEntry   : 'Line2'
                    EnumEntry   : 'Line1'
                    EnumEntry   : 'PLC_A4'
                    EnumEntry   : 'Line0'
                Enumeration : 'PLC_I1'
                    EnumEntry   : 'PLC_rsl0_out'
                    EnumEntry   : 'Timer4Out'
                    EnumEntry   : 'Timer3Out'
                    EnumEntry   : 'PLC_Q7'
                    EnumEntry   : 'PLC_Q3'
                    EnumEntry   : 'PLC_ctrl3'
                    EnumEntry   : 'PLC_ctrl1'
                    EnumEntry   : 'PLC_ctrl0'
                    EnumEntry   : 'PLC_A7'
                    EnumEntry   : 'PLC_A4'
                    EnumEntry   : 'Line3'
                    EnumEntry   : 'Line0'
                    EnumEntry   : 'PLC_A5'
                    EnumEntry   : 'Line1'
                Enumeration : 'PLC_I2'
                    EnumEntry   : 'Counter1Eq'
                    EnumEntry   : 'PLC_del0_out'
                    EnumEntry   : 'PLC_rsl0_out'
                    EnumEntry   : 'Timer2Out'
                    EnumEntry   : 'Timer1Out'
                    EnumEntry   : 'PLC_Q6'
                    EnumEntry   : 'PLC_Q2'
                    EnumEntry   : 'PLC_ctrl1'
                    EnumEntry   : 'PLC_ctrl0'
                    EnumEntry   : 'PLC_A4'
                    EnumEntry   : 'Line1'
                    EnumEntry   : 'Line0'
                    EnumEntry   : 'PLC_ctrl3'
                    EnumEntry   : 'Line2'
                Enumeration : 'PLC_I3'
                    EnumEntry   : 'Counter1Gt'
                    EnumEntry   : 'PLC_del0_out'
                    EnumEntry   : 'PLC_rsl0_out'
                    EnumEntry   : 'Timer4Out'
                    EnumEntry   : 'Timer3Out'
                    EnumEntry   : 'PLC_Q7'
                    EnumEntry   : 'PLC_Q3'
                    EnumEntry   : 'PLC_ctrl1'
                    EnumEntry   : 'PLC_ctrl0'
                    EnumEntry   : 'PLC_A5'
                    EnumEntry   : 'Line1'
                    EnumEntry   : 'Line0'
                    EnumEntry   : 'PLC_ctrl2'
                    EnumEntry   : 'Line3'
                Enumeration : 'PLC_I4'
                    EnumEntry   : 'Counter1Eq'
                    EnumEntry   : 'PLC_del0_out'
                    EnumEntry   : 'PLC_rsl0_out'
                    EnumEntry   : 'Timer1Out'
                    EnumEntry   : 'PLC_Q6'
                    EnumEntry   : 'PLC_Q2'
                    EnumEntry   : 'PLC_ctrl2'
                    EnumEntry   : 'PLC_A5'
                    EnumEntry   : 'Line2'
                    EnumEntry   : 'Line1'
                    EnumEntry   : 'Line0'
                    EnumEntry   : 'PLC_A6'
                    EnumEntry   : 'PLC_ctrl1'
                Enumeration : 'PLC_I5'
                    EnumEntry   : 'Counter1Gt'
                    EnumEntry   : 'PLC_del0_out'
                    EnumEntry   : 'PLC_rsl0_out'
                    EnumEntry   : 'Timer3Out'
                    EnumEntry   : 'PLC_Q7'
                    EnumEntry   : 'PLC_Q3'
                    EnumEntry   : 'PLC_ctrl3'
                    EnumEntry   : 'PLC_A4'
                    EnumEntry   : 'Line3'
                    EnumEntry   : 'Line1'
                    EnumEntry   : 'Line0'
                    EnumEntry   : 'PLC_A7'
                    EnumEntry   : 'PLC_ctrl0'
                Enumeration : 'PLC_I6'
                    EnumEntry   : 'Counter1Eq'
                    EnumEntry   : 'PLC_del0_out'
                    EnumEntry   : 'Timer4Out'
                    EnumEntry   : 'PLC_Q6'
                    EnumEntry   : 'PLC_Q2'
                    EnumEntry   : 'PLC_ctrl2'
                    EnumEntry   : 'PLC_ctrl1'
                    EnumEntry   : 'PLC_A6'
                    EnumEntry   : 'PLC_A4'
                    EnumEntry   : 'Line1'
                    EnumEntry   : 'Line0'
                    EnumEntry   : 'PLC_rsl0_out'
                    EnumEntry   : 'Timer2Out'
                Enumeration : 'PLC_I7'
                    EnumEntry   : 'Counter1Gt'
                    EnumEntry   : 'PLC_Q7'
                    EnumEntry   : 'PLC_Q3'
                    EnumEntry   : 'PLC_ctrl1'
                    EnumEntry   : 'PLC_ctrl0'
                    EnumEntry   : 'PLC_A7'
                    EnumEntry   : 'PLC_A5'
                    EnumEntry   : 'PLC_A4'
                    EnumEntry   : 'Line3'
                    EnumEntry   : 'Line1'
                    EnumEntry   : 'Line0'
                    EnumEntry   : 'Timer3Out'
                    EnumEntry   : 'Timer1Out'
            Category    : 'LookupTable'
                Category    : 'Q4'
                    Enumeration : 'PLC_Q4_Variable0'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q4_Operator0'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q4_Variable1'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q4_Operator1'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q4_Variable2'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q4_Operator2'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q4_Variable3'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                Category    : 'Q5'
                    Enumeration : 'PLC_Q5_Variable0'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q5_Operator0'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q5_Variable1'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q5_Operator1'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q5_Variable2'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q5_Operator2'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q5_Variable3'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                Category    : 'Q6'
                    Enumeration : 'PLC_Q6_Variable0'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q6_Operator0'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q6_Variable1'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q6_Operator1'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q6_Variable2'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q6_Operator2'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q6_Variable3'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                Category    : 'Q7'
                    Enumeration : 'PLC_Q7_Variable0'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q7_Operator0'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q7_Variable1'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q7_Operator1'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q7_Variable2'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q7_Operator2'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q7_Variable3'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                Category    : 'Q8'
                    Enumeration : 'PLC_Q8_Variable0'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q8_Operator0'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q8_Variable1'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q8_Operator1'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q8_Variable2'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q8_Operator2'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q8_Variable3'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                Category    : 'Q9'
                    Enumeration : 'PLC_Q9_Variable0'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q9_Operator0'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q9_Variable1'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q9_Operator1'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q9_Variable2'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
                    Enumeration : 'PLC_Q9_Operator2'
                        EnumEntry   : 'XorParenthesis'
                        EnumEntry   : 'OrParenthesis'
                        EnumEntry   : 'AndParenthesis'
                        EnumEntry   : 'Xor'
                        EnumEntry   : 'Or'
                        EnumEntry   : 'And'
                    Enumeration : 'PLC_Q9_Variable3'
                        EnumEntry   : 'PLC_I7_Not'
                        EnumEntry   : 'PLC_I6_Not'
                        EnumEntry   : 'PLC_I5_Not'
                        EnumEntry   : 'PLC_I4_Not'
                        EnumEntry   : 'PLC_I3_Not'
                        EnumEntry   : 'PLC_I2_Not'
                        EnumEntry   : 'PLC_I1_Not'
                        EnumEntry   : 'PLC_I0_Not'
                        EnumEntry   : 'PLC_I7'
                        EnumEntry   : 'PLC_I6'
                        EnumEntry   : 'PLC_I5'
                        EnumEntry   : 'PLC_I4'
                        EnumEntry   : 'PLC_I3'
                        EnumEntry   : 'PLC_I2'
                        EnumEntry   : 'PLC_I1'
                        EnumEntry   : 'PLC_I0'
                        EnumEntry   : 'One'
                        EnumEntry   : 'Zero'
            Category    : 'EnhancedFunctionBlock'
                Category    : 'PulseGenerator0'
                    Integer     : 'PLC_pg0_Width'
                    Integer     : 'PLC_pg0_Delay'
                    Integer     : 'PLC_pg0_GranularityFactor'
                    Enumeration : 'PLC_pg0_TriggerSource'
                        EnumEntry   : 'Continuous'
                        EnumEntry   : 'PLC_Q9'
                    Enumeration : 'PLC_pg0_TriggerActivation'
                        EnumEntry   : 'LevelLow'
                        EnumEntry   : 'AnyEdge'
                        EnumEntry   : 'FallingEdge'
                        EnumEntry   : 'LevelHigh'
                        EnumEntry   : 'RisingEdge'
                    Integer     : 'PLC_pg0_PulsePeriod'
                    Float       : 'PLC_pg0_PulseFrequency'
                Category    : 'PulseGenerator1'
                    Integer     : 'PLC_pg1_Width'
                    Integer     : 'PLC_pg1_Delay'
                    Integer     : 'PLC_pg1_GranularityFactor'
                    Enumeration : 'PLC_pg1_TriggerSource'
                        EnumEntry   : 'Continuous'
                        EnumEntry   : 'PLC_Q8'
                    Enumeration : 'PLC_pg1_TriggerActivation'
                        EnumEntry   : 'LevelLow'
                        EnumEntry   : 'AnyEdge'
                        EnumEntry   : 'FallingEdge'
                        EnumEntry   : 'LevelHigh'
                        EnumEntry   : 'RisingEdge'
                    Integer     : 'PLC_pg1_PulsePeriod'
                    Float       : 'PLC_pg1_PulseFrequency'
                Category    : 'InterruptFIFO'
                    Boolean     : 'PLC_Interrupt_FIFO0_Q15_Enabled'
                    Boolean     : 'PLC_Interrupt_FIFO0_Q3_Enabled'
                    Boolean     : 'PLC_Interrupt_FIFO0_Q7_Enabled'
                    Boolean     : 'PLC_Interrupt_FIFO0_Q10_Enabled'
        Category    : 'PortCommunication'
            Category    : 'Uart1'
                Enumeration : 'Uart1BaudRate'
                    EnumEntry   : 'Programmable'
                    EnumEntry   : 'Baud115200'
                    EnumEntry   : 'Baud57600'
                    EnumEntry   : 'Baud38400'
                    EnumEntry   : 'Baud28800'
                    EnumEntry   : 'Baud19200'
                    EnumEntry   : 'Baud14400'
                    EnumEntry   : 'Baud9600'
                Integer     : 'Uart1BaudRateFactor'
                Enumeration : 'Uart1NumOfStopBits'
                    EnumEntry   : 'Two'
                    EnumEntry   : 'One'
                Enumeration : 'Uart1Parity'
                    EnumEntry   : 'Odd'
                    EnumEntry   : 'Even'
                    EnumEntry   : 'None'
                Boolean     : 'Uart1Loopback'
                Boolean     : 'Uart1ReadyToReceive'
                Boolean     : 'Uart1BreakDetection'
                Boolean     : 'Uart1BreakGeneration'
        Category    : 'PixelBusInterface'
            Boolean     : 'PixelBusDataValidEnabled'
            Boolean     : 'PixelBusClockPresent'
        Category    : 'Invisible'
            Category    : 'GevEventsCapability'
                Boolean     : 'IPEngineCamHeadSerialComLogEventIsSupported'
                Boolean     : 'BlockDiscardEventIsSupported'
                Boolean     : 'ErrorEventIsSupported'
                Boolean     : 'DataOverrunEventIsSupported'
            Category    : 'PlcCapability'
                Boolean     : 'PlcCapabilityRegisterIsImplemented'
                Enumeration : 'PlcRslMultiplierWidth'
                    EnumEntry   : 'SixteenBit'
                    EnumEntry   : 'TwelveBit'
                Boolean     : 'PlcFunctionSelectIsAvailable'
                Boolean     : 'PlcInterruptFifoIsAvailable'
                Boolean     : 'PlcRslWatchdogIsAvailable'
                Boolean     : 'PlcTsTrigIsAvailable'
                Boolean     : 'PlcDebouncerIsAvailable'
                Integer     : 'PlcNumberOfCounters'
                Integer     : 'PlcNumberOfDelayers'
                Integer     : 'PlcNumberOfRescalers'
                Integer     : 'PlcNumberOfPulseGen'
            Category    : 'FunctionCapability'
                Boolean     : 'IPEngineStaticCfgIsSupported'
                Integer     : 'IPEngineNumberOfUARTInterfaces'
                Boolean     : 'IPEngineGrbPreProcessorDataInvertDisabled'
                Boolean     : 'IPEngineGrbPreProcessorDataShiftDisabled'
                Boolean     : 'IPEngineGrbPreProcessorPortMapDisabled'
                Boolean     : 'IPEngineUseUart0BreakGeneration'
                Enumeration : 'IPEngineNumberOfUserSetsSupported'
                    EnumEntry   : 'SixteenUserSets'
                    EnumEntry   : 'FifteenUserSets'
                    EnumEntry   : 'FourteenUserSets'
                    EnumEntry   : 'ThirteenUserSets'
                    EnumEntry   : 'TwelveUserSets'
                    EnumEntry   : 'ElevenUserSets'
                    EnumEntry   : 'TenUserSets'
                    EnumEntry   : 'NineUserSets'
                    EnumEntry   : 'EightUserSets'
                    EnumEntry   : 'SevenUserSets'
                    EnumEntry   : 'SixUserSets'
                    EnumEntry   : 'FiveUserSets'
                    EnumEntry   : 'FourUserSets'
                    EnumEntry   : 'ThreeUserSets'
                    EnumEntry   : 'TwoUserSets'
                    EnumEntry   : 'OneUserSet'
                Boolean     : 'IPEngineUserSetsStatusReporting'
                Boolean     : 'IPEngineBulkUsrt0BreakDetection'
                Boolean     : 'IPEngineUseUart1BreakGeneration'
                Boolean     : 'IPEngineUseUart1BreakDetection'
                Boolean     : 'IPEngineUseUart0BreakDetection'
                Boolean     : 'IPEngineUsePlayback'
                Boolean     : 'IPEngineUseWrapAround'
                Boolean     : 'IPEngineUseAnalogFeatures'
            Category    : 'GevEventsEnable'
            Integer     : 'PlcLutCfg1'
            Float       : 'PLC_pg_PulseFrequencyMin'
            Float       : 'PLC_pg_PulseFrequencyMax'
            Integer     : 'PLC_pg_PulsePeriodMinInt'
            Integer     : 'PLC_pg_PulsePeriodMaxInt'
            Enumeration : 'UserSetLoadLastUserSet'
                EnumEntry   : 'UserSet1'
                EnumEntry   : 'Default'
        Integer     : 'IPEngineFirmwareVersionMajor'
        Integer     : 'IPEngineFirmwareVersionMinor'
        Integer     : 'IPEngineFirmwareVersionSubminor'
        Integer     : 'IPEngineInitSequenceStatus'
        Integer     : 'IPEngineVendorID'
        Integer     : 'IPEngineDeviceID'
        Integer     : 'IPEngineModuleID'
        Integer     : 'IPEngineSubModuleID'
    Category    : 'UserSets'
        Category    : 'UserSetLoads'
            Command     : 'UserSetLoadDefault'
            Command     : 'UserSetLoadUserSet1'
        Category    : 'UserSetsAvailability'
            Boolean     : 'UserSet1Available'
        Enumeration : 'UserSetLoadStatus' (Not available)
            EnumEntry   : 'Success'
            EnumEntry   : 'Failure'
            EnumEntry   : 'InProgress'
        Enumeration : 'UserSetSelector'
              * UserSetLoad
              * UserSetSave
            EnumEntry   : 'UserSet1'
            EnumEntry   : 'Default'
        Command     : 'UserSetLoad'
        Command     : 'UserSetSave' (Not available)
        Enumeration : 'UserSetDefaultSelector'
            EnumEntry   : 'UserSet1'
            EnumEntry   : 'Default'
        Enumeration : 'UserSetLastLoaded'
            EnumEntry   : 'UserSet2'
            EnumEntry   : 'UserSet1'
            EnumEntry   : 'Default'
    Category    : 'TLParamsLockedCategory'
EmmanuelP commented 4 years ago

There is no standard way to set the frame rate on this device, which means code in arvcamera.c must be modified in order to support it.

The FrameRate related features seems to be at least CurrentFrameRate and ConstantFrameRate.

I personally don't plan to work on this support, as I don't have the device at hand. But I will happily accept a patch...

SaharGezer commented 4 years ago

Can you explain me what I need to add to arvcamera.c and where? I tried to edit this code but I did not get any good results

EmmanuelP commented 4 years ago

New vendor and series should be added to ArvCameraVendor and ArvCameraSeries enums, and used in arv_camera_constructed().

Then support needs to be added in several functions:

arv_camera_is_frame_rate_available()
arv_camera_set_frame_rate()
arv_camera_get_frame_rate()
arv_camera_get_frame_rate_bounds()
SaharGezer commented 4 years ago

New vendor and series should be added to ArvCameraVendor and ArvCameraSeries enums, and used in arv_camera_constructed().

Then support needs to be added in several functions:

arv_camera_is_frame_rate_available()
arv_camera_set_frame_rate()
arv_camera_get_frame_rate()
arv_camera_get_frame_rate_bounds()

I made the above changes but I got this error :+1:

node 'CurrentFrameRate' [ArvGcIntegerNode] is not a ArvGcFloat

Can you tell me what is the problem?

EmmanuelP commented 4 years ago

node 'CurrentFrameRate' [ArvGcIntegerNode] is not a ArvGcFloat

You are trying to access an integer node using the float interface.

Could you share the modifications you have done ?

SaharGezer commented 4 years ago

in arv_camera_is_frame_rate_available -> I added case ARV_CAMERA_VENDOR_IMPERX: return arv_camera_is_feature_available (camera, "CurrentFrameRate", error);

in arv_camera_set_frame_rate -> I added case ARV_CAMERA_VENDOR_IMPERX: if (local_error == NULL) arv_camera_set_string (camera, "TriggerMode", "Off", &local_error); if (local_error == NULL) arv_camera_set_integer (camera, "CurrentFrameRate", frame_rate, &local_error); break;

in arv_camera_get_frame_rate -> I added case ARV_CAMERA_VENDOR_IMPERX: return arv_camera_get_integer (camera, "CurrentFrameRate", error);

in arv_camera_get_frame_rate_bounds -> I added case ARV_CAMERA_VENDOR_IMPERX: arv_camera_get_float_bounds (camera, "CurrentFrameRate", min, max, error); break;

EmmanuelP commented 4 years ago

case ARV_CAMERA_VENDOR_IMPERX: arv_camera_get_float_bounds (camera, "CurrentFrameRate", min, max, error); break;

You should use get_integer_bounds here, with temporary guint64 variables for the storage of the min/max values.

By the way, what is returning arv-tool-0.8 control CurrentFrameRate ?

SaharGezer commented 4 years ago

arv_camera_get_float_bounds

I made this cahnge -> arv_camera_get_integer_bounds (camera, "CurrentFrameRate", 2, 3, error);

but I got an error ->

0 0x0000007f8fe6cce4 in __waitpid (pid=, stat_loc=0x7fcde58014, options=) at ../sysdeps/unix/sysv/linux/waitpid.c:30

1 0x0000007f8fea82a0 in g_on_error_stack_trace ()

2 0x0000005556455c3c in ()

3 0x0000005566317510 in ()

Spinning. Please run 'gdb gst-launch-1.0 12201' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

when I run the command -> arv-tool-0.8 control CurrentFrameRate I get :

Imperx, inc.-GEV_B6620C-500980 CurrentFrameRate = 2

SaharGezer commented 4 years ago

Hi, I need your help, I got this error:

Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not set caps on camera "137.9.2.128": IntSwissKnife is read only Additional debug info: ../gst/gstaravis.c(350): gst_aravis_set_caps (): /GstPipeline:pipeline0/GstAravis:aravis0 Execution ended after 0:00:00.065657984 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...

IntSwissKnife is read only -> How can I fix it?

thank you

EmmanuelP commented 4 years ago

I made this cahnge -> arv_camera_get_integer_bounds (camera, "CurrentFrameRate", 2, 3, error);

Parameter 2 and 3 are placeholders for the return value of min and max. You can not pass constant here.

EmmanuelP commented 4 years ago

ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not set caps on camera "137.9.2.128": IntSwissKnife is read only

The code in gstaravis tries to write to a read only feature. Try to isolate where it happens.

SaharGezer commented 4 years ago

ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not set caps on camera "137.9.2.128": IntSwissKnife is read only

The code in gstaravis tries to write to a read only feature. Try to isolate where it happens.

Thank you for your reply, I found the bug and now it works with my Imperx Camera.

EmmanuelP commented 4 years ago

Thank you for your reply, I found the bug and now it works with my Imperx Camera.

Could you share the modifications you have made ?

SaharGezer commented 4 years ago

Thank you for your reply, I found the bug and now it works with my Imperx Camera.

Could you share the modifications you have made ?

Yes sure , but before that I need to add another GIGE camera to aravis gst