Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB superspeed peripherals

ReA_3297666
Level 2
10 replies posted 10 sign-ins 5 replies posted
Level 2

Hello we are using CX3 RDK board receive a RAW 10bit MIPI sensor Input, We made the configuration as shown below 

ReA_3297666_0-1619044435867.png

In the image configuration , the necessary I2C details has been entered

ReA_3297666_1-1619044516518.png

When programmed the CX3-RDK board enumerates as CX3 UVC device, but when we probe the i2c lines of sensor no values is being written from CX3. Are we missing something?

 

0 Likes
1 Solution
JayakrishnaT_76
Moderator
Moderator First question asked 1000 replies posted 750 replies posted
Moderator

Hello,

Please try the following suggestions and let me know if you still face issues:

1. The image sensor register configuration value is of 1 byte as per the snapshot. But you have used the type CySensorReg16_t for the image sensor configuration structure which assumes that the sensor configuration value is of 2 bytes. Please change this to CySensorReg8_t as this makes use of 1 byte sensor configuration value. Please use the same type (CySensorReg8_t ) for all the configuration settings (base and resolutions).

2. The function to initialize  the image sensor should be of the following form:

CyU3PReturnStatus_t
CyCx3_ImageSensor_Init(
void)
{
uint16_t configSize;

#ifdef SENSOR_DEBUG
CyU3PDebugPrint(4,"\r\n Sensor Initialization");
#endif

CyU3PReturnStatus_t status = CY_U3P_SUCCESS;

configSize = (sizeof(SENSOR_BaseConfigurationSettings))/(sizeof(CySensorReg8_t));
status = Sensor_WriteConfigurationSettings_Reg8(SENSOR_BaseConfigurationSettings, configSize);

/*Include any other I2C write required during Sensor Init here*/

return status;
}

Similarly, the function for configuring the image sensor should be of the following form:

CyU3PReturnStatus_t
CyCx3_Set_null_YUY2_Resolution1(
void)
{
uint16_t configSize;
CyU3PReturnStatus_t status = CY_U3P_SUCCESS;

configSize = (sizeof(null_YUY2_Resolution1ConfigurationSettings))/(sizeof(CySensorReg8_t));
status = Sensor_WriteConfigurationSettings_Reg8(null_YUY2_Resolution1ConfigurationSettings, configSize);

return status;
}

3. The macros SENSOR_I2C_READ_ADDRESS and SENSOR_I2C_WRITE_ADDRESS should be defined with the correct I2C address based on the image sensor used.

Best Regards,
Jayakrishna

View solution in original post

0 Likes
14 Replies