AD7124-8
Recommended for New Designs
The AD7124-8 is a low power, low noise, completely integrated
analog front end for high precision measurement applications. The
AD7124-8 W grade is AEC...
Datasheet
AD7124-8 on Analog.com
Kuiper linux downloaded from here (2022_r2) swdownloads.analog.com/.../image_2023-12-13-ADI-Kuiper-full.zip and use it on Raspberry Pi Model B.
I am using eval-ad7124-8sdz board using SPI connection following wiki.analog.com/.../precision_adc_toolbox.
Strangely under /boot/overlays, it only has rpi-ad7124-8-all-diff.dtbo, and does not have rpi-ad7124-8-all-diff-cs0-int25-overlay.dtbo. So in order to use the interruption line GPIO 25, I downloaded https://github.com/analogdevicesinc/linux/blob/rpi-5.4.y/arch/arm/boot/dts/overlays/rpi-ad7124-8-all-diff-cs0-int25-overlay.dts
and compiled using
sudo bash -c 'dtc -I dts -O dtb /home/analog/Downloads/rpi-ad7124-8-all-diff-cs0-int25-overlay.dts > /boot/overlays/rpi-ad7124-8-all-diff-cs0-int25-overlay.dtbo'
When I run https://github.com/mthoren-adi/precision_adc_toolbox/blob/master/ad7124_simple_capture.py, the data returned by rx() is a constant array, instead of a sin function that I used as input.
When I tune the input to a constant DC voltage, rx() indeed returns (roughly) that voltage, repeated 1024 times (as rx_buffer_size = 1024). Therefore I believe the rx() function is only reading once, instead of continuously reading 1024 times.
Since the Kuiper linux does not contain rpi-ad7124-8-all-diff-cs0-int25-overlay.dtbo and I have to recompile it from scratch, my guess is the Kuiper linux that I am using is incorrect. Could you confirm what is the correct Kuiper linux download link that contains the correct code for ad7124-8, and also why rx() is returning a constant instead of a continuous read?
Bowei - Moved from Software Interface Tools to Precision ADCs. Post date updated from Monday, March 11, 2024 3:03 AM UTC to Monday, March 11, 2024 3:10 AM UTC to reflect the move.
JEstayo - Moved from Precision ADCs to Linux Software Drivers. Post date updated from Monday, March 11, 2024 3:10 AM UTC to Wednesday, March 13, 2024 2:11 AM UTC to reflect the move.
I also reconnected DOUT(MISO) line to pin 19 and used rpi-ad7124-8-all-diff.dtbo that is precompiled in /boot/overlays. I think the source code is from https://github.com/analogdevicesinc/linux/blob/rpi-5.15.y/arch/arm/boot/dts/overlays/rpi-ad7124-8-all-diff-overlay.dts#L45
When I run as7124_simple_capture.py, I still get a constant array.
I also reconnected DOUT(MISO) line to pin 19 and used rpi-ad7124-8-all-diff.dtbo that is precompiled in /boot/overlays. I think the source code is from https://github.com/analogdevicesinc/linux/blob/rpi-5.15.y/arch/arm/boot/dts/overlays/rpi-ad7124-8-all-diff-overlay.dts#L45
When I run as7124_simple_capture.py, I still get a constant array.