User Tools

This is an old revision of the document!


The following tables provide information on how to access the camera's functionality for FX3 Host Vendor Command Interface and an FPGA I²C bridge:

FX3 Host Vendor Command Reference

Name Offset wIndex wValue Access type Byte length Return buffer bits Notes
Bootloader check0xA0 R/W Check if a bootloader is running, the result is in the command's status code (success/failure interpreted as true/false)
Reserved0xA1
Run DPC calibration0xA2 DPC ThresholdW/O Start the dynamic DPC calibration with the given DPC Threshold in range [0..255]
Reconfig FGPA0xA3 W/O Writing anything into this register causes the FPGA to reconfigure itself from SPI Flash
FPGA I²C Bridge0xA4FPGA register offsetFPGA data (write)W/O0 or 17:0 - FPGA dataFPGA write returns 0 byte buffer, FPGA read returns 1 byte buffer. Read/write is requested via control endpoint's direction attribute being set to DIR_FROM_DEVICE/DIR_TO_DEVICE. For more details refer to FPGA I²C bridge
Reserved0xA5-0xA9
Erase SPI Flash0xAA W/O Any write to this location invalidates the FX3 SPI Flash and causes the FX3 to reset itself to a bootloader mode for reprogramming
FX3 version0xAB R/O431:29 Vendor id
28:24 HW_CFG_ID
23:16 Product id
15:11 Release type
10:0 Build number
Get detailed version information of the FX3, for more details refer to FX3VersionInfo
FPGA version0xAC R/O431:29 Vendor id
28:24 HW_CFG_ID
23:16 Product id
15:11 Release type
10:0 Build number
Get detailed version information of the FPGA, for more details refer to FPGAVersionInfo
FPGA config. ctrl.0xAD W/O Any write to this location will put the FPGA into configuration mode
FPGA config. status - SPI codes0xAE R/O215 Program SwitchWord OK
14 Verify OK
13 Program OK
12 Erase OK
11 Erase SwitchWord OK
10 Check ID OK
9 Initialize OK
8 Config started
7 CRC error
6 Timeout error
5 Program error
4 Erase error
3 IdCode error
2 Config error
1 Config done
0 Config not busy
Retrieve detailed status of the FPGA configuration operation
SPI Flash write enable0xAF W/O Reconfigure the FX3 IOMatrix to disable GPIF and enable SPI
Reserved0xB0-0xDF
FX3 reset0xE0 R/W Cypress vendor command to soft reset FX3
Reserved0xE1-0xFF

FPGA I²C bridge

Name Offset Access Bit mapping Notes
FPGA Version #00x00R/O7:5 Vendor id
4:0 HW_CFG_ID
FPGA Version #10x01R/O7:0 Product id
FPGA Version #20x02R/O7:3 Release type
2:0 Build number MSB
Build number is split into 2 MSB and 8 LSB for a combined total width of 10 bits
FPGA Version #30x03R/O7:0 Build number LSB
FPGA config status #0 - SPI codes0x04R/O7 CRC error
6 Timeout error
5 Program error
4 Erase error
3 IdCode error
2 Config error
1 Config done
0 Config not busy
FPGA config status #1 - SPI codes0x05R/O7 Program SwitchWord OK
6 Verify OK
5 Program OK
4 Erase OK
3 Erase SwitchWord OK
2 Check ID OK
1 Initialize OK
0 Config started
FPGA control0x06R/W7 FPGA config enable
6:4 Reserved
3 DPC enable
2 HSUB enable
1 Audio enable
0 Video enable
If bit 7 is set the GPIF becomes read only and waits for an update bitstream
Setting bit 3 along with bit 0x06::0 will perform a DPC correction
Bit 2 is to enable/disable Horisontal Subsampling
Bit 1 is to enable/disable on-board microphones
Bit 0 enables/disables video streaming
Reserved0x07
LED_RED_L0x08R/W7:0 Red LEDLSB of LED's red intensity in range [0..255]
LED_RED_H0x09R/WReserved
LED_GREEN_L0x0AR/W7:0 Green LEDLSB of LED's green intensity in range [0..255]
LED_GREEN_H0x0BR/WReserved
LED_BLUE_L0x0CR/W7:0 Blue LEDLSB of LED's blue intensity in range [0..255]
LED_BLUE_H0x0DR/WReserved
Reserved0x0E-0x0F
Brightness_L0x10R/W7:0 LSB16 bits of brightness are split into 8 bits of LSB and MSB
Brightness_H0x11R/W7:0 MSB
Contrast_L0x12R/W7:0 LSB16 bits of contrast are split into 8 bits of LSB and MSB
Contrast_H0x13R/W7:0 MSB
Saturation_L0x14R/W7:0 LSB16 bits of Saturation are split into 8 bits of LSB and MSB
Saturation_H0x15R/W7:0 MSB
Sharpness_L0x16R/W7:0 LSB16 bits of Sharpness are split into 8 bits of LSB and MSB
Sharpness_H0x17R/W7:0 MSB
Gamma_L0x18R/W7:0 LSB16 bits of Gamma are split into 8 bits of LSB and MSB
Gamma_H0x19R/W7:0 MSB
Hue_L0x1AR/W7:0 LSB16 bits of Hue are split into 8 bits of LSB and MSB
Hue_H0x1BR/W7:0 MSB
Reserved0x1C-0x1F
DPC Threshold LSB0x20R/W7:0 LSB 16 bit of DPC (defective pixel cancellation) Threshold are split into 8 bits of LSB and MSB
DPS Threshold MSB0x21R/W7:0 MSB
DPC count LSB0x22R/O7:0 LSBOnce the DPC calibration is done the 16-bit value is stored in these 2 registers
DPC count MSB0x23R/O7:0 MSB
Reserved0x24-0x27
Y average0x28R/O7:0 value
U average0x29R/O
V average0x2AR/O
R average0x29R/O7:0 valuean average RGB value
G average0x2AR/O7:0 value
B average0x2BR/O7:0 value
Reserved0x2C-0x2F
CAM_GPIO_L0x30R/Wreserved
CAM_GPIO_H0x31R/Wreserved
CAM_GPIO_DIR_L0x32R/Wreserved
CAM_GPIO_DIR_H0x33R/Wreserved
CAM_GPIO_OE_L0x34R/Wreserved
CAM_GPIO_OE_H0x35R/Wreserved
Reserved0x36-0x3F
H.264 QP0x40R/W7:6 reserved
5:0 value
Valid range for the H.264 QP value is [0..51]
Reserved0x41-0x7F
“Green screen”, a.k.a. “Chroma Key” on-board optimization is designed to replace a range of colors with a single well-defined one
CK control0x80R/W7:1 reserved
0 enable
enable/disable Chroma Key control
CK status0x81 reserved
CK saturation LSB0x82R/W7:0 LSBonly the LSB 8 bits are used right now for the range [0..255] to specify the minimum saturation threshold
CK saturation MSB0x83R/Wreserved
CK luma LSB0x84R/Wreserved
CK luma MSB0x85R/Wreserved
CK hue LSB0x86R/W7:0 hue LSB14 bits of a signed hue value are split into 8 LSB and 6 MSB
CK hue MSB0x87R/W7:6 reserved
5:0 hue MSB
CK tolerance LSB0x88R/W7:0 tolerance LSB13 bits of an unsigned hue tolerance value are split into 8 LSB and 5 MSB
CK tolerance MSB0x89R/W7:5 reserved
4:0 tolerance MSB
CK red LSB0x8AR/W7:0 red LSB
CK red MSB0x8BR/Wreserved
CK green LSB0x8CR/W7:0 green LSB
CK green MSB0x8DR/Wreserved
CK blue LSB0x8ER/W7:0 blue LSB
CK blue MSB0x8FR/Wreserved

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information