# Bug 描述

SDK 返回的 valid 字段永远都是 0。具体现象是：下发搜台指令后，已经没有频率回调了，但是 valid 还是 0。

## 协议定义（Radio.xlsx）

- **valid 字段位于 Byte12 的 bit7**
  - `0`：无效台
  - `1`：有效台

- **Byte12 其他相关位定义：**
  - bit0: `flag_stereo` — 0[无立体声], 1[有立体声]
  - bit1: `flag_tp` — 0[无TP显示], 1[有TP显示]
  - bit2: `flag_ta` — 0[非TA电台], 1[TA电台]
  - bit3: `af_blink` — 0[AF闪烁关], 1[AF闪烁开]
  - bit4: `band_switching` — 0[波段切换已完成], 1[波段切换未完成]

- **搜台模式定义（Byte11 bit3~bit0）：**
  - 0: `SEEK_STOP` — 停止搜索
  - 1: `SEEK_AMS` — AMS搜索
  - 2: `SEEK_FF` — 单步向前搜索[频率增大]
  - 3: `SEEK_FB` — 单步向后搜索[频率减小]
  - 4: `SEEK_PTY` — PTY搜索
  - 5: `SEEK_TA` — TA搜索

## 实际日志表现

日志过滤关键字：`onFreqChanged`

```
onFreqChanged: band=0 freq=11361 signal=0 valid=0 seekMode=0 ...
seekForward
onFreqChanged: band=0 freq=10090 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10100 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10130 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10170 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10180 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10210 signal=0 valid=0 seekMode=2 ...
...
onFreqChanged: band=0 freq=10250 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10260 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10280 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10290 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10320 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10330 signal=0 valid=0 seekMode=2 ...
onFreqChanged: band=0 freq=10340 signal=0 valid=0 seekMode=2 ...
```

### 日志关键观察

1. **搜台指令已正常下发**：`seekForward` 被调用，且频率在持续变化（10090 → 10100 → 10130 → ...），说明 MCU 端搜台动作在执行。
2. **`valid` 始终为 0**：搜台过程中所有 `onFreqChanged` 回调中 `valid` 字段均为 0，没有一次变为 1（有效台）。
3. **`signal` 也始终为 0**：信号强度字段同样一直为 0，未检测到有效信号。
4. **`seekMode=2`**：对应协议中的 `SEEK_FF`（单步向前搜索，频率增大）。

## 初步分析

- 从日志看，频率回调正常，说明通信链路没有问题。
- 问题可能出在：
  1. **MCU 端搜台逻辑**：MCU 实际没有搜到有效电台，或搜到后没有将 Byte12 bit7 置 1。
  2. **信号环境问题**：当前测试环境确实没有有效电台信号，导致 `signal=0` 且 `valid=0`。
  3. **SDK 解析问题**：SDK 对 Byte12 的解析有误，bit7 读取逻辑错误（如位移/掩码错误）。
  4. **MCU 固件版本**：当前 MCU 版本 `swVersion=0302_20260520`，需确认该版本是否存在已知问题。

## 待确认项

- [ ] 测试环境是否有已知的有效电台信号？
- [ ] 其他同版本设备是否正常？
- [ ] MCU 端在搜到台时是否正确设置了 Byte12 bit7 = 1？
- [ ] SDK 解析 Byte12 的代码逻辑是否正确（mask 是否为 `0x80`）？
