SequencerSetActive and SequencerSetSelector do not increment

Hello All,

I am currently struggling with the implementation of a sequencer for my camera using Python. I am able to enable the sequence and get the sequence working, but when I check the exposure time using exposure_node.value this will always return the value of the value set of the initial SequencerSetActive and not of the current element of the sequence. It this desired behavior or should the SequencerSetActive or SequencerSetSelector be incremented after taking an image?

def softTrigger(nImages):
    for i in range(nImages):
        images_in_buffer = stream.statistics[cvb.StreamInfo.NumBuffersPending]
        print('Number of images in buffer: ', int(images_in_buffer))
        trigger_software.execute()
        print("sleep 1 sec for image ", i)
        time.sleep(1)
        
with cvb.DeviceFactory.open(cvb.install_path()+"Drivers\GenICam.vin"
    ) as device:
   
    dev_node_map = device.node_maps["Device"]
    
    #set trigger
    trigger_mode = dev_node_map["TriggerMode"]
    trigger_source = dev_node_map["TriggerSource"]
    trigger_mode.value = "On"
    trigger_source.value = "Software"
    trigger_software = dev_node_map["TriggerSoftware"]
    print("Trigger: ",str(trigger_mode),str(trigger_source) )
    
    #start stream
    stream = device.stream()
    ringBufferCount = stream.ring_buffer.count
    print('Size ring buffer', ringBufferCount)
    device.stream().start()
    
    SequenceMode = dev_node_map['SequencerMode']
    SequencerFeatureSelector = dev_node_map['SequencerFeatureSelector']
    SequencerSetCount = dev_node_map['SequencerSetCount']
    SequencerSetActive = dev_node_map ['SequencerSetActive']

    print('Sequence: ', SequenceMode.value, ', Feature: ', SequencerFeatureSelector.value,'SequencerSetCount', SequencerSetCount.value, 'SequencerSetActive', SequencerSetActive.value )
    SequenceMode.value = "On"

    
    SequencerSetSelector= dev_node_map ['SequencerSetSelector']
    SequencerSetSelector.value = 0 # 0 indexing
    exposure_node = dev_node_map["ExposureTime"]
    softTrigger(1)
    print("Exposure time set to: " + str(exposure_node.value) + " " + exposure_node.unit + " sequence element: " + str(SequencerSetSelector.value))
    
    SequencerSetSelector= dev_node_map ['SequencerSetSelector']
    SequencerSetSelector.value = 1 # 0 indexing
    exposure_node = dev_node_map["ExposureTime"]
    print("Exposure time set to: " + str(exposure_node.value) + " " + exposure_node.unit + " sequence element: " + str(SequencerSetSelector.value))

    SequencerSetSelector= dev_node_map ['SequencerSetSelector']
    SequencerSetSelector.value = 2 # 0 indexing
    exposure_node = dev_node_map["ExposureTime"]
    print("Exposure time set to: " + str(exposure_node.value) + " " + exposure_node.unit + " sequence element: " + str(SequencerSetSelector.value))

    SequencerSetSelector= dev_node_map ['SequencerSetSelector']
    SequencerSetSelector.value = 3 # 0 indexing
    exposure_node = dev_node_map["ExposureTime"]
    print("Exposure time set to: " + str(exposure_node.value) + " " + exposure_node.unit + " sequence element: " + str(SequencerSetSelector.value))

With as results:

Trigger:  On Software
Size ring buffer 3
Sequence:  On , Feature:  ExposureTime SequencerSetCount 5 SequencerSetActive 0
Number of images in buffer:  0
sleep 1 sec for image  0
Exposure time set to: 111.0 us sequence element: 0
Exposure time set to: 1234.0 us sequence element: 1
Exposure time set to: 56789.0 us sequence element: 2
Exposure time set to: 33333.0 us sequence element: 3

The increase observed here is due to setting the SequencerSetSelector manually.

OS: W10 x64
CVB version: 13.04.005
Camera: VC-25M10G-M41I0

Hi @dave

Your question is camera related, please take a look at the camera’s manual. If you still have a question, please reach out to our support via de.support@stemmer-imaging.com