New firmware release 1.4.0.b1
-
@Colateral
yes i can read data from it but fix is not clear to me - i still can not diagnose what is crux of the problem.I can not work with BMP180 alone i must have something more on bus like e.g. light sensor BH1750
if i reverse sensors initialization order i got alwaysI2C bus error
it looks like i must write something one to i2c and then i can read from it or vice versa.
It is not connected with the resistance or the capacitance.I do not know if i2c is now hardware or still software implementation
-
@livius said in New firmware release 1.4.0.b1:
I do not know if i2c is now hardware or still software implementation
i2c is still done in software.
Is anyone using external pull-up resistors on their I2C? I see the internal ESP32 pull-ups are enabled in the code, but have not seen any reference to what the resistance value is like or attempted to measure it.
-
@jmarcelino said in New firmware release 1.4.0.b1:
I tested with and without resistors but "nothing" change
only reverse order of initialization of sensors helpdifference between sensors is that in light sensor first is memwrite
in bm180 first is memreadand problem appear in 1.4 version of firmware - previously all work without any problem
i do not dig what was changed on esp-idf in the mean time -
@livius Using the same board and connectivity, I can tell you that I succeed to read BME280 (alone) without any resistors or etc.
I have 2 BMP180 sensors from 2 different providers. BME280 and these 2 sensors, I can read them with Arduino ... but not at all with the PyCom I2C stack. This make me think that something is "nasty" with in the I2C implementation...
Which rate are did you configured your I2C baudrate in order to read BMP180?
Using your BMP180, If you run: print(i2c.readfrom_mem(119, 0xD0, 2)) ... can you got the chip id? -
@Colateral
bus = I2C(0, I2C.MASTER, baudrate=100000, pins=("P19", "P20"))return:
b'U\x02'print(ubinascii.hexlify(bus.readfrom_mem(119, 0xD0, 1))) b'55' print(ubinascii.hexlify(bus.readfrom_mem(119, 0xD0, 2))) b'5502'and chip revision:
>>> print(ubinascii.hexlify(bus.readfrom_mem(119,0xd1, 2))) b'0206'it looks ok
550206
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login