# NCS ANT 支持情况确认

## ✅ 结论：NCS **支持** ANT 协议

NCS (nRF Connect SDK) 支持 ANT 协议，但需要**额外安装** `sdk-ant` 模块。

---

## 📋 支持情况总结

### ✅ 硬件支持
- **nRF52832**: ✅ 支持 ANT
- **nRF5340**: ✅ 支持 ANT（旗舰产品）
- **nRF52 系列**: ✅ 全部支持 ANT

### ✅ 软件支持
- **NCS v2.5.1**: ✅ 支持（通过 sdk-ant 模块）
- **同时运行 ANT + BLE**: ✅ 支持（无线电时间分时共享）

---

## 🔧 安装步骤

### 1. 安装 sdk-ant 模块

在 NCS 根目录（`C:\ncs\v2.5.1`）执行：

```powershell
# 初始化 ANT 仓库
west init -m https://github.com/ant-nrfconnect/sdk-ant --mr v2.0.0

# 更新仓库
west update

# 导出 Zephyr CMake 包
west zephyr-export
```

### 2. 配置项目

在 `firmware-ncs/prj.conf` 中启用：

```kconfig
# ANT 支持
CONFIG_ANT_STACK_ENABLE=y
CONFIG_ANT_CHANNELS=8
CONFIG_ANT_LICENSE_KEY="4d0a-05de-fa63-d21f-53b6-d8ea-3421-c91a"
```

### 3. 验证安装

编译项目，如果成功则说明 ANT 支持已正确安装：

```powershell
cd firmware-ncs
west build -b nrf52dk_nrf52832
```

---

## 📚 参考资源

### 官方文档
- **NCS ANT 文档**: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/others/ant.html
- **sdk-ant GitHub**: https://github.com/ant-nrfconnect/sdk-ant

### 版本兼容性
- **sdk-ant v2.0.0**: 与 NCS v2.5.1 兼容
- **最新版本**: 请查看 GitHub 仓库获取最新版本信息

---

## ⚠️ 注意事项

### 1. 许可证密钥
- 您需要从 Nordic 获得 ANT 许可证密钥
- 当前项目使用的密钥：`4d0a-05de-fa63-d21f-53b6-d8ea-3421-c91a`
- 如果密钥过期或无效，需要申请新密钥

### 2. 版本兼容性
- 确保 `sdk-ant` 版本与 NCS 版本兼容
- 建议使用与 NCS 版本匹配的 `sdk-ant` 版本

### 3. RAM 使用
- ANT 协议栈需要额外的 RAM（约 1.5-2 KB）
- 与 BLE 同时运行时，RAM 需求会增加
- 当前项目 RAM 使用率约 50%，应该足够

### 4. 与 nRF5 SDK 的差异
- **nRF5 SDK**: 使用 SoftDevice S332（同时支持 BLE + ANT）
- **NCS**: 使用 sdk-ant 模块（独立于 SoftDevice）
- API 可能有所不同，需要适配代码

---

## 🔄 从 nRF5 SDK 迁移到 NCS

### 主要差异

| 项目 | nRF5 SDK | NCS |
|------|---------|-----|
| **SoftDevice** | S332 (BLE + ANT) | 无（使用 Zephyr BLE + sdk-ant） |
| **初始化** | `sd_ant_enable()` | `ant_stack_init()` |
| **通道配置** | `ant_channel_config_t` | `ant_channel_config_t` (可能不同) |
| **API 头文件** | `<ant_interface.h>` | `<ant.h>` (可能不同) |

### 迁移建议

1. **先安装 sdk-ant 模块**
2. **查看 sdk-ant 示例代码**，了解新的 API
3. **逐步迁移** `radio_ant` 相关代码
4. **测试** ANT 功能是否正常

---

## 📝 当前项目状态

### ✅ 已完成
- [x] 确认 NCS 支持 ANT
- [x] 找到安装方法（sdk-ant）
- [x] 找到配置方法（prj.conf）

### ⏳ 待完成
- [ ] 安装 sdk-ant 模块
- [ ] 在 prj.conf 中启用 ANT 配置
- [ ] 验证编译是否成功
- [ ] 迁移 `radio_ant` 模块代码
- [ ] 迁移 `radio_ant_bpwr` 模块代码
- [ ] 测试 ANT 功能

---

## 🚀 下一步行动

### 立即执行（推荐）
1. **安装 sdk-ant 模块**：
   ```powershell
   cd C:\ncs\v2.5.1
   west init -m https://github.com/ant-nrfconnect/sdk-ant --mr v2.0.0
   west update
   west zephyr-export
   ```

2. **启用 ANT 配置**：
   在 `firmware-ncs/prj.conf` 中取消注释：
   ```kconfig
   CONFIG_ANT_STACK_ENABLE=y
   CONFIG_ANT_CHANNELS=8
   CONFIG_ANT_LICENSE_KEY="4d0a-05de-fa63-d21f-53b6-d8ea-3421-c91a"
   ```

3. **验证编译**：
   ```powershell
   cd firmware-ncs
   west build -b nrf52dk_nrf52832
   ```

### 后续步骤
- 如果编译成功，可以开始迁移 `radio_ant` 模块
- 如果编译失败，检查错误信息并调整配置

---

## 📞 获取帮助

如果遇到问题：
1. 查看 sdk-ant GitHub Issues: https://github.com/ant-nrfconnect/sdk-ant/issues
2. 查看 NCS 文档: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/
3. Nordic DevZone: https://devzone.nordicsemi.com/

