项目简介
本项目名为 "YeetlePrime_rotom - micro",是基于C语言开发的框架。它通过模拟任天堂Switch Pro控制器,实现任天堂Switch游戏(主要是宝可梦游戏)的自动化操作。该项目借助LUFA库,可对USB设备进行控制请求处理、数据传输以及端点管理等操作,支持AVR、XMEGA等微控制器系列。
项目的主要特性和功能
- 处理USB设备的控制请求,包括设置地址、配置设备、获取配置、获取描述符、获取设备状态等。
- 支持USB设备的端点管理,可进行端点配置、清除端点、等待端点就绪等操作。
- 实现数据传输功能,支持发送和接收数据,能处理不同字节序的数据,并可从多种地址空间读取数据。
- 支持主机模式下的USB设备枚举和配置过程,涵盖设备连接、枚举和配置等。
- 针对不同架构(如AVR和XMEGA)提供USB核心驱动代码,适配不同硬件平台。
- 提供模板函数,用于处理USB端点的读写操作,同时处理设备状态改变、数据传输和端点管理等操作。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件。使用前需完成以下准备:
1. 微控制器:项目目前仅在 Pro Micro 上测试过,“Teensy2.0”、“Teensy2.0++”、“Arduino Leonardo” 和 “Arduino UNO R3” 理论上也能正常工作。
2. 编译器:需要 avr - gcc 编译器将源代码生成.hex 文件。在 Linux 或 WSL 中可使用以下命令安装 avr - gcc 工具链:
sudo apt-get install gcc-avr binutils-avr avr-libc
3. make 工具:使用 makefile 进行编译需要 “make” 工具。在 Linux 或 WSL 中可使用以下命令安装:
sudo apt install make
具体步骤
- 下载并解压项目源码文件。
- 确保安装了必要的编译器(如 AVR GCC)和调试工具。
- 根据项目需要,选择合适的硬件平台(如 AVR 或 XMEGA),并在代码中设置相应的宏。
- 根据项目的具体需求,编写或修改应用程序代码,实现特定的功能。
- 使用相应的编译器和调试工具进行编译和调试,验证项目的功能。
- 若使用 Windows 系统,可按推荐设置(WSL (Ubuntu 20.04)、Windows Terminal、avr - gcc (on WSL)、make (on WSL)、QMK Toolbox)进行操作。
注意事项
使用本项目时,请确保遵守相关硬件和软件的使用协议,特别是关于 USB 通信的协议和规则。对于使用特定硬件平台的用户,需确保正确配置硬件和外围设备,以支持 USB 通信功能。若要修改微控制器类型,需在 makefile 中更改 MCU 类型。本项目采用 MIT LICENSE 许可,但因使用了 LUFA 库进行 USB 通信,重新分发部分代码时需考虑 LUFA LICENSE。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】