├── IOIO ├── .idea │ ├── .name │ ├── copyright │ │ └── profiles_settings.xml │ ├── dictionaries │ │ └── skaarjbg.xml │ ├── scopes │ │ └── scope_settings.xml │ ├── encodings.xml │ ├── vcs.xml │ ├── inspectionProfiles │ │ ├── profiles_settings.xml │ │ └── Project_Default.xml │ ├── compiler.xml │ ├── gradle.xml │ ├── modules.xml │ └── misc.xml ├── IOIOLibs │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ └── strings.xml │ │ │ │ ├── drawable-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ └── drawable-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ └── AndroidManifest.xml │ │ └── androidTest │ │ │ └── java │ │ │ └── co │ │ │ └── flyver │ │ │ └── ioiolibs │ │ │ └── ApplicationTest.java │ ├── build.gradle │ └── proguard-rules.pro ├── .gitignore ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── iOIOLibBT │ ├── src │ │ └── main │ │ │ ├── res │ │ │ └── .gitignore │ │ │ └── AndroidManifest.xml │ └── build.gradle ├── iOIOLibAndroid │ ├── src │ │ └── main │ │ │ ├── res │ │ │ └── .gitignore │ │ │ ├── java │ │ │ └── ioio │ │ │ │ └── lib │ │ │ │ ├── api │ │ │ │ ├── Closeable.java │ │ │ │ ├── exception │ │ │ │ │ ├── IncompatibilityException.java │ │ │ │ │ ├── ConnectionLostException.java │ │ │ │ │ └── OutOfResourceException.java │ │ │ │ └── IOIOConnection.java │ │ │ │ ├── impl │ │ │ │ ├── InterruptibleQueue.java │ │ │ │ ├── ResourceLifeCycle.java │ │ │ │ ├── Constants.java │ │ │ │ ├── AbstractResource.java │ │ │ │ ├── AbstractPin.java │ │ │ │ ├── DigitalOutputImpl.java │ │ │ │ ├── FixedReadBufferedInputStream.java │ │ │ │ ├── SpecificResourceAllocator.java │ │ │ │ ├── SocketIOIOConnectionBootstrap.java │ │ │ │ ├── GenericResourceAllocator.java │ │ │ │ └── DigitalInputImpl.java │ │ │ │ ├── util │ │ │ │ ├── BaseIOIOLooper.java │ │ │ │ ├── IOIOLooperProvider.java │ │ │ │ ├── android │ │ │ │ │ └── ContextWrapperDependent.java │ │ │ │ └── IOIOLooper.java │ │ │ │ └── spi │ │ │ │ ├── NoRuntimeSupportException.java │ │ │ │ ├── IOIOConnectionBootstrap.java │ │ │ │ ├── IOIOConnectionFactory.java │ │ │ │ └── Log.java │ │ │ └── AndroidManifest.xml │ └── build.gradle ├── iOIOLibAccessory │ ├── src │ │ └── main │ │ │ ├── res │ │ │ └── xml │ │ │ │ └── accessory_filter.xml │ │ │ ├── AndroidManifest.xml │ │ │ └── main.iml │ └── build.gradle ├── iOIOLibAndroidDevice │ ├── src │ │ └── main │ │ │ ├── res │ │ │ └── xml │ │ │ │ └── device_filter.xml │ │ │ └── AndroidManifest.xml │ └── build.gradle ├── settings.gradle ├── build.gradle ├── IOIO.iml ├── gradle.properties └── gradlew.bat ├── Client ├── .gitignore ├── libs │ └── gson-2.3.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── co │ │ │ └── flyver │ │ │ └── Client │ │ │ ├── HeartbeatMonitor.java │ │ │ └── ServerListener.java │ └── androidTest │ │ └── java │ │ └── co │ │ └── flyver │ │ └── Client │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── IPC ├── .gitignore ├── libs │ └── gson-2.3.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── co │ │ │ └── flyver │ │ │ └── IPC │ │ │ ├── IPCKeys.java │ │ │ ├── JSONUtils.java │ │ │ └── IPCContainers.java │ └── androidTest │ │ └── java │ │ └── co │ │ └── flyver │ │ └── IPC │ │ └── ApplicationTest.java ├── build.gradle └── proguard-rules.pro ├── utils ├── .gitignore ├── libs │ └── gson-2.3.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── co │ │ │ └── flyver │ │ │ └── utils │ │ │ ├── flyverMQ │ │ │ ├── exceptions │ │ │ │ ├── NoSuchTopicException.java │ │ │ │ └── ProducerAlreadyRegisteredException.java │ │ │ ├── interfaces │ │ │ │ ├── FlyverMQConsumer.java │ │ │ │ └── FlyverMQCallback.java │ │ │ ├── FlyverMQSocketServer.java │ │ │ ├── FlyverMQProducer.java │ │ │ ├── FlyverMQCtl.java │ │ │ └── FlyverMQMessage.java │ │ │ └── CapacityQueue.java │ └── androidTest │ │ └── java │ │ └── co │ │ └── flyver │ │ └── utils │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── FlyverCore ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ └── xml │ │ │ │ └── preferences.xml │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── co │ │ │ │ └── flyver │ │ │ │ └── flyvercore │ │ │ │ ├── MainControllers │ │ │ │ └── MainControllerInstanceExisting.java │ │ │ │ ├── DroneTypes │ │ │ │ ├── Drone.java │ │ │ │ └── QuadCopterX.java │ │ │ │ ├── MicroControllers │ │ │ │ └── MicroController.java │ │ │ │ ├── StateData │ │ │ │ ├── LocationServicesSubsciber.java │ │ │ │ └── DroneLocation.java │ │ │ │ └── PIDControllers │ │ │ │ ├── PIDController.java │ │ │ │ └── PIDAngleController.java │ │ └── assets │ │ │ └── webpage │ │ │ ├── index.html │ │ │ ├── FlyverWeb.css │ │ │ ├── NOTICE │ │ │ ├── LICENSE-MIT │ │ │ └── FlyverWeb.js │ └── androidTest │ │ └── java │ │ └── co │ │ └── flyver │ │ └── flyvercore │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── nanohttpd ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ ├── java │ │ │ └── fi │ │ │ │ └── iki │ │ │ │ └── elonen │ │ │ │ ├── IWebSocketFactory.java │ │ │ │ ├── WebServerPluginInfo.java │ │ │ │ ├── WebServerPlugin.java │ │ │ │ ├── InternalRewrite.java │ │ │ │ ├── ServerRunner.java │ │ │ │ ├── WebSocketException.java │ │ │ │ └── NanoWebSocketServer.java │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── fi │ │ └── iki │ │ └── elonen │ │ └── ApplicationTest.java ├── build.gradle └── proguard-rules.pro ├── FlyverServer ├── .gitignore ├── libs │ └── gson-2.3.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ ├── java │ │ │ └── co │ │ │ │ └── flyver │ │ │ │ └── androidrc │ │ │ │ └── Server │ │ │ │ └── interfaces │ │ │ │ └── ServerCallback.java │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── co │ │ └── flyver │ │ └── androidrc │ │ └── Server │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── dataloggerlib ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── strings_activity_settings.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── menu │ │ │ │ └── menu_logger_test.xml │ │ │ ├── layout │ │ │ │ └── activity_data_log_local_data.xml │ │ │ └── xml │ │ │ │ └── pref_general.xml │ │ ├── java │ │ │ └── co │ │ │ │ └── flyver │ │ │ │ └── dataloggerlib │ │ │ │ ├── IntCfg.java │ │ │ │ ├── LocalDataActivity.java │ │ │ │ ├── LoggerTestActivity.java │ │ │ │ └── SimpleEvent.java │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── com │ │ └── example │ │ └── dataloggerlib │ │ └── ApplicationTest.java ├── build.gradle └── proguard-rules.pro ├── libstreaming ├── src │ └── main │ │ ├── res │ │ └── .gitkeep │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── net │ │ └── majorkernelpanic │ │ └── streaming │ │ ├── exceptions │ │ ├── CameraInUseException.java │ │ ├── ConfNotSupportedException.java │ │ ├── InvalidSurfaceException.java │ │ └── StorageUnavailableException.java │ │ ├── rtsp │ │ └── RtcpDeinterleaver.java │ │ ├── audio │ │ ├── AudioQuality.java │ │ └── AMRNBStream.java │ │ ├── mp4 │ │ └── MP4Config.java │ │ └── video │ │ └── H263Stream.java └── build.gradle ├── hardware ├── QuadcopterX.png ├── connections.fzz ├── connections.jpg ├── Images │ ├── IOIO │ │ ├── top.jpg │ │ ├── bottom.jpg │ │ └── top_jst.jpg │ └── Quadcopter │ │ ├── on.jpg │ │ ├── side.jpg │ │ ├── top.jpg │ │ ├── bottom.jpg │ │ └── close.jpg └── structure │ ├── Flyver Configuration I.jpg │ ├── Flyver Configuration II.jpg │ └── Flyver Configuration III.jpg ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── opensource_software_used ├── settings.gradle ├── FlyverTest.iml ├── gradle.properties ├── README.md └── gradlew.bat /IOIO/.idea/.name: -------------------------------------------------------------------------------- 1 | IOIO -------------------------------------------------------------------------------- /Client/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /IPC/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /utils/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /FlyverCore/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /nanohttpd/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /FlyverServer/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /IOIO/IOIOLibs/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /dataloggerlib/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /libstreaming/src/main/res/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /IPC/libs/gson-2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IPC/libs/gson-2.3.jar -------------------------------------------------------------------------------- /Client/libs/gson-2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/Client/libs/gson-2.3.jar -------------------------------------------------------------------------------- /hardware/QuadcopterX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/QuadcopterX.png -------------------------------------------------------------------------------- /hardware/connections.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/connections.fzz -------------------------------------------------------------------------------- /hardware/connections.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/connections.jpg -------------------------------------------------------------------------------- /utils/libs/gson-2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/utils/libs/gson-2.3.jar -------------------------------------------------------------------------------- /FlyverServer/libs/gson-2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverServer/libs/gson-2.3.jar -------------------------------------------------------------------------------- /hardware/Images/IOIO/top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/IOIO/top.jpg -------------------------------------------------------------------------------- /IPC/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | IPC_Defs 3 | 4 | -------------------------------------------------------------------------------- /hardware/Images/IOIO/bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/IOIO/bottom.jpg -------------------------------------------------------------------------------- /hardware/Images/IOIO/top_jst.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/IOIO/top_jst.jpg -------------------------------------------------------------------------------- /utils/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Utils 3 | 4 | -------------------------------------------------------------------------------- /Client/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Client 3 | 4 | -------------------------------------------------------------------------------- /IOIO/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /hardware/Images/Quadcopter/on.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/Quadcopter/on.jpg -------------------------------------------------------------------------------- /hardware/Images/Quadcopter/side.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/Quadcopter/side.jpg -------------------------------------------------------------------------------- /hardware/Images/Quadcopter/top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/Quadcopter/top.jpg -------------------------------------------------------------------------------- /IOIO/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /IOIO/IOIOLibs/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | IOIO 3 | 4 | -------------------------------------------------------------------------------- /hardware/Images/Quadcopter/bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/Quadcopter/bottom.jpg -------------------------------------------------------------------------------- /hardware/Images/Quadcopter/close.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/Images/Quadcopter/close.jpg -------------------------------------------------------------------------------- /nanohttpd/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NanoHTTPD 3 | 4 | -------------------------------------------------------------------------------- /IOIO/.idea/dictionaries/skaarjbg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /IOIO/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IOIO/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /IOIO/iOIOLibBT/src/main/res/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | 6 | -------------------------------------------------------------------------------- /FlyverServer/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | AndroidRCServer 3 | 4 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroid/src/main/res/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | 6 | -------------------------------------------------------------------------------- /hardware/structure/Flyver Configuration I.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/structure/Flyver Configuration I.jpg -------------------------------------------------------------------------------- /IPC/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IPC/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /IPC/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IPC/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /IPC/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IPC/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /hardware/structure/Flyver Configuration II.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/structure/Flyver Configuration II.jpg -------------------------------------------------------------------------------- /hardware/structure/Flyver Configuration III.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/hardware/structure/Flyver Configuration III.jpg -------------------------------------------------------------------------------- /Client/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/Client/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Client/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/Client/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Client/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/Client/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroid/src/main/java/ioio/lib/api/Closeable.java: -------------------------------------------------------------------------------- 1 | package ioio.lib.api; 2 | 3 | public interface Closeable { 4 | void close(); 5 | } 6 | -------------------------------------------------------------------------------- /IPC/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IPC/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /utils/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/utils/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /utils/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/utils/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /utils/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/utils/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /utils/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/utils/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Client/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/Client/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /nanohttpd/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/nanohttpd/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /nanohttpd/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/nanohttpd/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverCore/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverCore/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverCore/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverCore/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverCore/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverCore/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverCore/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverCore/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverServer/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverServer/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverServer/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverServer/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /nanohttpd/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/nanohttpd/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /nanohttpd/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/nanohttpd/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverServer/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverServer/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FlyverServer/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/FlyverServer/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /IOIO/IOIOLibs/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IOIO/IOIOLibs/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /IOIO/IOIOLibs/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IOIO/IOIOLibs/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /IOIO/IOIOLibs/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IOIO/IOIOLibs/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/dataloggerlib/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/dataloggerlib/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/dataloggerlib/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /IOIO/IOIOLibs/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/IOIO/IOIOLibs/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flyver/Flyver-SDK/HEAD/dataloggerlib/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /IOIO/iOIOLibAccessory/src/main/res/xml/accessory_filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /IOIO/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /IOIO/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /IOIO/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroidDevice/src/main/res/xml/device_filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /nanohttpd/src/main/java/fi/iki/elonen/IWebSocketFactory.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | import fi.iki.elonen.NanoHTTPD.IHTTPSession; 4 | 5 | public interface IWebSocketFactory { 6 | WebSocket openWebSocket(IHTTPSession handshake); 7 | } 8 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroid/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 17 5 | buildToolsVersion "19.1.0" 6 | 7 | defaultConfig { 8 | } 9 | 10 | buildTypes { 11 | release { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 08 16:47:39 EET 2014 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip 7 | -------------------------------------------------------------------------------- /IOIO/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Apr 10 15:27:10 PDT 2013 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip 7 | -------------------------------------------------------------------------------- /IOIO/.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /nanohttpd/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /utils/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /IOIO/IOIOLibs/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libstreaming/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 19 5 | buildToolsVersion "19.1.0" 6 | 7 | defaultConfig { 8 | minSdkVersion 14 9 | targetSdkVersion 19 10 | } 11 | 12 | buildTypes { 13 | release { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroid/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /IOIO/iOIOLibBT/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /IPC/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Client/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /IOIO/iOIOLibBT/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 17 5 | buildToolsVersion "19.1.0" 6 | 7 | defaultConfig { 8 | } 9 | 10 | buildTypes { 11 | release { 12 | } 13 | } 14 | } 15 | 16 | dependencies { 17 | compile project(':iOIOLibAndroid') 18 | } 19 | -------------------------------------------------------------------------------- /FlyverCore/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroidDevice/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 17 5 | buildToolsVersion "19.1.0" 6 | 7 | defaultConfig { 8 | } 9 | 10 | buildTypes { 11 | release { 12 | } 13 | } 14 | } 15 | 16 | dependencies { 17 | compile project(':iOIOLibAndroid') 18 | } 19 | -------------------------------------------------------------------------------- /libstreaming/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /utils/src/main/java/co/flyver/utils/flyverMQ/exceptions/NoSuchTopicException.java: -------------------------------------------------------------------------------- 1 | package co.flyver.utils.flyverMQ.exceptions; 2 | 3 | /** 4 | * Created by Petar Petrov on 12/16/14. 5 | */ 6 | public class NoSuchTopicException extends Exception { 7 | public NoSuchTopicException(String detailMessage) { 8 | super(detailMessage); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /FlyverCore/src/main/java/co/flyver/flyvercore/MainControllers/MainControllerInstanceExisting.java: -------------------------------------------------------------------------------- 1 | package co.flyver.flyvercore.MainControllers; 2 | 3 | /** 4 | * Created by flyver on 12/19/14. 5 | */ 6 | public class MainControllerInstanceExisting extends Exception { 7 | public MainControllerInstanceExisting(String msg ) { 8 | super(msg); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAccessory/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /utils/src/main/java/co/flyver/utils/flyverMQ/exceptions/ProducerAlreadyRegisteredException.java: -------------------------------------------------------------------------------- 1 | package co.flyver.utils.flyverMQ.exceptions; 2 | 3 | /** 4 | * Created by Petar Petrov on 12/16/14. 5 | */ 6 | public class ProducerAlreadyRegisteredException extends Exception { 7 | public ProducerAlreadyRegisteredException(String detailMessage) { 8 | super(detailMessage); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /nanohttpd/src/main/java/fi/iki/elonen/WebServerPluginInfo.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | /** 4 | * @author Paul S. Hawke (paul.hawke@gmail.com) 5 | * On: 9/14/13 at 8:09 AM 6 | */ 7 | public interface WebServerPluginInfo { 8 | String[] getMimeTypes(); 9 | 10 | String[] getIndexFilesForMimeType(String mime); 11 | 12 | WebServerPlugin getWebServerPlugin(String mimeType); 13 | } 14 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroidDevice/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | 15 | # Gradle files 16 | .gradle/ 17 | build/ 18 | 19 | # Local configuration file (sdk path, etc) 20 | local.properties 21 | 22 | # Proguard folder generated by Eclipse 23 | proguard/ 24 | 25 | # Log Files 26 | *.log 27 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /IPC/src/androidTest/java/co/flyver/IPC/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package co.flyver.IPC; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /Client/src/androidTest/java/co/flyver/Client/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package co.flyver.Client; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /nanohttpd/src/androidTest/java/fi/iki/elonen/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /utils/src/androidTest/java/co/flyver/utils/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package co.flyver.utils; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /FlyverServer/src/main/java/co/flyver/androidrc/Server/interfaces/ServerCallback.java: -------------------------------------------------------------------------------- 1 | package co.flyver.androidrc.Server.interfaces; 2 | 3 | /** 4 | * Created by Petar Petrov on 1/6/15. 5 | */ 6 | 7 | /** 8 | * Interface for defining custom callbacks 9 | * which are associated with keys, and are run 10 | * when a JSON with the appropriate key is received 11 | */ 12 | public interface ServerCallback { 13 | public void run(String json); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /IOIO/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':iOIOLibAndroid', ':iOIOLibAccessory', ':iOIOLibBT', ':IOIOLibs', ':iOIOLibAndroidDevice', ":FlyverCore" 2 | project(':iOIOLibAccessory').projectDir = new File('iOIOLibAccessory') 3 | project(':iOIOLibBT').projectDir = new File('iOIOLibBT') 4 | project(':IOIOLibs').projectDir = new File('IOIOLibs') 5 | project(':iOIOLibAndroidDevice').projectDir = new File('iOIOLibAndroidDevice') 6 | project(':FlyverCore').projectDir = new File('FlyverCore') 7 | -------------------------------------------------------------------------------- /FlyverCore/src/androidTest/java/co/flyver/flyvercore/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package co.flyver.flyvercore; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /IOIO/IOIOLibs/src/androidTest/java/co/flyver/ioiolibs/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package co.flyver.ioiolibs; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /dataloggerlib/src/androidTest/java/com/example/dataloggerlib/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package co.flyver.dataloggerlib; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /FlyverServer/src/androidTest/java/co/flyver/androidrc/Server/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package co.flyver.androidrc.Server; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /opensource_software_used: -------------------------------------------------------------------------------- 1 | Reference of the used open-source software 2 | 3 | IOIO board software - https://github.com/ytai/ioio 4 | 5 | libstreaming - live video streaming library for android - https://github.com/fyhertz/libstreaming 6 | 7 | Google GSON - JSON serialization library - https://code.google.com/p/google-gson/ 8 | 9 | Andro-copter - https://code.google.com/p/andro-copter/ 10 | 11 | NanoHTTPD - https://github.com/NanoHttpd/nanohttpd 12 | 13 | vis.js - http://visjs.org/ -------------------------------------------------------------------------------- /IOIO/iOIOLibAccessory/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | //compileSdkVersion 19 5 | compileSdkVersion "Google Inc.:Google APIs:19" 6 | buildToolsVersion "19.1.0" 7 | 8 | defaultConfig { 9 | } 10 | 11 | buildTypes { 12 | release { 13 | } 14 | } 15 | } 16 | 17 | dependencies { 18 | compile fileTree(include: ['*.jar'], dir: 'libs') 19 | compile project(':iOIOLibAndroid') 20 | compile files('libs/usb.jar') 21 | } 22 | -------------------------------------------------------------------------------- /IOIO/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:0.12.2' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /dataloggerlib/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 17 5 | buildToolsVersion '19.1.0' 6 | 7 | defaultConfig { 8 | minSdkVersion 17 9 | targetSdkVersion 20 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | buildTypes { 14 | release { 15 | } 16 | } 17 | } 18 | 19 | dependencies { 20 | compile fileTree(dir: 'libs', include: ['*.jar']) 21 | compile 'com.android.support:support-v4:20.0.0' 22 | compile project(':utils') 23 | } 24 | -------------------------------------------------------------------------------- /IOIO/IOIOLibs/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | // compileSdkVersion 'android-L' 5 | compileSdkVersion 17 6 | buildToolsVersion "20.0.0" 7 | 8 | defaultConfig { 9 | minSdkVersion 17 10 | targetSdkVersion 19 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | } 17 | } 18 | } 19 | 20 | dependencies { 21 | compile fileTree(dir: 'libs', include: ['*.jar']) 22 | compile 'com.android.support:appcompat-v7:20.0.0' 23 | } 24 | -------------------------------------------------------------------------------- /FlyverCore/src/main/java/co/flyver/flyvercore/DroneTypes/Drone.java: -------------------------------------------------------------------------------- 1 | package co.flyver.flyvercore.DroneTypes; 2 | 3 | /** 4 | * All types of drones shall implement this interface 5 | * TODO: Drone specific control abstraction here 6 | */ 7 | public interface Drone{ 8 | 9 | public void updateSpeeds(float yawForce, float pitchForce, float rollForce, float altitudeForce); 10 | public void setToZero(); 11 | public String getDebugText(); 12 | public float[] getMotorPowers(); 13 | class MotorPowers {}; 14 | // TODO: Fix working only with IOIO 15 | } 16 | -------------------------------------------------------------------------------- /nanohttpd/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.1" 6 | 7 | defaultConfig { 8 | minSdkVersion 17 9 | targetSdkVersion 21 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | compile fileTree(dir: 'libs', include: ['*.jar']) 23 | } 24 | -------------------------------------------------------------------------------- /nanohttpd/src/main/java/fi/iki/elonen/WebServerPlugin.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | import java.io.File; 4 | import java.util.Map; 5 | 6 | import fi.iki.elonen.NanoHTTPD.IHTTPSession; 7 | 8 | /** 9 | * @author Paul S. Hawke (paul.hawke@gmail.com) 10 | * On: 9/14/13 at 8:09 AM 11 | */ 12 | public interface WebServerPlugin { 13 | 14 | void initialize(Map commandLineOptions); 15 | 16 | boolean canServeUri(String uri, File rootDir); 17 | 18 | NanoHTTPD.Response serveFile(String uri, Map headers, IHTTPSession session, File file, String mimeType); 19 | } 20 | -------------------------------------------------------------------------------- /FlyverCore/src/main/assets/webpage/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

Hello Flyver

13 |

This is a simple webpage served on an android phone

14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /FlyverServer/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /IPC/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 19 5 | buildToolsVersion "20.0.0" 6 | 7 | defaultConfig { 8 | minSdkVersion 17 9 | targetSdkVersion 20 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | 14 | compileOptions { 15 | sourceCompatibility JavaVersion.VERSION_1_7 16 | targetCompatibility JavaVersion.VERSION_1_7 17 | } 18 | buildTypes { 19 | release { 20 | } 21 | } 22 | } 23 | 24 | dependencies { 25 | compile fileTree(include: ['*.jar'], dir: 'libs') 26 | compile files('libs/gson-2.3.jar') 27 | } 28 | -------------------------------------------------------------------------------- /FlyverCore/src/main/assets/webpage/FlyverWeb.css: -------------------------------------------------------------------------------- 1 | #scrollbox { 2 | width:650px; 3 | height:650px; 4 | line-height:1em; 5 | overflow:scroll; 6 | padding:1px; 7 | margin-top: -50px; 8 | margin-left: 600px; 9 | } 10 | /* 11 | .vis.timeline .pitchStyle { 12 | color: blue; 13 | fill: #f23303; 14 | fill-opacity:0; 15 | stroke-width:2px; 16 | stroke: #ff0004; 17 | } 18 | 19 | 20 | .vis.timeline .rollStyle { 21 | color: red; 22 | fill: #0df200; 23 | fill-opacity:0; 24 | stroke-width:2px; 25 | stroke: #0df200; 26 | } 27 | 28 | .vis.timeline .yawStyle { 29 | color: yellow; 30 | fill: #f23103; 31 | fill-opacity:0; 32 | stroke-width:2px; 33 | stroke: #ff0004; 34 | }*/ 35 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/java/co/flyver/dataloggerlib/IntCfg.java: -------------------------------------------------------------------------------- 1 | package co.flyver.dataloggerlib; 2 | 3 | /** 4 | * Created by Valentin Ivanov on 27.10.2014 г.. 5 | */ 6 | public final class IntCfg { 7 | //public static SharedPreferences globalProperties; 8 | 9 | public static final String local_filename = "local_filename"; 10 | public static final String internal_storage_path = "internal_storage_path"; 11 | public static final String save_internally = "save_internally"; 12 | 13 | public static final String KEY_LOG_URL = "log_url"; 14 | public static final String KEY_LOG_METHOD = "log_method"; 15 | public static final String KEY_ACCESS_TOKEN = "access_token"; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/menu/menu_logger_test.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 9 | 11 | 12 | -------------------------------------------------------------------------------- /nanohttpd/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /media/Data/Android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /utils/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /media/Data/Android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /FlyverServer/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /media/Data/Android_Studio/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /IOIO/IOIOLibs/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/tisho/android-studio/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /IPC/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/skaarjbg/android-studio/android-studio/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /Client/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/skaarjbg/android-studio/android-studio/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /FlyverCore/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/skaarjbg/android-studio/android-studio/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app',':FlyverServer', ':IPC', ':dataloggerlib', ':iOIOLibBT', ':IOIOLibs', ':iOIOLibAndroidDevice', ':iOIOLibAndroid', ':iOIOLibAccessory', ':iOIOController', ':FlyverCore', ':libstreaming' 2 | project(':iOIOLibBT').projectDir = new File('IOIO/iOIOLibBT') 3 | project(':IOIOLibs').projectDir = new File('IOIO/IOIOLibs') 4 | project(':iOIOLibAndroidDevice').projectDir = new File('IOIO/iOIOLibAndroidDevice') 5 | project(':iOIOLibAndroid').projectDir = new File('IOIO/iOIOLibAndroid') 6 | project(':iOIOLibAccessory').projectDir = new File('IOIO/iOIOLibAccessory') 7 | project(':iOIOController').projectDir = new File('IOIO/iOIOController') 8 | project(':FlyverCore').projectDir = new File('FlyverCore') 9 | project(':FlyverServer').projectDir = new File('FlyverServer') -------------------------------------------------------------------------------- /FlyverServer/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 17 5 | buildToolsVersion '20.0.0' 6 | 7 | defaultConfig { 8 | minSdkVersion 17 9 | targetSdkVersion 20 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | buildTypes { 14 | release { 15 | } 16 | } 17 | compileOptions { 18 | sourceCompatibility JavaVersion.VERSION_1_7 19 | targetCompatibility JavaVersion.VERSION_1_7 20 | } 21 | } 22 | 23 | dependencies { 24 | compile fileTree(include: ['*.jar'], dir: 'libs') 25 | compile files('libs/gson-2.3.jar') 26 | compile project(':IPC') 27 | compile project(':dataloggerlib') 28 | compile project(':libstreaming') 29 | } 30 | -------------------------------------------------------------------------------- /dataloggerlib/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:/Users/Valentin Ivanov/AppData/Local/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /nanohttpd/src/main/java/fi/iki/elonen/InternalRewrite.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | import java.util.Map; 4 | 5 | import static fi.iki.elonen.NanoHTTPD.Response; 6 | 7 | /** 8 | * @author Paul S. Hawke (paul.hawke@gmail.com) 9 | * On: 9/15/13 at 2:52 PM 10 | */ 11 | public class InternalRewrite extends Response { 12 | private final String uri; 13 | private final Map headers; 14 | 15 | public InternalRewrite(Map headers, String uri) { 16 | super(null); 17 | this.headers = headers; 18 | this.uri = uri; 19 | } 20 | 21 | public String getUri() { 22 | return uri; 23 | } 24 | 25 | public Map getHeaders() { 26 | return headers; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /nanohttpd/src/main/java/fi/iki/elonen/ServerRunner.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | import android.util.Log; 4 | 5 | import java.io.IOException; 6 | 7 | public class ServerRunner { 8 | public static void run(Class serverClass) { 9 | try { 10 | executeInstance((NanoHTTPD) serverClass.newInstance()); 11 | } catch (Exception e) { 12 | e.printStackTrace(); 13 | } 14 | } 15 | 16 | public static void executeInstance(NanoHTTPD server) { 17 | try { 18 | Log.d("SERVER_RUNNER", "WebServer started"); 19 | server.start(); 20 | } catch (IOException ioe) { 21 | Log.e("SERVER_RUNNER", "Couldn't start server:\n" + ioe); 22 | System.exit(-1); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /FlyverCore/src/main/assets/webpage/NOTICE: -------------------------------------------------------------------------------- 1 | Vis.js 2 | Copyright 2010-2015 Almende B.V. 3 | 4 | Vis.js is dual licensed under both 5 | 6 | * The Apache 2.0 License 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | and 10 | 11 | * The MIT License 12 | http://opensource.org/licenses/MIT 13 | 14 | Vis.js may be distributed under either license. 15 | 16 | 17 | Vis.js uses and redistributes the following third-party libraries: 18 | 19 | - component-emitter 20 | https://github.com/component/emitter 21 | The MIT License 22 | 23 | - hammer.js 24 | http://hammerjs.github.io/ 25 | The MIT License 26 | 27 | - moment.js 28 | http://momentjs.com/ 29 | The MIT License 30 | 31 | - keycharm 32 | https://github.com/AlexDM0/keycharm 33 | The MIT License 34 | -------------------------------------------------------------------------------- /FlyverCore/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FlyverCore1 3 | PIDPreferences 4 | 5 | Proportional 6 | Integral 7 | Derivative 8 | 9 | proportionalY 10 | integralY 11 | derivativeY 12 | 13 | proportionalP 14 | integralP 15 | derivativeP 16 | 17 | proportionalR 18 | integralR 19 | derivativeR 20 | 21 | -------------------------------------------------------------------------------- /utils/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 20 5 | buildToolsVersion "20.0.0" 6 | 7 | compileOptions { 8 | sourceCompatibility JavaVersion.VERSION_1_7 9 | targetCompatibility JavaVersion.VERSION_1_7 10 | } 11 | 12 | defaultConfig { 13 | minSdkVersion 17 14 | targetSdkVersion 20 15 | versionCode 1 16 | versionName "1.0" 17 | } 18 | buildTypes { 19 | release { 20 | minifyEnabled false 21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 22 | } 23 | } 24 | } 25 | 26 | dependencies { 27 | compile fileTree(include: ['*.jar'], dir: 'libs') 28 | compile project(':nanohttpd') 29 | compile project(':IPC') 30 | } 31 | -------------------------------------------------------------------------------- /IOIO/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAccessory/src/main/main.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Client/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 20 5 | buildToolsVersion "20.0.0" 6 | 7 | defaultConfig { 8 | applicationId "co.flyver.Client" 9 | minSdkVersion 17 10 | targetSdkVersion 19 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | 15 | compileOptions { 16 | sourceCompatibility JavaVersion.VERSION_1_7 17 | targetCompatibility JavaVersion.VERSION_1_7 18 | } 19 | buildTypes { 20 | release { 21 | runProguard false 22 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | } 26 | 27 | dependencies { 28 | compile fileTree(include: ['*.jar'], dir: 'libs') 29 | compile files('libs/gson-2.3.jar') 30 | compile project(':IPC') 31 | } 32 | -------------------------------------------------------------------------------- /FlyverCore/src/main/java/co/flyver/flyvercore/MicroControllers/MicroController.java: -------------------------------------------------------------------------------- 1 | package co.flyver.flyvercore.MicroControllers; 2 | 3 | import ioio.lib.api.exception.ConnectionLostException; 4 | 5 | /** 6 | * All microcontrollers used with Flyver shall implement this interface 7 | * A new MicroController shall be made for each Drone type 8 | * 9 | */ 10 | public interface MicroController { 11 | /** 12 | * Initialization Setup 13 | * @throws ConnectionLostException 14 | */ 15 | public void setup() throws ConnectionLostException; 16 | 17 | /** 18 | * Loops the microcontroller. 19 | * @throws InterruptedException 20 | * @throws ConnectionLostException 21 | */ 22 | public void loop() throws InterruptedException, ConnectionLostException; 23 | // TODO: Fix the excetions 24 | 25 | public float getBatteryVoltage(); 26 | } 27 | -------------------------------------------------------------------------------- /utils/src/main/java/co/flyver/utils/CapacityQueue.java: -------------------------------------------------------------------------------- 1 | package co.flyver.utils; 2 | 3 | import java.util.concurrent.LinkedBlockingQueue; 4 | 5 | /** 6 | * Created by Petar Petrov on 12/9/14. 7 | */ 8 | /** 9 | * Fifo queue that has limited capacity, passed via the constructor. 10 | * When the capacity is reached, the oldest element of the queue is being removed 11 | * and the new one is added 12 | * @param 13 | */ 14 | public class CapacityQueue extends LinkedBlockingQueue { 15 | private int limit; 16 | 17 | public CapacityQueue(int limit) { 18 | this.limit = limit; 19 | } 20 | 21 | @Override 22 | public boolean add(E e) { 23 | boolean added = super.add(e); 24 | while(added && size() > limit) { 25 | super.remove(); 26 | } 27 | return added; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /FlyverTest.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /IOIO/IOIO.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /IOIO/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /utils/src/main/java/co/flyver/utils/flyverMQ/interfaces/FlyverMQConsumer.java: -------------------------------------------------------------------------------- 1 | package co.flyver.utils.flyverMQ.interfaces; 2 | 3 | import co.flyver.utils.flyverMQ.FlyverMQMessage; 4 | 5 | /** 6 | * Created by Petar Petrov on 12/9/14. 7 | */ 8 | public interface FlyverMQConsumer { 9 | /** 10 | * Data recieved callback for the consumer. 11 | * Called when a message with the associated topic 12 | * for the consumer is received in the message queue 13 | * @param message SimpleMQMessage data container 14 | */ 15 | public void dataReceived(FlyverMQMessage message); 16 | 17 | /** 18 | * Consumer unregister hook 19 | * Called when the consumer is removed from the message queue 20 | */ 21 | public void unregistered(); 22 | 23 | //TODO: clarify if consumers need onPause/onResume functionallity 24 | public void paused(); 25 | public void resumed(); 26 | } 27 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Settings specified in this file will override any Gradle settings 5 | # configured through the IDE. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /IOIO/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Settings specified in this file will override any Gradle settings 5 | # configured through the IDE. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /utils/src/main/java/co/flyver/utils/flyverMQ/interfaces/FlyverMQCallback.java: -------------------------------------------------------------------------------- 1 | package co.flyver.utils.flyverMQ.interfaces; 2 | 3 | /** 4 | * Created by Petar Petrov on 12/17/14. 5 | */ 6 | public interface FlyverMQCallback { 7 | /** 8 | * Called every time a producer is registered to the message queue 9 | * Used to notify components for new producers that they might be interested in 10 | * @param topic String, the topic of the messages sent by the producer 11 | */ 12 | public void producerRegistered(String topic); 13 | 14 | /** 15 | * Called every time a producer is unregistered or replaced from the system 16 | * Used to notify components that a producer has disappeared, so they should unregister 17 | * for it's messages 18 | * @param topic String, the topic of the messages of the unregistered producer 19 | */ 20 | public void producerUnregistered(String topic); 21 | } 22 | -------------------------------------------------------------------------------- /nanohttpd/src/main/java/fi/iki/elonen/WebSocketException.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | import fi.iki.elonen.WebSocketFrame.CloseCode; 4 | 5 | import java.io.IOException; 6 | 7 | public class WebSocketException extends IOException { 8 | private CloseCode code; 9 | private String reason; 10 | 11 | public WebSocketException(Exception cause) { 12 | this(CloseCode.InternalServerError, cause.toString(), cause); 13 | } 14 | 15 | public WebSocketException(CloseCode code, String reason) { 16 | this(code, reason, null); 17 | } 18 | 19 | public WebSocketException(CloseCode code, String reason, Exception cause) { 20 | super(code + ": " + reason, cause); 21 | this.code = code; 22 | this.reason = reason; 23 | } 24 | 25 | public CloseCode getCode() { 26 | return code; 27 | } 28 | 29 | public String getReason() { 30 | return reason; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /FlyverCore/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 17 5 | buildToolsVersion "20.0.0" 6 | 7 | defaultConfig { 8 | minSdkVersion 17 9 | targetSdkVersion 17 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | 14 | compileOptions { 15 | sourceCompatibility JavaVersion.VERSION_1_7 16 | targetCompatibility JavaVersion.VERSION_1_7 17 | } 18 | buildTypes { 19 | release { 20 | } 21 | } 22 | } 23 | 24 | dependencies { 25 | compile 'com.google.android.gms:play-services:6.5.87' 26 | compile fileTree(dir: 'libs', include: ['*.jar']) 27 | compile project(':iOIOLibAccessory') 28 | compile project(':FlyverServer') 29 | compile project(':iOIOLibAndroid') 30 | compile project(':iOIOLibAndroidDevice') 31 | compile project(':iOIOLibBT') 32 | compile project(':IOIOLibs') 33 | compile project(':utils') 34 | } 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Welcome to the Flyver-SDK! 3 | 4 | Flyver’s technology consists of a SDK, programming framework and marketplace for drone apps. Using our technology, developers can create apps that put drones to any sort of use they wish and then publish them on the Flyver marketplace and monetize. To find out more about how exactly Flyver technology works, visit our Getting Started Tutorial. 5 | 6 | On the [Flyver-SDK](https://github.com/flyver/Flyver-SDK/wiki) Wiki you can find all the resources you need to start creating apps. You can also find a series of basic tutorial by the Flyver team to give you a start as well as several app ideas, which are intended to get your mind rolling in the right direction. Naturally, all information posted here is completely openly-available, so you’re welcome to take it and do with it whatever you please, including turn one of our app ideas into a reality! 7 | 8 | We will be adding more and more information to our Wiki as the SDK develops further, so check back frequently! 9 | -------------------------------------------------------------------------------- /IOIO/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /IPC/src/main/java/co/flyver/IPC/IPCKeys.java: -------------------------------------------------------------------------------- 1 | package co.flyver.IPC; 2 | 3 | /** 4 | * Created by Petar Petrov on 11/4/14. 5 | */ 6 | public class IPCKeys { 7 | public static final String COORDINATES = "coordinates"; 8 | public static final String YAW = "yaw"; 9 | public static final String THROTTLE = "throttle"; 10 | public static final String INCREASE = "increase"; 11 | public static final String DECREASE = "decrease"; 12 | public static final String EMERGENCY = "emergency"; 13 | public static final String PIDYAW = "pidy"; 14 | public static final String PIDPITCH = "pidp"; 15 | public static final String PIDROLL = "pidr"; 16 | public static final String PROPORTIONAL = "proportional"; 17 | public static final String INTEGRAL = "integral"; 18 | public static final String DERIVATIVE = "derivative"; 19 | public static final String PICTURE = "picture"; 20 | public static final String PICREADY = "picready"; 21 | public static final String HEARTBEAT = "heartbeat"; 22 | } 23 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroid/src/main/java/ioio/lib/impl/InterruptibleQueue.java: -------------------------------------------------------------------------------- 1 | package ioio.lib.impl; 2 | 3 | import java.util.Queue; 4 | import java.util.concurrent.ArrayBlockingQueue; 5 | 6 | public class InterruptibleQueue { 7 | private Queue queue_; 8 | 9 | public static class Nudged extends Throwable { 10 | private static final long serialVersionUID = -7943717843515344247L; 11 | } 12 | 13 | public InterruptibleQueue(int capacity) { 14 | assert capacity > 0; 15 | queue_ = new ArrayBlockingQueue(capacity); 16 | } 17 | 18 | public synchronized void pushDiscardingOld(T element) { 19 | if (!queue_.offer(element)) { 20 | queue_.remove(); 21 | queue_.offer(element); 22 | } 23 | notifyAll(); 24 | } 25 | 26 | public synchronized T pull() throws Nudged, InterruptedException { 27 | if (queue_.isEmpty()) { 28 | wait(); 29 | } 30 | if (queue_.isEmpty()) { 31 | throw new Nudged(); 32 | } 33 | return queue_.remove(); 34 | } 35 | 36 | public synchronized void nudge() { 37 | notifyAll(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | DataLogger 5 | Settings 6 | Logger test 7 | Saved events 8 | Log data 9 | Event type: 10 | Event tags: 11 | Event data: 12 | SampleEventType 13 | Tag1, Tag2; Tag3 14 | Some Random Data here 123 15 | http://u.ftpd.biz/logger/call/json/store/ 16 | a1a635bf-b51f-4cd9-a69a-c7578792d598 17 | FlyverLogFile.txt 18 | DataLogger Local Data 19 | Hello world! 20 | 21 | 22 | -------------------------------------------------------------------------------- /utils/src/main/java/co/flyver/utils/flyverMQ/FlyverMQSocketServer.java: -------------------------------------------------------------------------------- 1 | package co.flyver.utils.flyverMQ; 2 | 3 | import java.io.IOException; 4 | import java.net.ServerSocket; 5 | 6 | /** 7 | * Created by Petar Petrov on 1/7/15. 8 | */ 9 | 10 | /** 11 | * Socket server handling the external connections to the MessageQueue 12 | */ 13 | public class FlyverMQSocketServer { 14 | ServerSocket server; 15 | FlyverMQExternalWorker worker; 16 | FlyverMQ flyverMQ; 17 | 18 | public FlyverMQSocketServer(FlyverMQ flyverMQ) { 19 | this.flyverMQ = flyverMQ; 20 | try { 21 | server = new ServerSocket(51423); 22 | } catch (IOException e) { 23 | e.printStackTrace(); 24 | } 25 | start(); 26 | } 27 | 28 | private void start() { 29 | //noinspection InfiniteLoopStatement 30 | while(true) { 31 | try { 32 | worker = new FlyverMQExternalWorker(flyverMQ, server.accept()); 33 | Thread thread = new Thread(worker); 34 | thread.start(); 35 | } catch (IOException e) { 36 | e.printStackTrace(); 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /FlyverCore/src/main/assets/webpage/LICENSE-MIT: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2015 Almende B.V. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 25 | 26 | 27 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /FlyverCore/src/main/java/co/flyver/flyvercore/StateData/LocationServicesSubsciber.java: -------------------------------------------------------------------------------- 1 | package co.flyver.flyvercore.StateData; 2 | 3 | import co.flyver.flyvercore.MainControllers.MainController; 4 | import co.flyver.utils.flyverMQ.FlyverMQMessage; 5 | import co.flyver.utils.flyverMQ.interfaces.FlyverMQConsumer; 6 | 7 | /** 8 | * Created by Tihomir Nedev on 15-1-9. 9 | * This class is for test purposes only 10 | */ 11 | public class LocationServicesSubsciber implements FlyverMQConsumer { 12 | 13 | /* Constants */ 14 | public static String TOPIC = "LocationServices"; 15 | DroneLocation droneLocation; 16 | /* End of */ 17 | 18 | public LocationServicesSubsciber(){ 19 | MainController.getInstance().getMessageQueue().registerConsumer(this, TOPIC); 20 | } 21 | @Override 22 | public void dataReceived(FlyverMQMessage message) { 23 | droneLocation = (DroneLocation) message.data; 24 | //Uncomment to log location Log.i("location", droneLocation.toString()); 25 | } 26 | 27 | @Override 28 | public void unregistered() { 29 | } 30 | 31 | @Override 32 | public void paused() { 33 | 34 | } 35 | 36 | @Override 37 | public void resumed() { 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /libstreaming/src/main/java/net/majorkernelpanic/streaming/exceptions/CameraInUseException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011-2014 GUIGUI Simon, fyhertz@gmail.com 3 | * 4 | * This file is part of libstreaming (https://github.com/fyhertz/libstreaming) 5 | * 6 | * Spydroid is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This source code is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this source code; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | */ 20 | 21 | package net.majorkernelpanic.streaming.exceptions; 22 | 23 | public class CameraInUseException extends RuntimeException { 24 | 25 | public CameraInUseException(String message) { 26 | super(message); 27 | } 28 | 29 | private static final long serialVersionUID = -1866132102949435675L; 30 | } 31 | -------------------------------------------------------------------------------- /libstreaming/src/main/java/net/majorkernelpanic/streaming/exceptions/ConfNotSupportedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011-2014 GUIGUI Simon, fyhertz@gmail.com 3 | * 4 | * This file is part of libstreaming (https://github.com/fyhertz/libstreaming) 5 | * 6 | * Spydroid is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This source code is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this source code; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | */ 20 | 21 | package net.majorkernelpanic.streaming.exceptions; 22 | 23 | public class ConfNotSupportedException extends RuntimeException { 24 | 25 | public ConfNotSupportedException(String message) { 26 | super(message); 27 | } 28 | 29 | private static final long serialVersionUID = 5876298277802827615L; 30 | } 31 | -------------------------------------------------------------------------------- /libstreaming/src/main/java/net/majorkernelpanic/streaming/exceptions/InvalidSurfaceException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011-2014 GUIGUI Simon, fyhertz@gmail.com 3 | * 4 | * This file is part of libstreaming (https://github.com/fyhertz/libstreaming) 5 | * 6 | * Spydroid is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This source code is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this source code; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | */ 20 | 21 | package net.majorkernelpanic.streaming.exceptions; 22 | 23 | public class InvalidSurfaceException extends RuntimeException { 24 | 25 | private static final long serialVersionUID = -7238661340093544496L; 26 | 27 | public InvalidSurfaceException(String message) { 28 | super(message); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /libstreaming/src/main/java/net/majorkernelpanic/streaming/exceptions/StorageUnavailableException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011-2014 GUIGUI Simon, fyhertz@gmail.com 3 | * 4 | * This file is part of libstreaming (https://github.com/fyhertz/libstreaming) 5 | * 6 | * Spydroid is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This source code is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this source code; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | */ 20 | 21 | package net.majorkernelpanic.streaming.exceptions; 22 | 23 | import java.io.IOException; 24 | 25 | public class StorageUnavailableException extends IOException { 26 | 27 | public StorageUnavailableException(String message) { 28 | super(message); 29 | } 30 | 31 | private static final long serialVersionUID = -7537890350373995089L; 32 | } 33 | -------------------------------------------------------------------------------- /FlyverCore/src/main/res/xml/preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 12 | 13 | 14 | 17 | 18 | 19 | 22 | 23 | 24 | 27 | 28 | 29 | 32 | 33 | 34 | 37 | 38 | 39 | 42 | 43 | 44 | 47 | 48 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/values/strings_activity_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | Settings 3 | 4 | 5 | 6 | 7 | General 8 | 9 | Log URL 10 | http://u.ftpd.biz/logger/call/json/store/ 11 | 12 | Access Token 13 | a1a635bf-b51f-4cd9-a69a-c7578792d598 14 | 15 | Log HTTP Method 16 | 17 | GET 18 | POST 19 | 20 | 21 | GET 22 | POST 23 | 24 | 25 | Filename 26 | FlyverLogFile.txt 27 | 28 | Save location 29 | 30 | Internal 31 | On SD Card 32 | 33 | 34 | true 35 | false 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /nanohttpd/src/main/java/fi/iki/elonen/NanoWebSocketServer.java: -------------------------------------------------------------------------------- 1 | package fi.iki.elonen; 2 | 3 | 4 | public class NanoWebSocketServer extends NanoHTTPD implements IWebSocketFactory { 5 | public static final String MISSING_FACTORY_MESSAGE = "You must either override this method or supply a WebSocketFactory in the constructor"; 6 | 7 | private final WebSocketResponseHandler responseHandler; 8 | 9 | public NanoWebSocketServer(int port) { 10 | super(port); 11 | responseHandler = new WebSocketResponseHandler(this); 12 | } 13 | 14 | public NanoWebSocketServer(String hostname, int port) { 15 | super(hostname, port); 16 | responseHandler = new WebSocketResponseHandler(this); 17 | } 18 | 19 | public NanoWebSocketServer(int port, IWebSocketFactory webSocketFactory) { 20 | super(port); 21 | responseHandler = new WebSocketResponseHandler(webSocketFactory); 22 | } 23 | 24 | public NanoWebSocketServer(String hostname, int port, IWebSocketFactory webSocketFactory) { 25 | super(hostname, port); 26 | responseHandler = new WebSocketResponseHandler(webSocketFactory); 27 | } 28 | 29 | @Override 30 | public Response serve(IHTTPSession session) { 31 | Response candidate = responseHandler.serve(session); 32 | return candidate == null ? super.serve(session) : candidate; 33 | } 34 | 35 | public WebSocket openWebSocket(IHTTPSession handshake) { 36 | throw new Error(MISSING_FACTORY_MESSAGE); 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /Client/src/main/java/co/flyver/Client/HeartbeatMonitor.java: -------------------------------------------------------------------------------- 1 | package co.flyver.Client; 2 | 3 | import android.util.Log; 4 | 5 | /** 6 | * Created by flyver on 11/27/14. 7 | */ 8 | public class HeartbeatMonitor implements Runnable { 9 | private static final String HEARTBEAT = "HeartbeatMonitor"; 10 | private static boolean heartbeatReceived = false; 11 | private static int heartbeatsMissed = 0; 12 | private Runnable onHeartbeatMissed; 13 | 14 | public HeartbeatMonitor setOnHeartbeatMissedHook(Runnable onHeartbeatMissed) { 15 | this.onHeartbeatMissed = onHeartbeatMissed; 16 | return this; 17 | } 18 | 19 | public HeartbeatMonitor() { 20 | } 21 | public void heartbeatReceived() { 22 | heartbeatReceived = true; 23 | heartbeatsMissed = 0; 24 | } 25 | 26 | @Override 27 | public void run() { 28 | //noinspection InfiniteLoopStatement 29 | while (true) { 30 | if (!heartbeatReceived) { 31 | heartbeatsMissed++; 32 | Log.w(HEARTBEAT, "Heartbeats missed: " + heartbeatsMissed); 33 | } else { 34 | heartbeatReceived = false; 35 | } 36 | if (heartbeatsMissed > 5) { 37 | heartbeatsMissed = 0; 38 | onHeartbeatMissed.run(); 39 | return; 40 | } 41 | try { 42 | Thread.sleep(1000); 43 | } catch (InterruptedException e) { 44 | e.printStackTrace(); 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /IOIO/iOIOLibAndroid/src/main/java/ioio/lib/util/BaseIOIOLooper.java: -------------------------------------------------------------------------------- 1 | package ioio.lib.util; 2 | 3 | import ioio.lib.api.IOIO; 4 | import ioio.lib.api.exception.ConnectionLostException; 5 | 6 | /** 7 | * A convenience implementation of {@link IOIOLooper}. 8 | *

9 | * This base class provides no-op implementations for all methods and provides 10 | * the {@link #ioio_} field for subclasses. 11 | */ 12 | public class BaseIOIOLooper implements IOIOLooper { 13 | protected IOIO ioio_; 14 | 15 | @Override 16 | public final void setup(IOIO ioio) throws ConnectionLostException, 17 | InterruptedException { 18 | ioio_ = ioio; 19 | setup(); 20 | } 21 | 22 | /** 23 | * This method will be called as soon as connection to the IOIO has been 24 | * established. Typically, this will include opening pins and modules using 25 | * the openXXX() methods of the {@link #ioio_} field. 26 | * 27 | * @throws ConnectionLostException The connection to the IOIO has been lost. 28 | * @throws InterruptedException The thread has been interrupted. 29 | */ 30 | protected void setup() throws ConnectionLostException, InterruptedException { 31 | } 32 | 33 | @Override 34 | public void loop() throws ConnectionLostException, InterruptedException { 35 | Thread.sleep(20); 36 | } 37 | 38 | @Override 39 | public void disconnected() { 40 | } 41 | 42 | @Override 43 | public void incompatible() { 44 | } 45 | 46 | @Override 47 | public final void incompatible(IOIO ioio) { 48 | ioio_ = ioio; 49 | incompatible(); 50 | } 51 | } -------------------------------------------------------------------------------- /IOIO/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Android Lint 12 | 13 | 14 | Assignment issues 15 | 16 | 17 | Resource management issues 18 | 19 | 20 | Visibility issues 21 | 22 | 23 | 24 | 25 | AmbiguousFieldAccess 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Android API 7 Platform 39 | 40 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /dataloggerlib/src/main/res/layout/activity_data_log_local_data.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 20 | 21 |