♻️ refactor(bin-loader): 重构二进制帧格式以匹配设备协议

- 将 TEMF v1 格式替换为设备 0x85 数据帧格式(10 字节帧头 + 54 字节元数据 + ADC 数据)
- 重写 encodeBin/decodeBin 函数以支持交织排列的 ADC 采样数据
- 更新记录页面使用设备配置中的 sampleFreqCode 替代从二进制文件解析的值
- 在导入项目时从设备配置获取 accNum 以适配新格式
This commit is contained in:
2026-06-21 17:34:58 +08:00
parent e1ca0d8512
commit 9b1ce66f4b
3 changed files with 121 additions and 92 deletions
+5 -1
View File
@@ -522,6 +522,10 @@ export async function importProject(
const meta = BinLoader.decodeBin(binBytes);
if (!meta) { onProgress?.(++done, totalFrames); continue; }
// accNum/sampleFreq not in device frame — get from manifest config
const cfg = session.device_config ?? manifest.device_config;
const accNum = cfg.accNum ?? 1;
// Write bin file to DATA_DIR
const fname = `${newSessionId}_f${String(frameId).padStart(6, '0')}.bin`;
const binPath = DATA_DIR + fname;
@@ -537,7 +541,7 @@ export async function importProject(
[
frameId, newSessionId, meta.timestamp,
meta.utc, meta.longitude, meta.latitude, meta.altitude,
meta.channelNum, meta.accNum, AMP_GAIN[meta.ampRatio] ?? 1,
meta.channelNum, accNum, AMP_GAIN[meta.ampRatio] ?? 1,
meta.gpsStatus, meta.sdStatus, meta.ampRatio,
meta.current, meta.temperature, meta.batteryVolt,
meta.roll, meta.pitch, meta.yaw, meta.srcMode, binPath,