nes-proj/examples/galileo
Ricardo de Almeida Gonzaga 7dfd753b21 galileo: Add I2C master example
This patch adds an example application that shows how to use I2C driver
APIs to communicate with LSM9DS0 sensor. At every 5 seconds, the
application reads the "Who Am I" register from gyroscope sensor and
prints if the register value matches the expected value.
2015-12-21 08:06:14 -02:00
..
gpio-output.c
i2c-LSM9DS0.c galileo: Add I2C master example 2015-12-21 08:06:14 -02:00
Makefile galileo: Add I2C master example 2015-12-21 08:06:14 -02:00
README galileo: Add I2C master example 2015-12-21 08:06:14 -02:00

Galileo Specific Examples
=======================

This directory contains galileo-specific example applications to illustrate
how to use galileo APIs.

In order to build a application, you should set the EXAMPLE environment
variable to the name of the application you want to build. For instance, if
you want to build gpio-output application, run the following command:
$ make TARGET=galileo EXAMPLE=gpio-output

============
=   GPIO   =
============

GPIO Output
===========

This application shows how to use the GPIO driver APIs to manipulate output
pins. This application sets the GPIO 4 pin as output pin and toggles its
state at every half second.

For a visual effect, you should wire shield pin IO1 to a led in a protoboard.
Once the application is running, you should see a blinking LED.

=======
= I2C =
=======

I2C LSM9DS0
===========
This application shows how to use I2C driver APIs to configure I2C Master
controller and communicate with LSM9DS0 sensor. At every 5 seconds, the
application reads the "who am I" register from gyroscope sensor and prints if
the register value matches the expected value described in the spec [1].

According to the sensor spec, to read the value in "who am I" register, we
should first perform an i2c write operation to select the register we want
to read from and then we perform the i2c read operation to actually read
the register contents.

The wiring setup is as follows (left column from Galileo and right column from LSM9DS0):
- 3.3v and Vin
- GND  and GND
- GND  and SDOG
- 3.3v and CSG
- SDA  and SDA
- SCL  and SCL

==============
= References =
==============

[1] http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00087365.pdf