From 2e30fa388a6e8023604c8ea42ae5eb0e847eba62 Mon Sep 17 00:00:00 2001 From: lenn Date: Wed, 15 Apr 2026 09:20:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=95=B0=E6=8D=AE=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0summary=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-tauri/src/serial_core/codecs/tactile_a.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src-tauri/src/serial_core/codecs/tactile_a.rs b/src-tauri/src/serial_core/codecs/tactile_a.rs index 1c0e9f3..298831b 100644 --- a/src-tauri/src/serial_core/codecs/tactile_a.rs +++ b/src-tauri/src/serial_core/codecs/tactile_a.rs @@ -216,7 +216,7 @@ impl Codec for TactileACodec { req_bytes.push(f.meta.device_addr); req_bytes.push(f.meta.extend_code); req_bytes.push(f.meta.func_code); - + req_bytes.extend_from_slice(f.meta.start_addr.to_le_bytes().as_slice()); req_bytes.extend_from_slice((f.meta.except_data_len as u16).to_le_bytes().as_slice()); let checksum = calc_crc8_itu(req_bytes.as_slice()); @@ -259,6 +259,7 @@ impl CsvExporter for TactileACsvExporter { } header.push("dts".to_string()); + header.push("summary".to_string()); header } @@ -267,8 +268,10 @@ impl CsvExporter for TactileACsvExporter { item: &RecordedFrame, ) -> anyhow::Result> { let packet = TactileADataPacket::try_from(&item.frame)?; + let summary: i32 = packet.data.iter().sum(); let mut row: Vec = packet.data.iter().map(|x| x.to_string()).collect(); row.push(packet.dts_ms.to_string()); + row.push(summary.to_string()); Ok(row) } }