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.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() {

View file

@ -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

View file

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