From f9bf12b18b1b937e316d2784f5b097f6eba29616 Mon Sep 17 00:00:00 2001 From: Severin Kaderli Date: Wed, 4 Jan 2023 23:56:02 +0100 Subject: [PATCH] Only show a limited number of items in the calibration chart Signed-off-by: Severin Kaderli --- .../kaderli/magsend/activity/CalibrationActivity.kt | 11 +++++++++-- .../dev/kaderli/magsend/activity/ReceiveActivity.kt | 2 +- src/MagSend/app/src/main/res/values/strings.xml | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/CalibrationActivity.kt b/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/CalibrationActivity.kt index c72ba24..54a6297 100644 --- a/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/CalibrationActivity.kt +++ b/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/CalibrationActivity.kt @@ -12,6 +12,7 @@ class CalibrationActivity : BaseSensorActivity() { private lateinit var calibrationValue: TextView private lateinit var chart: LineChart private var data = ArrayList() + private var valueIndex = 0f override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -26,9 +27,15 @@ class CalibrationActivity : BaseSensorActivity() { override fun sensorValueReceived(magneticFieldStrength: Float) { calibrationValue.text = getString(R.string.calibration_value, magneticFieldStrength) - data.add(Entry(data.size.toFloat(), magneticFieldStrength)) - val dataSet = LineDataSet(data, "Test") + + + data.add(Entry(valueIndex, magneticFieldStrength)) + data = ArrayList(data.takeLast(500)) + + val dataSet = LineDataSet(data, "Magnetic Field Strength") chart.data = LineData(dataSet) chart.invalidate() + + valueIndex++ } } diff --git a/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/ReceiveActivity.kt b/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/ReceiveActivity.kt index b7368ae..0a88fb5 100644 --- a/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/ReceiveActivity.kt +++ b/src/MagSend/app/src/main/java/dev/kaderli/magsend/activity/ReceiveActivity.kt @@ -260,7 +260,7 @@ class ReceiveActivity : BaseSensorActivity() { } receiveValue.text = payload - // TODO: CRC show and calculate if it's correct + if (packet.size >= 4 + (8 * payloadLength) + 8) { // CRC Check val receivedCrc = listToInteger(packet.take(4 + (8 * payloadLength) + 8).takeLast(8)) diff --git a/src/MagSend/app/src/main/res/values/strings.xml b/src/MagSend/app/src/main/res/values/strings.xml index 6856c5c..64d21ff 100644 --- a/src/MagSend/app/src/main/res/values/strings.xml +++ b/src/MagSend/app/src/main/res/values/strings.xml @@ -4,7 +4,7 @@ For finding the best spot to put your phone on, to get the best transmission, you can start the calibration process by clicking the following button. Receive Calibrate - Open up the website and start the calibration mode. Put your Smartphone on different locations on the sending device and note the value below. The location with the highest value is the most optimal for data transmission. + Open up the website and start the calibration mode.\nPut your Smartphone on different locations on the sending device and note the value below.\nThe location with the highest value is the most optimal for data transmission. Currently listening for transmissions.\nThe text that was received so far is displayed below. To start listening to a new message click the following button. Restart