diff --git a/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt b/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt
index 5edd02b..993b8fd 100644
--- a/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt
+++ b/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt
@@ -15,4 +15,5 @@ enum class HemoCubeCommands(val command: String) {
SECOND_GAIN_COMMAND("U\r"),
THIRD_GAIN_COMMAND("V\r"),
FORTH_GAIN_COMMAND("W\r"),
+ CHECK_CUVETTE_COMMAND("L\r"),
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt b/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt
index f40e4ac..e969609 100644
--- a/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt
+++ b/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt
@@ -10,8 +10,10 @@ enum class TestStatus(val code: Double) {
FIRST_EMPTY_AIR_READING_PRINT_COMPLETED(4.4),
EPROM_ADC_RETRIEVAL_STARTED(4.5),
EPROM_ADC_RETRIEVAL_COMPLETED(4.6),
- BUFFER_STARTED(4.7),
- BUFFER_COMPLETED(5.0),
+ CUVETTE_PRESENT(4.7),
+ CUVETTE_ABSENT(4.8),
+ BUFFER_STARTED(4.9),
+ BUFFER_COMPLETED(5.1),
BUFFER_PRINT_STARTED(6.0),
BUFFER_PRINT_COMPLETED(7.0),
SAMPLE_STARTED(8.0),
diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt
index e6ec86c..f49c346 100644
--- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt
+++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt
@@ -90,6 +90,8 @@ class HemoCubeFragment : Fragment() {
listenToHemoCube()
getDeviceInfo()
observeViewModel()
+
+ checkCuvettePresence()
}
@SuppressLint("SetTextI18n")
@@ -134,7 +136,8 @@ class HemoCubeFragment : Fragment() {
// binding.tvSubtitle4.text = "Buffer Started"
}
- checkAndStartProcess()
+ // checkAndStartProcess()
+ startBufferProcess()
it.visibility = View.GONE
}
}
@@ -261,9 +264,9 @@ class HemoCubeFragment : Fragment() {
currentResultData = ""
}
- private fun checkAndStartProcess() {
- startBufferProcess()
- }
+// private fun checkAndStartProcess() {
+// startBufferProcess()
+// }
private fun isBufferValueAvailable(): Boolean {
return try {
@@ -418,9 +421,19 @@ class HemoCubeFragment : Fragment() {
(resultData.contains("#RC") && this.testStatusCode < TestStatus.EPROM_ADC_RETRIEVAL_COMPLETED.code) -> {
this.testStatusCode = TestStatus.EPROM_ADC_RETRIEVAL_COMPLETED.code
hemoCubeViewModel.messages.postValue("EPROM ADC Loaded")
- showStartBufferButton()
+
}
+ resultData.contains("#CIN") && this.testStatusCode < TestStatus.CUVETTE_PRESENT.code -> {
+ hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_present))
+ this.testStatusCode = TestStatus.CUVETTE_PRESENT.code
+ showStartBufferButton()
+ }
+ resultData.contains("#AIN") && this.testStatusCode < TestStatus.CUVETTE_ABSENT.code -> {
+ hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_absent))
+ this.testStatusCode = TestStatus.CUVETTE_ABSENT.code
+
+ }
resultData.contains("#BS") && this.testStatusCode < TestStatus.BUFFER_STARTED.code -> {
hemoCubeViewModel.messages.postValue(getString(R.string.buffer_started))
this.testStatusCode = TestStatus.BUFFER_STARTED.code
@@ -1138,6 +1151,18 @@ class HemoCubeFragment : Fragment() {
Toast.makeText(requireContext(), getString(messageResId), Toast.LENGTH_SHORT).show()
}
+ private fun checkCuvettePresence() {
+ hemoCubeViewModel.progressBar.postValue(true)
+
+ (activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.CHECK_CUVETTE_COMMAND,
+ object : UsbServiceListener {
+ override fun onUsbRead(data: ByteArray?) {}
+
+ override fun onUsbError(e: Exception?) {
+ hemoCubeViewModel.progressBar.postValue(false)
+ }
+ })
+ }
private fun startBufferProcess() {
hemoCubeViewModel.progressBar.postValue(true)
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index cb272ca..96a5a3f 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -272,4 +272,7 @@
सीएसवी डाउनलोड करें
Activities
+ Checking cuvette presence
+ Cuvette present
+ Cuvette absent
\ No newline at end of file
diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml
index 4dc9455..61ec53e 100644
--- a/app/src/main/res/values-kn/strings.xml
+++ b/app/src/main/res/values-kn/strings.xml
@@ -271,6 +271,9 @@
ಸರಿ
CSV ಡೌನ್ಲೋಡ್ ಮಾಡಿ
Activities
+ Checking cuvette presence
+ Cuvette present
+ Cuvette absent
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cea96e3..fd522a2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -274,4 +274,7 @@
App Language
OK
Activities
+ Checking cuvette presence
+ Cuvette present
+ Cuvette absent
\ No newline at end of file