add gains commands and save gains data
This commit is contained in:
@@ -16,7 +16,7 @@ android {
|
||||
|
||||
// prod - production, preprod - preproduction, quality - qc
|
||||
defaultConfig {
|
||||
applicationId "in.sminnovations.hpostesting.preprod"
|
||||
applicationId "in.sminnovations.hpostesting"
|
||||
minSdk 21
|
||||
targetSdk 34
|
||||
versionCode 62
|
||||
|
||||
@@ -73,7 +73,17 @@ object Constants {
|
||||
"HCV-000-3007",
|
||||
"HCV-000-3008",
|
||||
"HCV-000-3009",
|
||||
"HCV-000-3010"
|
||||
"HCV-000-3010",
|
||||
"HCV-000-3011",
|
||||
"HCV-000-3012",
|
||||
"HCV-000-3013",
|
||||
"HCV-000-3014",
|
||||
"HCV-000-3015",
|
||||
"HCV-000-3016",
|
||||
"HCV-000-3017",
|
||||
"HCV-000-3018",
|
||||
"HCV-000-3019",
|
||||
"HCV-000-3020"
|
||||
)
|
||||
|
||||
const val password = "SMI@12345"
|
||||
@@ -100,7 +110,23 @@ object Constants {
|
||||
const val TEST_STATUS_CODE_SAMPLE_COMPLETED = 9.0
|
||||
const val TEST_STATUS_CODE_SAMPLE_PRINT_STARTED = 10.0
|
||||
const val TEST_STATUS_CODE_SAMPLE_PRINT_COMPLETED = 11.0
|
||||
const val TEST_STATUS_CODE_TEST_COMPLETED = 12.0
|
||||
const val TEST_STATUS_CODE_FIRST_GAIN_STARTED = 12.0
|
||||
const val TEST_STATUS_CODE_FIRST_GAIN_COMPLETED = 13.0
|
||||
const val TEST_STATUS_CODE_FIRST_GAIN_PRINT_STARTED = 14.0
|
||||
const val TEST_STATUS_CODE_FIRST_GAIN_PRINT_COMPLETED = 15.0
|
||||
const val TEST_STATUS_CODE_SECOND_GAIN_STARTED = 16.0
|
||||
const val TEST_STATUS_CODE_SECOND_GAIN_COMPLETED = 17.0
|
||||
const val TEST_STATUS_CODE_SECOND_GAIN_PRINT_STARTED = 18.0
|
||||
const val TEST_STATUS_CODE_SECOND_GAIN_PRINT_COMPLETED = 19.0
|
||||
const val TEST_STATUS_CODE_THIRD_GAIN_STARTED = 20.0
|
||||
const val TEST_STATUS_CODE_THIRD_GAIN_COMPLETED = 21.0
|
||||
const val TEST_STATUS_CODE_THIRD_GAIN_PRINT_STARTED = 22.0
|
||||
const val TEST_STATUS_CODE_THIRD_GAIN_PRINT_COMPLETED = 23.0
|
||||
const val TEST_STATUS_CODE_FORTH_GAIN_STARTED = 24.0
|
||||
const val TEST_STATUS_CODE_FORTH_GAIN_COMPLETED = 25.0
|
||||
const val TEST_STATUS_CODE_FORTH_GAIN_PRINT_STARTED = 26.0
|
||||
const val TEST_STATUS_CODE_FORTH_GAIN_PRINT_COMPLETED = 27.0
|
||||
const val TEST_STATUS_CODE_TEST_COMPLETED = 30.0
|
||||
|
||||
val DEVICE_CONFIGURATION: Map<String, List<List<Double>>> = mapOf<String, List<List<Double>>>(
|
||||
"HCV-000-3001" to listOf(
|
||||
@@ -163,6 +189,66 @@ object Constants {
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3011" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3012" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3013" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3014" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3015" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3016" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3017" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3018" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3019" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
"HCV-000-3020" to listOf(
|
||||
listOf(1.7272, -1.1977), // LED1, 435nm
|
||||
listOf(0.581462456, -0.58502), // LED2, 415nm
|
||||
listOf(0.2304, -0.0145), // LED3, 555nm
|
||||
listOf(1.0, 0.0) // LED4
|
||||
),
|
||||
)
|
||||
|
||||
const val INCUBATION_TIME_MIN = 0
|
||||
@@ -229,6 +315,66 @@ object Constants {
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
)
|
||||
),
|
||||
"HCV-000-3011" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3012" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3013" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3014" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3015" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3016" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3017" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3018" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3019" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
"HCV-000-3020" to listOf(
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
listOf(24500, 26250),
|
||||
),
|
||||
)
|
||||
}
|
||||
@@ -4,6 +4,10 @@ enum class HemoCubeCommands(val command: String) {
|
||||
startBuffer("B\r"),
|
||||
runDiagnostics("D\r"),
|
||||
startSample("S\r"),
|
||||
getSample("P\r"),
|
||||
PRINT_COMMAND("P\r"),
|
||||
getDeviceId("I\r"),
|
||||
FIRST_GAIN_COMMAND("T\r"),
|
||||
SECOND_GAIN_COMMAND("U\r"),
|
||||
THIRD_GAIN_COMMAND("V\r"),
|
||||
FORTH_GAIN_COMMAND("W\r"),
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import com.example.hpostesting.data.model.patient.HemoCubeTestData
|
||||
import com.google.android.datatransport.runtime.dagger.Provides
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Database(entities = [UserData::class, HemoCubeTestData::class, DeviceData::class], version = 14, exportSchema = false)
|
||||
@Database(entities = [UserData::class, HemoCubeTestData::class, DeviceData::class], version = 17, exportSchema = false)
|
||||
@TypeConverters(Converters::class)
|
||||
abstract class MyDatabase : RoomDatabase() {
|
||||
abstract fun userDao(): UserDao
|
||||
|
||||
@@ -43,6 +43,22 @@ data class HemoCubeTestData(
|
||||
var abs2: Double? = null,
|
||||
var abs3: Double? = null,
|
||||
var abs4: Double? = null,
|
||||
var led1Gain1: Double? = null,
|
||||
var led2Gain1: Double? = null,
|
||||
var led3Gain1: Double? = null,
|
||||
var led4Gain1: Double? = null,
|
||||
var led1Gain2: Double? = null,
|
||||
var led2Gain2: Double? = null,
|
||||
var led3Gain2: Double? = null,
|
||||
var led4Gain2: Double? = null,
|
||||
var led1Gain3: Double? = null,
|
||||
var led2Gain3: Double? = null,
|
||||
var led3Gain3: Double? = null,
|
||||
var led4Gain3: Double? = null,
|
||||
var led1Gain4: Double? = null,
|
||||
var led2Gain4: Double? = null,
|
||||
var led3Gain4: Double? = null,
|
||||
var led4Gain4: Double? = null,
|
||||
var deviceRatio: Double? = null,
|
||||
var calculatedRatio: Double? = null,
|
||||
var predictedDenovixRatio: Double? = null,
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
package com.example.hpostesting.presentation.buffercheck
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
@@ -305,7 +302,7 @@ class HemoCubeBufferCheckFragment : Fragment() {
|
||||
|
||||
private fun fetchResult() {
|
||||
|
||||
(activity as HemocubeBufferCheckActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.getSample,
|
||||
(activity as HemocubeBufferCheckActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.PRINT_COMMAND,
|
||||
object : UsbServiceListener {
|
||||
override fun onUsbRead(data: ByteArray?) {}
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ import `in`.sminnovations.hpostesting.R
|
||||
import `in`.sminnovations.hpostesting.databinding.FragmentHemoCubeReferenceBinding
|
||||
import kotlin.math.abs
|
||||
import kotlin.math.log10
|
||||
import kotlin.math.round
|
||||
|
||||
class HemoCubeFragment : Fragment() {
|
||||
|
||||
@@ -38,6 +39,7 @@ class HemoCubeFragment : Fragment() {
|
||||
private var isOnline = false
|
||||
private var currentDeviceData: DeviceData? = null
|
||||
private var resultData: String = ""
|
||||
private var currentResultData: String = ""
|
||||
private var isUsingExistingBuffer = false
|
||||
private var isTestOngoing = false
|
||||
private var startListening = MutableLiveData<Boolean>(false)
|
||||
@@ -262,7 +264,7 @@ class HemoCubeFragment : Fragment() {
|
||||
data?.let {
|
||||
val stringData = String(it)
|
||||
fullReadOutput.append(stringData)
|
||||
handleUsbData(stringData, testStatusCode)
|
||||
handleUsbData(stringData)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,13 +297,14 @@ class HemoCubeFragment : Fragment() {
|
||||
})
|
||||
}
|
||||
|
||||
private fun handleUsbData(stringData: String, testStatusCode: Double) {
|
||||
private fun handleUsbData(stringData: String) {
|
||||
if (stringData.contains("#")) {
|
||||
isTestOngoing = true
|
||||
}
|
||||
|
||||
resultData += stringData
|
||||
hemoCubeViewModel.deviceMessages.postValue(resultData)
|
||||
currentResultData += stringData
|
||||
hemoCubeViewModel.deviceMessages.postValue(currentResultData)
|
||||
|
||||
when {
|
||||
resultData.contains("SNE") && this.testStatusCode < Constants.TEST_STATUS_CODE_CONFIG_COMPLETED -> {
|
||||
@@ -338,7 +341,7 @@ class HemoCubeFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
|
||||
resultData.contains("#SS") && this.testStatusCode < Constants.TEST_STATUS_CODE_SAMPLE_STARTED -> {
|
||||
resultData.contains("#SS1") && this.testStatusCode < Constants.TEST_STATUS_CODE_SAMPLE_STARTED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_SAMPLE_STARTED
|
||||
activity?.runOnUiThread {
|
||||
binding.tvSubtitle4.text = getString(R.string.sample_started)
|
||||
@@ -346,14 +349,48 @@ class HemoCubeFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
|
||||
resultData.contains("#SC") && this.testStatusCode < Constants.TEST_STATUS_CODE_SAMPLE_COMPLETED -> {
|
||||
resultData.contains("#SC1") && this.testStatusCode < Constants.TEST_STATUS_CODE_SAMPLE_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_SAMPLE_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue(
|
||||
getString(R.string.sample_completed) + "\n" + getString(R.string.gathering_data))
|
||||
fetchResult()
|
||||
currentResultData = ""
|
||||
testingTrace.stop()
|
||||
}
|
||||
|
||||
currentResultData.contains("#SS2") && this.testStatusCode < Constants.TEST_STATUS_CODE_FIRST_GAIN_STARTED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_FIRST_GAIN_STARTED
|
||||
hemoCubeViewModel.messages.postValue("1.3X Gain Started")
|
||||
}
|
||||
|
||||
currentResultData.contains("#SC2") && this.testStatusCode < Constants.TEST_STATUS_CODE_FIRST_GAIN_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_FIRST_GAIN_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue("1.3X Gain Completed")
|
||||
fetchResult()
|
||||
}
|
||||
|
||||
currentResultData.contains("#SS3") && this.testStatusCode < Constants.TEST_STATUS_CODE_SECOND_GAIN_STARTED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_SECOND_GAIN_STARTED
|
||||
hemoCubeViewModel.messages.postValue("2X Gain Started")
|
||||
}
|
||||
|
||||
currentResultData.contains("#SC3") && this.testStatusCode < Constants.TEST_STATUS_CODE_SECOND_GAIN_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_SECOND_GAIN_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue("2X Gain Completed")
|
||||
fetchResult()
|
||||
}
|
||||
|
||||
currentResultData.contains("#SS5") && this.testStatusCode < Constants.TEST_STATUS_CODE_FORTH_GAIN_STARTED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_FORTH_GAIN_STARTED
|
||||
hemoCubeViewModel.messages.postValue("7.6X Gain Started")
|
||||
}
|
||||
|
||||
currentResultData.contains("#SC5") && this.testStatusCode < Constants.TEST_STATUS_CODE_FORTH_GAIN_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_FORTH_GAIN_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue("7.6X Gain Completed")
|
||||
fetchResult()
|
||||
}
|
||||
|
||||
resultData.contains("REND") && this.testStatusCode < Constants.TEST_STATUS_CODE_SAMPLE_PRINT_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_SAMPLE_PRINT_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue(
|
||||
@@ -395,6 +432,60 @@ class HemoCubeFragment : Fragment() {
|
||||
led4SampleForDevice =
|
||||
resultLines[8].split(' ')[1].split('\r')[0].trim().toDoubleOrNull()!!
|
||||
processResult()
|
||||
sendFirstGainCommand()
|
||||
currentResultData = ""
|
||||
}
|
||||
|
||||
currentResultData.contains("REND") && this.testStatusCode >= Constants.TEST_STATUS_CODE_FIRST_GAIN_COMPLETED && this.testStatusCode < Constants.TEST_STATUS_CODE_FIRST_GAIN_PRINT_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_FIRST_GAIN_PRINT_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue("1.3X gain data gathered")
|
||||
|
||||
val resultLines = currentResultData.split("\\s+(?=LB|LS)".toRegex())
|
||||
DataHolder.hemoCubeTestData?.apply {
|
||||
led1Gain1 = resultLines[5].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led2Gain1 = resultLines[6].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led3Gain1 = resultLines[7].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led4Gain1 = resultLines[8].split(' ')[1].split('\r')[0].trim().toDoubleOrNull()!!
|
||||
}
|
||||
|
||||
sendSecondGainCommand()
|
||||
currentResultData = ""
|
||||
}
|
||||
|
||||
currentResultData.contains("REND") && this.testStatusCode >= Constants.TEST_STATUS_CODE_FIRST_GAIN_PRINT_COMPLETED && this.testStatusCode < Constants.TEST_STATUS_CODE_SECOND_GAIN_PRINT_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_SECOND_GAIN_PRINT_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue("2X gain data gathered")
|
||||
|
||||
val resultLines = currentResultData.split("\\s+(?=LB|LS)".toRegex())
|
||||
DataHolder.hemoCubeTestData?.apply {
|
||||
led1Gain2 = resultLines[5].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led2Gain2 = resultLines[6].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led3Gain2 = resultLines[7].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led4Gain2 = resultLines[8].split(' ')[1].split('\r')[0].trim().toDoubleOrNull()!!
|
||||
}
|
||||
|
||||
sendForthGainCommand()
|
||||
currentResultData = ""
|
||||
}
|
||||
|
||||
currentResultData.contains("REND") && this.testStatusCode >= Constants.TEST_STATUS_CODE_SECOND_GAIN_PRINT_COMPLETED && this.testStatusCode < Constants.TEST_STATUS_CODE_FORTH_GAIN_PRINT_COMPLETED -> {
|
||||
this.testStatusCode = Constants.TEST_STATUS_CODE_FORTH_GAIN_PRINT_COMPLETED
|
||||
hemoCubeViewModel.messages.postValue("7.6X gain data gathered")
|
||||
|
||||
val resultLines = currentResultData.split("\\s+(?=LB|LS)".toRegex())
|
||||
DataHolder.hemoCubeTestData?.apply {
|
||||
led1Gain4 = resultLines[5].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led2Gain4 = resultLines[6].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led3Gain4 = resultLines[7].split(' ')[1].trim().toDoubleOrNull()!!
|
||||
led4Gain4 = resultLines[8].split(' ')[1].split('\r')[0].trim().toDoubleOrNull()!!
|
||||
}
|
||||
|
||||
activity?.runOnUiThread {
|
||||
binding.btnSubmit.visibility = View.VISIBLE
|
||||
binding.btnSubmit.isEnabled = true
|
||||
binding.btnSubmit.isClickable = true
|
||||
binding.clParent.setBackgroundColor(Color.parseColor("#edfffd"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -482,8 +573,6 @@ class HemoCubeFragment : Fragment() {
|
||||
binding.errorMessage.text =
|
||||
getString(R.string.error_improper_buffer_high)
|
||||
binding.errorMessage.visibility = View.VISIBLE
|
||||
binding.btnSubmit.isEnabled = true
|
||||
binding.btnSubmit.isClickable = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -572,7 +661,7 @@ class HemoCubeFragment : Fragment() {
|
||||
this.prdClassification = absorbanceBasedClassification(predictedDenovixRatio)
|
||||
this.deviceRatioClass = deviceRatioClassification(deviceRatio)
|
||||
this.slopeRatioClass = slopeClass
|
||||
hemoCubeViewModel.messages.postValue("Slope Ratio: ${slopeRatio},\n Slope: ${this.slopeRatioClass}\n")
|
||||
hemoCubeViewModel.messages.postValue("Slope Ratio: ${round(slopeRatio!!)},\n Slope Class: ${this.slopeRatioClass}\n")
|
||||
this.errorMessages = allErrorMessages
|
||||
this.resultData = deviceLog
|
||||
this.batteryLevel = hemoCubeViewModel.getBatteryLevel().toString()
|
||||
@@ -596,12 +685,12 @@ class HemoCubeFragment : Fragment() {
|
||||
}
|
||||
|
||||
// if (!validationError) {
|
||||
activity?.runOnUiThread {
|
||||
binding.btnSubmit.visibility = View.VISIBLE
|
||||
binding.btnSubmit.isEnabled = true
|
||||
binding.btnSubmit.isClickable = true
|
||||
binding.clParent.setBackgroundColor(Color.parseColor("#edfffd"))
|
||||
}
|
||||
// activity?.runOnUiThread {
|
||||
// binding.btnSubmit.visibility = View.VISIBLE
|
||||
// binding.btnSubmit.isEnabled = true
|
||||
// binding.btnSubmit.isClickable = true
|
||||
// binding.clParent.setBackgroundColor(Color.parseColor("#edfffd"))
|
||||
// }
|
||||
// }
|
||||
} catch (e: Exception) {
|
||||
Toast.makeText(
|
||||
@@ -752,10 +841,62 @@ class HemoCubeFragment : Fragment() {
|
||||
})
|
||||
}
|
||||
|
||||
private fun sendFirstGainCommand() {
|
||||
hemoCubeViewModel.progressBar.postValue(true)
|
||||
|
||||
(activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.FIRST_GAIN_COMMAND,
|
||||
object : UsbServiceListener {
|
||||
override fun onUsbRead(data: ByteArray?) {}
|
||||
|
||||
override fun onUsbError(e: Exception?) {
|
||||
hemoCubeViewModel.progressBar.postValue(false)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun sendSecondGainCommand() {
|
||||
hemoCubeViewModel.progressBar.postValue(true)
|
||||
|
||||
(activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.SECOND_GAIN_COMMAND,
|
||||
object : UsbServiceListener {
|
||||
override fun onUsbRead(data: ByteArray?) {}
|
||||
|
||||
override fun onUsbError(e: Exception?) {
|
||||
hemoCubeViewModel.progressBar.postValue(false)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun sendThirdGainCommand() {
|
||||
hemoCubeViewModel.progressBar.postValue(true)
|
||||
|
||||
(activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.THIRD_GAIN_COMMAND,
|
||||
object : UsbServiceListener {
|
||||
override fun onUsbRead(data: ByteArray?) {}
|
||||
|
||||
override fun onUsbError(e: Exception?) {
|
||||
hemoCubeViewModel.progressBar.postValue(false)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun sendForthGainCommand() {
|
||||
hemoCubeViewModel.progressBar.postValue(true)
|
||||
|
||||
(activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.FORTH_GAIN_COMMAND,
|
||||
object : UsbServiceListener {
|
||||
override fun onUsbRead(data: ByteArray?) {}
|
||||
|
||||
override fun onUsbError(e: Exception?) {
|
||||
hemoCubeViewModel.progressBar.postValue(false)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun fetchResult() {
|
||||
hemoCubeViewModel.progressBar.postValue(true)
|
||||
|
||||
(activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.getSample,
|
||||
(activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.PRINT_COMMAND,
|
||||
object : UsbServiceListener {
|
||||
override fun onUsbRead(data: ByteArray?) {}
|
||||
|
||||
|
||||
@@ -126,6 +126,18 @@ class HemoCubeViewModel @Inject constructor(
|
||||
testDetails?.abs2 = DataHolder.hemoCubeTestData?.abs2
|
||||
testDetails?.abs3 = DataHolder.hemoCubeTestData?.abs3
|
||||
testDetails?.abs4 = DataHolder.hemoCubeTestData?.abs4
|
||||
testDetails?.led1Gain1 = DataHolder.hemoCubeTestData?.led1Gain1
|
||||
testDetails?.led2Gain1 = DataHolder.hemoCubeTestData?.led2Gain1
|
||||
testDetails?.led3Gain1 = DataHolder.hemoCubeTestData?.led3Gain1
|
||||
testDetails?.led4Gain1 = DataHolder.hemoCubeTestData?.led4Gain1
|
||||
testDetails?.led1Gain2 = DataHolder.hemoCubeTestData?.led1Gain2
|
||||
testDetails?.led2Gain2 = DataHolder.hemoCubeTestData?.led2Gain2
|
||||
testDetails?.led3Gain2 = DataHolder.hemoCubeTestData?.led3Gain2
|
||||
testDetails?.led4Gain2 = DataHolder.hemoCubeTestData?.led4Gain2
|
||||
testDetails?.led1Gain4 = DataHolder.hemoCubeTestData?.led1Gain4
|
||||
testDetails?.led2Gain4 = DataHolder.hemoCubeTestData?.led2Gain4
|
||||
testDetails?.led3Gain4 = DataHolder.hemoCubeTestData?.led3Gain4
|
||||
testDetails?.led4Gain4 = DataHolder.hemoCubeTestData?.led4Gain4
|
||||
testDetails?.deviceRatio = DataHolder.hemoCubeTestData?.deviceRatio
|
||||
testDetails?.predictedDenovixRatio = DataHolder.hemoCubeTestData?.predictedDenovixRatio
|
||||
testDetails?.calculatedRatio = DataHolder.hemoCubeTestData?.calculatedRatio
|
||||
|
||||
@@ -205,20 +205,25 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/btn_submit" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_device_messages"
|
||||
style="@style/title1_1"
|
||||
android:visibility="gone"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="72dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="11sp"
|
||||
android:layout_marginTop="12dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/error_message" />
|
||||
app:layout_constraintTop_toBottomOf="@id/error_message">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_device_messages"
|
||||
style="@style/title1_1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="11sp"
|
||||
android:visibility="gone" />
|
||||
</ScrollView>
|
||||
|
||||
<Button
|
||||
android:visibility="gone"
|
||||
|
||||
Reference in New Issue
Block a user