diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt
index a378f14..ec3a2f3 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt
@@ -46,6 +46,8 @@ object GasPortUtils {
ComMultiPortUtils.sendMsg(PORT_PATH, CMD.SENSOR_3)
Thread.sleep(READ_MSG_INTERVAL)
ComMultiPortUtils.sendMsg(PORT_PATH, CMD.SENSOR_4)
+ Thread.sleep(READ_MSG_INTERVAL)
+ ComMultiPortUtils.sendMsg(PORT_PATH, CMD.SENSOR_5)
}
} catch (e: Exception) {
e.printStackTrace()
@@ -55,4 +57,8 @@ object GasPortUtils {
readGasMsgThread!!.start()
}
}
+
+ fun setSpeed(speed: Int) {
+ ComMultiPortUtils.sendMsg(PORT_PATH, CMD.buildSpeedCmd(speed))
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/cmd/CMD.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/cmd/CMD.kt
index 1cd4207..f658b18 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/cmd/CMD.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/cmd/CMD.kt
@@ -2,9 +2,20 @@ package com.yinuo.safetywatcher.watcher.port.cmd
class CMD {
companion object {
+ fun buildSpeedCmd(speed: Int): ByteArray {
+ var legalSpeed = speed
+ if (speed < 0) {
+ legalSpeed = 0
+ } else if (speed > 9) {
+ legalSpeed = 9
+ }
+ return byteArrayOf(0x01, 0x06, 0x05, 0x00, 0x00, legalSpeed.toByte()).crc16()
+ }
+
val SENSOR_1 = byteArrayOf(0x01, 0x03, 0x00, 0x00, 0x00, 0x0A).crc16()
val SENSOR_2 = byteArrayOf(0x01, 0x03, 0x01, 0x00, 0x00, 0x0A).crc16()
val SENSOR_3 = byteArrayOf(0x01, 0x03, 0x02, 0x00, 0x00, 0x0A).crc16()
val SENSOR_4 = byteArrayOf(0x01, 0x03, 0x03, 0x00, 0x00, 0x0A).crc16()
+ val SENSOR_5 = byteArrayOf(0x01, 0x03, 0x04, 0x00, 0x00, 0x0A).crc16()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt
index d536ddc..46a9eec 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt
@@ -157,8 +157,9 @@ class HomeActivity : NoOptionsActivity() {
//mHasSensorData = true
mBinding.errorView.visibility =
if (!AppData.hasCameraData()) View.VISIBLE else View.GONE
- val errorRes =
- if (!AppData.hasCameraData() && !AppData.hasSensorData()) R.drawable.ic_nosingal else R.drawable.ic_icon
+// val errorRes =
+// if (!AppData.hasCameraData() && !AppData.hasSensorData()) R.drawable.ic_nosingal else R.drawable.ic_icon
+ val errorRes = R.drawable.ic_nosingal
mBinding.errorView.setImageResource(errorRes)
}
}
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt
index 222b46b..498a869 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt
@@ -3,9 +3,11 @@ package com.yinuo.safetywatcher.watcher.ui
import android.view.View
import android.widget.SeekBar
import android.widget.SeekBar.OnSeekBarChangeListener
+import com.common.commonlib.utils.MMKVUtils
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivitySpeedSettingBinding
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
+import com.yinuo.safetywatcher.watcher.port.GasPortUtils
class SpeedSettingActivity : NoOptionsActivity() {
@@ -22,12 +24,12 @@ class SpeedSettingActivity : NoOptionsActivity() {
}
override fun initView() {
- val initLight = 0
- mBinding.sbSpeed.progress = initLight
- mBinding.tvSpeed.text = getShowPercent(initLight)
+ val initSpeed = getDefaultSpeed()
+ mBinding.sbSpeed.progress = initSpeed
+ mBinding.tvSpeed.text = getShowSpeed(initSpeed)
mBinding.sbSpeed.setOnSeekBarChangeListener(object : OnSeekBarChangeListener {
override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) {
- mBinding.tvSpeed.text = getShowPercent(p1)
+ mBinding.tvSpeed.text = getShowSpeed(p1)
}
override fun onStartTrackingTouch(p0: SeekBar?) {
@@ -42,20 +44,34 @@ class SpeedSettingActivity : NoOptionsActivity() {
onBackPressed()
}
mBinding.tvConfirm.setOnClickListener {
- setSpeed()
+ setSpeed(mBinding.sbSpeed.progress)
onBackPressed()
}
}
+ private fun getDefaultSpeed(): Int {
+ var localSpeed = MMKVUtils.getInt("speed")
+ if (localSpeed < 0) {
+ localSpeed = 4
+ }
+ return localSpeed
+ }
+
/**
* 设置转速
*/
- private fun setSpeed() {
- TODO("Not yet implemented")
+ private fun setSpeed(speedProgress: Int) {
+ var legalSpeed = speedProgress
+ if (speedProgress < 0) {
+ legalSpeed = 0
+ } else if (speedProgress > 9) {
+ legalSpeed = 9
+ }
+ MMKVUtils.put("speed", legalSpeed)
+ GasPortUtils.setSpeed(legalSpeed)
}
- private fun getShowPercent(initLight: Int): CharSequence? {
- val percent = (initLight/255f * 100).toInt()
- return "$percent%"
+ private fun getShowSpeed(speed: Int): CharSequence? {
+ return "${speed + 1}档"
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
index 64f0713..cbd4453 100644
--- a/app/src/main/res/layout/activity_setting.xml
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -173,6 +173,11 @@
android:textSize="@dimen/_36dp" />
+
+
+ android:progress="4" />
diff --git a/library-common/src/main/java/com/common/commonlib/utils/MMKVUtils.kt b/library-common/src/main/java/com/common/commonlib/utils/MMKVUtils.kt
index 6697572..e035916 100644
--- a/library-common/src/main/java/com/common/commonlib/utils/MMKVUtils.kt
+++ b/library-common/src/main/java/com/common/commonlib/utils/MMKVUtils.kt
@@ -48,7 +48,7 @@ object MMKVUtils {
}
fun getInt(key: String, vararg args: Any): Int {
- return getKV(*args).getInt(key, 0)
+ return getKV(*args).getInt(key, -1)
}
fun getLong(key: String, vararg args: Any): Long {