# M5 Core TF 卡配置文件使用说明

本文档适用于 FMO 伴侣 M5 Core 固件 V2.0.1 及之后版本。

## 功能说明

M5 Core 可以从 TF 卡根目录读取一个 CSV 文件，一次导入：

- 全局本机呼号；
- 5 组网络配置；
- 当前启用的配置号。

这样可以在电脑上编辑 WiFi、FMO 地址和远程连接信息，再插入 M5 Core 读取，避免在 M5 小屏幕上逐项输入。

## 文件名和位置

TF 卡建议使用 32GB 以下容量，并格式化为 FAT32。

文件名必须固定为：

```text
fmo_profiles.csv
```

文件必须放在 TF 卡根目录，不要放进文件夹。

## CSV 范例

```csv
呼号,配置号,配置名(英文不超过4字母),WiFi名称,WiFi密码,FMO地址,DDNS远程,启用
BH1JSS,1,AAA,HWTD-BH1JSS,22222222,192.168.31.146,0,1
BH1JSS,2,ddns,HWTD-BH1JSS,11111,sdsdfsdf.sfasfs.dfa:11111,1,0
BH1JSS,3,C,StationWiFi,StationPassword,10.0.0.20,0,0
BH1JSS,4,D,,,,0,0
BH1JSS,5,EEEE,,,,0,0
```

仓库内提供模板文件：

```text
docs/fmo_profiles.csv
```

复制到 TF 卡根目录后，保持文件名不变：

```text
fmo_profiles.csv
```

## 字段说明

| 表头 | 含义 | 填写说明 |
| --- | --- | --- |
| 呼号 | 全局本机呼号 | 建议 5 行保持一致，例如 `BH1JSS` |
| 配置号 | 配置槽编号 | 固定为 `1` 到 `5` |
| 配置名(英文不超过4字母) | M5 上显示的配置名称 | 建议只用英文、数字、空格和常用 ASCII 符号 |
| WiFi名称 | WiFi SSID | 需要连接的无线网络名称 |
| WiFi密码 | WiFi 密码 | 开放网络可以留空 |
| FMO地址 | FMO 主机地址 | 只填 `Host[:Port]`，不要填 `http://`、`ws://` 或路径 |
| DDNS远程 | 是否远程/DDNS | `1` 表示开启，`0` 表示关闭 |
| 启用 | 当前启用配置 | 只建议一行填 `1`，其他行填 `0` |

## 字符集和中文提示

第一行表头可以使用中文，M5 会跳过第一行，不会把表头显示到设备上。

配置名不建议使用中文。M5 固件内置中文字体只覆盖界面常用字，不保证显示任意中文配置名。如果 `配置名(英文)` 中写入中文，导入器会保留默认名称 `配置1` 到 `配置5`，避免屏幕显示方块乱码。

保存 CSV 时建议：

- Excel：选择 `CSV UTF-8 (逗号分隔) (*.csv)`；
- Numbers/WPS/文本编辑器：选择 `UTF-8`，最好保存为 `UTF-8 with BOM`；
- 不建议保存为 `ANSI`、`GBK` 或系统默认编码。

## M5 上读取步骤

1. 在电脑上编辑并保存 `fmo_profiles.csv`。
2. 把文件放到 TF 卡根目录。
3. 将 TF 卡插入 M5 Core。
4. 打开 M5，进入设置页。
5. 选中第一行 `TF卡配置文件`。
6. 按中键读取。
7. 读取成功后，该行右侧会显示 `已读取`。
8. 回到设置首页，确认 `选择配置` 显示当前启用配置号。

## 导入规则

- TF 卡建议为 32GB 以下、FAT32 格式。
- 只读取 TF 卡根目录的 `fmo_profiles.csv`。
- 第一行作为表头跳过，列顺序必须保持不变。
- 标记为 `启用=1` 的配置必须同时包含 WiFi 名称和 FMO 地址。
- 如果没有任何一行写 `启用=1`，固件会选择第一组同时包含 WiFi 名称和 FMO 地址的配置。
- 文件解析失败时，不会覆盖原有配置。
- 未插 TF 卡、文件不存在或文件名不正确时，设备继续使用原有配置。
