From eb66c2d2ff10c413be491e590fb6fdad627a8574 Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Thu, 7 Aug 2025 19:32:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../intelligent/shelves/HomeActivity.kt | 57 ++++++++++++------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt b/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt index 9fdaaf8..2605736 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt @@ -19,6 +19,7 @@ import com.shuwei.intelligent.shelves.task.TaskManager import com.shuwei.intelligent.shelves.utils.UIUtils import com.shuwei.intelligent.shelves.utils.f2C import com.shuwei.intelligent.shelves.utils.hexToDec +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.Date @@ -78,6 +79,14 @@ class HomeActivity : BaseActivity() { } } TaskManager.startTask() + +// repeat(100) { +// lifecycleScope.launch { +// var data = "D6DADEDB01010C6102000000000000010000000500008000000000060000000500000004000080060000000100000010190080701800800000000000000000000000000000000000000000000000005037414645333633333334333731373056322E313069FFFF" +// receiveSerialPortData(data) +// delay(100) +// } +// } } private val serialReader by lazy { StringBuilder() } @@ -137,12 +146,12 @@ class HomeActivity : BaseActivity() { end = weightEndIndex, data = data ) - val temperatureStartIndex = (1 + 12 * 4 + 20 + 1 + 1 + 1 + 1) * 2 + val temperatureStartIndex = 158 val temperatureEndIndex = temperatureStartIndex + 2 val temperatureHex = data.substring(temperatureStartIndex, temperatureEndIndex) val temperature = hexToDec(temperatureHex) -// val tempC = f2C(temperature.toDouble()) - val showTemp = "%.1f".format(temperature) + val tempC = f2C(temperature.toDouble()) + val showTemp = "%.1f".format(tempC.toDouble()) val percent = 10 * list.count { it.foodName.isNullOrBlank().not() } @@ -175,8 +184,12 @@ class HomeActivity : BaseActivity() { } weightArray.put(index, realWeight) - list[index-1].foodWeight = realWeight - shelfAdapter.notifyItemChanged(index) + if (index <= 10) { + list.first { it.shelfNo == index }.let { + it.foodWeight = realWeight + } + shelfAdapter.notifyItemChanged(index) + } count += 8 index++ @@ -184,23 +197,23 @@ class HomeActivity : BaseActivity() { } private fun getDeviceInfo(data: String) { - val weightStartIndex = HEADER.length + 4 + 10 - val temperatureStartIndex = weightStartIndex + 12 * 8 - val temperatureEndIndex = temperatureStartIndex + 2 - val temperatureHex = data.substring(temperatureStartIndex, temperatureEndIndex) - val temperature = hexToDec(temperatureHex) - updateLeftStatus("1-1冷藏柜 $temperature°C / 87%") - - getWeightInfo( - start = weightStartIndex, - end = temperatureStartIndex, - data = data - ) - - val intent = Intent(ShelfActivity.RECEIVER_DEVICE_INFO) - intent.putExtra(ShelfActivity.SHELF_WEIGHT, weightArray[clickIndex]) - intent.putExtra(ShelfActivity.RECEIVER_DEVICE_INFO, data) - sendBroadcast(intent) +// val weightStartIndex = HEADER.length + 4 + 10 +// val temperatureStartIndex = weightStartIndex + 12 * 8 +// val temperatureEndIndex = temperatureStartIndex + 2 +// val temperatureHex = data.substring(temperatureStartIndex, temperatureEndIndex) +// val temperature = hexToDec(temperatureHex) +// updateLeftStatus("1-1冷藏柜 $temperature°C / 87%") +// +// getWeightInfo( +// start = weightStartIndex, +// end = temperatureStartIndex, +// data = data +// ) +// +// val intent = Intent(ShelfActivity.RECEIVER_DEVICE_INFO) +// intent.putExtra(ShelfActivity.SHELF_WEIGHT, weightArray[clickIndex]) +// intent.putExtra(ShelfActivity.RECEIVER_DEVICE_INFO, data) +// sendBroadcast(intent) } private val weightArray by lazy { SparseIntArray() }