I am testing the usage of the Aardvark API Software in my C# application and it works as expected. When I change the address of my device to a different address used in the application (i.e., make it the wrong address) and then use aa_i2c_read, the data I receive is 0. However, I expect to get the error (AA_I2C_READ_ERROR) as indicated in the Aardvark I2C/SPI Host Adapter User Manual. This seems to occur with other function calls as well.
Also, when using AardvarkI2CFlags, I don't have access to all the selections. Looking at the user manual, this is probably because of the firmware version I’m using. How can I determine which firmware version my Aardvark I2C/SPI Host Adapter has, and if needed, upgrade to the latest version?
Response from Technical Support:Thanks for your questions! Here is the information you requested:
If the Aardvark I2C/SPI Host Adapter is unable to reach the slave for read, the value returned by the API is 0 (length of bytes read). When this occurs, the data buffer is initialized to 0. The value returned by API is negative when other errors occur. For more information about error codes, please refer to the section Error Codes in the Aardvark I2C/SPI Host Adapter User Manual.
You can easily detect the firmware version loaded into the Aardvark adapter with the Control Center Serial Software. The Adapter -> Connect window lists the available Aardvark adapters with details on the versions of hardware and firmware, and the serial number. You can upgrade your firmware with the Aardvark Firmware Update Utility.
Additional resources that you may find helpful include the following:
We hope this answers your question. Looking for more information? You can contact us at sales@totalphase.com. You can also request a demo that applies to your application, as well as ask about our Total Phase products.