Skip to content

AEFeinstein/Super-2024-Swadge-FW

Repository files navigation

Super Magfest 2024 Swadge

This is the firmware repository for the Super Magfest 2024 Swadge. The Swadge is a wearable swag-badge powered by an ESP32-S2 and loaded with games and utilities. This project is based on the Super Magfest 2023 Swadge.

The corresponding hardware repository for the Super Magfest 2024 Swadge can be found here.

If you have any questions, feel free to create a Github ticket or email us at [email protected].

This is living documentation, so if you notice that something is incorrect or incomplete, please fix or complete it, and submit a pull request.

Documentation

Full documentation is hosted online here. It can also be built with the command make docs. The documentation details all APIs and has examples for how to use them. It was written to be referenced when writing Swadge modes. It also contains sections on setup, contribution, and conduct (which are individually linked below).

The Configuring a Development Environment guide can be found here. It will help you set up a development environment.

The Contribution Guide can be found here. It should be read before making a contribution.

Our Code of Conduct is simple, but worth reading and adhering to.

Continuous Integration

This project uses Github Actions to automatically build the firmware, emulator, and documentation any time a change is pushed to main.

Build Firmware and Emulator

Directory Structure

Code

  • main: The application code. This is platform-independent and is compiled into both firmware for the ESP32-S2 and an emulator for Windows or Linux.
  • components: The hardware abstraction code for ESP32-S2. This is only compiled into firmware.
  • emulator: The hardware abstraction code for the emulator. This is only compiled for Windows or Linux.

Code Support

  • assets: All of the assets (images, songs, level data, etc.) used by the application
  • tools: Various tools which aid in development

Configuration & Documentation

Troubleshooting

  • Read the documentation
  • Search the internet for your issue
  • Ask about it either in a Github issue or the Slack channel, #circuitboards.

If your problem is solved, then the solution should be added to the documentation in the appropriate place.