desc:标定可以输入小数

main
xiaowusky 1 year ago
parent 774c47aca6
commit 55c9afeed2

@ -20,9 +20,13 @@ class CalibrationCmd(private val index: Int, private val target: Int) {
private fun build(cmd: Byte): ByteArray {
var highBit: Byte = 0x00
var lowBit: Byte = 0x00
var decimalBit: Byte = 0x00
if (target != 0) {
highBit = (target shr 8 and FF).toByte()
lowBit = (target and FF).toByte()
val intValue = target / 100
highBit = (intValue shr 8 and FF).toByte()
lowBit = (intValue and FF).toByte()
val decimalValue = target % 100
decimalBit = decimalValue.toByte()
}
return byteArrayOf(
0xFF.toByte(),
@ -32,7 +36,7 @@ class CalibrationCmd(private val index: Int, private val target: Int) {
lowBit,
0x00,
0x00,
0x00
decimalBit
).calibrationSum()
}
}

@ -71,7 +71,7 @@ class SensorCalibrationActivity : NoOptionsActivity() {
mBinding.tvSave.text = getString(R.string.calibration_zero_txt)
} else {
mBinding.layoutInput.visibility = View.VISIBLE
val localValue = MMKVUtils.getInt("${gasName}_Calibration")
val localValue = MMKVUtils.getFloat("${gasName}_Calibration")
if (localValue >= 0) {
mBinding.etName.setText(localValue.toString())
}
@ -111,9 +111,10 @@ class SensorCalibrationActivity : NoOptionsActivity() {
return@setOnClickListener
}
if (sensorIndex != -1) {
val toInt = text.toInt()
MMKVUtils.put("${gasName}_Calibration", toInt)
GasPortUtils.calibrationSensor(sensorIndex, toInt)
val toFloat = text.toFloat()
MMKVUtils.put("${gasName}_Calibration", toFloat)
// 输入的可能存在小数,*100底层处理会自动处理
GasPortUtils.calibrationSensor(sensorIndex, (toFloat * 100).toInt())
mHandler.postDelayed(outTimeRunnable, 3000)
}
}

@ -38,7 +38,7 @@
android:background="@drawable/cloud_sync_btn_bg"
android:focusable="true"
android:hint="@string/calibration_value"
android:inputType="number"
android:inputType="number|numberDecimal"
android:nextFocusDown="@id/et_name"
android:paddingStart="@dimen/_30dp"
android:singleLine="true"

@ -44,7 +44,7 @@ object MMKVUtils {
}
fun getFloat(key: String, vararg args: Any): Float {
return getKV(*args).getFloat(key, 0f)
return getKV(*args).getFloat(key, -1f)
}
fun getInt(key: String, vararg args: Any): Int {

Loading…
Cancel
Save