diff --git a/pi3-smart-remote/.gitignore b/pi3-smart-remote/.gitignore
deleted file mode 100644
index e08e8a0..0000000
--- a/pi3-smart-remote/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-*.iml
-.gradle
-/local.properties
-/.idea/workspace.xml
-/.idea/libraries
-.DS_Store
-/build
-/captures
-.externalNativeBuild
-/wiringPi
diff --git a/pi3-smart-remote/.idea/compiler.xml b/pi3-smart-remote/.idea/compiler.xml
deleted file mode 100644
index 96cc43e..0000000
--- a/pi3-smart-remote/.idea/compiler.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pi3-smart-remote/.idea/copyright/profiles_settings.xml b/pi3-smart-remote/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index e7bedf3..0000000
--- a/pi3-smart-remote/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/pi3-smart-remote/.idea/gradle.xml b/pi3-smart-remote/.idea/gradle.xml
deleted file mode 100644
index 7ac24c7..0000000
--- a/pi3-smart-remote/.idea/gradle.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pi3-smart-remote/.idea/misc.xml b/pi3-smart-remote/.idea/misc.xml
deleted file mode 100644
index f3d13dd..0000000
--- a/pi3-smart-remote/.idea/misc.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pi3-smart-remote/.idea/modules.xml b/pi3-smart-remote/.idea/modules.xml
deleted file mode 100644
index 3d6b20b..0000000
--- a/pi3-smart-remote/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pi3-smart-remote/.idea/runConfigurations.xml b/pi3-smart-remote/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/pi3-smart-remote/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pi3-smart-remote/app/.gitignore b/pi3-smart-remote/app/.gitignore
deleted file mode 100644
index 796b96d..0000000
--- a/pi3-smart-remote/app/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/pi3-smart-remote/app/build.gradle b/pi3-smart-remote/app/build.gradle
deleted file mode 100644
index f002f37..0000000
--- a/pi3-smart-remote/app/build.gradle
+++ /dev/null
@@ -1,27 +0,0 @@
-apply plugin: 'com.android.application'
-
-android {
- compileSdkVersion 26
- buildToolsVersion '26.0.2'
- defaultConfig {
- applicationId "net.irext.pi3sr"
- minSdkVersion 25
- targetSdkVersion 26
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- provided 'com.google.android.things:androidthings:0.5.1-devpreview'
- compile 'com.android.support:appcompat-v7:26.+'
- compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
-}
diff --git a/pi3-smart-remote/app/proguard-rules.pro b/pi3-smart-remote/app/proguard-rules.pro
deleted file mode 100644
index d14c450..0000000
--- a/pi3-smart-remote/app/proguard-rules.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in D:\Android\android-sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# 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 *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/pi3-smart-remote/app/src/main/AndroidManifest.xml b/pi3-smart-remote/app/src/main/AndroidManifest.xml
deleted file mode 100644
index 1aaabc2..0000000
--- a/pi3-smart-remote/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/Pi3SRApplication.java b/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/Pi3SRApplication.java
deleted file mode 100644
index 82c5cca..0000000
--- a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/Pi3SRApplication.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.irext.pi3sr;
-
-import android.app.Application;
-
-/**
- *
- * Pi3SRApplication
- *
- * created by strawmanbobi 2017-06-25
- */
-public class Pi3SRApplication extends Application {
-
-}
diff --git a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/driver/HCSR501.java b/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/driver/HCSR501.java
deleted file mode 100644
index 74b958f..0000000
--- a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/driver/HCSR501.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package net.irext.pi3sr.driver;
-
-import android.util.Log;
-
-import com.google.android.things.pio.Gpio;
-import com.google.android.things.pio.GpioCallback;
-
-import java.io.IOException;
-
-/**
- *
- * HC-SR501 driver
- *
- * created by strawmanbobi 2017-06-25
- */
-public class HCSR501 implements MotionSensor {
-
- private static final String TAG = HCSR501.class.getSimpleName();
-
- private final Gpio bus;
-
- private final MotionSensor.Listener listener;
-
- public HCSR501(Gpio bus, Listener listener) {
- this.bus = bus;
- this.listener = listener;
- }
-
- @Override
- public void startup() {
- try {
- bus.setDirection(Gpio.DIRECTION_IN);
- bus.setActiveType(Gpio.ACTIVE_HIGH);
- bus.setEdgeTriggerType(Gpio.EDGE_RISING);
- } catch (IOException e) {
- throw new IllegalStateException("Sensor can't start - App is foobar'd", e);
- }
- try {
- bus.registerGpioCallback(callback);
- } catch (IOException e) {
- throw new IllegalStateException("Sensor can't register callback", e);
- }
- }
-
- private final GpioCallback callback = new GpioCallback() {
- @Override
- public boolean onGpioEdge(Gpio gpio) {
- listener.onMovement();
- return true;
- }
- };
-
- @Override
- public void shutdown() {
- bus.unregisterGpioCallback(callback);
- try {
- bus.close();
- } catch (IOException e) {
- Log.e(TAG, "Failed to shut down. You might get errors next time you try to start.", e);
- }
- }
-
-}
diff --git a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/driver/MotionSensor.java b/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/driver/MotionSensor.java
deleted file mode 100644
index c02676d..0000000
--- a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/driver/MotionSensor.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package net.irext.pi3sr.driver;
-
-/**
- *
- * motion sensor interface
- *
- * created by strawmanbobi 2017-06-25
- */
-public interface MotionSensor {
-
- void startup();
-
- void shutdown();
-
- public interface Listener {
- void onMovement();
- }
-
-}
diff --git a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/ui/MainActivity.java b/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/ui/MainActivity.java
deleted file mode 100644
index dcaf926..0000000
--- a/pi3-smart-remote/app/src/main/java/net/irext/pi3sr/ui/MainActivity.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package net.irext.pi3sr.ui;
-
-import android.support.v7.app.AppCompatActivity;
-import android.os.Bundle;
-
-import net.irext.pi3sr.R;
-
-/**
- *
- * MainActivity
- *
- * created by strawmanbobi 2017-06-25
- */
-public class MainActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
-}
diff --git a/pi3-smart-remote/app/src/main/res/layout/activity_main.xml b/pi3-smart-remote/app/src/main/res/layout/activity_main.xml
deleted file mode 100644
index 722a2e0..0000000
--- a/pi3-smart-remote/app/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-hdpi/ic_launcher.png b/pi3-smart-remote/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index cde69bc..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/pi3-smart-remote/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
deleted file mode 100644
index 9a078e3..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-mdpi/ic_launcher.png b/pi3-smart-remote/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index c133a0c..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/pi3-smart-remote/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
deleted file mode 100644
index efc028a..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/pi3-smart-remote/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index bfa42f0..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/pi3-smart-remote/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
deleted file mode 100644
index 3af2608..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/pi3-smart-remote/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 324e72c..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/pi3-smart-remote/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
deleted file mode 100644
index 9bec2e6..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/pi3-smart-remote/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index aee44e1..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/pi3-smart-remote/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
deleted file mode 100644
index 34947cd..0000000
Binary files a/pi3-smart-remote/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/pi3-smart-remote/app/src/main/res/values/colors.xml b/pi3-smart-remote/app/src/main/res/values/colors.xml
deleted file mode 100644
index 3ab3e9c..0000000
--- a/pi3-smart-remote/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- #3F51B5
- #303F9F
- #FF4081
-
diff --git a/pi3-smart-remote/app/src/main/res/values/strings.xml b/pi3-smart-remote/app/src/main/res/values/strings.xml
deleted file mode 100644
index f9581a4..0000000
--- a/pi3-smart-remote/app/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- Pi3SR
-
diff --git a/pi3-smart-remote/app/src/main/res/values/styles.xml b/pi3-smart-remote/app/src/main/res/values/styles.xml
deleted file mode 100644
index 5885930..0000000
--- a/pi3-smart-remote/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
diff --git a/pi3-smart-remote/build.gradle b/pi3-smart-remote/build.gradle
deleted file mode 100644
index a47fa4b..0000000
--- a/pi3-smart-remote/build.gradle
+++ /dev/null
@@ -1,23 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
-buildscript {
- repositories {
- jcenter()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:3.0.1'
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
-}
-
-allprojects {
- repositories {
- jcenter()
- }
-}
-
-task clean(type: Delete) {
- delete rootProject.buildDir
-}
diff --git a/pi3-smart-remote/gradle.properties b/pi3-smart-remote/gradle.properties
deleted file mode 100644
index aac7c9b..0000000
--- a/pi3-smart-remote/gradle.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
-
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
diff --git a/pi3-smart-remote/gradle/wrapper/gradle-wrapper.jar b/pi3-smart-remote/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 13372ae..0000000
Binary files a/pi3-smart-remote/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/pi3-smart-remote/gradle/wrapper/gradle-wrapper.properties b/pi3-smart-remote/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 028c2ec..0000000
--- a/pi3-smart-remote/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Sun Nov 26 10:49:10 CST 2017
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
diff --git a/pi3-smart-remote/gradlew b/pi3-smart-remote/gradlew
deleted file mode 100644
index 9d82f78..0000000
--- a/pi3-smart-remote/gradlew
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
- echo "$*"
-}
-
-die ( ) {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
-esac
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/pi3-smart-remote/gradlew.bat b/pi3-smart-remote/gradlew.bat
deleted file mode 100644
index 8a0b282..0000000
--- a/pi3-smart-remote/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/BUILD_NUMBER b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/BUILD_NUMBER
deleted file mode 100644
index 57c2313..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/BUILD_NUMBER
+++ /dev/null
@@ -1 +0,0 @@
-OIR1.170720.017
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/FindAndroidThings.cmake b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/FindAndroidThings.cmake
deleted file mode 100644
index 018c15d..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/FindAndroidThings.cmake
+++ /dev/null
@@ -1,105 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# Overview
-# --------
-# This CMake script is for use in Android Studio, to populate variables for
-# linking to the Android Things shared library. After running, the following
-# variables will be available:
-# ANDROIDTHINGS_FOUND - TRUE if libandroidthings was found
-# ANDROIDTHINGS_INCLUDE_DIRS - The libandroidthings include directories
-# ANDROIDTHINGS_LIBRARIES - The libraries needed to use libandroidthings
-# ANDROIDTHINGS_DEFINITIONS - Compiler switches for libandroidthings
-#
-# Usage
-# -----
-# 1. Add this file's directory to CMAKE_MODULE_PATH and call find_package().
-# 2. Add ANDROIDTHINGS_INCLUDE_DIRS to your include_directories().
-# 3. Add ANDROIDTHINGS_LIBRARIES to your target_link_libraries().
-# 4. Disable unavailable ABIs (see "ABI Specification" below)
-#
-# Example:
-# set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} )
-# find_package(AndroidThings REQUIRED)
-# include_directories(${ANDROIDTHINGS_INCLUDE_DIRS})
-# target_link_libraries( ${ANDROIDTHINGS_LIBRARIES})
-#
-# Finding the Source
-# ------------------
-# Normally the libandroidthings headers and .so are expected to live in the
-# same directory as this file, but if the ANDROIDTHINGS_DIR variable is
-# provided in the app's build.gradle file, that path will be searched for the
-# headers and .so first. For example:
-#
-# android {
-# defaultConfig {
-# externalNativeBuild {
-# cmake {
-# arguments "-DANDROIDTHINGS_DIR="
-# }
-# }
-# }
-#
-# ABI Specification
-# -----------------
-# libandroidthings is only available for the ABIs supported by Android Things
-# devices. By default, Android Studio attempts to build for all ABIs, which may
-# lead to errors like:
-#
-# Could NOT find AndroidThings (missing: ANDROIDTHINGS_LIBRARY
-# ANDROIDTHINGS_INCLUDE_DIR)
-#
-# To work around this, you will need to modify your app's build.gradle to
-# only build the ABIs you need:
-#
-# android {
-# defaultConfig {
-# externalNativeBuild {
-# cmake {
-# abiFilters "", "", ...
-# }
-# }
-# }
-
-
-# Find the libandroidthings header files.
-find_path(ANDROIDTHINGS_INCLUDE_DIR
- NAMES pio/peripheral_manager_client.h
- HINTS "${ANDROIDTHINGS_DIR}" "${CMAKE_CURRENT_LIST_DIR}"
- PATH_SUFFIXES "${ANDROID_ABI}/include"
- NO_CMAKE_FIND_ROOT_PATH)
-
-# Find the libandroidthings.so library.
-find_library(ANDROIDTHINGS_LIBRARY
- NAMES libandroidthings.so
- HINTS "${ANDROIDTHINGS_DIR}" "${CMAKE_CURRENT_LIST_DIR}"
- PATH_SUFFIXES "${ANDROID_ABI}/lib"
- NO_CMAKE_FIND_ROOT_PATH)
-
-# Register the package and set ANDROIDTHINGS_FOUND.
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(AndroidThings DEFAULT_MSG
- ANDROIDTHINGS_LIBRARY
- ANDROIDTHINGS_INCLUDE_DIR)
-
-# Hide these variables by default.
-mark_as_advanced(ANDROIDTHINGS_INCLUDE_DIR ANDROIDTHINGS_LIBRARY)
-
-# Set the remaining variables we want to export.
-set(ANDROIDTHINGS_LIBRARIES ${ANDROIDTHINGS_LIBRARY})
-set(ANDROIDTHINGS_INCLUDE_DIRS ${ANDROIDTHINGS_INCLUDE_DIR})
-set(ANDROIDTHINGS_DEFINITIONS "")
-
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/LICENSE b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/LICENSE
deleted file mode 100644
index 1af981f..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright 2014 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/README.md b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/README.md
deleted file mode 100644
index 29d34cb..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-Android Things Native Library
-=============================
-
-This repository contains the symbols and the headers for the Android Things
-[Native PIO API](https://developer.android.com/things/sdk/pio/native.html) for the following architecture:
-- `armeabi-v7a`
-- `x86`
-
-Usage
-=====
-
-- Unzip the latest [release](https://github.com/androidthings/native-libandroidthings/releases) in the native project directory (or in a shared location if you have many native projects).
-- Add the following lines to the native project `CMakeLists.txt`:
-```
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} )
-find_package(AndroidThings REQUIRED)
-include_directories(${ANDROIDTHINGS_INCLUDE_DIRS})
-target_link_libraries( ${ANDROIDTHINGS_LIBRARIES})
-```
-- Add the following arch to the native module `build.gradle`:
-```
-defaultConfig {
- ndk {
- abiFilters 'armeabi-v7a', 'x86'
- }
-}
-```
-
-License
-=======
-
-Copyright 2016 The Android Open Source Project, Inc.
-
-Licensed to the Apache Software Foundation (ASF) under one or more contributor
-license agreements. See the NOTICE file distributed with this work for
-additional information regarding copyright ownership. The ASF licenses this
-file to you under the Apache License, Version 2.0 (the "License"); you may not
-use this file except in compliance with the License. You may obtain a copy of
-the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-License for the specific language governing permissions and limitations under
-the License.
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/gpio.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/gpio.h
deleted file mode 100644
index 653a4fe..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/gpio.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_GPIO_H_
-#define SYSTEM_PERIPHERALMANAGER_GPIO_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Gpio Gpio Interface
-/// @brief Functions to control GPIO pins.
-///
-/// These functions can be used to control GPIO.
-/// @{
-
-/// Edge trigger types.
-typedef enum AGpioEdge {
- AGPIO_EDGE_NONE = 0, /**< None */
- AGPIO_EDGE_RISING = 1, /**< Rising edge */
- AGPIO_EDGE_FALLING = 2, /**< Falling edge */
- AGPIO_EDGE_BOTH = 3 /**< Both edges */
-} AGpioEdge;
-
-/// GPIO direction types.
-typedef enum AGpioDirection {
- AGPIO_DIRECTION_IN = 0, /**< Input mode */
- AGPIO_DIRECTION_OUT_INITIALLY_HIGH = 1, /**< Output mode, initially high */
- AGPIO_DIRECTION_OUT_INITIALLY_LOW = 2 /**< Output mode, initially low */
-} AGpioDirection;
-
-/// Possible active types.
-typedef enum AGpioActiveType {
- AGPIO_ACTIVE_LOW = 0, /**< Active Low */
- AGPIO_ACTIVE_HIGH = 1 /**< Active High */
-} AGpioActiveType;
-
-typedef struct AGpio AGpio;
-
-/// Sets the GPIO direction to output.
-/// @param gpio Pointer to the AGpio struct
-/// @param direction One of DIRECTION_IN,
-/// DIRECTION_OUT_INITIALLY_HIGH, DIRECTION_OUT_INITIALLY_LOW.
-/// @return 0 on success, errno on error.
-int AGpio_setDirection(const AGpio* gpio, AGpioDirection direction);
-
-/// Sets the interrupt edge trigger type.
-/// @param gpio Pointer to the AGpio struct
-/// @param type One of NONE_EDGE, RISING_EDGE, FALLING_EDGE or BOTH_EDGE.
-/// @return 0 on success, errno on error.
-int AGpio_setEdgeTriggerType(const AGpio* gpio, AGpioEdge type);
-
-/// Sets the GPIO’s active low/high status.
-/// @param gpio Pointer to the AGpio struct.
-/// @param type One of ACTIVE_HIGH, ACTIVE_LOW.
-/// @return 0 on success, errno on error.
-int AGpio_setActiveType(const AGpio* gpio, AGpioActiveType type);
-
-/// Sets the GPIO value (for output GPIO only).
-/// @param gpio Pointer to the AGpio struct.
-/// @param value Value to set.
-/// @return 0 on success, errno on error.
-int AGpio_setValue(const AGpio* gpio, int value);
-
-/// Gets the GPIO value (for input GPIO only).
-/// @param gpio Pointer to the AGpio struct.
-/// @param value Output pointer to the value of the GPIO.
-/// @return 0 on success, errno on error.
-int AGpio_getValue(const AGpio* gpio, int* value);
-
-/// Returns a file descriptor that can be used to poll on new data.
-/// Can be passed to select/epoll to wait for data to become available.
-/// @param gpio Pointer to the AGpio struct.
-/// @param fd Output pointer to the file descriptor number.
-/// @return 0 on success, errno on error.
-int AGpio_getPollingFd(const AGpio* gpio, int* fd);
-
-/// Acknowledges the interrupt and resets the file descriptor.
-/// This must be called after each event triggers in order to be able to
-/// poll/select for another event.
-/// @param fd Polling file descriptor to reset.
-/// @return 0 on success, errno on error.
-int AGpio_ackInterruptEvent(int fd);
-
-/// Destroys a AGpio struct.
-/// @param gpio Pointer to the AGpio struct.
-void AGpio_delete(AGpio* gpio);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_GPIO_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/i2c_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/i2c_device.h
deleted file mode 100644
index 8a5d890..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/i2c_device.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_I2C_DEVICE_H_
-#define SYSTEM_PERIPHERALMANAGER_I2C_DEVICE_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup I2c I2c device interface
-/// @brief Functions to control an I2C device.
-///
-/// These functions can be used to control an I2C device.
-/// @{
-
-typedef struct AI2cDevice AI2cDevice;
-
-/// Reads from the device.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param data Output buffer to write the data to.
-/// @param len Number of bytes to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_read(const AI2cDevice* device, void* data, uint32_t len);
-
-/// Reads a byte from an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to read from.
-/// @param val Output pointer to value to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_readRegByte(const AI2cDevice* device, uint8_t reg, uint8_t* val);
-
-/// Reads a word from an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to read from.
-/// @param val Output pointer to value to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_readRegWord(const AI2cDevice* device,
- uint8_t reg,
- uint16_t* val);
-
-/// Reads from an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to read from.
-/// @param data Output buffer to write the data to.
-/// @param len Number of bytes to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_readRegBuffer(const AI2cDevice* device,
- uint8_t reg,
- void* data,
- uint32_t len);
-
-/// Writes to the device.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param data Buffer to write.
-/// @param len Number of bytes to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_write(const AI2cDevice* device, const void* data, uint32_t len);
-
-/// Writes a byte to an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to write to.
-/// @param val Value to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_writeRegByte(const AI2cDevice* device, uint8_t reg, uint8_t val);
-
-/// Writes a word to an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to write to.
-/// @param val Value to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_writeRegWord(const AI2cDevice* device,
- uint8_t reg,
- uint16_t val);
-
-/// Writes to an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to write to.
-/// @param data Data to write.
-/// @param len Number of bytes to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_writeRegBuffer(const AI2cDevice* device,
- uint8_t reg,
- const void* data,
- uint32_t len);
-
-/// Destroys a AI2cDevice struct.
-/// @param device Pointer to the AI2cDevice struct.
-void AI2cDevice_delete(AI2cDevice* device);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_I2C_DEVICE_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/i2s_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/i2s_device.h
deleted file mode 100644
index 40f27ca..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/i2s_device.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_I2S_H_
-#define SYSTEM_PERIPHERALMANAGER_I2S_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup I2s I2s Interface
-/// @brief Functions to control I2S pins.
-///
-/// These functions can be used to control I2S.
-/// @{
-
-/// Possible encodings
-typedef enum AI2sEncoding {
- AI2S_ENCODING_PCM_8_BIT,
- AI2S_ENCODING_PCM_16_BIT,
- AI2S_ENCODING_PCM_24_BIT,
- AI2S_ENCODING_PCM_32_BIT
-} AI2sEncoding;
-
-/// Flags to specify I2s bus direction.
-typedef enum AI2sFlags {
- AI2S_FLAG_DIRECTION_IN = 1 << 0,
- AI2S_FLAG_DIRECTION_OUT = 1 << 1
-} AI2sFlags;
-
-typedef struct AI2sDevice AI2sDevice;
-
-/// Writes raw data to the I2S device. Multi-channel audio data is interleaved.
-/// @param i2s Pointer to the AI2s struct.
-/// @param data Data to write.
-/// @param offset Offset to first byte in data.
-/// @param size Number of bytes to write.
-/// @param bytes_written Number of bytes written.
-/// @return 0 on success, errno on error.
-int AI2sDevice_write(const AI2sDevice* i2s,
- const void* data,
- int offset,
- int size,
- int* bytes_written);
-
-/// Reads raw data from the I2S device. Multi-channel audio data is interleaved.
-/// @param i2s Pointer to the AI2s struct.
-/// @param data Buffer to fill with data read.
-/// @param offset Offset to first byte in data.
-/// @param size Number of bytes to read.
-/// @param bytes_read Number of bytes read.
-/// @return 0 on success, errno on error.
-int AI2sDevice_read(
- const AI2sDevice* i2s, void* data, int offset, int size, int* bytes_read);
-
-/// Gets the timestamp when a specific sample entered the kernel.
-/// @param i2s Pointer to the AI2s struct.
-/// @param frame_position Output indicating number of frames read.
-/// @param nano_time Output indicating time (ns) when the frame was read.
-/// @param success Output indicating success (1) or failure (0).
-/// @return 0 on success, errno on error. This will only be nonzero on a fatal
-/// error such as the I2S device couldn't be found; in the normal case
-/// that a timestamp isn't available the success param will be used.
-int AI2sDevice_getInputTimestamp(const AI2sDevice* i2s,
- int64_t* frame_position,
- int64_t* nano_time,
- int* success);
-
-/// Gets the timestamp when a specific sample exited the kernel.
-/// @param i2s Pointer to the AI2s struct.
-/// @param frame_position Output indicating number of frames written.
-/// @param nano_time Output indicating time (ns) when the frame was written.
-/// @param success Output indicating success (1) or failure (0).
-/// @return 0 on success, errno on error. This will only be nonzero on a fatal
-/// error such as the I2S device couldn't be found; in the normal case
-/// that a timestamp isn't available the success param will be used.
-int AI2sDevice_getOutputTimestamp(const AI2sDevice* i2s,
- int64_t* frame_position,
- int64_t* nano_time,
- int* success);
-
-/// Destroys an AI2s struct.
-/// @param i2s Pointer to the AI2s struct.
-void AI2sDevice_delete(AI2sDevice* i2s);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_I2S_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/peripheral_manager_client.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/peripheral_manager_client.h
deleted file mode 100644
index 97202b0..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/peripheral_manager_client.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_PERIPHERAL_MANAGER_CLIENT_H_
-#define SYSTEM_PERIPHERALMANAGER_PERIPHERAL_MANAGER_CLIENT_H_
-
-#include
-
-#include "gpio.h"
-#include "i2c_device.h"
-#include "i2s_device.h"
-#include "pwm.h"
-#include "spi_device.h"
-#include "uart_device.h"
-
-__BEGIN_DECLS
-
-/// @defgroup PeripheralManagerClient Peripheral client functions
-/// @brief Functions to access embedded peripherals
-/// @{
-
-typedef struct APeripheralManagerClient APeripheralManagerClient;
-
-/// Returns the list of GPIOs.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_gpio Output pointer to the number of elements in the list.
-/// @return The list of gpios.
-char** APeripheralManagerClient_listGpio(const APeripheralManagerClient* client,
- int* num_gpio);
-
-/// Opens a GPIO and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the GPIO.
-/// @param gpio Output pointer to the AGpio struct. Empty on error.
-/// @return 0 on success, errno on error.
-int APeripheralManagerClient_openGpio(const APeripheralManagerClient* client,
- const char* name,
- AGpio** gpio);
-
-/// Returns the list of PWMs.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_gpio Output pointer to the number of elements in the list.
-/// @return The list of pwms.
-char** APeripheralManagerClient_listPwm(const APeripheralManagerClient* client,
- int* num_pwm);
-
-/// Opens a PWM and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the PWM.
-/// @param gpio Output pointer to the AGpio struct. Empty on error.
-/// @return 0 on success, errno on error.
-int APeripheralManagerClient_openPwm(const APeripheralManagerClient* client,
- const char* name,
- APwm** pwm);
-
-/// Returns the list of SPI buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_spi_buses Output pointer to the number of elements in the list.
-/// @return The list of spi buses.
-char** APeripheralManagerClient_listSpiBuses(
- const APeripheralManagerClient* client, int* num_spi_buses);
-
-/// Opens a SPI device and takes ownership of it.
-/// @oaram client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the SPI device.
-/// @param dev Output pointer to the ASpiDevice struct. Empty on error.
-/// @return 0 on success, errno on error.
-int APeripheralManagerClient_openSpiDevice(
- const APeripheralManagerClient* client, const char* name, ASpiDevice** dev);
-
-/// Returns the list of I2C buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_i2c_buses Output pointer to the number of elements in the list.
-/// @return The list of i2c buses.
-char** APeripheralManagerClient_listI2cBuses(
- const APeripheralManagerClient* client, int* num_i2c_buses);
-
-/// Opens an I2C device and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the I2C bus.
-/// @param address Address of the I2C device.
-/// @param dev Output pointer to the AI2cDevice struct. Empty on error.
-/// @return 0 on success, errno on error
-int APeripheralManagerClient_openI2cDevice(
- const APeripheralManagerClient* client,
- const char* name,
- uint32_t address,
- AI2cDevice** dev);
-
-/// Returns the list of UART buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_uart_buses Output pointer to the number of elements in the list.
-/// @return The list of uart buses.
-char** APeripheralManagerClient_listUartDevices(
- const APeripheralManagerClient* client, int* num_uart_buses);
-
-/// Opens an UART device and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the UART device.
-/// @param dev Output pointer to the AUartDevice struct. Empty on error.
-/// @return 0 on success, errno on error
-int APeripheralManagerClient_openUartDevice(
- const APeripheralManagerClient* client,
- const char* name,
- AUartDevice** dev);
-
-/// Returns the list of I2S buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_i2s_buses Output pointer to the number of elements in the list.
-/// @return The list of I2S buses.
-char** APeripheralManagerClient_listI2sDevices(
- const APeripheralManagerClient* client, int* num_i2s_buses);
-
-/// Opens an I2S device and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the I2S device.
-/// @param encoding Device pcm encoding.
-/// @param channels Number of channels.
-/// @param rate Device rate in Hz.
-/// @param flags Specify device supporting input, output or both.
-/// @param dev Output pointer to the AI2sDevice struct. Empty on error.
-/// @return 0 on success, errno on error
-int APeripheralManagerClient_openI2sDevice(
- const APeripheralManagerClient* client,
- const char* name,
- AI2sEncoding encoding,
- int channels,
- int rate,
- int flags,
- AI2sDevice** dev);
-
-/// Creates a new client.
-/// @return A pointer to the created client. nullptr on errors.
-APeripheralManagerClient* APeripheralManagerClient_new();
-
-/// Destroys the peripheral manager client.
-/// @param client Pointer to the APeripheralManagerClient struct.
-void APeripheralManagerClient_delete(APeripheralManagerClient* client);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_PERIPHERAL_MANAGER_CLIENT_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/pwm.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/pwm.h
deleted file mode 100644
index 5dd3a51..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/pwm.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_PWM_H_
-#define SYSTEM_PERIPHERALMANAGER_PWM_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Pwm Pwm Interface
-/// @brief Functions to control PWM pins.
-///
-/// These functions can be used to control PWM.
-/// @{
-
-typedef struct APwm APwm;
-
-/// Sets the PWM duty cycle.
-/// @param gpio Pointer to the APwm struct.
-/// @param duty_cycle Double between 0 and 100 inclusive.
-/// @return 0 on success, errno on error.
-int APwm_setDutyCycle(const APwm* pwm, double duty_cycle);
-
-/// Sets the PWM frequency.
-/// @param gpio Pointer to the APwm struct.
-/// @param freq Double denoting the frequency in Hz.
-/// @return 0 on success, errno on error.
-int APwm_setFrequencyHz(const APwm* pwm, double frequency);
-
-/// Enables the PWM.
-/// @param gpio Pointer to the APwm struct.
-/// @param enabled Non-zero to enable.
-/// @return 0 on success, errno on error.
-int APwm_setEnabled(const APwm* pwm, int enabled);
-
-/// Destroys a APwm struct.
-/// @param pwm Pointer to the APwm struct.
-void APwm_delete(APwm* pwm);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_PWM_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/spi_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/spi_device.h
deleted file mode 100644
index 51595d7..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/spi_device.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_SPI_DEVICE_H_
-#define SYSTEM_PERIPHERALMANAGER_SPI_DEVICE_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Spi Spi device interface
-/// @brief Functions to control an SPI device.
-///
-/// These functions can be used to control an SPI device.
-/// @{
-
-/// Endianness.
-typedef enum ASpiBitJustification {
- ASPI_LSB_FIRST = 0, /**< Least significant bits first */
- ASPI_MSB_FIRST = 1 /**< Most significant bits first */
-} ASpiBitJustification;
-
-/// SPI modes (similar to the Linux kernel's modes).
-typedef enum ASpiMode {
- ASPI_MODE0 = 0, /**< CPHA=0, CPOL=0 */
- ASPI_MODE1 = 1, /**< CPHA=1, CPOL=0 */
- ASPI_MODE2 = 2, /**< CPHA=0, CPOL=1 */
- ASPI_MODE3 = 3 /**< CPHA=1, CPOL=1 */
-} ASpiMode;
-
-typedef struct ASpiDevice ASpiDevice;
-
-/// Writes a buffer to the device.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param data Buffer to write.
-/// @param len Length of the buffer.
-/// @return 0 on success, errno on error.
-int ASpiDevice_writeBuffer(const ASpiDevice* device,
- const void* data,
- size_t len);
-
-/// Reads a buffer from the device.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param data Buffer to read into.
-/// @param len Length of the buffer.
-/// @return 0 on success, errno on error.
-int ASpiDevice_readBuffer(const ASpiDevice* device, void* data, size_t len);
-
-/// Transfer data to the device.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param tx_data Buffer to write.
-/// @param rx_data Buffer to read data in. If NULL, no data will be read.
-/// @param len Length of the buffers.
-/// @return 0 on success, errno on error.
-int ASpiDevice_transfer(const ASpiDevice* device,
- const void* tx_data,
- void* rx_data,
- size_t len);
-
-/// Sets the frequency in Hertz.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param freq_hz Frequency to set.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setFrequency(const ASpiDevice* device, uint32_t freq_hz);
-
-/// Sets the SPI mode.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param mode Mode to use. One of SPI_MODE0, SPI_MODE1, SPI_MODE2, SPI_MODE3.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setMode(const ASpiDevice* device, ASpiMode mode);
-
-/// Sets the bit justification.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param bit_justification One of SPI_LSB_FIRST OR SPI_MSB_FIRST.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setBitJustification(const ASpiDevice* device,
- ASpiBitJustification bit_justification);
-
-/// Sets the number of bits per words.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param bits_per_word Number of bits per word.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setBitsPerWord(const ASpiDevice* device, uint8_t bits_per_word);
-
-/// Sets the delay to wait after each transfer.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param delay_usecs Delay in microseconds.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setDelay(const ASpiDevice* device, uint16_t delay_usecs);
-
-/// Sets the chip select behavior after each transfer.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param change If set, cs will be active between transfers.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setCsChange(const ASpiDevice* device, int change);
-
-/// Destroys a ASpiDevice struct.
-/// @param device Pointer to the ASpiDevice struct.
-void ASpiDevice_delete(ASpiDevice* device);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_SPI_DEVICE_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/uart_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/uart_device.h
deleted file mode 100644
index 03ab6d7..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/include/pio/uart_device.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_UART_DEVICE_H_
-#define SYSTEM_PERIPHERALMANAGER_UART_DEVICE_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Uart Uart device interface
-/// @brief Functions to control an UART device.
-///
-/// These functions can be used to control an UART device.
-/// @{
-
-/// UART Parity
-typedef enum AUartParity {
- AUART_PARITY_NONE = 0, /**< No parity */
- AUART_PARITY_EVEN = 1, /**< Even parity */
- AUART_PARITY_ODD = 2, /**< Odd parity */
- AUART_PARITY_MARK = 3, /**< Mark parity, always 1 */
- AUART_PARITY_SPACE = 4 /**< Space parity, always 0 */
-} AUartParity;
-
-/// Modem control lines.
-typedef enum AUartModemControlLine {
- AUART_MODEM_CONTROL_LE = 1 << 0, /**< Data set ready/Line enable */
- AUART_MODEM_CONTROL_DTR = 1 << 1, /**< Data terminal ready */
- AUART_MODEM_CONTROL_RTS = 1 << 2, /**< Request to send */
- AUART_MODEM_CONTROL_ST = 1 << 3, /**< Secondary TXD */
- AUART_MODEM_CONTROL_SR = 1 << 4, /**< Secondary RXD */
- AUART_MODEM_CONTROL_CTS = 1 << 5, /**< Clear to send */
- AUART_MODEM_CONTROL_CD = 1 << 6, /**< Data carrier detect */
- AUART_MODEM_CONTROL_RI = 1 << 7, /**< Ring */
- AUART_MODEM_CONTROL_DSR = 1 << 8 /**< Data set ready */
-} AUartModemControlLine;
-
-// Hardware Flow Control
-typedef enum AUartHardwareFlowControl {
- AUART_HARDWARE_FLOW_CONTROL_NONE = 0, /**< No hardware flow control */
- AUART_HARDWARE_FLOW_CONTROL_AUTO_RTSCTS = 1 /**< Auto RTS/CTS */
-} AUartHardwareFlowControl;
-
-/// Flush queue selection
-typedef enum AUartFlushDirection {
- AUART_FLUSH_IN = 0, /**< Flushes data received but not read */
- AUART_FLUSH_OUT = 1, /**< Flushes data written but not transmitted */
- AUART_FLUSH_IN_OUT = 2 /**< Flushes both in and out */
-} AUartFlushDirection;
-
-typedef struct AUartDevice AUartDevice;
-
-/// Writes to a UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param data Data to write.
-/// @param len Size of the data to write.
-/// @param bytes_written Output pointer to the number of bytes written.
-/// @return 0 on success, errno on error.
-int AUartDevice_write(const AUartDevice* device,
- const void* data,
- uint32_t len,
- uint32_t* bytes_written);
-
-/// Reads from a UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param data Buffer to read the data into.
-/// @param len Number of bytes to read.
-/// @param bytes_read Output pointer to the number of bytes read.
-/// @return 0 on success, errno on error.
-int AUartDevice_read(const AUartDevice* device,
- void* data,
- uint32_t len,
- uint32_t* bytes_read);
-
-/// Sets the input and output speed of a UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param baudrate Speed in baud.
-/// @return 0 on success, errno on error.
-int AUartDevice_setBaudrate(const AUartDevice* device, uint32_t baudrate);
-
-/// Sets number of stop bits for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param stop_bits Number of stop bits. Typically 1 or 2.
-/// @return 0 on success, errno on error.
-int AUartDevice_setStopBits(const AUartDevice* device, uint32_t stop_bits);
-
-/// Sets the data size of a character for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param data_size Number of bits per character. Typically between 5 and 8.
-/// @return 0 on success, errno on error.
-int AUartDevice_setDataSize(const AUartDevice* device, uint32_t data_size);
-
-/// Sets the parity mode for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param mode Parity mode.
-/// @return 0 on success, errno on error.
-int AUartDevice_setParity(const AUartDevice* device, AUartParity mode);
-
-/// Sets the hardware flow control mode for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param mode Flow control mode.
-/// @return 0 on success, errno on error.
-int AUartDevice_setHardwareFlowControl(const AUartDevice* device,
- AUartHardwareFlowControl mode);
-
-/// Sets the modem control bits for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param lines Lines to set. AUartModemControlLine values OR'ed together.
-/// @return 0 on success, errno on error.
-int AUartDevice_setModemControl(const AUartDevice* device, uint32_t lines);
-
-/// Clears the modem control bits for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param lines Lines to clear. AUartModemControlLine values OR'ed together.
-/// @return 0 on success, errno on error.
-int AUartDevice_clearModemControl(const AUartDevice* device, uint32_t lines);
-
-/// Sends a break to the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param duration Duration of break transmission in milliseconds. If 0,
-/// transmits zero-valued bits for at least 0.25 seconds, and not more
-/// than 0.5 seconds.
-/// @return 0 on success, errno on error.
-int AUartDevice_sendBreak(const AUartDevice* device, uint32_t duration_msecs);
-
-/// Flushes specified queue for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param direction Direction to flush.
-/// @return 0 on success, errno on error.
-int AUartDevice_flush(const AUartDevice* device, AUartFlushDirection direction);
-
-/// Gets a file descriptor to be notified when data can be read.
-///
-/// You can use this file descriptor to poll on incoming data instead of
-/// actively reading for new data.
-///
-/// @param device Pointer to the AUartDevice struct.
-/// @param fd Output pointer to the file descriptor.
-/// @return 0 on success, errno on error.
-int AUartDevice_getPollingFd(const AUartDevice* device, int* fd);
-
-/// Acknowledges an input event.
-///
-/// This must be called after receiving an event notification on the polling
-/// file descriptor.
-/// If you don't acknowledge an event, peripheral manager will assume you are
-/// still processing it and you will not receive any more events.
-/// If you acknowledge an event before reading the data from the device, you
-/// will receive an event immediately as there will still be data available.
-///
-/// @param fd File descriptor to acknowledge the event on.
-/// @return 0 on success, errno on error.
-int AUartDevice_ackInputEvent(int fd);
-
-/// Destroys a AUartDevice struct.
-/// @param device Pointer to the AUartDevice struct.
-void AUartDevice_delete(AUartDevice* device);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_UART_DEVICE_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/lib/libandroidthings.so b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/lib/libandroidthings.so
deleted file mode 100644
index fd485cb..0000000
Binary files a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/armeabi-v7a/lib/libandroidthings.so and /dev/null differ
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/gpio.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/gpio.h
deleted file mode 100644
index 653a4fe..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/gpio.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_GPIO_H_
-#define SYSTEM_PERIPHERALMANAGER_GPIO_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Gpio Gpio Interface
-/// @brief Functions to control GPIO pins.
-///
-/// These functions can be used to control GPIO.
-/// @{
-
-/// Edge trigger types.
-typedef enum AGpioEdge {
- AGPIO_EDGE_NONE = 0, /**< None */
- AGPIO_EDGE_RISING = 1, /**< Rising edge */
- AGPIO_EDGE_FALLING = 2, /**< Falling edge */
- AGPIO_EDGE_BOTH = 3 /**< Both edges */
-} AGpioEdge;
-
-/// GPIO direction types.
-typedef enum AGpioDirection {
- AGPIO_DIRECTION_IN = 0, /**< Input mode */
- AGPIO_DIRECTION_OUT_INITIALLY_HIGH = 1, /**< Output mode, initially high */
- AGPIO_DIRECTION_OUT_INITIALLY_LOW = 2 /**< Output mode, initially low */
-} AGpioDirection;
-
-/// Possible active types.
-typedef enum AGpioActiveType {
- AGPIO_ACTIVE_LOW = 0, /**< Active Low */
- AGPIO_ACTIVE_HIGH = 1 /**< Active High */
-} AGpioActiveType;
-
-typedef struct AGpio AGpio;
-
-/// Sets the GPIO direction to output.
-/// @param gpio Pointer to the AGpio struct
-/// @param direction One of DIRECTION_IN,
-/// DIRECTION_OUT_INITIALLY_HIGH, DIRECTION_OUT_INITIALLY_LOW.
-/// @return 0 on success, errno on error.
-int AGpio_setDirection(const AGpio* gpio, AGpioDirection direction);
-
-/// Sets the interrupt edge trigger type.
-/// @param gpio Pointer to the AGpio struct
-/// @param type One of NONE_EDGE, RISING_EDGE, FALLING_EDGE or BOTH_EDGE.
-/// @return 0 on success, errno on error.
-int AGpio_setEdgeTriggerType(const AGpio* gpio, AGpioEdge type);
-
-/// Sets the GPIO’s active low/high status.
-/// @param gpio Pointer to the AGpio struct.
-/// @param type One of ACTIVE_HIGH, ACTIVE_LOW.
-/// @return 0 on success, errno on error.
-int AGpio_setActiveType(const AGpio* gpio, AGpioActiveType type);
-
-/// Sets the GPIO value (for output GPIO only).
-/// @param gpio Pointer to the AGpio struct.
-/// @param value Value to set.
-/// @return 0 on success, errno on error.
-int AGpio_setValue(const AGpio* gpio, int value);
-
-/// Gets the GPIO value (for input GPIO only).
-/// @param gpio Pointer to the AGpio struct.
-/// @param value Output pointer to the value of the GPIO.
-/// @return 0 on success, errno on error.
-int AGpio_getValue(const AGpio* gpio, int* value);
-
-/// Returns a file descriptor that can be used to poll on new data.
-/// Can be passed to select/epoll to wait for data to become available.
-/// @param gpio Pointer to the AGpio struct.
-/// @param fd Output pointer to the file descriptor number.
-/// @return 0 on success, errno on error.
-int AGpio_getPollingFd(const AGpio* gpio, int* fd);
-
-/// Acknowledges the interrupt and resets the file descriptor.
-/// This must be called after each event triggers in order to be able to
-/// poll/select for another event.
-/// @param fd Polling file descriptor to reset.
-/// @return 0 on success, errno on error.
-int AGpio_ackInterruptEvent(int fd);
-
-/// Destroys a AGpio struct.
-/// @param gpio Pointer to the AGpio struct.
-void AGpio_delete(AGpio* gpio);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_GPIO_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/i2c_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/i2c_device.h
deleted file mode 100644
index 8a5d890..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/i2c_device.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_I2C_DEVICE_H_
-#define SYSTEM_PERIPHERALMANAGER_I2C_DEVICE_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup I2c I2c device interface
-/// @brief Functions to control an I2C device.
-///
-/// These functions can be used to control an I2C device.
-/// @{
-
-typedef struct AI2cDevice AI2cDevice;
-
-/// Reads from the device.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param data Output buffer to write the data to.
-/// @param len Number of bytes to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_read(const AI2cDevice* device, void* data, uint32_t len);
-
-/// Reads a byte from an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to read from.
-/// @param val Output pointer to value to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_readRegByte(const AI2cDevice* device, uint8_t reg, uint8_t* val);
-
-/// Reads a word from an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to read from.
-/// @param val Output pointer to value to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_readRegWord(const AI2cDevice* device,
- uint8_t reg,
- uint16_t* val);
-
-/// Reads from an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to read from.
-/// @param data Output buffer to write the data to.
-/// @param len Number of bytes to read.
-/// @return 0 on success, errno on error
-int AI2cDevice_readRegBuffer(const AI2cDevice* device,
- uint8_t reg,
- void* data,
- uint32_t len);
-
-/// Writes to the device.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param data Buffer to write.
-/// @param len Number of bytes to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_write(const AI2cDevice* device, const void* data, uint32_t len);
-
-/// Writes a byte to an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to write to.
-/// @param val Value to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_writeRegByte(const AI2cDevice* device, uint8_t reg, uint8_t val);
-
-/// Writes a word to an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to write to.
-/// @param val Value to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_writeRegWord(const AI2cDevice* device,
- uint8_t reg,
- uint16_t val);
-
-/// Writes to an I2C register.
-/// @param device Pointer to the AI2cDevice struct.
-/// @param reg Register to write to.
-/// @param data Data to write.
-/// @param len Number of bytes to write.
-/// @return 0 on success, errno on error
-int AI2cDevice_writeRegBuffer(const AI2cDevice* device,
- uint8_t reg,
- const void* data,
- uint32_t len);
-
-/// Destroys a AI2cDevice struct.
-/// @param device Pointer to the AI2cDevice struct.
-void AI2cDevice_delete(AI2cDevice* device);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_I2C_DEVICE_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/i2s_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/i2s_device.h
deleted file mode 100644
index 40f27ca..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/i2s_device.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_I2S_H_
-#define SYSTEM_PERIPHERALMANAGER_I2S_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup I2s I2s Interface
-/// @brief Functions to control I2S pins.
-///
-/// These functions can be used to control I2S.
-/// @{
-
-/// Possible encodings
-typedef enum AI2sEncoding {
- AI2S_ENCODING_PCM_8_BIT,
- AI2S_ENCODING_PCM_16_BIT,
- AI2S_ENCODING_PCM_24_BIT,
- AI2S_ENCODING_PCM_32_BIT
-} AI2sEncoding;
-
-/// Flags to specify I2s bus direction.
-typedef enum AI2sFlags {
- AI2S_FLAG_DIRECTION_IN = 1 << 0,
- AI2S_FLAG_DIRECTION_OUT = 1 << 1
-} AI2sFlags;
-
-typedef struct AI2sDevice AI2sDevice;
-
-/// Writes raw data to the I2S device. Multi-channel audio data is interleaved.
-/// @param i2s Pointer to the AI2s struct.
-/// @param data Data to write.
-/// @param offset Offset to first byte in data.
-/// @param size Number of bytes to write.
-/// @param bytes_written Number of bytes written.
-/// @return 0 on success, errno on error.
-int AI2sDevice_write(const AI2sDevice* i2s,
- const void* data,
- int offset,
- int size,
- int* bytes_written);
-
-/// Reads raw data from the I2S device. Multi-channel audio data is interleaved.
-/// @param i2s Pointer to the AI2s struct.
-/// @param data Buffer to fill with data read.
-/// @param offset Offset to first byte in data.
-/// @param size Number of bytes to read.
-/// @param bytes_read Number of bytes read.
-/// @return 0 on success, errno on error.
-int AI2sDevice_read(
- const AI2sDevice* i2s, void* data, int offset, int size, int* bytes_read);
-
-/// Gets the timestamp when a specific sample entered the kernel.
-/// @param i2s Pointer to the AI2s struct.
-/// @param frame_position Output indicating number of frames read.
-/// @param nano_time Output indicating time (ns) when the frame was read.
-/// @param success Output indicating success (1) or failure (0).
-/// @return 0 on success, errno on error. This will only be nonzero on a fatal
-/// error such as the I2S device couldn't be found; in the normal case
-/// that a timestamp isn't available the success param will be used.
-int AI2sDevice_getInputTimestamp(const AI2sDevice* i2s,
- int64_t* frame_position,
- int64_t* nano_time,
- int* success);
-
-/// Gets the timestamp when a specific sample exited the kernel.
-/// @param i2s Pointer to the AI2s struct.
-/// @param frame_position Output indicating number of frames written.
-/// @param nano_time Output indicating time (ns) when the frame was written.
-/// @param success Output indicating success (1) or failure (0).
-/// @return 0 on success, errno on error. This will only be nonzero on a fatal
-/// error such as the I2S device couldn't be found; in the normal case
-/// that a timestamp isn't available the success param will be used.
-int AI2sDevice_getOutputTimestamp(const AI2sDevice* i2s,
- int64_t* frame_position,
- int64_t* nano_time,
- int* success);
-
-/// Destroys an AI2s struct.
-/// @param i2s Pointer to the AI2s struct.
-void AI2sDevice_delete(AI2sDevice* i2s);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_I2S_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/peripheral_manager_client.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/peripheral_manager_client.h
deleted file mode 100644
index 97202b0..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/peripheral_manager_client.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_PERIPHERAL_MANAGER_CLIENT_H_
-#define SYSTEM_PERIPHERALMANAGER_PERIPHERAL_MANAGER_CLIENT_H_
-
-#include
-
-#include "gpio.h"
-#include "i2c_device.h"
-#include "i2s_device.h"
-#include "pwm.h"
-#include "spi_device.h"
-#include "uart_device.h"
-
-__BEGIN_DECLS
-
-/// @defgroup PeripheralManagerClient Peripheral client functions
-/// @brief Functions to access embedded peripherals
-/// @{
-
-typedef struct APeripheralManagerClient APeripheralManagerClient;
-
-/// Returns the list of GPIOs.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_gpio Output pointer to the number of elements in the list.
-/// @return The list of gpios.
-char** APeripheralManagerClient_listGpio(const APeripheralManagerClient* client,
- int* num_gpio);
-
-/// Opens a GPIO and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the GPIO.
-/// @param gpio Output pointer to the AGpio struct. Empty on error.
-/// @return 0 on success, errno on error.
-int APeripheralManagerClient_openGpio(const APeripheralManagerClient* client,
- const char* name,
- AGpio** gpio);
-
-/// Returns the list of PWMs.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_gpio Output pointer to the number of elements in the list.
-/// @return The list of pwms.
-char** APeripheralManagerClient_listPwm(const APeripheralManagerClient* client,
- int* num_pwm);
-
-/// Opens a PWM and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the PWM.
-/// @param gpio Output pointer to the AGpio struct. Empty on error.
-/// @return 0 on success, errno on error.
-int APeripheralManagerClient_openPwm(const APeripheralManagerClient* client,
- const char* name,
- APwm** pwm);
-
-/// Returns the list of SPI buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_spi_buses Output pointer to the number of elements in the list.
-/// @return The list of spi buses.
-char** APeripheralManagerClient_listSpiBuses(
- const APeripheralManagerClient* client, int* num_spi_buses);
-
-/// Opens a SPI device and takes ownership of it.
-/// @oaram client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the SPI device.
-/// @param dev Output pointer to the ASpiDevice struct. Empty on error.
-/// @return 0 on success, errno on error.
-int APeripheralManagerClient_openSpiDevice(
- const APeripheralManagerClient* client, const char* name, ASpiDevice** dev);
-
-/// Returns the list of I2C buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_i2c_buses Output pointer to the number of elements in the list.
-/// @return The list of i2c buses.
-char** APeripheralManagerClient_listI2cBuses(
- const APeripheralManagerClient* client, int* num_i2c_buses);
-
-/// Opens an I2C device and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the I2C bus.
-/// @param address Address of the I2C device.
-/// @param dev Output pointer to the AI2cDevice struct. Empty on error.
-/// @return 0 on success, errno on error
-int APeripheralManagerClient_openI2cDevice(
- const APeripheralManagerClient* client,
- const char* name,
- uint32_t address,
- AI2cDevice** dev);
-
-/// Returns the list of UART buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_uart_buses Output pointer to the number of elements in the list.
-/// @return The list of uart buses.
-char** APeripheralManagerClient_listUartDevices(
- const APeripheralManagerClient* client, int* num_uart_buses);
-
-/// Opens an UART device and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the UART device.
-/// @param dev Output pointer to the AUartDevice struct. Empty on error.
-/// @return 0 on success, errno on error
-int APeripheralManagerClient_openUartDevice(
- const APeripheralManagerClient* client,
- const char* name,
- AUartDevice** dev);
-
-/// Returns the list of I2S buses.
-/// This does not take ownership into account.
-/// The list must be freed by the caller.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param num_i2s_buses Output pointer to the number of elements in the list.
-/// @return The list of I2S buses.
-char** APeripheralManagerClient_listI2sDevices(
- const APeripheralManagerClient* client, int* num_i2s_buses);
-
-/// Opens an I2S device and takes ownership of it.
-/// @param client Pointer to the APeripheralManagerClient struct.
-/// @param name Name of the I2S device.
-/// @param encoding Device pcm encoding.
-/// @param channels Number of channels.
-/// @param rate Device rate in Hz.
-/// @param flags Specify device supporting input, output or both.
-/// @param dev Output pointer to the AI2sDevice struct. Empty on error.
-/// @return 0 on success, errno on error
-int APeripheralManagerClient_openI2sDevice(
- const APeripheralManagerClient* client,
- const char* name,
- AI2sEncoding encoding,
- int channels,
- int rate,
- int flags,
- AI2sDevice** dev);
-
-/// Creates a new client.
-/// @return A pointer to the created client. nullptr on errors.
-APeripheralManagerClient* APeripheralManagerClient_new();
-
-/// Destroys the peripheral manager client.
-/// @param client Pointer to the APeripheralManagerClient struct.
-void APeripheralManagerClient_delete(APeripheralManagerClient* client);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_PERIPHERAL_MANAGER_CLIENT_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/pwm.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/pwm.h
deleted file mode 100644
index 5dd3a51..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/pwm.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_PWM_H_
-#define SYSTEM_PERIPHERALMANAGER_PWM_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Pwm Pwm Interface
-/// @brief Functions to control PWM pins.
-///
-/// These functions can be used to control PWM.
-/// @{
-
-typedef struct APwm APwm;
-
-/// Sets the PWM duty cycle.
-/// @param gpio Pointer to the APwm struct.
-/// @param duty_cycle Double between 0 and 100 inclusive.
-/// @return 0 on success, errno on error.
-int APwm_setDutyCycle(const APwm* pwm, double duty_cycle);
-
-/// Sets the PWM frequency.
-/// @param gpio Pointer to the APwm struct.
-/// @param freq Double denoting the frequency in Hz.
-/// @return 0 on success, errno on error.
-int APwm_setFrequencyHz(const APwm* pwm, double frequency);
-
-/// Enables the PWM.
-/// @param gpio Pointer to the APwm struct.
-/// @param enabled Non-zero to enable.
-/// @return 0 on success, errno on error.
-int APwm_setEnabled(const APwm* pwm, int enabled);
-
-/// Destroys a APwm struct.
-/// @param pwm Pointer to the APwm struct.
-void APwm_delete(APwm* pwm);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_PWM_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/spi_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/spi_device.h
deleted file mode 100644
index 51595d7..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/spi_device.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_SPI_DEVICE_H_
-#define SYSTEM_PERIPHERALMANAGER_SPI_DEVICE_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Spi Spi device interface
-/// @brief Functions to control an SPI device.
-///
-/// These functions can be used to control an SPI device.
-/// @{
-
-/// Endianness.
-typedef enum ASpiBitJustification {
- ASPI_LSB_FIRST = 0, /**< Least significant bits first */
- ASPI_MSB_FIRST = 1 /**< Most significant bits first */
-} ASpiBitJustification;
-
-/// SPI modes (similar to the Linux kernel's modes).
-typedef enum ASpiMode {
- ASPI_MODE0 = 0, /**< CPHA=0, CPOL=0 */
- ASPI_MODE1 = 1, /**< CPHA=1, CPOL=0 */
- ASPI_MODE2 = 2, /**< CPHA=0, CPOL=1 */
- ASPI_MODE3 = 3 /**< CPHA=1, CPOL=1 */
-} ASpiMode;
-
-typedef struct ASpiDevice ASpiDevice;
-
-/// Writes a buffer to the device.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param data Buffer to write.
-/// @param len Length of the buffer.
-/// @return 0 on success, errno on error.
-int ASpiDevice_writeBuffer(const ASpiDevice* device,
- const void* data,
- size_t len);
-
-/// Reads a buffer from the device.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param data Buffer to read into.
-/// @param len Length of the buffer.
-/// @return 0 on success, errno on error.
-int ASpiDevice_readBuffer(const ASpiDevice* device, void* data, size_t len);
-
-/// Transfer data to the device.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param tx_data Buffer to write.
-/// @param rx_data Buffer to read data in. If NULL, no data will be read.
-/// @param len Length of the buffers.
-/// @return 0 on success, errno on error.
-int ASpiDevice_transfer(const ASpiDevice* device,
- const void* tx_data,
- void* rx_data,
- size_t len);
-
-/// Sets the frequency in Hertz.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param freq_hz Frequency to set.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setFrequency(const ASpiDevice* device, uint32_t freq_hz);
-
-/// Sets the SPI mode.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param mode Mode to use. One of SPI_MODE0, SPI_MODE1, SPI_MODE2, SPI_MODE3.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setMode(const ASpiDevice* device, ASpiMode mode);
-
-/// Sets the bit justification.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param bit_justification One of SPI_LSB_FIRST OR SPI_MSB_FIRST.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setBitJustification(const ASpiDevice* device,
- ASpiBitJustification bit_justification);
-
-/// Sets the number of bits per words.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param bits_per_word Number of bits per word.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setBitsPerWord(const ASpiDevice* device, uint8_t bits_per_word);
-
-/// Sets the delay to wait after each transfer.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param delay_usecs Delay in microseconds.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setDelay(const ASpiDevice* device, uint16_t delay_usecs);
-
-/// Sets the chip select behavior after each transfer.
-/// @param device Pointer to the ASpiDevice struct.
-/// @param change If set, cs will be active between transfers.
-/// @return 0 on success, errno on error.
-int ASpiDevice_setCsChange(const ASpiDevice* device, int change);
-
-/// Destroys a ASpiDevice struct.
-/// @param device Pointer to the ASpiDevice struct.
-void ASpiDevice_delete(ASpiDevice* device);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_SPI_DEVICE_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/uart_device.h b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/uart_device.h
deleted file mode 100644
index 03ab6d7..0000000
--- a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/include/pio/uart_device.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SYSTEM_PERIPHERALMANAGER_UART_DEVICE_H_
-#define SYSTEM_PERIPHERALMANAGER_UART_DEVICE_H_
-
-#include
-#include
-
-__BEGIN_DECLS
-
-/// @defgroup Uart Uart device interface
-/// @brief Functions to control an UART device.
-///
-/// These functions can be used to control an UART device.
-/// @{
-
-/// UART Parity
-typedef enum AUartParity {
- AUART_PARITY_NONE = 0, /**< No parity */
- AUART_PARITY_EVEN = 1, /**< Even parity */
- AUART_PARITY_ODD = 2, /**< Odd parity */
- AUART_PARITY_MARK = 3, /**< Mark parity, always 1 */
- AUART_PARITY_SPACE = 4 /**< Space parity, always 0 */
-} AUartParity;
-
-/// Modem control lines.
-typedef enum AUartModemControlLine {
- AUART_MODEM_CONTROL_LE = 1 << 0, /**< Data set ready/Line enable */
- AUART_MODEM_CONTROL_DTR = 1 << 1, /**< Data terminal ready */
- AUART_MODEM_CONTROL_RTS = 1 << 2, /**< Request to send */
- AUART_MODEM_CONTROL_ST = 1 << 3, /**< Secondary TXD */
- AUART_MODEM_CONTROL_SR = 1 << 4, /**< Secondary RXD */
- AUART_MODEM_CONTROL_CTS = 1 << 5, /**< Clear to send */
- AUART_MODEM_CONTROL_CD = 1 << 6, /**< Data carrier detect */
- AUART_MODEM_CONTROL_RI = 1 << 7, /**< Ring */
- AUART_MODEM_CONTROL_DSR = 1 << 8 /**< Data set ready */
-} AUartModemControlLine;
-
-// Hardware Flow Control
-typedef enum AUartHardwareFlowControl {
- AUART_HARDWARE_FLOW_CONTROL_NONE = 0, /**< No hardware flow control */
- AUART_HARDWARE_FLOW_CONTROL_AUTO_RTSCTS = 1 /**< Auto RTS/CTS */
-} AUartHardwareFlowControl;
-
-/// Flush queue selection
-typedef enum AUartFlushDirection {
- AUART_FLUSH_IN = 0, /**< Flushes data received but not read */
- AUART_FLUSH_OUT = 1, /**< Flushes data written but not transmitted */
- AUART_FLUSH_IN_OUT = 2 /**< Flushes both in and out */
-} AUartFlushDirection;
-
-typedef struct AUartDevice AUartDevice;
-
-/// Writes to a UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param data Data to write.
-/// @param len Size of the data to write.
-/// @param bytes_written Output pointer to the number of bytes written.
-/// @return 0 on success, errno on error.
-int AUartDevice_write(const AUartDevice* device,
- const void* data,
- uint32_t len,
- uint32_t* bytes_written);
-
-/// Reads from a UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param data Buffer to read the data into.
-/// @param len Number of bytes to read.
-/// @param bytes_read Output pointer to the number of bytes read.
-/// @return 0 on success, errno on error.
-int AUartDevice_read(const AUartDevice* device,
- void* data,
- uint32_t len,
- uint32_t* bytes_read);
-
-/// Sets the input and output speed of a UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param baudrate Speed in baud.
-/// @return 0 on success, errno on error.
-int AUartDevice_setBaudrate(const AUartDevice* device, uint32_t baudrate);
-
-/// Sets number of stop bits for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param stop_bits Number of stop bits. Typically 1 or 2.
-/// @return 0 on success, errno on error.
-int AUartDevice_setStopBits(const AUartDevice* device, uint32_t stop_bits);
-
-/// Sets the data size of a character for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param data_size Number of bits per character. Typically between 5 and 8.
-/// @return 0 on success, errno on error.
-int AUartDevice_setDataSize(const AUartDevice* device, uint32_t data_size);
-
-/// Sets the parity mode for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param mode Parity mode.
-/// @return 0 on success, errno on error.
-int AUartDevice_setParity(const AUartDevice* device, AUartParity mode);
-
-/// Sets the hardware flow control mode for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param mode Flow control mode.
-/// @return 0 on success, errno on error.
-int AUartDevice_setHardwareFlowControl(const AUartDevice* device,
- AUartHardwareFlowControl mode);
-
-/// Sets the modem control bits for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param lines Lines to set. AUartModemControlLine values OR'ed together.
-/// @return 0 on success, errno on error.
-int AUartDevice_setModemControl(const AUartDevice* device, uint32_t lines);
-
-/// Clears the modem control bits for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param lines Lines to clear. AUartModemControlLine values OR'ed together.
-/// @return 0 on success, errno on error.
-int AUartDevice_clearModemControl(const AUartDevice* device, uint32_t lines);
-
-/// Sends a break to the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param duration Duration of break transmission in milliseconds. If 0,
-/// transmits zero-valued bits for at least 0.25 seconds, and not more
-/// than 0.5 seconds.
-/// @return 0 on success, errno on error.
-int AUartDevice_sendBreak(const AUartDevice* device, uint32_t duration_msecs);
-
-/// Flushes specified queue for the UART device.
-/// @param device Pointer to the AUartDevice struct.
-/// @param direction Direction to flush.
-/// @return 0 on success, errno on error.
-int AUartDevice_flush(const AUartDevice* device, AUartFlushDirection direction);
-
-/// Gets a file descriptor to be notified when data can be read.
-///
-/// You can use this file descriptor to poll on incoming data instead of
-/// actively reading for new data.
-///
-/// @param device Pointer to the AUartDevice struct.
-/// @param fd Output pointer to the file descriptor.
-/// @return 0 on success, errno on error.
-int AUartDevice_getPollingFd(const AUartDevice* device, int* fd);
-
-/// Acknowledges an input event.
-///
-/// This must be called after receiving an event notification on the polling
-/// file descriptor.
-/// If you don't acknowledge an event, peripheral manager will assume you are
-/// still processing it and you will not receive any more events.
-/// If you acknowledge an event before reading the data from the device, you
-/// will receive an event immediately as there will still be data available.
-///
-/// @param fd File descriptor to acknowledge the event on.
-/// @return 0 on success, errno on error.
-int AUartDevice_ackInputEvent(int fd);
-
-/// Destroys a AUartDevice struct.
-/// @param device Pointer to the AUartDevice struct.
-void AUartDevice_delete(AUartDevice* device);
-
-/// @}
-
-__END_DECLS
-
-#endif // SYSTEM_PERIPHERALMANAGER_UART_DEVICE_H_
diff --git a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/lib/libandroidthings.so b/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/lib/libandroidthings.so
deleted file mode 100644
index 1ff0285..0000000
Binary files a/pi3-smart-remote/native-libandroidthings-0.5.1-devpreview/x86/lib/libandroidthings.so and /dev/null differ
diff --git a/pi3-smart-remote/settings.gradle b/pi3-smart-remote/settings.gradle
deleted file mode 100644
index e7b4def..0000000
--- a/pi3-smart-remote/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include ':app'
diff --git a/stm8-driver/.gitignore b/stm8-driver/.gitignore
deleted file mode 100644
index d5af2a2..0000000
--- a/stm8-driver/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-si_project/
-Debug/
-stm8-doc/
\ No newline at end of file
diff --git a/stm8-driver/BuildLog.log b/stm8-driver/BuildLog.log
deleted file mode 100644
index 5f28270..0000000
--- a/stm8-driver/BuildLog.log
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/stm8-driver/STM8_Driver.ewd b/stm8-driver/STM8_Driver.ewd
deleted file mode 100644
index 18f2053..0000000
--- a/stm8-driver/STM8_Driver.ewd
+++ /dev/null
@@ -1,454 +0,0 @@
-
-
- 3
-
- Debug
-
- STM8
-
- 1
-
- C-SPY
- 1
-
- 1
- 1
- 1
-
- GenRTDescription
- Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
-
-
-
\ No newline at end of file
diff --git a/things-example/.idea/modules.xml b/things-example/.idea/modules.xml
deleted file mode 100644
index e9e0c55..0000000
--- a/things-example/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/things-example/.idea/runConfigurations.xml b/things-example/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/things-example/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/things-example/.idea/vcs.xml b/things-example/.idea/vcs.xml
deleted file mode 100644
index 6c0b863..0000000
--- a/things-example/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/things-example/app/.gitignore b/things-example/app/.gitignore
deleted file mode 100644
index 796b96d..0000000
--- a/things-example/app/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/things-example/app/build.gradle b/things-example/app/build.gradle
deleted file mode 100644
index da8f59a..0000000
--- a/things-example/app/build.gradle
+++ /dev/null
@@ -1,28 +0,0 @@
-apply plugin: 'com.android.application'
-
-android {
- compileSdkVersion 26
- defaultConfig {
- applicationId "net.irext.irext_things"
- minSdkVersion 27
- targetSdkVersion 26
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'com.android.support.constraint:constraint-layout:1.0.2'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.1'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
- compileOnly 'com.google.android.things:androidthings:+'
-}
diff --git a/things-example/app/proguard-rules.pro b/things-example/app/proguard-rules.pro
deleted file mode 100644
index f1b4245..0000000
--- a/things-example/app/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# 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 *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/things-example/app/src/androidTest/java/net/irext/irext_things/ExampleInstrumentedTest.java b/things-example/app/src/androidTest/java/net/irext/irext_things/ExampleInstrumentedTest.java
deleted file mode 100644
index 3c90705..0000000
--- a/things-example/app/src/androidTest/java/net/irext/irext_things/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package net.irext.irext_things;
-
-import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
- @Test
- public void useAppContext() throws Exception {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getTargetContext();
-
- assertEquals("net.irext.irext_things", appContext.getPackageName());
- }
-}
diff --git a/things-example/app/src/main/AndroidManifest.xml b/things-example/app/src/main/AndroidManifest.xml
deleted file mode 100644
index bc0cb68..0000000
--- a/things-example/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/things-example/app/src/main/java/net/irext/irext_things/MainActivity.java b/things-example/app/src/main/java/net/irext/irext_things/MainActivity.java
deleted file mode 100644
index 8c1f0b1..0000000
--- a/things-example/app/src/main/java/net/irext/irext_things/MainActivity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package net.irext.irext_things;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-/**
- * Skeleton of an Android Things activity.
- *
- * Android Things peripheral APIs are accessible through the class
- * PeripheralManagerService. For example, the snippet below will open a GPIO pin and
- * set it to HIGH:
- *
- * For more complex peripherals, look for an existing user-space driver, or implement one if none
- * is available.
- *
- * @see https://github.com/androidthings/contrib-drivers#readme
- */
-public class MainActivity extends Activity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
-}
diff --git a/things-example/app/src/main/res/layout/activity_main.xml b/things-example/app/src/main/res/layout/activity_main.xml
deleted file mode 100644
index d9d1ebc..0000000
--- a/things-example/app/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
diff --git a/things-example/app/src/main/res/values/colors.xml b/things-example/app/src/main/res/values/colors.xml
deleted file mode 100644
index 3ab3e9c..0000000
--- a/things-example/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- #3F51B5
- #303F9F
- #FF4081
-
diff --git a/things-example/app/src/main/res/values/strings.xml b/things-example/app/src/main/res/values/strings.xml
deleted file mode 100644
index 7f47bdc..0000000
--- a/things-example/app/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- IREXT-Things
-
diff --git a/things-example/app/src/main/res/values/styles.xml b/things-example/app/src/main/res/values/styles.xml
deleted file mode 100644
index b6b9204..0000000
--- a/things-example/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/things-example/app/src/test/java/net/irext/irext_things/ExampleUnitTest.java b/things-example/app/src/test/java/net/irext/irext_things/ExampleUnitTest.java
deleted file mode 100644
index f72ac09..0000000
--- a/things-example/app/src/test/java/net/irext/irext_things/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package net.irext.irext_things;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see Testing documentation
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() throws Exception {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file
diff --git a/things-example/build.gradle b/things-example/build.gradle
deleted file mode 100644
index e6b32bc..0000000
--- a/things-example/build.gradle
+++ /dev/null
@@ -1,27 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
-buildscript {
-
- repositories {
- google()
- jcenter()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:3.0.1'
-
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
-}
-
-allprojects {
- repositories {
- google()
- jcenter()
- }
-}
-
-task clean(type: Delete) {
- delete rootProject.buildDir
-}
diff --git a/things-example/empty b/things-example/empty
new file mode 100644
index 0000000..e69de29
diff --git a/things-example/gradle.properties b/things-example/gradle.properties
deleted file mode 100644
index aac7c9b..0000000
--- a/things-example/gradle.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
-
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
diff --git a/things-example/gradle/wrapper/gradle-wrapper.jar b/things-example/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 13372ae..0000000
Binary files a/things-example/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/things-example/gradle/wrapper/gradle-wrapper.properties b/things-example/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index d018b6a..0000000
--- a/things-example/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Sun Jan 21 21:22:28 CST 2018
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
diff --git a/things-example/gradlew b/things-example/gradlew
deleted file mode 100644
index 9d82f78..0000000
--- a/things-example/gradlew
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
- echo "$*"
-}
-
-die ( ) {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
-esac
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/things-example/gradlew.bat b/things-example/gradlew.bat
deleted file mode 100644
index 8a0b282..0000000
--- a/things-example/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/things-example/settings.gradle b/things-example/settings.gradle
deleted file mode 100644
index e7b4def..0000000
--- a/things-example/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include ':app'