More adjustments to the prototype
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Signed-off-by: Severin Kaderli <severin@kaderli.dev>
This commit is contained in:
Severin Kaderli 2022-12-07 23:53:04 +01:00
parent 0403bbb270
commit f9ba3e1d44
Signed by: severinkaderli
GPG key ID: F419F8835B72F0C4
3 changed files with 7 additions and 9 deletions

View file

@ -9,9 +9,6 @@ import android.os.Bundle
import kotlin.math.pow
import kotlin.math.sqrt
const val SAMPLING_RATE = 0
abstract class BaseSensorActivity : BaseActivity(), SensorEventListener {
private lateinit var sensorManager: SensorManager;
private lateinit var sensor: Sensor;
@ -20,7 +17,7 @@ abstract class BaseSensorActivity : BaseActivity(), SensorEventListener {
super.onResume()
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
sensorManager.registerListener(this, sensor, SAMPLING_RATE);
sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
}
override fun onStop() {

View file

@ -82,7 +82,7 @@ class ReceiveActivity : BaseSensorActivity() {
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
}
}
@ -91,6 +91,7 @@ class ReceiveActivity : BaseSensorActivity() {
}
private fun cleanSignal(signal: List<Sample<Signal>>): List<Sample<Signal>> {
// TODO: Improve this method
// Remove outliers from the signal (single signal spikes or drops)
val cleanSignal = signal.filterIndexed { index, sample ->
var elementCount = 1
@ -107,7 +108,7 @@ class ReceiveActivity : BaseSensorActivity() {
nextIndex++
}
elementCount > 5
elementCount > 3
}
return cleanSignal
@ -142,7 +143,7 @@ class ReceiveActivity : BaseSensorActivity() {
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>()
compressedSignal.forEachIndexed { index, sample ->
@ -160,7 +161,7 @@ class ReceiveActivity : BaseSensorActivity() {
}
}
//Log.i(TAG, "$timeDifferences")
Log.i(TAG, "$timeDifferences")
//Log.i(TAG, "$cleanSignal")
return packetData

View file

@ -5,7 +5,7 @@ class Constants {
* @type {Number}
*/
static get CLOCK_TIME() {
return 500;
return 1000;
}
/**