We're no longer updating This wiki!!

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
en:c1_enhancement_gpio40_on_android [2015/05/07 14:06]
odroid
en:c1_enhancement_gpio40_on_android [2016/04/25 09:27]
codewalker
Line 1: Line 1:
 +==== Having GPIO functions on Android ====
  
 +** You must install the Android release V1.5 or higher to access the 40pin GPIO properly.**
 +
 +This process explains how to make an Android app which can access IO ports.\\
 +You need to install Google Android SDK/NDK on your host PC first to start below steps.
 +
 +Insert this line into your ~/.bashrc file.
 +
 +<​code>​
 +export NDK_PATH=/​home/​xxx/​android-ndk-r10d
 +</​code>​
 +
 +1. Download the wiringPi library and example App source code.
 +
 +[[https://​github.com/​codewalkerster/​example-wiringPi]]
 +<​code>​
 +$ git clone https://​github.com/​codewalkerster/​example-wiringPi -b odroidc
 +</​code>​
 +
 +2. Build a JNI library
 +<​code>​
 +$ cd example-wiringPi
 +$ cd jni
 +$ ndk-build
 +Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:​minSdkVersion 16 in /​media/​codewalker/​92fc070a-3bc1-43e0-af27-03d08ba9dd3e/​home/​codewalker/​workspace/​example-wiringPi/​AndroidManifest.xml ​   ​
 +[armeabi] Compile thumb  : wiringPi <= wiringPi.c
 +/​media/​codewalker/​92fc070a-3bc1-43e0-af27-03d08ba9dd3e/​home/​codewalker/​workspace/​example-wiringPi/​jni/​wiringPi/​wiringPi.c:​147:​0:​ warning: "​PAGE_SIZE"​ redefined [enabled by default]
 + #​define PAGE_SIZE ​  ​(4*1024)
 + ^
 +In file included from /​home/​codewalker/​projects/​android-ndk-r10d/​platforms/​android-21/​arch-arm/​usr/​include/​signal.h:​34:​0,​
 +                 from /​home/​codewalker/​projects/​android-ndk-r10d/​platforms/​android-21/​arch-arm/​usr/​include/​poll.h:​34,​
 +                 from /​media/​codewalker/​92fc070a-3bc1-43e0-af27-03d08ba9dd3e/​home/​codewalker/​workspace/​example-wiringPi/​jni/​wiringPi/​wiringPi.c:​59:​
 +/​home/​codewalker/​projects/​android-ndk-r10d/​platforms/​android-21/​arch-arm/​usr/​include/​limits.h:​119:​0:​ note: this is the location of the previous definition
 + #​define PAGE_SIZE 4096
 + ^
 +/​media/​codewalker/​92fc070a-3bc1-43e0-af27-03d08ba9dd3e/​home/​codewalker/​workspace/​example-wiringPi/​jni/​wiringPi/​wiringPi.c:​ In function '​interruptHandler':​
 +/​media/​codewalker/​92fc070a-3bc1-43e0-af27-03d08ba9dd3e/​home/​codewalker/​workspace/​example-wiringPi/​jni/​wiringPi/​wiringPi.c:​1865:​7:​ warning: return makes pointer from integer without a cast [enabled by default]
 +       ​return wiringPiFailure (WPI_FATAL, "​wiringPiISR:​ wiringPi has not been initialised. Unable to continue.\n"​) ;
 +       ^
 +[armeabi] Compile thumb  : wiringPi <= wiringShift.c
 +[armeabi] Compile thumb  : wiringPi <= piHiPri.c
 +[armeabi] Compile thumb  : wiringPi <= piThread.c
 +[armeabi] Compile thumb  : wiringPi <= wiringPiSPI.c
 +[armeabi] Compile thumb  : wiringPi <= wiringPiI2C.c
 +[armeabi] Compile thumb  : wiringPi <= softPwm.c
 +[armeabi] Compile thumb  : wiringPi <= softTone.c
 +[armeabi] Compile thumb  : wiringPi <= mcp23008.c
 +[armeabi] Compile thumb  : wiringPi <= mcp23016.c
 +[armeabi] Compile thumb  : wiringPi <= mcp23017.c
 +[armeabi] Compile thumb  : wiringPi <= mcp23s08.c
 +[armeabi] Compile thumb  : wiringPi <= mcp23s17.c
 +[armeabi] Compile thumb  : wiringPi <= sr595.c
 +[armeabi] Compile thumb  : wiringPi <= pcf8574.c
 +[armeabi] Compile thumb  : wiringPi <= pcf8591.c
 +[armeabi] Compile thumb  : wiringPi <= mcp3002.c
 +[armeabi] Compile thumb  : wiringPi <= mcp3004.c
 +[armeabi] Compile thumb  : wiringPi <= mcp4802.c
 +[armeabi] Compile thumb  : wiringPi <= mcp3422.c
 +[armeabi] Compile thumb  : wiringPi <= max31855.c
 +[armeabi] Compile thumb  : wiringPi <= max5322.c
 +[armeabi] Compile thumb  : wiringPi <= sn3218.c
 +[armeabi] SharedLibrary ​ : libwiringPi.so
 +[armeabi] Install ​       : libwiringPi.so => libs/​armeabi/​libwiringPi.so
 +[armeabi] Compile thumb  : wiringPiDev <= ds1302.c
 +[armeabi] Compile thumb  : wiringPiDev <= maxdetect.c
 +[armeabi] Compile thumb  : wiringPiDev <= piNes.c
 +[armeabi] Compile thumb  : wiringPiDev <= gertboard.c
 +[armeabi] Compile thumb  : wiringPiDev <= piFace.c
 +[armeabi] Compile thumb  : wiringPiDev <= lcd128x64.c
 +[armeabi] Compile thumb  : wiringPiDev <= lcd.c
 +[armeabi] Compile thumb  : wiringPiDev <= piGlow.c
 +[armeabi] SharedLibrary ​ : libwiringPiDev.so
 +[armeabi] Install ​       : libwiringPiDev.so => libs/​armeabi/​libwiringPiDev.so
 +[armeabi] Compile thumb  : wpi_android <= wpi_android.c
 +[armeabi] SharedLibrary ​ : libwpi_android.so
 +[armeabi] Install ​       : libwpi_android.so => libs/​armeabi/​libwpi_android.so
 +[~/​workspace/​example-wiringPi/​jni]$ ​
 +</​code>​
 +
 +3. Import project * build it on the Android SDK.
 +
 +== ADC ===
 +{{http://​dn.odroid.com/​homebackup/​android_wiringPi_ADC.png?​600|}}
 +
 +[[https://​www.youtube.com/​watch?​v=zyfULOkj0Vw]]
 +
 +== PWM ===
 +{{http://​dn.odroid.com/​homebackup/​android_wiringPi_PWM.png?​600|}}
 +
 +== I2C ===
 +{{http://​dn.odroid.com/​homebackup/​android_wiringPi_I2C.png?​600|}}
 +
 +== UART ===
 +{{http://​dn.odroid.com/​homebackup/​android_wiringPi_UART.png?​600|}}
 +
 +== 1 Wire ===
 +{{http://​dn.odroid.com/​homebackup/​android_wiringPi_1wire.png?​600|}}
en/c1_enhancement_gpio40_on_android.txt ยท Last modified: 2016/04/25 09:57 by codewalker
CC Attribution-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0