Both sides previous revisionPrevious revisionNext revision | Previous revision |
resources:tools-software:linux-drivers:iio-gyroscope:adxrs450 [09 Nov 2011 12:01] – [Reference Circuits] Michael Hennerich | resources:tools-software:linux-drivers:iio-gyroscope:adxrs450 [20 Nov 2015 17:27] (current) – [Reference Circuits] Remove CN0163 it does not exist (anymore?) Lars-Peter Clausen |
---|
| |
===== Supported Devices ===== | ===== Supported Devices ===== |
| |
* [[adi>ADXRS450]] | * [[adi>ADXRS450]] |
| * [[adi>ADXRS453]] |
| |
| |
===== Reference Circuits ===== | |
| |
* [[adi>CN0163]] | |
| |
===== Evaluation Boards ===== | ===== Evaluation Boards ===== |
| |
| * [[adi>EVAL-ADXL313-Z-M]] |
* [[adi>EVAL-ADXRS450Z]] | * [[adi>EVAL-ADXRS450Z]] |
| * [[adi>EVAL-ADXRS453Z]] |
| * [[http://www.digilentinc.com/Products/Detail.cfm?Prod=PMOD-GYRO2|PmodGYRO2]] |
==== ADXRS450: ±300°/sec High Vibration Immunity Digital Gyro ==== | ==== ADXRS450: ±300°/sec High Vibration Immunity Digital Gyro ==== |
| |
{{scrape>adi>ADXRS450#product_description}} | {{scrape>adi>ADXRS450#description}} |
* [[adi>ADXRS450|Product Page]] | * [[adi>ADXRS450|Product Page]] |
* {{scrape>adi>ADXRS450#datasheet_pdf_dspart}} | * {{scrape>adi>ADXRS450#datasheet-details}} |
| |
| ==== ADXRS453: ±300°/sec High Vibration Immunity Digital Gyro ==== |
| |
| {{scrape>adi>ADXRS453#description}} |
| * [[adi>ADXRS453|Product Page]] |
| * {{scrape>adi>ADXRS453#datasheet-details}} |
====== Adding ADXRS450 to the Kernel ====== | ====== Adding ADXRS450 to the Kernel ====== |
To add support for the ADXRS450 to the kernel build system, a few things must be enabled properly for things to work.The configuration is as following: | To add support for the ADXRS450 to the kernel build system, a few things must be enabled properly for things to work.The configuration is as following: |
| |
Configure kernel with "make menuconfig" (alternatively use "make xconfig" or | Configure kernel with "make menuconfig" (alternatively use "make xconfig" or |
"make qconfig") | "make qconfig") |
| |
<note> | <WRAP round help> |
The ADXRS450 Driver depends on **CONFIG_SPI** | The ADXRS450 Driver depends on **CONFIG_SPI** |
</note> | </WRAP> |
| |
<code> | <code> |
Linux Kernel Configuration | Linux Kernel Configuration |
Device Drivers ---> | Device Drivers ---> |
[*] Staging drivers ---> | |
<*> Industrial I/O support ---> | <*> Industrial I/O support ---> |
<M> Analog Devices ADXRS450 Digital Output Gyroscope SPI driver | <M> Analog Devices ADXRS450/3 Digital Output Gyroscope SPI driver |
</code> | </code> |
| |
===== Status ===== | ===== Status ===== |
| |
^ Source ^ Mainlined? ^ | ^ Source ^ Mainlined? ^ |
| [[ git.linux.org>drivers/staging/iio/gyro/adxrs450_core.c | git ]] | [[ git.linux.org>drivers/staging/iio/gyro/adxrs450_core.c | Yes ]] | | | [[ git.linux.org>drivers/iio/gyro/adxrs450.c | git ]] | [[ git.linux.org>drivers/iio/gyro/adxrs450.c |Yes ]] | |
===== Files ===== | ===== Files ===== |
| |
^ Function ^ File ^ | ^ Function ^ File ^ |
| driver | [[git.linux.org>drivers/staging/iio/gyro/adxrs450_core.c]]| | | driver | [[git.linux.org>drivers/iio/gyro/adxrs450.c]]| |
| include | [[git.linux.org>drivers/staging/iio/gyro/adxrs450.h]]| | |
| |
====== Example platform device initialization ====== | ====== Example platform device initialization ====== |
====== Hardware configuration ====== | ====== Hardware configuration ====== |
| |
{{:software:driver:linux:adxrs450_eval_lr.jpg?600}} | {{:software:driver:linux:adxrs450_eval_lr.jpg?600 | EVAL-ADXRS450}} |
| |
| {{:resources:tools-software:linux-drivers:iio-gyroscope:pmodgyro2_lr.jpg?600 | PmodGYRO2}} |
| |
====== Driver testing ====== | ====== Driver testing ====== |
=== Module loading === | === Module loading === |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/> **modprobe adxrs450** | root:/> **modprobe adxrs450** |
adxrs450: module is from the staging directory, the quality is unknown, you have been warned. | |
adxrs450 spi0.18: The Part ID is 0x5201 | adxrs450 spi0.18: The Part ID is 0x5201 |
adxrs450 spi0.18: The Serial Number is 0xbaf2 | adxrs450 spi0.18: The Serial Number is 0xbaf2 |
</xterm></box> | </xterm></WRAP> |
| |
{{page>software:linux:docs:iio:iio_snippets#iio device files&noheader&firstseconly&noeditbtn}} | {{page>software:linux:docs:iio:iio_snippets#iio device files&noheader&firstseconly&noeditbtn}} |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/> **cd /sys/bus/iio/devices/** | root:/> **cd /sys/bus/iio/devices/** |
root:/sys/bus/iio/devices> ls | root:/sys/bus/iio/devices> ls |
device0 | iio:device0 |
root:/sys/bus/iio/devices> **cd device0** | root:/sys/bus/iio/devices> **cd iio:device0 ** |
| |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **ls -l** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **ls -l** |
--w------- 1 root root 4096 Jan 1 00:01 gyro_z_calibbias | -r--r--r-- 1 root root 4096 Jan 3 16:24 dev |
-r--r--r-- 1 root root 4096 Jan 1 00:01 gyro_z_quadrature_correction_raw | -rw-r--r-- 1 root root 4096 Jan 3 16:24 in_anglvel_z_calibbias |
-r--r--r-- 1 root root 4096 Jan 1 00:01 gyro_z_raw | -rw-r--r-- 1 root root 4096 Jan 3 16:24 in_anglvel_z_quadrature_correction_raw |
-r--r--r-- 1 root root 4096 Jan 1 00:01 name | -r--r--r-- 1 root root 4096 Jan 3 16:24 in_anglvel_z_raw |
drwxr-xr-x 2 root root 0 Jan 1 00:01 power | -rw-r--r-- 1 root root 4096 Jan 3 16:24 in_anglvel_z_scale |
lrwxrwxrwx 1 root root 0 Jan 1 00:01 subsystem -> ../../../../../bus/iio | -r--r--r-- 1 root root 4096 Jan 3 16:24 in_temp0_raw |
-r--r--r-- 1 root root 4096 Jan 1 00:01 temp_raw | -rw-r--r-- 1 root root 4096 Jan 3 16:24 in_temp0_scale |
-rw-r--r-- 1 root root 4096 Jan 1 00:01 uevent | -r--r--r-- 1 root root 4096 Jan 3 16:24 name |
</xterm></box> | drwxr-xr-x 2 root root 0 Jan 3 16:24 power |
| lrwxrwxrwx 1 root root 0 Jan 3 16:24 subsystem -> ../../../../../bus/iio |
| -rw-r--r-- 1 root root 4096 Jan 3 16:24 uevent |
| </xterm></WRAP> |
| |
| |
=== Show device name === | === Show device name === |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat name** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0> **cat name** |
adxrs450 | adxrs450 |
</xterm></box> | </xterm></WRAP> |
| |
| === Show angular rate scale === |
| |
| <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
| <xterm> |
| root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0> **cat in_anglvel_z_scale** |
| 0.000218166 |
| </xterm></WRAP> |
=== Show angular rate === | === Show angular rate === |
| |
== Rotate in positive direction == | == Rotate in positive direction == |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat gyro_z_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **cat in_anglvel_z_raw** |
42 | 42 |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat gyro_z_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **cat in_anglvel_z_raw** |
1456 | 1456 |
</xterm></box> | </xterm></WRAP> |
| |
== Rotate in negative direction == | == Rotate in negative direction == |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat gyro_z_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **cat in_anglvel_z_raw** |
-1657 | -1657 |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat gyro_z_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **cat in_anglvel_z_raw** |
-17215 | -17215 |
</xterm></box> | </xterm></WRAP> |
| |
=== Show quadrature correction === | === Show quadrature correction === |
This attribute is used to read the amount of quadrature error present in the device at a given time. | This attribute is used to read the amount of quadrature error present in the device at a given time. |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat gyro_z_quadrature_correction_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **cat in_anglvel_z_quadrature_correction_raw** |
9 | 9 |
</xterm></box> | </xterm></WRAP> |
| |
=== Set dynamic null correction === | === Set dynamic null correction === |
This 10-bit value allows the user to adjust the static rateout of the device by up to ±6.4°/sec. | This 10-bit value allows the user to adjust the static rateout of the device by up to ±6.4°/sec. |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat gyro_z_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **cat in_gyro_z_raw** |
40 | 40 |
| |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **echo 40 > gyro_z_calibbias** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **echo 40 > in_anglvel_z_calibbias** |
| |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat gyro_z_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0 > **cat in_anglvel_z_raw** |
1 | 1 |
</xterm></box> | </xterm></WRAP> |
| |
=== Show temperature === | === Show temperature === |
| |
<box 100% green|shell prompt running on the target> | <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> |
<xterm> | <xterm> |
root:/sys/devices/platform/bfin-spi.0/spi0.18/device0> **cat temp_raw** | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0> **cat in_temp0_scale** |
455 | 200 |
</xterm></box> | root:/sys/devices/platform/bfin-spi.0/spi0.18/iio:device0> **cat in_temp0_raw** |
| 105 |
| </xterm></WRAP> |
| |
| **T** = //in_temp0_raw// * //in_temp0_scale// = 105 * 200 = 21000 milli degree Celsius |
| |
====== More Information ====== | ====== More Information ====== |
| |
{{page>software:linux:docs:iio:iio_snippets#iio pointers&noheader&firstseconly&noeditbtn}} | {{page>software:linux:docs:iio:iio_snippets#iio pointers&noheader&firstseconly&noeditbtn}} |