From 01333264815ceab593c667cc93235dba4c4f2bdf Mon Sep 17 00:00:00 2001 From: Vineyro Date: Tue, 3 Oct 2023 16:42:36 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B0=D1=81=D1=88=D1=82=D0=B0=D0=B1=20?= =?UTF-8?q?=D0=B3=D1=80=D0=B0=D1=84=D0=B8=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 ++-- .../java/llc/arma/ble/app/ui/MainActivity.kt | 1 + .../ble/app/ui/screen/ble/BleListContract.kt | 2 +- .../llc/arma/ble/app/ui/screen/ble/Filter.kt | 4 ++-- .../ble/data/ReadAccelerometerHistoryCallback.kt | 16 ++++++++++++++++ 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6c65ada..84551d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { applicationId "llc.arma.ble" minSdk 24 targetSdk 33 - versionCode 6 - versionName "1.2.6" + versionCode 7 + versionName "1.2.7" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { diff --git a/app/src/main/java/llc/arma/ble/app/ui/MainActivity.kt b/app/src/main/java/llc/arma/ble/app/ui/MainActivity.kt index 38a7647..9a2670a 100644 --- a/app/src/main/java/llc/arma/ble/app/ui/MainActivity.kt +++ b/app/src/main/java/llc/arma/ble/app/ui/MainActivity.kt @@ -25,6 +25,7 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp +import androidx.core.content.ContextCompat import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen import androidx.core.view.WindowCompat import com.google.accompanist.permissions.ExperimentalPermissionsApi diff --git a/app/src/main/java/llc/arma/ble/app/ui/screen/ble/BleListContract.kt b/app/src/main/java/llc/arma/ble/app/ui/screen/ble/BleListContract.kt index d86c23c..8e1f72c 100644 --- a/app/src/main/java/llc/arma/ble/app/ui/screen/ble/BleListContract.kt +++ b/app/src/main/java/llc/arma/ble/app/ui/screen/ble/BleListContract.kt @@ -48,7 +48,7 @@ class BleListContract { data class Filter( val name: String = "", val mac: String = "", - val rssi: ClosedFloatingPointRange = (-100f)..(-30f), + val rssi: ClosedFloatingPointRange = (-100f)..(-10f), val bleType: BleInfo.Type? = null ) diff --git a/app/src/main/java/llc/arma/ble/app/ui/screen/ble/Filter.kt b/app/src/main/java/llc/arma/ble/app/ui/screen/ble/Filter.kt index 9ab47dd..041ed61 100644 --- a/app/src/main/java/llc/arma/ble/app/ui/screen/ble/Filter.kt +++ b/app/src/main/java/llc/arma/ble/app/ui/screen/ble/Filter.kt @@ -244,8 +244,8 @@ fun Filter( onValueChange = { onEvent(BleListContract.Event.OnRssiRangeChanged(it)) }, - valueRange = (-100f)..(-30f), - steps = 69, + valueRange = (-100f)..(-10f), + steps = 89, colors = SliderDefaults.colors( activeTickColor = MaterialTheme.colorScheme.primary, inactiveTickColor = MaterialTheme.colorScheme.primary.copy(alpha = 0.38f) diff --git a/app/src/main/java/llc/arma/ble/data/ReadAccelerometerHistoryCallback.kt b/app/src/main/java/llc/arma/ble/data/ReadAccelerometerHistoryCallback.kt index 6c52b68..cde8cf4 100644 --- a/app/src/main/java/llc/arma/ble/data/ReadAccelerometerHistoryCallback.kt +++ b/app/src/main/java/llc/arma/ble/data/ReadAccelerometerHistoryCallback.kt @@ -105,6 +105,8 @@ class ReadAccelerometerHistoryCallback( private val resultTemperaturePackage: MutableList = mutableListOf() + private val result = mutableListOf>() + var expectedDataSize: Int? = null override fun onCharacteristicRead( @@ -152,6 +154,8 @@ class ReadAccelerometerHistoryCallback( } else { + Log.d("expected data size", value.get2byteUIntAt(0).toString()) + val writeData = mutableListOf( 1.toByte(), 0.toByte(), @@ -169,6 +173,8 @@ class ReadAccelerometerHistoryCallback( if(value[0] == 250.toByte()){ + result.add(value.toUByteArray().toList()) + bleMeasureInterval = value.get4byteUIntAt(4).toLong() bleLastMeasureTime = value.get4byteUIntAt(8).toLong() bleRealTime = value.get4byteUIntAt(12).toLong() @@ -178,12 +184,17 @@ class ReadAccelerometerHistoryCallback( val nextPackageDataCount = value.get2byteUIntAt(2) val temperatureDataArray = value.toUByteArray().asList().subList(16, value.size) + + resultTemperaturePackage.addAll( temperatureDataArray.chunked(2).map { it.toUByteArray().toByteArray().get2byteShortAt().toFloat() }.toMutableList() ) + Log.d("received data size", (temperatureDataArray.chunked(2).size).toString()) + Log.d("next data size", nextPackageDataCount.toString()) + expectedDataSize = nextPackageDataCount.toInt() + resultTemperaturePackage.size onResult(Result.success(ProgressState.Progress(0f / expectedDataSize!!.toFloat()))) @@ -223,6 +234,8 @@ class ReadAccelerometerHistoryCallback( if (value[0] == 251.toByte()) { + result.add(value.toUByteArray().toList()) + val nextPackageDataCount = value.get2byteUIntAt(2) val temperatureDataArray = value.toUByteArray().toList().subList(4, value.size) @@ -232,6 +245,9 @@ class ReadAccelerometerHistoryCallback( } ) + Log.d("received data size", (temperatureDataArray.chunked(2).size).toString()) + Log.d("next data size", nextPackageDataCount.toString()) + onResult(Result.success(ProgressState.Progress(resultTemperaturePackage.size.toFloat() / expectedDataSize!!.toFloat()))) if (nextPackageDataCount != 0.toUInt()) {