Difference between revisions of "Android"
Uwe Hermann (talk | contribs) (PulseView screenshots (Android tablet)) |
Uwe Hermann (talk | contribs) |
||
Line 1: | Line 1: | ||
This page describes how you can use sigrok on Android devices. | |||
== Screenshots == | == Screenshots == | ||
Line 8: | Line 10: | ||
File:Pulseview android ds1052e.png|<small>[[Rigol DS1052E]]</small> | File:Pulseview android ds1052e.png|<small>[[Rigol DS1052E]]</small> | ||
</gallery> | </gallery> | ||
== Nightly APK builds == | |||
You can download and install the experimental [http://sigrok.org/jenkins/job/sigrok-cross-android/default/lastSuccessfulBuild/artifact/PulseView-NIGHTLY.apk PulseView-NIGHTLY.apk] (for ARM achitecture devices). | |||
The APK ships [[PulseView]] for Android including all required libraries, protocol decoders, and so on. | |||
=== Firmware files === | |||
In order for [[libsigrok]]/[[PulseView]] to be able to find [[Firmware|firmware files]] for certain devices, you have to copy them to the following location: | |||
'''/sdcard/sigrok-firmware''' | |||
Please check [[libsigrok]]'s [http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=README.devices README.devices] file or the respective wiki page to find out whether your device needs firmware files. | |||
=== Issues === | |||
Please check the [http://sigrok.org/bugzilla/buglist.cgi?list_id=2259&query_format=advanced&resolution=---&op_sys=Android list of known Android related issues]. If you have specific issues which are not listed yet, please [http://sigrok.org/bugzilla/enter_bug.cgi open a bug report] and attach the relevant information, e.g. which device you used, which architecture (ARM/x86/MIPS/etc), the relevant parts of the adb log, and so on. | |||
== Building from source == | == Building from source == | ||
Line 67: | Line 87: | ||
$ '''./sigrok-cross-android''' | $ '''./sigrok-cross-android''' | ||
Please check the '''README''' and edit the '''sigrok-cross-android''' as needed. | Please check the '''README''' and edit the '''sigrok-cross-android''' script as needed. | ||
=== Hardware === | === Hardware === |
Revision as of 14:57, 25 January 2015
This page describes how you can use sigrok on Android devices.
Screenshots
PulseView running on a 7" Android tablet (800x400):
ChronoVu LA8, I²C
CWAV USBee SX, UART
Nightly APK builds
You can download and install the experimental PulseView-NIGHTLY.apk (for ARM achitecture devices).
The APK ships PulseView for Android including all required libraries, protocol decoders, and so on.
Firmware files
In order for libsigrok/PulseView to be able to find firmware files for certain devices, you have to copy them to the following location:
/sdcard/sigrok-firmware
Please check libsigrok's README.devices file or the respective wiki page to find out whether your device needs firmware files.
Issues
Please check the list of known Android related issues. If you have specific issues which are not listed yet, please open a bug report and attach the relevant information, e.g. which device you used, which architecture (ARM/x86/MIPS/etc), the relevant parts of the adb log, and so on.
Building from source
Current status
You can start the sigrok application on your android phone using a terminal (ex: adb). You don't need root access.
It's strongly suggested to use at least android 4.0.3.
You cannot integrate sigrok in a android application yet. (WIP)
You don't have a nice UI. (WIP)
Binary
You can download a pre-compiled test version on [1]
You are welcome to give feedback to martling on the IRC channel or gabriel.klein@nuage.ch.
Issues
- I need to "ln libftdi.so libftdi.so.1". It's an issue as you need to be root to do that. You cannot have libs that don't follow the libXXX.so pattern.
- I need to be root to be able to open the USB port. Solution: Find a way to "hack" or rebuild the libs to be able to inject the USB fs from the java/android layer.
- I need to store the firmware somewhere.
Initial setup
First build the Linux version. You need some extra libraries that are not described here.
You may need to install additional packages: libtool, glibmm-2.4-dev...
Download the latest Android NDK and extract it, e.g. in $HOME/android.
$ cd $HOME $ mkdir android $ cd android $ wget http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86.tar.bz2 $ or wget http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2 (If you have a 64 bits version of Linux) $ tar xfvj android-ndk-r9d-linux-x86.tar.bz2 $ cd android-ndk-r9d
Now, create a toolchain installation that can be used for cross-compiling for Android (adapt --platform and --arch as needed):
$ ./build/tools/make-standalone-toolchain.sh --platform=android-15 --install-dir=$HOME/android/android-arm-toolchain --arch=arm
You now have a working toolchain and build environment in $HOME/android/android-arm-toolchain.
Cross-compiling
$ git clone git://sigrok.org/sigrok-util $ cd sigrok-util/cross-compile/android $ ./sigrok-cross-android
Please check the README and edit the sigrok-cross-android script as needed.
Hardware
You may be interested to buy a Micro USB On-The-Go (delivery is 4-8 weeks.)
Testing
Create a temporary folder where you can store and execute files on your android phone.
$ adb shell $ mkdir /data/local/tmp/sigrok/ $ exit
Copy libraries on your phone
$ cd ~/sr_android/lib/ $ ls *.so* | while read l; do adb push $l /data/local/tmp/sigrok/; done
Copy sigrok-cli to the phone
$ cd ~/sr_android/bin/ $ adb push sigrok-cli /data/local/tmp/sigrok/
Test is sigrok cli is working as expected
$ adb shell $ cd /data/local/tmp/sigrok $ export LD_LIBRARY_PATH=/data/local/tmp/sigrok $ ./sigrok-cli --scan