It says: root@beaglebone:/dev# cd iio:device0 -bash: cd: iio:device0: Not a directory root@beaglebone:/dev# cat iio:device0 cat: iio:device0: Invalid argument
On Friday, March 18, 2016 at 3:25:13 PM UTC-4, john3909 wrote: > > The buffer is available here: > > /dev/iio:device0 > > Because the driver uses interrupts, you won’t get the speed you want. The > driver has to be updated to use DMA if you want to use full speed. Reading > from the buffer will reduce your CPU load compared to using LDR_PATH > because this interface blocks until a sample is available, but not long > enough for the thread to sleep. To use DMA, IIO have introduced a DMA > framework and most of what you need is already available. However, IIO are > going to be updating the IIO DMA framework to do zero copy between the > kernel module and the socket interface, using MMU maps. > > Regards, > John > > > > > On Mar 18, 2016, at 11:21 AM, Audrey <[email protected] <javascript:>> > wrote: > > Hi everyone, > > First of all, thank you everyone for trying to help me. I appreciate > everyone's input. > > I took everyone's advice, and have moved away from bash to C++. It's > clocking at about 2 milliseconds, but I would really like it to go down > into the microsecond range: > >> /** Simple LDR Reading Application >> * Written by Derek Molloy for the book "Exploring BeagleBone: Tools and >> * Techniques for Building with Embedded Linux" by John Wiley & Sons, 2014 >> * ISBN 9781118935125. Please see the file README.md in the repository root >> * directory for copyright and GNU GPLv3 license information. */ >> >> #include<iostream> >> #include<fstream> >> #include<string> >> #include<sstream> >> using namespace std; >> >> #define LDR_PATH "/sys/bus/iio/devices/iio:device0/in_voltage" >> >> int readAnalog(int number) >> { >> stringstream ss; >> ss << LDR_PATH << number << "_raw"; >> fstream fs; >> fs.open(ss.str().c_str(), fstream::in); >> fs >> number; >> fs.close(); >> return number; >> } >> >> int main(int argc, char* argv[]) >> { >> cout << "Starting the readLDR program" << endl; >> int value; >> int i=1; >> while (true) >> { >> float value = (float)readAnalog(0)/4095*1.8; >> cout <<"V= " << value << endl; >> cout << i << endl; >> i++; >> } >> return 0; >> } >> > > Thank you TJF for pointing me to libpruio. I'll use it later if I need it, > but for now I rather not use the PRU if I don't need to. > > So I noticed this thing where I can't see the buffer, or scan_elements, or > mode in iio:device0, and I wonder if I'm not enabling the adc dto properly > or something: > >> root@beaglebone:/sys/bus/iio/devices/iio:device0# ls -l >> total 0 >> -r--r--r-- 1 root root 4096 Mar 1 20:51 dev >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage0_raw >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage1_raw >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage2_raw >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage3_raw >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage4_raw >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage5_raw >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage6_raw >> -rw-r--r-- 1 root root 4096 Mar 1 22:03 in_voltage7_raw >> -r--r--r-- 1 root root 4096 Mar 1 20:51 name >> drwxr-xr-x 2 root root 0 Mar 1 20:51 power >> lrwxrwxrwx 1 root root 0 Mar 1 20:50 subsystem -> >> ../../../../../bus/iio >> -rw-r--r-- 1 root root 4096 Mar 1 20:50 uevent > > > This is what I've been doing to "enable" the adc (although I don't really > know what it is doing. I can't find the file cape-bone-iio in bbb, and if I > try echo cape-bone-iio > test.txt, it is just a regular string.): > echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots > > I tried searching for /driver/iio/adc/ti_am335x_adc.c, but I can't find it > (there's nothing in root@beaglebone:/sys/bus/iio/drivers#). Could you > perhaps specify the full filepath? > > Thanks. > > -- > 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.
