I am trying to capture ADC values with the Apalis IMX8 module. I can read Single Shot fine.
I am wondering about support for continuous mode? I see that the veridan module has support but i cannot find any mention in documentation or through playing with the torizon core. am i missing something?
Does the NXP i.MX8QXP ADC driver not support continuous mode?
Do i need to use an external ADC for the faster Data reads to be benefiting from the continuous mode?
I have been following this project of yours, also with your colleagues in NA.
just to be clear you have an off the shelf version of our Apalis iMX8. There is nothing customized from the hardware perspective on this module. Can you share what you mean by “custom variant”.
This is an off the shelf module. By Custom i mean this is a custom yocto build of the the torizon core.
We have added some product specific scripts/applications.
@josep.tx i have been using these articles as a reference. However in the article it shows in the Continuous Mode a folder named scan_elements i have attached a copy of my iio:device folders. There is no such folder. This is what leads me to believe that the Continuous mode is NOT supported by the current drivers from the TorizonCore. The article seems to be written in such a way that the Continuous mode is reffering to the Verdin modules.
root@06548570:/sys/bus/iio/devices$ ls -lrt iio\:device?/
iio:device1/:
total 0
-rw-r--r-- 1 root root 4096 Jan 1 1970 uevent
-r--r--r-- 1 root root 4096 Jan 11 10:49 suppliers
drwxr-xr-x 2 root root 0 Jan 11 10:49 power
-r--r--r-- 1 root root 4096 Jan 11 10:49 name
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage_scale
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage_sampling_frequency
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage7_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage6_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage5_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage4_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage3_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage2_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage1_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage0_raw
-r--r--r-- 1 root root 4096 Jan 11 10:49 dev
-r--r--r-- 1 root root 4096 Jan 11 10:49 consumers
lrwxrwxrwx 1 root root 0 Jan 11 10:49 subsystem -> ../../../../../bus/iio
lrwxrwxrwx 1 root root 0 Jan 11 10:49 of_node -> ../../../../../firmware/devicetree/base/bus@5a000000/adc@5a890000
iio:device0/:
total 0
-rw-r--r-- 1 root root 4096 Jan 1 1970 uevent
-r--r--r-- 1 root root 4096 Jan 11 10:49 suppliers
drwxr-xr-x 2 root root 0 Jan 11 10:49 power
-r--r--r-- 1 root root 4096 Jan 11 10:49 name
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage_scale
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage_sampling_frequency
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage7_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage6_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage5_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage4_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage3_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage2_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage1_raw
-rw-r--r-- 1 root root 4096 Jan 11 10:49 in_voltage0_raw
-r--r--r-- 1 root root 4096 Jan 11 10:49 dev
-r--r--r-- 1 root root 4096 Jan 11 10:49 consumers
lrwxrwxrwx 1 root root 0 Jan 11 10:49 subsystem -> ../../../../../bus/iio
lrwxrwxrwx 1 root root 0 Jan 11 10:49 of_node -> ../../../../../firmware/devicetree/base/bus@5a000000/adc@5a880000
@DaveM Thanks for your reply! Your right i dont see anything relating to the scan_index. I Believe the Verdin Modules also utalize the ti-ads1015 external adc That would explain the scan_elements being present on the verdin module. I think this has answered my question. I believe that i will have to implement an external ADC that is capable of using a continuous mode.
You know @BadTalent , before you go that route with an external adc sitting on the i2c bus, you could try wiring your inputs up to the internal adc and handle your “continuous” mode using some sort of timer-based deal to just cycle thru the one shot results (and re-enable when done) and make those results available? Again, it just depends on your specific requirements though.
@DaveM thanks that’s what i was currently doing. it unfortunately is not sufficient for my needs.
I will probably look towards an SPI external ADC since i require sample rates that exceed the i2c bus capabilities.