user141414 wrote:Good Evening,
I been working with the binary mode I2C C example written by James Stephenson and linked through the documentation on the site.
The circuit configuration is as follows:
24LC02 EEPROM configured with default address (0xA0) -- addresses all pulled low, WP pulled low -- running at 5V, on a breadboard, decoupling cap at the chip.
Using BP4 with firmware package 6.2 beta 1.
In normal mode I am able to turn on pull ups, configure pull ups, turn on power supply and read/write the EEPROM without any issues (awesome!!) in either hardware or software I2C mode.
In binary mode with the code from James, as well as when I manually send hex commands over the COM port, I am not receiving the expected data back. For example, the EEPROM contains DE AD BE EF FF FF FF FF FF FF FF FF.. FF FF FF and I receive 01 back for each location rather than the expected data.
I scoped the SDA and SCL in both modes and found that, in binary mode, even when I issue the command 0x4C to turn on pull-ups and the power supply, I am seeing the I2C lines sit at ground rather than pull up to the 5V power supply. In normal mode it looks fine and I can confirm that the I2C waveforms work out to exactly what I would expect.
Based on this, and based on the fact that I have to explicitly use option 'e' in normal mode, I suspect the BP4 with this firmware needs an additional command issued with binary implementation to configure the pullup resistors voltage source.
I searched for forum and did not see anyone running into this scenario so I am hoping that someone can confirm/deny this behaviour and possibly let me know if there is a command already implemented but not documented or if it should be working properly (maybe I am crazy?).
Thank you in advance!
Hi the issue has been resolved, you can now control the Pull up voltage from I2C in binary mode.. since rev2084
here's the wiki on how to to do it..http://dangerousprototypes.com/docs/I2C ... v_y.3D3.3v
This is now also available in all other modes as well... the universal code for 3.3V is 0x51 for 5V 0x52, to turn them off 0x50.. it will not connect if there is a external voltage applied, or the communication protocol i not set to use HiZ... standard returns 0x01 if OK, and 0x00 if voltage is discovered on the pin or the pin mode is not HiZ
best regards FIlip.