handle SN device config format
This commit is contained in:
@@ -372,8 +372,12 @@ class HemoCubeFragment : Fragment() {
|
||||
hemoCubeViewModel.deviceMessages.postValue(currentResultData)
|
||||
|
||||
when {
|
||||
(resultData.contains("SNE") || resultData.contains("SN"))&& this.testStatusCode < TestStatus.CONFIG_COMPLETED.code -> {
|
||||
processHardwareId(resultData)
|
||||
resultData.contains("SNE") && this.testStatusCode < TestStatus.CONFIG_COMPLETED.code -> {
|
||||
processV2HardwareId(resultData)
|
||||
}
|
||||
|
||||
(resultData.contains("SN") && !resultData.contains("SNE")) && this.testStatusCode > TestStatus.SAMPLE_STARTED.code -> {
|
||||
processV1HardwareId(resultData)
|
||||
}
|
||||
|
||||
resultData.contains("#BS") && this.testStatusCode < TestStatus.BUFFER_STARTED.code -> {
|
||||
@@ -568,8 +572,37 @@ class HemoCubeFragment : Fragment() {
|
||||
currentResultData = ""
|
||||
}
|
||||
|
||||
fun processHardwareId(resultData: String) {
|
||||
val hardwareId = extractMiddleString(resultData)
|
||||
fun processV1HardwareId(resultData: String) {
|
||||
val hardwareId = extractV1HardwareId(resultData)
|
||||
|
||||
if (!hardwareId.isNullOrBlank()) {
|
||||
updateDeviceId(hardwareId)
|
||||
activity?.runOnUiThread {
|
||||
binding.btnPlacebuffer.visibility = View.VISIBLE
|
||||
}
|
||||
hemoCubeViewModel.messages.postValue(getString(R.string.start))
|
||||
} else {
|
||||
hemoCubeViewModel.messages.postValue("Config error")
|
||||
}
|
||||
|
||||
if (!Constants.DEVICE_CONFIGURATION.containsKey(deviceHardwareId)) {
|
||||
assignDefaultDevice(resultData)
|
||||
allErrorMessages += "Calibration configuration for this device id is not found\n"
|
||||
}
|
||||
if (!Constants.BUFFER_INTENSITY_THRESHOLDS.containsKey(deviceHardwareId)) {
|
||||
allErrorMessages += "ADC thresholds for this device id are not found\n"
|
||||
}
|
||||
}
|
||||
|
||||
fun extractV1HardwareId(input: String): String? {
|
||||
val regex = Regex("SN (\\S+)")
|
||||
val matchResult = regex.find(input)
|
||||
|
||||
return matchResult?.groupValues?.get(1)
|
||||
}
|
||||
|
||||
fun processV2HardwareId(resultData: String) {
|
||||
val hardwareId = extractV2HardwareId(resultData)
|
||||
|
||||
if (!hardwareId.isNullOrBlank()) {
|
||||
updateDeviceId(hardwareId)
|
||||
@@ -603,7 +636,7 @@ class HemoCubeFragment : Fragment() {
|
||||
hemoCubeViewModel.messages.postValue(getString(R.string.start))
|
||||
}
|
||||
|
||||
fun extractMiddleString(input: String): String? {
|
||||
fun extractV2HardwareId(input: String): String? {
|
||||
val pattern = Regex("SNS\\s*(.*?)\\s*SNE")
|
||||
val matchResult: MatchResult? = pattern.find(input)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user