LEScan android project

This commit is contained in:
mila@ringwald.ch 2015-02-19 15:44:25 +00:00
parent 50400aa45c
commit 8e6a21a25f
28 changed files with 1705 additions and 0 deletions

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="lib" path="libs/android-support-v4.jar"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="btstack-gen"/>
<classpathentry kind="src" path="btstack-src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>LEScan</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources>
<link>
<name>btstack-gen</name>
<type>2</type>
<locationURI>BTSTACK_JAVA_LOC/gen</locationURI>
</link>
<link>
<name>btstack-src</name>
<type>2</type>
<locationURI>BTSTACK_JAVA_LOC/src</locationURI>
</link>
<link>
<name>config</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>BTSTACK_JAVA_LOC</name>
<value>file:/Projects/btstack-xcode/btstack/java</value>
</variable>
<variable>
<name>MTK_LOC</name>
<value>file:/Projects/btstack-xcode/btstack/platforms/mtk</value>
</variable>
</variableList>
</projectDescription>

View File

@ -0,0 +1,4 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.source=1.6

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bluekitchen.lescan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.bluekitchen.lescan.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bluekitchen.lescan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.bluekitchen.lescan.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -0,0 +1,6 @@
/** Automatically generated file. DO NOT MODIFY */
package com.bluekitchen.lescan;
public final class BuildConfig {
public final static boolean DEBUG = true;
}

View File

@ -0,0 +1,68 @@
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package com.bluekitchen.lescan;
public final class R {
public static final class attr {
}
public static final class dimen {
/** Default screen margins, per the Android Design guidelines.
Customize dimensions originally defined in res/values/dimens.xml (such as
screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
*/
public static final int activity_horizontal_margin=0x7f040000;
public static final int activity_vertical_margin=0x7f040001;
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int action_settings=0x7f080000;
}
public static final class layout {
public static final int activity_main=0x7f030000;
}
public static final class menu {
public static final int main=0x7f070000;
}
public static final class string {
public static final int action_settings=0x7f050001;
public static final int app_name=0x7f050000;
public static final int hello_world=0x7f050002;
}
public static final class style {
/**
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
API 11 theme customizations can go here.
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
API 14 theme customizations can go here.
*/
public static final int AppBaseTheme=0x7f060000;
/** Application theme.
All customizations that are NOT specific to a particular API-level can go here.
*/
public static final int AppTheme=0x7f060001;
}
}

View File

@ -0,0 +1,267 @@
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (javaClasses.cpp:129), pid=91618, tid=5891
# fatal error: Invalid layout of preloaded class
#
# JRE version: 7.0_10-b18
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode bsd-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x00007fd3d3000000): JavaThread "Unknown thread" [_thread_in_vm, id=5891, stack(0x00000001014bb000,0x00000001015bb000)]
Stack: [0x00000001014bb000,0x00000001015bb000], sp=0x00000001015ba840, free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x4a3117]
V [libjvm.dylib+0x1b1ebf]
V [libjvm.dylib+0x28af5c]
V [libjvm.dylib+0x28bdbd]
V [libjvm.dylib+0x44d8b4]
V [libjvm.dylib+0x489ce3]
V [libjvm.dylib+0x48a257]
V [libjvm.dylib+0x25046f]
V [libjvm.dylib+0x47a15f]
V [libjvm.dylib+0x2a3418]
C [java+0x2995] JavaMain+0x134
C [libsystem_pthread.dylib+0x1899] _pthread_body+0x8a
C [libsystem_pthread.dylib+0x172a] _pthread_struct_init+0x0
C [libsystem_pthread.dylib+0x5fc9] thread_start+0xd
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
Other Threads:
=>0x00007fd3d3000000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=5891, stack(0x00000001014bb000,0x00000001015bb000)]
VM state:not at safepoint (not fully initialized)
VM Mutex/Monitor currently owned by a thread: None
GC Heap History (0 events):
No events
Deoptimization events (0 events):
No events
Internal exceptions (0 events):
No events
Events (10 events):
Event: 0.014 loading class 0x00007fd3d150dec0 done
Event: 0.015 loading class 0x00007fd3d150d8a0 done
Event: 0.015 loading class 0x00007fd3d150d880
Event: 0.015 loading class 0x00007fd3d1516760
Event: 0.015 loading class 0x00007fd3d1516760 done
Event: 0.015 loading class 0x00007fd3d1516790
Event: 0.015 loading class 0x00007fd3d1516790 done
Event: 0.015 loading class 0x00007fd3d15167c0
Event: 0.015 loading class 0x00007fd3d15167c0 done
Event: 0.016 loading class 0x00007fd3d150d880 done
Dynamic libraries:
0x000000000ba7d000 /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x000000000ba7d000 /System/Library/Frameworks/Security.framework/Versions/A/Security
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x000000000ba7d000 /usr/lib/libz.1.dylib
0x000000000ba7d000 /usr/lib/libSystem.B.dylib
0x000000000ba7d000 /usr/lib/libobjc.A.dylib
0x000000000ba7d000 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x000000000ba7d000 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x000000000ba7d000 /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x000000000ba7d000 /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x000000000ba7d000 /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
0x000000000ba7d000 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x000000000ba7d000 /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x000000000ba7d000 /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
0x000000000ba7d000 /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x000000000ba7d000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x000000000ba7d000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x000000000ba7d000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x000000000ba7d000 /usr/lib/libauto.dylib
0x000000000ba7d000 /usr/lib/libicucore.A.dylib
0x000000000ba7d000 /usr/lib/libxml2.2.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x000000000ba7d000 /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x000000000ba7d000 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x000000000ba7d000 /usr/lib/liblangid.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
0x000000000ba7d000 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x000000000ba7d000 /usr/lib/libDiagnosticMessagesClient.dylib
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x000000000ba7d000 /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
0x000000000ba7d000 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x000000000ba7d000 /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x000000000ba7d000 /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
0x000000000ba7d000 /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x000000000ba7d000 /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
0x000000000ba7d000 /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x000000000ba7d000 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x000000000ba7d000 /usr/lib/libCRFSuite.dylib
0x000000000ba7d000 /usr/lib/libc++.1.dylib
0x000000000ba7d000 /usr/lib/libc++abi.dylib
0x000000000ba7d000 /usr/lib/system/libcache.dylib
0x000000000ba7d000 /usr/lib/system/libcommonCrypto.dylib
0x000000000ba7d000 /usr/lib/system/libcompiler_rt.dylib
0x000000000ba7d000 /usr/lib/system/libcopyfile.dylib
0x000000000ba7d000 /usr/lib/system/libcorecrypto.dylib
0x000000000ba7d000 /usr/lib/system/libdispatch.dylib
0x000000000ba7d000 /usr/lib/system/libdyld.dylib
0x000000000ba7d000 /usr/lib/system/libkeymgr.dylib
0x000000000ba7d000 /usr/lib/system/liblaunch.dylib
0x000000000ba7d000 /usr/lib/system/libmacho.dylib
0x000000000ba7d000 /usr/lib/system/libquarantine.dylib
0x000000000ba7d000 /usr/lib/system/libremovefile.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_asl.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_blocks.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_c.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_configuration.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_dnssd.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_info.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_kernel.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_m.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_malloc.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_network.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_notify.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_platform.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_pthread.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_sandbox.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_stats.dylib
0x000000000ba7d000 /usr/lib/system/libunc.dylib
0x000000000ba7d000 /usr/lib/system/libunwind.dylib
0x000000000ba7d000 /usr/lib/system/libxpc.dylib
0x000000000ba7d000 /usr/lib/libbsm.0.dylib
0x000000000ba7d000 /usr/lib/libsqlite3.dylib
0x000000000ba7d000 /usr/lib/libxar.1.dylib
0x000000000ba7d000 /usr/lib/libpam.2.dylib
0x000000000ba7d000 /usr/lib/libOpenScriptingUtil.dylib
0x000000000ba7d000 /usr/lib/libbz2.1.0.dylib
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x000000000ba7d000 /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x000000000ba7d000 /usr/lib/system/libkxld.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
0x000000000ba7d000 /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
0x000000000ba7d000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x000000000ba7d000 /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
0x000000000ba7d000 /usr/lib/libxslt.1.dylib
0x000000000ba7d000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x000000000ba7d000 /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x000000000ba7d000 /usr/lib/libcups.2.dylib
0x000000000ba7d000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x000000000ba7d000 /System/Library/Frameworks/GSS.framework/Versions/A/GSS
0x000000000ba7d000 /usr/lib/libresolv.9.dylib
0x000000000ba7d000 /usr/lib/libiconv.2.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
0x000000000ba7d000 /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
0x000000000ba7d000 /usr/lib/libheimdal-asn1.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x000000000ba7d000 /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
0x000000000ba7d000 /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
0x000000000ba7d000 /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
0x000000000ba7d000 /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x000000000ba7d000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
0x000000000ba7d000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
0x000000000ba7d000 /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
0x000000000ba7d000 /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x000000000ba7d000 /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
0x000000000ba7d000 /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
0x000000000ba7d000 /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
0x000000000ba7d000 /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
0x000000000ba7d000 /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
0x000000000ba7d000 /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
0x000000000ba7d000 /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
0x0000000100a13000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/server/libjvm.dylib
0x000000000ba7d000 /usr/lib/libstdc++.6.dylib
0x00000001015bd000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/libverify.dylib
0x00000001015ca000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/libjava.dylib
0x0000000101602000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/libzip.dylib
VM Arguments:
jvm_args: -Dfile.encoding=US-ASCII -Xbootclasspath:/Applications/android/sdk/platforms/android-19/android.jar
java_command: com.bluekitchen.btstack.BT_UUID
Launcher Type: SUN_STANDARD
Environment Variables:
PATH=/usr/bin:/bin:/usr/sbin:/sbin
SHELL=/bin/bash
DISPLAY=/tmp/launch-gLQMSN/org.macosforge.xquartz:0
Signal Handlers:
SIGSEGV: [libjvm.dylib+0x4a363d], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGBUS: [libjvm.dylib+0x4a363d], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGFPE: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGPIPE: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGXFSZ: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGILL: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000002
SIGUSR2: [libjvm.dylib+0x3b2bea], sa_mask[0]=0x00000004, sa_flags=0x00000042
SIGHUP: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGINT: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGTERM: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGQUIT: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
--------------- S Y S T E M ---------------
OS:Bsduname:Darwin 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
rlimit: STACK 8192k, CORE 0k, NPROC 709, NOFILE 10240, AS infinity
load average:1.53 1.79 1.79
CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, ht, tsc, tscinvbit
Memory: 4k page, physical 977620k(244405k free)
/proc/meminfo:
vm_info: Java HotSpot(TM) 64-Bit Server VM (23.6-b04) for bsd-amd64 JRE (1.7.0_10-b18), built on Nov 28 2012 07:52:20 by "java_re" with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)
time: Fri Aug 22 14:09:29 2014
elapsed time: 0 seconds

View File

@ -0,0 +1,267 @@
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (javaClasses.cpp:129), pid=91628, tid=5891
# fatal error: Invalid layout of preloaded class
#
# JRE version: 7.0_10-b18
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode bsd-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x00007fec4a001000): JavaThread "Unknown thread" [_thread_in_vm, id=5891, stack(0x0000000109ea8000,0x0000000109fa8000)]
Stack: [0x0000000109ea8000,0x0000000109fa8000], sp=0x0000000109fa7840, free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x4a3117]
V [libjvm.dylib+0x1b1ebf]
V [libjvm.dylib+0x28af5c]
V [libjvm.dylib+0x28bdbd]
V [libjvm.dylib+0x44d8b4]
V [libjvm.dylib+0x489ce3]
V [libjvm.dylib+0x48a257]
V [libjvm.dylib+0x25046f]
V [libjvm.dylib+0x47a15f]
V [libjvm.dylib+0x2a3418]
C [java+0x2995] JavaMain+0x134
C [libsystem_pthread.dylib+0x1899] _pthread_body+0x8a
C [libsystem_pthread.dylib+0x172a] _pthread_struct_init+0x0
C [libsystem_pthread.dylib+0x5fc9] thread_start+0xd
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
Other Threads:
=>0x00007fec4a001000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=5891, stack(0x0000000109ea8000,0x0000000109fa8000)]
VM state:not at safepoint (not fully initialized)
VM Mutex/Monitor currently owned by a thread: None
GC Heap History (0 events):
No events
Deoptimization events (0 events):
No events
Internal exceptions (0 events):
No events
Events (10 events):
Event: 0.016 loading class 0x00007fec48e11f20 done
Event: 0.016 loading class 0x00007fec48e11900 done
Event: 0.016 loading class 0x00007fec48e118e0
Event: 0.016 loading class 0x00007fec48f027f0
Event: 0.017 loading class 0x00007fec48f027f0 done
Event: 0.017 loading class 0x00007fec48f02820
Event: 0.017 loading class 0x00007fec48f02820 done
Event: 0.017 loading class 0x00007fec48f02850
Event: 0.017 loading class 0x00007fec48f02850 done
Event: 0.017 loading class 0x00007fec48e118e0 done
Dynamic libraries:
0x000000000ba7d000 /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x000000000ba7d000 /System/Library/Frameworks/Security.framework/Versions/A/Security
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x000000000ba7d000 /usr/lib/libz.1.dylib
0x000000000ba7d000 /usr/lib/libSystem.B.dylib
0x000000000ba7d000 /usr/lib/libobjc.A.dylib
0x000000000ba7d000 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x000000000ba7d000 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x000000000ba7d000 /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x000000000ba7d000 /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x000000000ba7d000 /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
0x000000000ba7d000 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x000000000ba7d000 /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x000000000ba7d000 /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
0x000000000ba7d000 /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x000000000ba7d000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x000000000ba7d000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x000000000ba7d000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x000000000ba7d000 /usr/lib/libauto.dylib
0x000000000ba7d000 /usr/lib/libicucore.A.dylib
0x000000000ba7d000 /usr/lib/libxml2.2.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x000000000ba7d000 /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x000000000ba7d000 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x000000000ba7d000 /usr/lib/liblangid.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
0x000000000ba7d000 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x000000000ba7d000 /usr/lib/libDiagnosticMessagesClient.dylib
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x000000000ba7d000 /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
0x000000000ba7d000 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x000000000ba7d000 /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x000000000ba7d000 /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
0x000000000ba7d000 /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x000000000ba7d000 /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
0x000000000ba7d000 /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x000000000ba7d000 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x000000000ba7d000 /usr/lib/libCRFSuite.dylib
0x000000000ba7d000 /usr/lib/libc++.1.dylib
0x000000000ba7d000 /usr/lib/libc++abi.dylib
0x000000000ba7d000 /usr/lib/system/libcache.dylib
0x000000000ba7d000 /usr/lib/system/libcommonCrypto.dylib
0x000000000ba7d000 /usr/lib/system/libcompiler_rt.dylib
0x000000000ba7d000 /usr/lib/system/libcopyfile.dylib
0x000000000ba7d000 /usr/lib/system/libcorecrypto.dylib
0x000000000ba7d000 /usr/lib/system/libdispatch.dylib
0x000000000ba7d000 /usr/lib/system/libdyld.dylib
0x000000000ba7d000 /usr/lib/system/libkeymgr.dylib
0x000000000ba7d000 /usr/lib/system/liblaunch.dylib
0x000000000ba7d000 /usr/lib/system/libmacho.dylib
0x000000000ba7d000 /usr/lib/system/libquarantine.dylib
0x000000000ba7d000 /usr/lib/system/libremovefile.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_asl.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_blocks.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_c.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_configuration.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_dnssd.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_info.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_kernel.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_m.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_malloc.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_network.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_notify.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_platform.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_pthread.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_sandbox.dylib
0x000000000ba7d000 /usr/lib/system/libsystem_stats.dylib
0x000000000ba7d000 /usr/lib/system/libunc.dylib
0x000000000ba7d000 /usr/lib/system/libunwind.dylib
0x000000000ba7d000 /usr/lib/system/libxpc.dylib
0x000000000ba7d000 /usr/lib/libbsm.0.dylib
0x000000000ba7d000 /usr/lib/libsqlite3.dylib
0x000000000ba7d000 /usr/lib/libxar.1.dylib
0x000000000ba7d000 /usr/lib/libpam.2.dylib
0x000000000ba7d000 /usr/lib/libOpenScriptingUtil.dylib
0x000000000ba7d000 /usr/lib/libbz2.1.0.dylib
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x000000000ba7d000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x000000000ba7d000 /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x000000000ba7d000 /usr/lib/system/libkxld.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
0x000000000ba7d000 /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
0x000000000ba7d000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x000000000ba7d000 /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
0x000000000ba7d000 /usr/lib/libxslt.1.dylib
0x000000000ba7d000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x000000000ba7d000 /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x000000000ba7d000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
0x000000000ba7d000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x000000000ba7d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x000000000ba7d000 /usr/lib/libcups.2.dylib
0x000000000ba7d000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x000000000ba7d000 /System/Library/Frameworks/GSS.framework/Versions/A/GSS
0x000000000ba7d000 /usr/lib/libresolv.9.dylib
0x000000000ba7d000 /usr/lib/libiconv.2.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
0x000000000ba7d000 /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
0x000000000ba7d000 /usr/lib/libheimdal-asn1.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x000000000ba7d000 /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
0x000000000ba7d000 /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
0x000000000ba7d000 /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
0x000000000ba7d000 /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x000000000ba7d000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
0x000000000ba7d000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
0x000000000ba7d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
0x000000000ba7d000 /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
0x000000000ba7d000 /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
0x000000000ba7d000 /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x000000000ba7d000 /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
0x000000000ba7d000 /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
0x000000000ba7d000 /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
0x000000000ba7d000 /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
0x000000000ba7d000 /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
0x000000000ba7d000 /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
0x000000000ba7d000 /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
0x0000000109400000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/server/libjvm.dylib
0x000000000ba7d000 /usr/lib/libstdc++.6.dylib
0x0000000108bd6000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/libverify.dylib
0x0000000109faa000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/libjava.dylib
0x0000000108bed000 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/libzip.dylib
VM Arguments:
jvm_args: -Dfile.encoding=US-ASCII -Xbootclasspath:/Applications/android/sdk/platforms/android-19/android.jar
java_command: com.bluekitchen.btstack.BT_UUID
Launcher Type: SUN_STANDARD
Environment Variables:
PATH=/usr/bin:/bin:/usr/sbin:/sbin
SHELL=/bin/bash
DISPLAY=/tmp/launch-gLQMSN/org.macosforge.xquartz:0
Signal Handlers:
SIGSEGV: [libjvm.dylib+0x4a363d], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGBUS: [libjvm.dylib+0x4a363d], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGFPE: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGPIPE: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGXFSZ: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGILL: [libjvm.dylib+0x3b3051], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000002
SIGUSR2: [libjvm.dylib+0x3b2bea], sa_mask[0]=0x00000004, sa_flags=0x00000042
SIGHUP: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGINT: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGTERM: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGQUIT: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000042
--------------- S Y S T E M ---------------
OS:Bsduname:Darwin 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
rlimit: STACK 8192k, CORE 0k, NPROC 709, NOFILE 10240, AS infinity
load average:3.24 2.20 1.93
CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, ht, tsc, tscinvbit
Memory: 4k page, physical 982836k(245709k free)
/proc/meminfo:
vm_info: Java HotSpot(TM) 64-Bit Server VM (23.6-b04) for bsd-amd64 JRE (1.7.0_10-b18), built on Nov 28 2012 07:52:20 by "java_re" with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)
time: Fri Aug 22 14:12:16 2014
elapsed time: 0 seconds

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

View File

@ -0,0 +1,20 @@
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View File

@ -0,0 +1,14 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-19

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,16 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>

View File

@ -0,0 +1,9 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>

View File

@ -0,0 +1,8 @@
<resources>
<!--
Customize dimensions originally defined in res/values/dimens.xml (such as
screen margins) for sw600dp devices (e.g. 7" tablets) here.
-->
</resources>

View File

@ -0,0 +1,9 @@
<resources>
<!--
Customize dimensions originally defined in res/values/dimens.xml (such as
screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
-->
<dimen name="activity_horizontal_margin">128dp</dimen>
</resources>

View File

@ -0,0 +1,11 @@
<resources>
<!--
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 11 theme customizations can go here. -->
</style>
</resources>

View File

@ -0,0 +1,12 @@
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
</resources>

View File

@ -0,0 +1,7 @@
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">LE Scan</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>

View File

@ -0,0 +1,20 @@
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
</resources>

View File

@ -0,0 +1,103 @@
package com.bluekitchen.btstack;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.net.LocalSocket;
import android.net.LocalSocketAddress;
public class SocketConnectionUnix extends SocketConnection {
private LocalSocket socket;
private String unixSocketName = "/data/btstack/BTstack";
private InputStream in;
private OutputStream out;
private byte inHeader[] = new byte[6];
private byte inPayload[] = new byte[2000];
public SocketConnectionUnix(){
socket = null;
}
/* (non-Javadoc)
* @see com.bluekitchen.btstack.SocketConnection#connect()
*/
@Override
public boolean connect() {
try {
socket = new LocalSocket();
LocalSocketAddress socketAddress = new LocalSocketAddress(unixSocketName, LocalSocketAddress.Namespace.FILESYSTEM);
socket.connect(socketAddress);
in = socket.getInputStream();
out = socket.getOutputStream();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
/* (non-Javadoc)
* @see com.bluekitchen.btstack.SocketConnection#sendPacket(com.bluekitchen.btstack.Packet)
*/
@Override
public boolean sendPacket(Packet packet) {
if (out == null) return false;
try {
System.out.println("Send "); Util.hexdump(packet.getBuffer(), packet.getPayloadLen());
out.write(headerForPacket(packet));
out.write(packet.getBuffer());
out.flush();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
/* (non-Javadoc)
* @see com.bluekitchen.btstack.SocketConnection#receivePacket()
*/
@Override
public Packet receivePacket() {
if (in == null) return null;
int bytes_read = Util.readExactly(in, inHeader, 0, 6);
if (bytes_read != 6) return null;
int packetType = Util.readBt16(inHeader, 0);
int channel = Util.readBt16(inHeader, 2);
int len = Util.readBt16(inHeader, 4);
Util.readExactly(in, inPayload, 0, len);
Packet packet = new Packet(packetType, channel ,inPayload, len);
return packet;
}
/* (non-Javadoc)
* @see com.bluekitchen.btstack.SocketConnection#disconnect()
*/
@Override
public void disconnect() {
if (socket != null){
try {
socket.close();
} catch (IOException e) {
}
}
}
private byte[] headerForPacket(Packet packet) {
byte header[] = new byte[6];
Util.storeBt16(header, 0, packet.getPacketType());
Util.storeBt16(header, 2, packet.getChannel());
Util.storeBt16(header, 4, packet.getBuffer().length);
return header;
}
}

View File

@ -0,0 +1,730 @@
package com.bluekitchen.lescan;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
import com.bluekitchen.btstack.BD_ADDR;
import com.bluekitchen.btstack.BT_UUID;
import com.bluekitchen.btstack.BTstack;
import com.bluekitchen.btstack.GATTCharacteristic;
import com.bluekitchen.btstack.GATTService;
import com.bluekitchen.btstack.Packet;
import com.bluekitchen.btstack.PacketHandler;
import com.bluekitchen.btstack.Util;
import com.bluekitchen.btstack.event.BTstackEventState;
import com.bluekitchen.btstack.event.GAPLEAdvertisingReport;
import com.bluekitchen.btstack.event.GATTCharacteristicQueryResult;
import com.bluekitchen.btstack.event.GATTCharacteristicValueQueryResult;
import com.bluekitchen.btstack.event.GATTNotification;
import com.bluekitchen.btstack.event.GATTQueryComplete;
import com.bluekitchen.btstack.event.GATTServiceQueryResult;
import com.bluekitchen.btstack.event.HCIEventCommandComplete;
import com.bluekitchen.btstack.event.HCIEventDisconnectionComplete;
import com.bluekitchen.btstack.event.HCIEventLEConnectionComplete;
public class MainActivity extends Activity implements PacketHandler {
private static final String BTSTACK_TAG = "BTstack";
private enum STATE {
w4_btstack_working, w4_scan_result, w4_connected, w4_services_complete, w4_characteristic_complete, w4_characteristic_read
, w4_characteristic_write, w4_acc_service_result, w4_acc_enable_characteristic_result, w4_write_acc_enable_result, w4_acc_client_config_characteristic_result, w4_acc_client_config_result,
w4_acc_data, w4_connected_acc, w4_disconnect, track_rssi, battery_data
};
private TextView tv;
private BTstack btstack;
private STATE state;
private int testAddrType;
private BD_ADDR deviceAddr;
private int connectionHandle;
private GATTService testService;
private GATTCharacteristic testCharacteristic;
private int service_count = 0;
private int characteristic_count = 0;
private int test_run_count = 0;
private String onScreenMessage = "";
BD_ADDR sensor_tag_addr = new BD_ADDR("1C:BA:8C:20:C7:F6");
// Accelerometer
private byte[] acc_service_uuid = new byte[] {(byte)0xf0, 0, (byte)0xaa, (byte)0x10, 4, (byte)0x51, (byte)0x40, 0, (byte)0xb0, 0, 0, 0, 0, 0, 0, 0};
private byte[] acc_chr_client_config_uuid = new byte[] {(byte)0xf0, 0, (byte)0xaa, (byte)0x11, 4, (byte)0x51, (byte)0x40, 0, (byte)0xb0, 0, 0, 0, 0, 0, 0, 0};
private byte[] acc_chr_enable_uuid = new byte[] {(byte)0xf0, 0, (byte)0xaa, (byte)0x12, 4, (byte)0x51, (byte)0x40, 0, (byte)0xb0, 0, 0, 0, 0, 0, 0, 0};
private byte[] acc_enable = new byte[] {1};
private byte acc_notification = 1;
private GATTService accService;
private GATTCharacteristic enableCharacteristic;
private GATTCharacteristic configCharacteristic;
// Battery
private GATTService batteryService;
private GATTCharacteristic batteryLevelCharacteristic;
//private byte[] battery_service_uuid = new byte[] {0, 0, (byte)0x18, (byte)0x0F, 0, 0, (byte)0x10, 0, (byte)0x80, 0, 0, (byte)0x80, (byte)0x5f, (byte)0x9b, (byte)0x34, (byte)0xfb};
private byte[] battery_level_chr_uuid = new byte[] {0, 0, (byte)0x2a, (byte)0x1b, 0, 0, (byte)0x10, 0, (byte)0x80, 0, 0, (byte)0x80, (byte)0x5f, (byte)0x9b, (byte)0x34, (byte)0xfb};
GATTCharacteristicValueQueryResult battery;
private int batteryLevel = 0;
private int counter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = new TextView(this);
setContentView(tv);
test();
}
void addMessage(final String message){
onScreenMessage = onScreenMessage + "\n" + message;
Log.d(BTSTACK_TAG, message);
runOnUiThread(new Runnable(){
public void run(){
tv.setText(onScreenMessage);
}
});
}
void addTempMessage(final String message){
Log.d(BTSTACK_TAG, message);
runOnUiThread(new Runnable(){
public void run(){
tv.setText(onScreenMessage +"\n" + message);
}
});
}
void clearMessages(){
onScreenMessage = "";
runOnUiThread(new Runnable(){
public void run(){
tv.setText(onScreenMessage);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void testCharacteristics(Packet packet){
switch (state){
case w4_btstack_working:
if (packet instanceof BTstackEventState){
BTstackEventState event = (BTstackEventState) packet;
if (event.getState() == 2) {
addMessage("GAPLEScanStart()");
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
}
}
break;
case w4_scan_result:
if (packet instanceof GAPLEAdvertisingReport){
GAPLEAdvertisingReport report = (GAPLEAdvertisingReport) packet;
testAddrType = report.getAddressType();
deviceAddr = report.getAddress();
addMessage(String.format("Adv: type %d, addr %s", testAddrType, deviceAddr));
addMessage(String.format("Data: %s", Util.asHexdump(report.getData())));
addMessage("GAPLEScanStop()");
btstack.GAPLEScanStop();
addMessage("GAPLEConnect(...)");
state = STATE.w4_connected;
btstack.GAPLEConnect(testAddrType, deviceAddr);
}
break;
case w4_connected:
if (packet instanceof HCIEventLEConnectionComplete){
HCIEventLEConnectionComplete event = (HCIEventLEConnectionComplete) packet;
connectionHandle = event.getConnectionHandle();
addMessage(String.format("Connection complete, status %d, handle %x", event.getStatus(), connectionHandle));
state = STATE.w4_services_complete;
addMessage("GATTDiscoverPrimaryServices(...)");
btstack.GATTDiscoverPrimaryServices(connectionHandle);
}
break;
case w4_services_complete:
if (packet instanceof GATTServiceQueryResult){
GATTServiceQueryResult event = (GATTServiceQueryResult) packet;
if (testService == null){
addMessage(String.format("First service UUID %s", event.getService().getUUID()));
testService = event.getService();
}
Log.d(BTSTACK_TAG, "Service: " + event.getService());
service_count++;
}
if (packet instanceof GATTQueryComplete){
addMessage(String.format("Service query complete, total %d services", service_count));
state = STATE.w4_characteristic_complete;
btstack.GATTDiscoverCharacteristicsForService(connectionHandle, testService);
}
break;
case w4_characteristic_complete:
if (packet instanceof GATTCharacteristicQueryResult){
GATTCharacteristicQueryResult event = (GATTCharacteristicQueryResult) packet;
if (testCharacteristic == null){
addMessage(String.format("First characteristic UUID %s", event.getCharacteristic().getUUID()));
testCharacteristic = event.getCharacteristic();
}
Log.d(BTSTACK_TAG, "Characteristic: " + event.getCharacteristic());
characteristic_count++;
}
if (packet instanceof GATTQueryComplete){
addMessage(String.format("Characteristic query complete, total %d characteristics", characteristic_count));
if (characteristic_count > 0){
state = STATE.w4_characteristic_read;
btstack.GATTReadValueOfCharacteristic(connectionHandle, testCharacteristic);
} else {
state = STATE.w4_disconnect;
btstack.GAPDisconnect(connectionHandle);
}
}
break;
case w4_characteristic_read:
if (packet instanceof GATTCharacteristicValueQueryResult){
addMessage("Read complete");
Log.d(BTSTACK_TAG, packet.toString());
state = STATE.w4_characteristic_write;
byte [] data = { 'B', 'T', 's', 't', 'a', 'c', 'k'};
btstack.GATTWriteValueOfCharacteristic(connectionHandle, testCharacteristic, data.length, data);
}
break;
case w4_characteristic_write:
if (packet instanceof GATTQueryComplete){
addMessage("Write complete, disconnect now.");
state = STATE.w4_disconnect;
// btstack.GAPDisconnect(testHandle);
}
break;
case w4_disconnect:
if (packet instanceof HCIEventDisconnectionComplete){
addMessage("Disconnected.");
}
break;
default:
break;
}
}
public void testAccelerometer(Packet packet){
switch (state){
case w4_btstack_working:
if (packet instanceof BTstackEventState){
BTstackEventState event = (BTstackEventState) packet;
if (event.getState() == 2) {
addMessage("GAPLEScanStart()");
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
}
}
break;
case w4_scan_result:
if (packet instanceof GAPLEAdvertisingReport){
GAPLEAdvertisingReport report = (GAPLEAdvertisingReport) packet;
testAddrType = report.getAddressType();
deviceAddr = report.getAddress();
if (deviceAddr.toString().equalsIgnoreCase(sensor_tag_addr.toString())){
addMessage(String.format("Adv: type %d, addr %s", testAddrType, deviceAddr));
addMessage(String.format("Data: %s", Util.asHexdump(report.getData())));
addMessage("GAPLEScanStop()");
btstack.GAPLEScanStop();
addMessage("GAPLEConnect(...)");
state = STATE.w4_connected_acc;
btstack.GAPLEConnect(testAddrType, deviceAddr);
}
}
break;
case w4_connected_acc:
if (packet instanceof HCIEventLEConnectionComplete){
HCIEventLEConnectionComplete event = (HCIEventLEConnectionComplete) packet;
connectionHandle = event.getConnectionHandle();
addMessage(String.format("Connection complete, status %d, handle %x", event.getStatus(), connectionHandle));
addMessage("Search for ACC service");
state = STATE.w4_acc_service_result;
byte [] uuid = new byte[16];
Util.flipX(this.acc_service_uuid, uuid);
btstack.GATTDiscoverPrimaryServicesByUUID128(connectionHandle, new BT_UUID(uuid));
}
break;
case w4_acc_service_result:
clearMessages();
addMessage(String.format("w4_acc_service_result state"));
if (packet instanceof GATTServiceQueryResult){
GATTServiceQueryResult event = (GATTServiceQueryResult) packet;
addMessage(String.format("ACC service found %s", event.getService().getUUID()));
accService = event.getService();
break;
}
if (packet instanceof GATTQueryComplete){
if (accService == null) {
addMessage("No acc service found");
break;
}
addMessage("ACC Service found, searching for acc enable characteristic");
state = STATE.w4_acc_enable_characteristic_result;
byte [] uuid = new byte[16];
Util.flipX(this.acc_chr_enable_uuid, uuid);
btstack.GATTDiscoverCharacteristicsForServiceByUUID128(connectionHandle, accService, new BT_UUID(uuid));
}
break;
case w4_acc_enable_characteristic_result:
if (packet instanceof GATTCharacteristicQueryResult){
GATTCharacteristicQueryResult event = (GATTCharacteristicQueryResult) packet;
enableCharacteristic = event.getCharacteristic();
addMessage("Enable ACC Characteristic found ");
}
if (packet instanceof GATTQueryComplete){
if (enableCharacteristic == null) {
addMessage("No acc enable chr found");
break;
}
addMessage("Write enable acc characteristic");
state = STATE.w4_write_acc_enable_result;
btstack.GATTWriteValueOfCharacteristic(connectionHandle, enableCharacteristic, 1, this.acc_enable);
}
break;
case w4_write_acc_enable_result:
if (packet instanceof GATTQueryComplete){
addMessage("Acc enabled,searching for acc client config characteristic");
byte [] uuid = new byte[16];
Util.flipX(this.acc_chr_client_config_uuid, uuid);
btstack.GATTDiscoverCharacteristicsForServiceByUUID128(connectionHandle, accService, new BT_UUID(uuid));
state = STATE.w4_acc_client_config_characteristic_result;
}
break;
case w4_acc_client_config_characteristic_result:
if (packet instanceof GATTCharacteristicQueryResult){
GATTCharacteristicQueryResult event = (GATTCharacteristicQueryResult) packet;
configCharacteristic = event.getCharacteristic();
addMessage("ACC Client Config Characteristic found");
}
if (packet instanceof GATTQueryComplete){
if (configCharacteristic == null) {
addMessage("No acc config chr found");
break;
}
addMessage("Write ACC Client Config Characteristic");
state = STATE.w4_acc_data;
btstack.GATTWriteClientCharacteristicConfiguration(connectionHandle, configCharacteristic, this.acc_notification);
}
break;
case w4_acc_data:
if (packet instanceof GATTQueryComplete){
addMessage("Acc configured for notification");
break;
}
if (packet instanceof GATTNotification){
addTempMessage("Acc Value");
Log.d(BTSTACK_TAG, packet.toString());
//state = STATE.w4_btstack_working;
//btstack.GAPDisconnect(connectionHandle);
}
break;
default:
break;
}
}
public void testConnectDisconnect(Packet packet){
if (packet instanceof HCIEventDisconnectionComplete){
if (state != STATE.w4_disconnect) {
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
clearMessages();
HCIEventDisconnectionComplete event = (HCIEventDisconnectionComplete) packet;
addMessage(String.format("Unexpected disconnect %x. Start scan.", event.getConnectionHandle()));
return;
}
}
switch (state){
case w4_btstack_working:
if (packet instanceof BTstackEventState){
BTstackEventState event = (BTstackEventState) packet;
if (event.getState() == 2) {
// addMessage("GAPLEScanStart()");
// state = STATE.w4_scan_result;
// btstack.GAPLEScanStart();
// runOnUiThread(new Runnable(){
// public void run(){
addMessage("BTstack dissconnect.");
btstack.disconnect();
// runOnUiThread(new Runnable(){
// public void run(){
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
btstack.connect();
addMessage("Power on BTstack.");
state = STATE.w4_btstack_working;
test_run_count = 0;
btstack.BTstackSetPowerMode(1);
// }
// });
}
}
break;
case w4_scan_result:
if (packet instanceof GAPLEAdvertisingReport){
BD_ADDR sensor_tag_addr = new BD_ADDR("1C:BA:8C:20:C7:F6");
//BD_ADDR pts_dongle = new BD_ADDR("00:1B:DC:07:32:EF");
GAPLEAdvertisingReport report = (GAPLEAdvertisingReport) packet;
BD_ADDR reportAddr = report.getAddress();
if (reportAddr.toString().equalsIgnoreCase(sensor_tag_addr.toString())){
testAddrType = report.getAddressType();
deviceAddr = report.getAddress();
addMessage(String.format("Adv: type %d, addr %s", testAddrType, deviceAddr));
addMessage(String.format("Data: %s", Util.asHexdump(report.getData())));
addMessage("GAPLEScanStop()");
btstack.GAPLEScanStop();
addMessage("GAPLEConnect(...)");
state = STATE.w4_connected;
btstack.GAPLEConnect(testAddrType, deviceAddr);
}
}
break;
case w4_connected:
if (packet instanceof HCIEventLEConnectionComplete){
HCIEventLEConnectionComplete event = (HCIEventLEConnectionComplete) packet;
connectionHandle = event.getConnectionHandle();
addMessage(String.format("Connection complete, status %d, handle %x", event.getStatus(), connectionHandle));
state = STATE.w4_services_complete;
addMessage("GATTDiscoverPrimaryServices(...)");
btstack.GATTDiscoverPrimaryServices(connectionHandle);
}
break;
case w4_services_complete:
if (packet instanceof GATTServiceQueryResult){
GATTServiceQueryResult event = (GATTServiceQueryResult) packet;
if (testService == null){
addMessage(String.format("First service UUID %s", event.getService().getUUID()));
testService = event.getService();
}
Log.d(BTSTACK_TAG, "Service: " + event.getService());
service_count++;
}
if (packet instanceof GATTQueryComplete){
addMessage(String.format("Service query complete, total %d services", service_count));
state = STATE.w4_disconnect;
test_run_count++;
btstack.GAPDisconnect(connectionHandle);
}
break;
case w4_disconnect:
Log.d(BTSTACK_TAG, packet.toString());
if (packet instanceof HCIEventDisconnectionComplete){
clearMessages();
addMessage("BTstack dissconnect.");
btstack.disconnect();
try {
Thread.sleep(15000);
} catch (InterruptedException e) {
e.printStackTrace();
}
btstack.connect();
addMessage("Power on BTstack.");
state = STATE.w4_btstack_working;
test_run_count = 0;
btstack.BTstackSetPowerMode(1);
/*if (test_run_count%10 == 0){
addMessage("Power off BTstack.");
state = STATE.w4_btstack_working;
btstack.BTstackSetPowerMode(0);
try {
Thread.sleep(15000);
} catch (InterruptedException e) {
e.printStackTrace();
}
addMessage("Power on BTstack.");
btstack.BTstackSetPowerMode(1);
} else {
addMessage("GAPLEScanStart()");
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
}*/
}
break;
default:
break;
}
}
public void trackRSSI(Packet packet){
switch (state){
case w4_btstack_working:
if (packet instanceof BTstackEventState){
BTstackEventState event = (BTstackEventState) packet;
if (event.getState() == 2) {
addMessage("GAPLEScanStart()");
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
}
}
break;
case w4_scan_result:
if (packet instanceof GAPLEAdvertisingReport){
clearMessages();
GAPLEAdvertisingReport report = (GAPLEAdvertisingReport) packet;
testAddrType = report.getAddressType();
deviceAddr = report.getAddress();
addMessage(String.format("Adv: type %d, addr %s", testAddrType, deviceAddr));
addMessage(String.format("Data: %s", Util.asHexdump(report.getData())));
addMessage("GAPLEScanStop()");
btstack.GAPLEScanStop();
addMessage("GAPLEConnect(...)");
state = STATE.w4_connected;
btstack.GAPLEConnect(testAddrType, deviceAddr);
}
break;
case w4_connected:
if (packet instanceof HCIEventLEConnectionComplete){
HCIEventLEConnectionComplete event = (HCIEventLEConnectionComplete) packet;
if (event.getStatus() != 0) {
addMessage(String.format("Connection didn't succeed, status %d, restart scanning.", event.getStatus()));
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
break;
}
state = STATE.track_rssi;
connectionHandle = event.getConnectionHandle();
addMessage(String.format("Connection complete, status %d, handle %x. Start RSSI query.", event.getStatus(), connectionHandle));
counter = 0;
new Thread(new Runnable(){
@Override
public void run() {
try {
while(state == STATE.track_rssi){
Thread.sleep(1000);
btstack.HCIReadRssi(connectionHandle);
}
} catch (InterruptedException e) {}
}
}).start();
}
break;
case track_rssi:
if (packet instanceof HCIEventDisconnectionComplete){
clearMessages();
addMessage(String.format("Received dissconnect. Start scannning."));
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
break;
}
if (!(packet instanceof HCIEventCommandComplete)) break;
HCIEventCommandComplete event = (HCIEventCommandComplete) packet;
int opcode = event.getCommandOpcode();
if (opcode != 0X1405) break;
counter = counter + 1;
byte data[] = event.getReturnParameters();
addTempMessage(String.format("counter %d, status %d, RSSI: %ddBm", counter, Util.readByte(data, 0), data[3]));
break;
default:
break;
}
}
public void queryBatteryLevel(Packet packet){
// Restart scanning on disconnect.
if (packet instanceof HCIEventDisconnectionComplete){
clearMessages();
addMessage(String.format("Received dissconnect. Start scannning."));
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
return;
}
switch (state){
case w4_btstack_working:
if (packet instanceof BTstackEventState){
BTstackEventState event = (BTstackEventState) packet;
if (event.getState() == 2) {
addMessage("BTstack working, start scanning.");
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
}
}
break;
case w4_scan_result:
if (packet instanceof GAPLEAdvertisingReport){
// Advertisement received. Connect to the found BT address.
clearMessages();
GAPLEAdvertisingReport report = (GAPLEAdvertisingReport) packet;
testAddrType = report.getAddressType();
deviceAddr = report.getAddress();
addMessage(String.format("Adv: type %d, addr %s\ndata: %s \n Stop scan, initiate connect.", testAddrType, deviceAddr, Util.asHexdump(report.getData())));
btstack.GAPLEScanStop();
state = STATE.w4_connected;
btstack.GAPLEConnect(testAddrType, deviceAddr);
}
break;
case w4_connected:
if (packet instanceof HCIEventLEConnectionComplete){
HCIEventLEConnectionComplete event = (HCIEventLEConnectionComplete) packet;
if (event.getStatus() != 0) {
addMessage(String.format("Connection didn't succeed, status %d, restart scanning.", event.getStatus()));
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
break;
}
// Query battery service.
state = STATE.w4_services_complete;
connectionHandle = event.getConnectionHandle();
addMessage(String.format("Connection complete, status %d, handle %x.\nQuery battery service.", event.getStatus(), connectionHandle));
//btstack.GATTDiscoverPrimaryServicesByUUID128(connectionHandle, uuid128(this.battery_service_uuid));
btstack.GATTDiscoverPrimaryServicesByUUID16(connectionHandle, 0x180f);
}
break;
case w4_services_complete:
if (packet instanceof GATTServiceQueryResult){
// Store battery service. Wait for GATTQueryComplete event to send next GATT command.
GATTServiceQueryResult event = (GATTServiceQueryResult) packet;
addMessage(String.format("Battery service found %s", event.getService().getUUID()));
batteryService = event.getService();
break;
}
if (packet instanceof GATTQueryComplete){
// Check if battery service is found.
if (batteryService == null) {
addMessage("No battery service found, restart scanning.");
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
break;
}
addMessage("Battery service is found. Query battery level.");
state = STATE.w4_characteristic_complete;
btstack.GATTDiscoverCharacteristicsForServiceByUUID128(connectionHandle, batteryService, uuid128(this.battery_level_chr_uuid));
}
break;
case w4_characteristic_complete:
if (packet instanceof GATTCharacteristicQueryResult){
// Store battery level characteristic. Wait for GATTQueryComplete event to send next GATT command.
GATTCharacteristicQueryResult event = (GATTCharacteristicQueryResult) packet;
batteryLevelCharacteristic = event.getCharacteristic();
addMessage("Battery level characteristic found.");
break;
}
if (!(packet instanceof GATTQueryComplete)) break;
if (batteryLevelCharacteristic == null) {
addMessage("No battery level characteristic found");
break;
}
clearMessages();
addMessage("Polling battery.");
counter = 0;
state = STATE.battery_data;
new Thread(new Runnable(){
@Override
public void run() {
try {
while(state == STATE.battery_data){
Thread.sleep(5000);
btstack.GATTReadValueOfCharacteristic(connectionHandle, batteryLevelCharacteristic);
}
} catch (InterruptedException e) {}
}
}).start();
break;
case battery_data:
clearMessages();
if (packet instanceof GATTCharacteristicValueQueryResult){
GATTCharacteristicValueQueryResult battery = (GATTCharacteristicValueQueryResult) packet;
if (battery.getValueLength() < 1) break;
this.batteryLevel = battery.getValue()[0];
addTempMessage(String.format("Counter %d, battery level: %d", counter, batteryLevel) + "%");
counter = counter + 1;
break;
}
if (packet instanceof GATTQueryComplete){
GATTQueryComplete event = (GATTQueryComplete) packet;
addMessage(String.format("Counter %d, battery level: %d", counter, batteryLevel) + "%");
if (event.getStatus() != 0){
addMessage("Battery data could not be read - status 0x%02x. Restart scanning." + String.valueOf(event.getStatus()));
state = STATE.w4_scan_result;
btstack.GAPLEScanStart();
break;
}
}
break;
default:
break;
}
}
private BT_UUID uuid128(byte[] att_uuid) {
byte [] uuid = new byte[16];
Util.flipX(att_uuid, uuid);
return new BT_UUID(uuid);
}
public void handlePacket(Packet packet){
// queryBatteryLevel(packet);
// trackRSSI(packet);
// testCharacteristics(packet);
// testAccelerometer(packet);
testConnectDisconnect(packet);
}
void test(){
counter = 0;
addMessage("LE Test Application");
btstack = new BTstack();
btstack.registerPacketHandler(this);
boolean ok = btstack.connect();
if (!ok) {
addMessage("Failed to connect to BTstack Server");
return;
}
addMessage("BTstackSetPowerMode(1)");
state = STATE.w4_btstack_working;
btstack.BTstackSetPowerMode(1);
}
}