Thanks for the reply John. Could you perhaps explain how to modify the 
oversample, open delay time, and sample time in greater detail in the 
BB-ADC overlay? I do not see these variables in the dto in github 
(https://github.com/beagleboard/devicetree-source/blob/master/arch/arm/boot/dts/BB-ADC-00A0.dts).
 
Also, what value can/should I change them to?

So just to clarify, reading from 
/sys/bus/iio/devices/iio:device0/in_voltage0_raw reads attributes using 
sysfs, while reading from /dev/iio:device0 reads the values using IIO? Also 
another conceptual question, can you explain what exactly is 
in_voltage0_raw and iio:device0? I know it's not a folder, and I interact 
with it by using cat. So is it just like a text file or something?

Thanks.

On Sunday, March 6, 2016 at 2:15:17 PM UTC-5, john3909 wrote:
>
> That is because you are doing this wrong. Reading attributes via sysfs is 
> slow and not meant for this purpose. With IIO, you enable a scan element 
> (echo 1 > in_voltage0_en) and then you enable the buffer (echo 1 > 
> buffer/enable)and then you read the values from /dev/iio:device0. In the 
> BB-ADC overlay, you can modify the scan update time by modifying the 
> Oversample (default is 16x), Open Delay time (default is 0x98) and sample 
> time (default is 1). Now the IIO ADC driver captures samples using 
> interrupts which isn’t ideal, but it will capture samples at a much higher 
> rate than can be read from sysfs. If you want to capture at full speed, the 
> driver needs to be updated to use DMA. 
>
> Regards,
> John
>
>
>
>
> On Mar 6, 2016, at 12:19 AM, Audrey <[email protected] <javascript:>> wrote:
>
> Where can I find it (and set it)?
>
> I'm right now trying to collect voltage readings using beaglebone's 
> internal adc using a bash script and a while loop. Right now the data 
> collection is clocking at around 33 microseconds, but I know that the 
> internal adc should be able to collect data as fast as 5 microseconds. What 
> should I do to make that happen? Is the problem with making while loops 
> move faster, or is it about setting the adc configurations?
>
> This is my bash script:
>
> #!/bin/bash
>
> #echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots
>
> t0=$(date +%s%6N)
>
> while true; do
>    t1=$(date +%s%6N)
>    rawVal=$(cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw)
>    voltage=$(bc -l <<< $rawVal/4095*1.8)
>    time=$(expr $t1 - $t0)
>    echo $time $voltage
> done
>
>
> -- 
> For more options, visit http://beagleboard.org/discuss
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to