From 7747f94fe5d5e91e6775b20d0f9a171acdd34108 Mon Sep 17 00:00:00 2001 From: "WindSekirun (DongGil, Seo)" Date: Sun, 20 Jan 2019 22:32:30 +0900 Subject: [PATCH] Update README.md --- README.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 91e8c1f..9568606 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ # KalmanKt + Kotlin Shared Library for Android, IOS that provides **implementations for Kalman filters and geohash filters** for increase accuracy of Geolocations -** NOT TESTED ** +It use the Kalman filter algorithm to predict the correction. (Not Extended Kalman Filter, because it's too hard to me >.<) + +This library use [Kotlin Multiplatform](https://kotlinlang.org/docs/reference/multiplatform.html) for Kotlin/JVM(Android) and Kotlin/Native(IOS). ## Usages @@ -9,12 +12,39 @@ Kotlin Shared Library for Android, IOS that provides **implementations for Kalma #### Install +1. Add 'KalmanKt-Jvm-1.0.0.jar' into libs folder. [Download here](https://github.com/WindSekirun/KalmanKt/tree/master/android) +2. Sync Project with Gradle. + #### Usage with KalmanProcessor.kt +Because of lack support of Kotlin Multiplatform, This library provide pure implementations for Kalman filters and geohash filters. + +So, This library provide 'KalmanProcessor' to handle predict using KalmanFilter. + +1. [Download this code](https://github.com/WindSekirun/KalmanKt/blob/master/android/KalmanProcessor.kt) and put into your project. +2. Generate instance of KalmanProcessor by `private val kalmanProcessor = KalmanProcessor()`. +3. Reset processor before start `LocationManager.requestLocationUpdates`. by `kalmanProcessor.reset(8, 2)` +4. Receive predicted result by `kalmanProcessor.setLocationCallback(1000) {}` +5. When `onLocationChanged` is called, call `kalmanProcessor.process(location)` + ### IOS (Swift) #### Install -#### Usage with KalmanProcessor.kt +1. Add KalmanKt.framework into XCode project. Download arm64 for real device, x86_64 for simulator. [Download here](https://github.com/WindSekirun/KalmanKt/tree/master/ios) +2. Add KalmanKt.framework to Embeed Binaries, Linked Frameworks and Libraries. +3. Disable bitcode by Build Settings > 'Enable Bitcode' to false. Kotlin/Native produces the fully native binaries, not the LLVM bitcode. + +#### Usage with KalmanProcessor.swift + +TBD. + +(I had no experience developing IOS myself, so I asked a friend for help. It will be updated soon.) + +## Update History + +- Ver 1.0.0 (2019-01-20) Initial Release ## License + +MIT License.