We are using the ADIS16209/PCBZ in a Beaglebone Black system running Ubuntu 13.04, using the SPI interface.
We have done a preliminary test using the Adafruit Python libraries and the sensor was working. But for our application we need to use the IIO Linux driver available in the following page:
Every documentation that we have read so far refers that "Each and every IIO device, ... has a device folder under /sys/bus/iio/devices/iio:deviceX."
Our problem is that we don't have such device folder in our system. We suppose that some additional instruction is required to say that a IIO device is connected to SPI0, but couldn't figure out what. I guess our problem is with declaring the SPI slave devices. I realize that we should run __init board_init() according to the instructions on the above mentioned IIO driver web page, but I don't know where and how I should run that code.
If it is available please recommend some web page where I can find code snippets for reading from the sensor with IIO.
I give some more details below that may be of interest for understanding our issue.
1) connection of the iSensor ADIS16209 (port SPI0 of Beaglebone Black, /dev/spidev1.0)
|ADIS conector J1||BBB P9|
|2 (SCLK)||22 (spi0_clk)|
|3 (/CS)||17 (spi0_cs0)|
|4 (DOUT)||21 (spi0_d0)|
|6 (DIN)||18 (spi0_d1)|
|10, 11 or 12 (VDD)||3 ou 4 (DC_3.3V)|
|7 or 8 (GND)||1 ou 2 (GND)|
2) to manually load the device tree overlay
# cat /lib/firmware/BB-SPIDEV0-00A0.dtbo > /sys/devices/bone_capemgr.9/slots
result: the devices /dev/spidev1.0 and /dev/spidev1.1 are automatically created.
To install in the boot, the following line was added to "/boot/uboot/uEnv.txt":
The first part deactivates HDMI, and the second loads the device tree overlay.
3) The content of /etc/modules is as follows:
# /etc/modules: kernel modules to load at boot time.
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.