I2C question

I am trying to use I2C functions available in Version 1.4.0 API. I am also using dll and the latest 1.4 firmware for the xem3010 module; my development environment is Visual C++ 2005 Express edition.

However, despite the recommendation to use specific to the board class, it appears that okCUsbXEM3010 () does not include the I2C functions. Instead, definitions of these functions are located in “okCUsbFronPanel”

I tried instantiating both classes receiving the same compiler error:

Error C3861: isI2CaddressRestricted(): Identifier not found

Is there an example showing how to use I2C functions? Thanks



The I2C functions are not quite finished yet.

For portability, our samples typically pass around a reference to okCUsbFrontPanel, but instantiate one of the derived classes. It is necessary to instantiate the derived class to do proper device matching with the USB driver.

For an application designed for one board, you should be able to safely instantiate and pass the okCUsbXEM3010. This class is derived from okCUsbFrontPanel, so it will inherit those methods.

Hi, does that mean that I2C functions can not be used yet? If so - when you planning to release them?

I see their definitions in okCUsbFrontPanel.h and their return codes in okFrontPanelDLL.h, however no references to these functions in okFrontPanelDLL.c yet… Or they are supposed to be somewhere else?

I also found that DESTester.cpp expects the okCONFIG_NO_ERROR return code from okUsbFrontPanel_ConfigureFPGA(), I think it should be okNO_ERROR instead…

If I2C functions are not yet available, would it be advisable (and feasible) to develop my own functions using CY7C68013A registers?



Thanks for pointing out the DESTester issue. I’ll look into that.

Regarding the I2C stuff, please send an email to support@opalkelly.com. We can work with you to see how you’ll use things and possibly get you a test version to work with to help us work out the kinks.