Manual exposure range should be from 1 to 16. As you can see below, the minimum value should be 1 and maximum 16.
Current Behavior
Manual exposure range shows up from -13 to -9.
When -13 it sends the index '1d'
When -12 it sends the index '2d'
When -11 it sends the index '5d'
When -10 it sends the index '10d'
When -9 it sends the index '16d'
So at the end it recognizes the range is 1 to 16, but there are some missing indexes.
Other than that, something that I'm not sure if it's normal when I move the slider from '-10' to '-9' in manual exposure, it sends the following commands in the order below:
Auto exposure requests.
Set auto exposure
Set manual exposure
Auto exposure requests
Set auto exposure
Set manual exposure
The debug messages below show this behavior, but it seems too much just for changing 1 value in manual exposure. If I move the slider 2 values, it's 12 requests in a row, which sometimes kills my camera.
(11:59:05.718) Auto Exposure
(11:59:05.718) GET_CUR
(11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 0x1 (hex)
(11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (uint8_t)
(11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (int8_t)
(11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0x0 (hex)
(11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (uint8_t)
(11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (int8_t)
(11:59:05.718) Auto Exposure
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Total readCount: 1
(11:59:05.718) set Auto exposure = 1
(11:59:05.718)
(11:59:05.718) Register = 0x5002: Value = 0x29C
(11:59:05.718) Manual Exposure
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t)
(11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Total readCount: 4
(11:59:05.718) set Manual exposure = 16
(11:59:05.718)
(11:59:05.718) Register = 0x5002: Value = 0x290
(11:59:05.718) Register = 0x500C: Value = 0x3E8
(11:59:05.718) Register = 0x5006: Value = 0x1000
(11:59:05.919) Auto Exposure
(11:59:05.919) GET_CUR
(11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 0x1 (hex)
(11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (uint8_t)
(11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (int8_t)
(11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0x0 (hex)
(11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (uint8_t)
(11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (int8_t)
(11:59:05.919) Auto Exposure
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Total readCount: 1
(11:59:05.919) set Auto exposure = 1
(11:59:05.919)
(11:59:05.919) Register = 0x5002: Value = 0x29C
(11:59:05.919) Manual Exposure
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t)
(11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Total readCount: 4
(11:59:05.919) set Manual exposure = 16
(11:59:05.919)
(11:59:05.919) Register = 0x5002: Value = 0x290
(11:59:05.919) Register = 0x500C: Value = 0x3E8
(11:59:05.919) Register = 0x5006: Value = 0x1000
Steps to Reproduce
Open the properties of the camera
Check the manual exposure ranges
...
Anything else we should know?
I'm the developer of this camera, and I've seen all the Processing Unit Descriptors work perfectly (Brightness, contrast, saturation, etc), same as the Input (Camera) Terminal Descriptor (like zoom, or auto exposure). The only one not setting the range correctly is manual exposure.
I also noticed the behavior is the same with the integrated camera in my laptop.
Operating System Info
Windows 11
Other OS
No response
OBS Studio Version
30.2.3
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/Pw54R4ROdxA5GbqJ
OBS Studio Crash Log URL
No response
Expected Behavior
Manual exposure range should be from 1 to 16. As you can see below, the minimum value should be 1 and maximum 16.
Current Behavior
Manual exposure range shows up from -13 to -9.
When -13 it sends the index '1d' When -12 it sends the index '2d' When -11 it sends the index '5d' When -10 it sends the index '10d' When -9 it sends the index '16d'
So at the end it recognizes the range is 1 to 16, but there are some missing indexes.
Other than that, something that I'm not sure if it's normal when I move the slider from '-10' to '-9' in manual exposure, it sends the following commands in the order below:
Auto exposure requests. Set auto exposure Set manual exposure Auto exposure requests Set auto exposure Set manual exposure The debug messages below show this behavior, but it seems too much just for changing 1 value in manual exposure. If I move the slider 2 values, it's 12 requests in a row, which sometimes kills my camera.
(11:59:05.718) Auto Exposure (11:59:05.718) GET_CUR (11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 0x1 (hex) (11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (uint8_t) (11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (int8_t) (11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0x0 (hex) (11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (uint8_t) (11:59:05.718) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (int8_t) (11:59:05.718) Auto Exposure (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Total readCount: 1 (11:59:05.718) set Auto exposure = 1 (11:59:05.718) (11:59:05.718) Register = 0x5002: Value = 0x29C (11:59:05.718) Manual Exposure (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t) (11:59:05.718) USBStpCB:VCI SET_CUR_REQ - Total readCount: 4 (11:59:05.718) set Manual exposure = 16 (11:59:05.718) (11:59:05.718) Register = 0x5002: Value = 0x290 (11:59:05.718) Register = 0x500C: Value = 0x3E8 (11:59:05.718) Register = 0x5006: Value = 0x1000 (11:59:05.919) Auto Exposure (11:59:05.919) GET_CUR (11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 0x1 (hex) (11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (uint8_t) (11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 0] 1 (int8_t) (11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0x0 (hex) (11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (uint8_t) (11:59:05.919) USBStpCB:VCI GET_REQ - RequestOption: 0x1, Value sent: [byte 1] 0 (int8_t) (11:59:05.919) Auto Exposure (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Total readCount: 1 (11:59:05.919) set Auto exposure = 1 (11:59:05.919) (11:59:05.919) Register = 0x5002: Value = 0x29C (11:59:05.919) Manual Exposure (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0x0 (hex) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (uint8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 0] 0 (int8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0x0 (hex) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (uint8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Value received: [byte 1] 0 (int8_t) (11:59:05.919) USBStpCB:VCI SET_CUR_REQ - Total readCount: 4 (11:59:05.919) set Manual exposure = 16 (11:59:05.919) (11:59:05.919) Register = 0x5002: Value = 0x290 (11:59:05.919) Register = 0x500C: Value = 0x3E8 (11:59:05.919) Register = 0x5006: Value = 0x1000
Steps to Reproduce
...
Anything else we should know?
I'm the developer of this camera, and I've seen all the Processing Unit Descriptors work perfectly (Brightness, contrast, saturation, etc), same as the Input (Camera) Terminal Descriptor (like zoom, or auto exposure). The only one not setting the range correctly is manual exposure.
I also noticed the behavior is the same with the integrated camera in my laptop.