littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于Python和LUFA库的Picade固件及VSIX生成项目

项目简介

本项目包含两部分。其一为Picade PCB开发的替代固件,Picade是Pimoroni发起的“街机控制台”众筹项目,该固件基于ATmega32U4芯片,采用Dean Camera的LUFA库(2013 - 09 - 01),具备三种模拟不同USB设备的模式。其二是用于生成VSIX(Visual Studio Extension)文件的Python脚本,可实现LUFA库项目的自动化构建和打包,便于开发者将LUFA库集成到Visual Studio环境。

项目的主要特性和功能

替代固件部分

  • 可模拟多种USB设备,包括Joystick(3轴/16按钮游戏手柄,实际2轴)、Keyboard(162键/5个LED多媒体键盘,实际1个板载LED)、KeyboardMouse(键盘和3按钮鼠标,实际2个按钮)三种模式。
  • 能监测PCB上的空闲引脚,添加按钮后可做出响应。
  • 支持多系统,可在Debian系Linux系统运行,相关工具支持Windows和Mac系统。

VSIX生成脚本部分

  • 利用Python实现LUFA库项目的自动化构建和打包,生成VSIX文件。
  • 检查扩展数据库状态,保证其一致性,避免生成过程因数据库错误中断。
  • 生成包含项目生成所需信息的扩展缓存文件。

安装使用步骤

替代固件部分

上传预构建固件

  1. 更新系统: bash sudo apt-get update sudo apt-get upgrade
  2. 安装git: bash sudo apt-get install git
  3. 安装avrdude: bash sudo apt-get install avrdude
  4. 连接Picade PCB,进入预构建固件目录: bash cd path/to/picade_lufa/bin/
  5. 按下Picade PCB上的复位按钮启动引导加载程序,10秒内运行上传脚本(以Joystick模式为例): bash sudo./upload Joystick.hex
  6. 上传成功后,可能需拔下并重新插入USB线。

构建并上传固件

  1. 安装AVR工具链: bash sudo apt-get install binutils-avr gcc-avr avr-libc avrdude
  2. 以构建Joystick固件为例,进入相应目录,执行以下命令: bash cd path/to/picade_lufa/Joystick/ make clean make [按下复位按钮进入引导加载程序] sudo make avrdude

VSIX生成脚本部分

假设已下载脚本源码,运行脚本时从命令行参数中提供LUFA库的根路径,脚本将自动完成LUFA库项目的构建和打包,生成VSIX文件。例如: bash python script_name.py path/to/LUFA 其中script_name.py是脚本文件名,path/to/LUFA是LUFA库的根路径。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】