> On Oct 26, 2015, at 17:05 , William Hermans <[email protected]> wrote:
>
>> I'm using it the same way I always have. On my other BBB running a
>> 3.8.13-bone68 kernel and an older Debian, I'm able to read it just fine with
>> the BB-ADC dtbo loaded. As far as I know, I've never set anything to be
>> continuous (or one-shot, for that matter).
> You can check the mode the ADC is in by running:
>
> cat /sys/bus/iio/devices/iio\:device0/mode - Output should be either oneshot
> or continuous
Hmm, I don't have this file:
# ls /sys/bus/iio/devices/iio\:device0/
dev in_voltage0_raw in_voltage1_raw in_voltage2_raw name power/
subsystem@ uevent
> Which kernel are you running on that board ? Anyway, run lsmod and make sure
> the ti_am335x_adc module is loaded. But the ADC dts file I have is as such .
> . .
I seem to not have the ti_am335x_adc module, but I also don't have it on the
one that works
This one doesn't work:
# uname -r
3.8.13-bone72
# lsmod
Module Size Used by
uio_pruss 4066 0
g_ether 23958 0
libcomposite 15028 1 g_ether
8192cu 449033 0
omap_rng 4062 0
mt7601Usta 458758 0
# cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
cat: /sys/bus/iio/devices/iio:device0/in_voltage0_raw: Device or resource busy
This one works:
# uname -r
3.8.13-bone68
# lsmod
Module Size Used by
snd_usb_audio 100405 1
snd_hwdep 4885 1 snd_usb_audio
snd_usbmidi_lib 15375 1 snd_usb_audio
g_multi 50407 0
libcomposite 15028 1 g_multi
uio_pruss 4066 2
# cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
3680
>
> /dts-v1/;
>
> / {
> compatible = "ti,beaglebone", "ti,beaglebone-black",
> "ti,beaglebone-green";
> part-number = "BB-ADC";
> version = "00A0";
> exclusive-use = "P9.31", "P9.40", "P9.37", "P9.38", "P9.33", "P9.36",
> "P9.35", "tscadc";
>
> fragment@0 {
> target = <0xdeadbeef>;
>
> __overlay__ {
> status = "okay";
>
> adc {
> ti,adc-channels = <0x0 0x1 0x2 0x3 0x4 0x5
> 0x6>;
> };
> };
> };
>
> __fixups__ {
> tscadc = "/fragment@0:target:0";
> };
> };
>
>
>
>
> On Mon, Oct 26, 2015 at 4:25 PM, Rick Mann <[email protected]> wrote:
> Thanks, William. Questions below
>
> > On Oct 26, 2015, at 15:56 , William Hermans <[email protected]> wrote:
> >
> > Yes.
> >
> > cat /sys/bus/iio/devices/iio\:device0/in_voltageX_raw is single shot mode.
> > If you're running in continuous mode you need to read from /dev/iio:device.
> > So you get this "error" when attempting to use single shot channel files,
> > when the ADC is operating in continuous mode.
>
> I'm using it the same way I always have. On my other BBB running a
> 3.8.13-bone68 kernel and an older Debian, I'm able to read it just fine with
> the BB-ADC dtbo loaded. As far as I know, I've never set anything to be
> continuous (or one-shot, for that matter).
>
> How do I tell what mode it's in, and how do I change it?
>
> > If I were you, I'd just use single shot mode, as ADC reads through iio is
> > dog slow. single-shot is around 5x or maybe slightly more - faster. iio
> > *could* be faster if you could figure out how the buffer is structured, and
> > make it very large( to cut down on system interrupts ). But if you need
> > "fast" ADC, you'd be better off using either mmap on the ADC registers
> > directly, or use the PRU's.
>
> I don't need ADC faster than 100 Hz (on each of up to three channels). I'd
> love to move it to the PRU, but right now I'm using a library that downloads
> firmware to both PRU cores to bitbang LED control. I'll have to modify that
> to add my own ADC needs, and I'm not ready to do that right now.
>
> I can consider using mmap; is there an example of this?
>
> Thanks!
>
> >
> > On Mon, Oct 26, 2015 at 3:18 PM, Rick Mann <[email protected]> wrote:
> > Anyone have any advice on why I can't seem to read the ADC? Thanks!
> >
> > --------------
> >
> > What am I missing here?
> >
> > # uname -r
> > 3.8.13-bone72
> >
> > # pwd
> > /sys/bus/iio/devices/iio:device0
> >
> > # ls
> > dev in_voltage0_raw in_voltage1_raw in_voltage2_raw name power/
> > subsystem@ uevent
> >
> > # cat in_voltage0_raw
> > cat: in_voltage0_raw: Device or resource busy
> >
> > The fragment from my DTBO:
> >
> > fragment@6 {
> > target = <&tscadc>;
> > __overlay__ {
> >
> > status = "okay";
> > adc {
> > ti,adc-channels = <0 1 2>;
> > };
> > };
> > };
> >
> > Thanks,
> >
> > --
> > Rick Mann
> > [email protected]
--
Rick Mann
[email protected]
--
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.