BG95-M3 I2C read write issue

Using machine.i2c read and write always returns success, even without i2c device connected.

https://python.quectel.com/doc/API_reference/en/peripherals/machine.I2C.html

hi,kit_G

May i ask which peripheral you’re using.
Have you ever tried to measure waveforms with an oscilloscope? Is the waveform normal?

Hello Felix,

I’m using I2C.I2C1, and yes waveforms are correct on both SCL and SDA pins.
It is just the return value, always returns success, like there is no ACK implemented at all.

hi
Sorry for the late reply. Let me use the development board to test I2C. I will give you the feedback as soon as possible

HI
I used BG95 + AT24CS6 to test and it worked fine.
image

Below is my test demo, please confirm, thank you
i2c_test.py (586 Bytes)

Hi,
just tested that without anything connected to I2C, just bare BG95M3 module and i get twice 0 from
print(ret)
this indicates SUCCESS as per machine.I2C.html#Methods
or i read the documentation incorrectly and

0 - Successful execution

only indicates python code execution status (which is useless), not hardware status.

image

my module fw version

>>> import uos
>>> uos.uname()
('sysname=BG95-M3', 'nodename=BG95-M3', 'release=1.13.0', 'version=v1.12 on Thu_Aug_8_2024_11:13:07_AM', 'machine=BG95-M3 with QUECTEL', 'qpyver=V0003')
>>>

Thank you for your feedback. Let me confirm this problem with the internal team