This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DLPC3478: A computer is connected to multiple dlpcs

Part Number: DLPC3478

Hi,

     I use a computer to connect multiple dlpcs by i2c, and each device can be found and opened normally. When I use the device object to call the api interface to control the device properties, I found that I can only control the last device , and other devices can not Corresponding control, is there any solution?

    Calling the api interface for multiple devices, I see that the api interfaces of other companies are all associated with the device handle, such as : camhandle_->TriggerMode(TriggerMode_On)

we are not associated,  I don’t know how to solve it?

    I use DLPC-API-1.9, and the calling interface is as follows: 

         uint32_t DLPC34XX_WriteTriggerOutConfiguration(DLPC34XX_TriggerType_e TriggerType, DLPC34XX_TriggerEnable_e TriggerEnable, DLPC34XX_TriggerInversion_e TriggerInversion, int32_t Delay);

    best!

  • Hello User,

    It sounds like you are inquiring whether the DLPC-API-v1.9 supports multiple DLPC3478 devices connected at the same time. How are you connecting these devices? Are you using multiple I2C host adapters or a single Bus?

    Regards,

    Philippe

  • Hi,

    I guess you have understood what I mean!

    I connect two dlpc3478 to the two USB of the computer, and both dlpc3478 can be recognized.but each dlpc3478 object calls the interface "DLPC34XX_WriteTriggerOutConfiguration"  control the same device. Two device objects control the same device when they call other interfaces.how can I call the interface of DLPC-API-1.9 to control two dlpc3478 separately?

    best!

  • Hi

    So this will require modifications in the API library. I am not familiar with this so I will post our experts response verbatim

    "To communicate with multiple EVMs, they will have to modify the cypress_i2c.c file in the API library. Right now, we store only one CY_HANDLE in this module. They will have to update the module to store an array of CY_HANDLEs. They will have to update the GetCyI2CHandle method to initialize all available Cypress I2C adapters instead of stopping after finding the first one. They have to modify the CYPRESS_I2C_WriteI2C to send the writes to all non-null CY_HANDLEs and the CYPRESS_I2C_ReadI2C to read from the first CY_HANDLE"

    Please let us know any further questions you have.

    Regards,

    Arthur Brown

  • Hi,

    Thank you for your reply! I use C++ for development. Now I update the handle of the corresponding device every time I call the interface. It can be implemented but it feels a bit troublesome. Is there a simple way or provide a modified Demo?

    Regards,

  • User,

    Unfortunately I don't think we have any demos to share in this language. Apologies for the inconvenience.

    Regards,

    Philippe

  • I see, thank you  for your reply!