More adjustments to the prototype
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Signed-off-by: Severin Kaderli <severin@kaderli.dev>
This commit is contained in:
parent
0403bbb270
commit
f9ba3e1d44
3 changed files with 7 additions and 9 deletions
|
@ -9,9 +9,6 @@ import android.os.Bundle
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
import kotlin.math.sqrt
|
import kotlin.math.sqrt
|
||||||
|
|
||||||
const val SAMPLING_RATE = 0
|
|
||||||
|
|
||||||
|
|
||||||
abstract class BaseSensorActivity : BaseActivity(), SensorEventListener {
|
abstract class BaseSensorActivity : BaseActivity(), SensorEventListener {
|
||||||
private lateinit var sensorManager: SensorManager;
|
private lateinit var sensorManager: SensorManager;
|
||||||
private lateinit var sensor: Sensor;
|
private lateinit var sensor: Sensor;
|
||||||
|
@ -20,7 +17,7 @@ abstract class BaseSensorActivity : BaseActivity(), SensorEventListener {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
|
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
|
||||||
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
|
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
|
||||||
sensorManager.registerListener(this, sensor, SAMPLING_RATE);
|
sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
|
|
|
@ -82,7 +82,7 @@ class ReceiveActivity : BaseSensorActivity() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (secondValue.timestamp - firstValue.timestamp > 2900 && thirdValue.timestamp - secondValue.timestamp > 2900 && fourthValue.timestamp - thirdValue.timestamp > 2900) {
|
if (secondValue.timestamp - firstValue.timestamp > 2900 && thirdValue.timestamp - secondValue.timestamp > 2900) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,6 +91,7 @@ class ReceiveActivity : BaseSensorActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun cleanSignal(signal: List<Sample<Signal>>): List<Sample<Signal>> {
|
private fun cleanSignal(signal: List<Sample<Signal>>): List<Sample<Signal>> {
|
||||||
|
// TODO: Improve this method
|
||||||
// Remove outliers from the signal (single signal spikes or drops)
|
// Remove outliers from the signal (single signal spikes or drops)
|
||||||
val cleanSignal = signal.filterIndexed { index, sample ->
|
val cleanSignal = signal.filterIndexed { index, sample ->
|
||||||
var elementCount = 1
|
var elementCount = 1
|
||||||
|
@ -107,7 +108,7 @@ class ReceiveActivity : BaseSensorActivity() {
|
||||||
nextIndex++
|
nextIndex++
|
||||||
}
|
}
|
||||||
|
|
||||||
elementCount > 5
|
elementCount > 3
|
||||||
}
|
}
|
||||||
|
|
||||||
return cleanSignal
|
return cleanSignal
|
||||||
|
@ -142,7 +143,7 @@ class ReceiveActivity : BaseSensorActivity() {
|
||||||
timeDifferences.add(sample.timestamp - compressedSignal[index - 1].timestamp)
|
timeDifferences.add(sample.timestamp - compressedSignal[index - 1].timestamp)
|
||||||
}
|
}
|
||||||
|
|
||||||
val clockTimeThreshold = 460//timeDifferences.max() * 0.75
|
val clockTimeThreshold = 900//timeDifferences.max() * 0.75
|
||||||
|
|
||||||
val packetData = ArrayList<Int>()
|
val packetData = ArrayList<Int>()
|
||||||
compressedSignal.forEachIndexed { index, sample ->
|
compressedSignal.forEachIndexed { index, sample ->
|
||||||
|
@ -160,7 +161,7 @@ class ReceiveActivity : BaseSensorActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Log.i(TAG, "$timeDifferences")
|
Log.i(TAG, "$timeDifferences")
|
||||||
//Log.i(TAG, "$cleanSignal")
|
//Log.i(TAG, "$cleanSignal")
|
||||||
|
|
||||||
return packetData
|
return packetData
|
||||||
|
|
|
@ -5,7 +5,7 @@ class Constants {
|
||||||
* @type {Number}
|
* @type {Number}
|
||||||
*/
|
*/
|
||||||
static get CLOCK_TIME() {
|
static get CLOCK_TIME() {
|
||||||
return 500;
|
return 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Reference in a new issue