| README for Brillo GPIO sample | |
| This GPIO sample demonstrates how to set up GPIO and write/read to GPIO pins. | |
| Specifically this app does the following. | |
| - Export an input and output GPIO pins | |
| - Set output e.g. pin 24 direction to "out" and value to 1 | |
| - Set input e.g. pin 28 direction to "in" and edge to "both" | |
| - Read input pin by polling | |
| - Once input pin is triggered to input value 1, set output value to 0 | |
| Once built, you can find the binary inside your tree at: | |
| out/target/product/dragonboard/symbols/system/bin/gpio_playground | |
| Do the following to deploy the sample: | |
| - adb root | |
| - adb remount | |
| - adb sync | |
| Hardware setup: | |
| - You need to connect a GPIO pin as output to an LED | |
| - You need to connect a GPIO pin as input to a push button switch | |
| Do the following to run the sample on Dragonboard and check logs for info: | |
| - Open a shell window and run: adb logcat | |
| - Open another shell window and run: | |
| - Default input pin 28 and output pin 24 | |
| - adb shell '/system/bin/gpio_playground &' | |
| - Choose your own output and input pins | |
| - adb shell '/system/bin/gpio_playground --gin=<input> --gout=<output> &' | |
| - For example, adb shell '/system/bin/gpio_playground --gin=28 --gout=24 &' | |
| - Observe the logging info from the first window | |
| - Observe that the LED of pin 24 is turned on | |
| - Now push the switch of pin 28 and see that the LED gets turned off | |
| Notes: | |
| - There is a GPIO port offset defined by const kDefaultGpioOffset that depends | |
| on what kind of boards you use. For Dragonboard it is 902. This offset can | |
| also be configured by a commandline parameter. | |
| - There is an output pin and input pin defined by const kDefaultGpioOut and | |
| kDefaultGpioIn respectively. They can both be configured by commandline | |
| parameters. |