Open mbobinger opened 4 years ago
I have 4 comments:
Thank you mlx-kva! After setting the baudrate for I2C in /boot/config.txt, the 16Hz setting of the adafruit library worked for me. I'm now switching to your library as it obviously makes more sense to use the manufacturer library :). I haven't added the decoupling capacitors, which I will also do now.
To my knowledge, RPI uses 1.8kOhm pullups on SDA and SCL, which seems a bit low to me: https://elinux.org/RPi_Low-level_peripherals
I'll move on with the prototyping and keep you posted. More people seem to have had problems with the i2c bus.
Hi @mbobinger, I am working on using raspberry pi to read the sensor's data. However, I can only get the data on 8 Hz refresh rates. I want to know the details of your solution. Thank you so much.
Dear Melexis-fellows
I know this is not a question specifically related to this library but to the MLX90640 and I've tried some things already. I've followed the MLX90640 tutorial from Adafruit on an RPI4 and all code examples work fine for me: https://github.com/adafruit/Adafruit_CircuitPython_MLX90640/
However, as soon as I try to set: mlx.refresh_rate = adafruit_mlx90640.RefreshRate.REFRESH_16_HZ the refresh rate to higher than 4Hz, tried for 8, 16, 32 and 64Hz, I receive the following error msg (please also see attached IMG):
`raise RuntimeError("Too many retries") RuntimeError: Too many retries
This error has been discussed previously: https://github.com/melexis/mlx90640-library/issues/57 and was already somehow addressed by Melexis in an update.
And on the adafruit forum: https://forums.adafruit.com/viewtopic.php?f=19&p=808699
The problem seems to be clearly that the sensor status can not be requested: `def _GetFrameData(self, frameData): dataReady = 0 cnt = 0 statusRegister = [0] controlRegister = [0]
Changing the bus speeds of I2C from 0.8MHz to 1.5Mhz didn't help either (nor lowering of course): i2c = busio.I2C(board.SCL, board.SDA, frequency=15000000)
Please have a look at my setup, I've used long and then short SDA, SCL wires to avoid crosstalk - didn't help. Always 8Hz was the limit.
Thank you!