Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: WIP USB and hardware config #47

Merged
merged 8 commits into from
Dec 27, 2023

Conversation

finger563
Copy link
Contributor

@finger563 finger563 commented Dec 23, 2023

Description

  • Added usb support for USB MSC wired up to uSD card for mouting to computer.
  • Updated main settings screen to have a USB MSC button for enabling and disabling USB MSC. Deault is disabled on boot so that programming / logging can be done.
  • Refactor box-emu-hal some to have kconfig for selecting hardware version and configuring the input driver based on that.
  • Added support for Aw9523 input driver (V1 hardware which changes compared to V0)
  • Update espp submodule
  • Update file system to expose sdcard for use by usb subsystem.
  • related / WIP Firmware support for Version 1 #45 USB Mass Storage Class (MSC) for managing Roms when plugged in over USB #46
  • Moved rom_info related stuff to its own component so that it can be used by the gui
  • Moved metadata parsing from main into gui and have it run in constructor and when the rom screen is loaded (which happens when settings is left), this allows the rom screen to update if the file has changed due to USB MSC
  • Fixed bug in gui that was added last commit (extraneous check on video setting)
  • Update rom_info to manage FS_PREFIX itself, so that boxart paths and rom paths are complete (and updated cart accordingly)
  • Added printing functions so that rom info can be easily printed
  • Updated usb to reenable usb cdc / jtag when disabling tinyusb MSC
  • Simplify rom management in the gui

Motivation and Context

#45 #46

How has this been tested?

Building and running on hardware V0.
Building under config for hardware V1.

Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):

Enabled:
image

Showing up for NTFS in Mac:
CleanShot 2023-12-26 at 22 09 18@2x

Data on the card:
CleanShot 2023-12-26 at 22 11 53@2x
CleanShot 2023-12-26 at 22 11 22@2x
CleanShot 2023-12-26 at 22 11 41@2x

Disabled:
image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update
  • Hardware (schematic, board, system design) change
  • Software change

Checklist:

  • My change requires a change to the documentation.
  • I have added / updated the documentation related to this change via either README or WIKI

Software

  • I have added tests to cover my changes.
  • I have updated the .github/workflows/build.yml file to add my new test to the automated cloud build github action.
  • All new and existing tests passed.
  • My code follows the code style of this project.

* Added usb support for USB MSC wired up to uSD card for mouting to computer.
* Updated main settings screen to have a USB MSC button for enabling and disabling USB MSC. Deault is disabled on boot so that programming / logging can be done.
* Refactor box-emu-hal some to have kconfig for selecting hardware version and configuring the input driver based on that.
* Added support for Aw9523 input driver (V1 hardware which changes compared to V0)
* Update espp submodule
* Update file system to expose sdcard for use by usb subsystem.
related / WIP #45 #46
* Moved rom_info related stuff to its own component so that it can be used by the gui
* Moved metadata parsing from main into gui and have it run in constructor and when the rom screen is loaded (which happens when settings is left), this allows the rom screen to update if the file has changed due to USB MSC
* Fixed bug in gui that was added last commit (extraneous check on video setting)
* Update rom_info to manage FS_PREFIX itself, so that boxart paths and rom paths are complete (and updated cart accordingly)
* Added printing functions so that rom info can be easily printed
* Updated usb to reenable usb cdc / jtag when disabling tinyusb MSC
* Simplify rom management in the gui
@finger563 finger563 merged commit b8b7a47 into main Dec 27, 2023
@finger563 finger563 deleted the feature/45-updated-firmware-support branch December 27, 2023 04:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

USB Mass Storage Class (MSC) for managing Roms when plugged in over USB
1 participant