From 5ac71601e8fe3f069814e89e8c9a624adf7bebce Mon Sep 17 00:00:00 2001 From: Vincent Masselis Date: Wed, 17 Apr 2024 11:25:26 +0200 Subject: [PATCH 1/2] First try --- app/phone/build.gradle.kts | 2 +- .../data/vehicle/interfaces/impl/RawPecham.kt | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/app/phone/build.gradle.kts b/app/phone/build.gradle.kts index 48ef94cd..a3c361aa 100644 --- a/app/phone/build.gradle.kts +++ b/app/phone/build.gradle.kts @@ -96,6 +96,7 @@ val clearTestOutputFilesFolder by tasks.creating(ClearTestOutputFilesFolder::cla } val downloadTestOutputFiles by tasks.creating(DownloadTestOutputFiles::class) { + dependsOn("connectedDemoDebugAndroidTest") adbExecutable = android.adbExecutable destination = layout.buildDirectory.dir("test_outputfiles") } @@ -125,5 +126,4 @@ tasks.withType { tasks.matching { it.name == "connectedDemoDebugAndroidTest" }.configureEach { dependsOn(clearTestOutputFilesFolder) - downloadTestOutputFiles.dependsOn(this) } diff --git a/data/vehicle/src/normal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/RawPecham.kt b/data/vehicle/src/normal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/RawPecham.kt index cde85662..ed0ce1a3 100644 --- a/data/vehicle/src/normal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/RawPecham.kt +++ b/data/vehicle/src/normal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/RawPecham.kt @@ -5,11 +5,9 @@ import android.bluetooth.le.ScanResult import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase import com.masselis.tpmsadvanced.core.common.now -import com.masselis.tpmsadvanced.data.vehicle.model.Pressure.CREATOR.psi +import com.masselis.tpmsadvanced.data.vehicle.model.Pressure.CREATOR.kpa import com.masselis.tpmsadvanced.data.vehicle.model.Temperature.CREATOR.celsius import com.masselis.tpmsadvanced.data.vehicle.model.Tyre -import java.nio.ByteBuffer -import java.nio.ByteOrder @OptIn(ExperimentalStdlibApi::class) @Suppress("DataClassPrivateConstructor") @@ -20,15 +18,9 @@ internal data class RawPecham private constructor( ) : Raw { fun id() = macAddress.hashCode() - fun pressure() = data - .copyOfRange(3, 5) - .let { - ByteBuffer.wrap(it) - .order(ByteOrder.BIG_ENDIAN) - .getShort() - } - .div(10f) - .psi + fun pressure() = (data[3].toUInt() shl 8 and 0xFF00u or data[4].toUInt() and 255u) // Found into the SYTPMS app + .toFloat() + .kpa fun battery() = data[1].toUShort() // Returns 27 for 2.7 volts From 980ed64968c22077c9365c3d70e26f357c64f0b6 Mon Sep 17 00:00:00 2001 From: Vincent Masselis Date: Thu, 16 May 2024 11:24:52 +0200 Subject: [PATCH 2/2] Works as expected Bar and celcius values are the same in SYTPMS --- .../tpmsadvanced/data/vehicle/interfaces/impl/PechamTest.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/data/vehicle/src/testNormal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/PechamTest.kt b/data/vehicle/src/testNormal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/PechamTest.kt index e15b2360..de9f5ccb 100644 --- a/data/vehicle/src/testNormal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/PechamTest.kt +++ b/data/vehicle/src/testNormal/kotlin/com/masselis/tpmsadvanced/data/vehicle/interfaces/impl/PechamTest.kt @@ -1,7 +1,5 @@ package com.masselis.tpmsadvanced.data.vehicle.interfaces.impl -import com.masselis.tpmsadvanced.core.common.now -import com.masselis.tpmsadvanced.data.vehicle.model.Tyre import io.mockk.every import io.mockk.mockk import org.junit.Test @@ -33,6 +31,9 @@ internal class PechamTest { // D8:51:00:00:AE:49 3D R.R. // Tyre(timestamp=1.70168790933E9, location=REAR_RIGHT, id=0, pressure=Pressure(kpa=100.667), temperature=Temperature(celsius=20.0), battery=28, isAlarm=false) "0303A5270308425208FF401C1400921A7F", + + // Unlocated(timestamp=1.71585143556E9, rssi=-60, sensorId=-341438080, pressure=Pressure(kpa=212.0), temperature=Temperature(celsius=20.0), battery=29, isAlarm=false) + "0303A5270308425208FF241D1401D4BFEC" ) // byteArrayEleven= 0308425208FF101B0F026A