Skip to content
This repository has been archived by the owner on Apr 11, 2023. It is now read-only.

Commit

Permalink
Fix LEDs...whoops ☹
Browse files Browse the repository at this point in the history
  • Loading branch information
FeralAI committed Sep 4, 2021
1 parent 4411b16 commit 425ce95
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 11 deletions.
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
# GP2040 - Multi-platform Gamepad Firmware for RP2040 microcontrollers

The goal of GP2040 is to provide multi-platform compatibility for RP2040-based game controllers.
The goal of GP2040 is to provide multi-platform compatibility for RP2040-based game controllers. The current feature set is:

## Features

* Supports the following input modes:
* Support for the following input modes:
* Nintendo Switch
* XInput (PC, Android, Raspberry Pi)
* DirectInput (PC, Mac, PS3)
Expand All @@ -21,11 +19,11 @@ Input latency is tested using the methodology outlined at [WydD's inputlag.scien

| Mode | Poll Rate | Min | Max | Avg | Stdev | % on time | %1f skip | %2f skip |
| - | - | - | - | - | - | - | - | - |
| All | 1 ms | 0.56 ms | 1.59 ms | 0.96 ms | 0.28 ms | 95.28% | 4.72% | 0% |
| All | 1 ms | 0.56 ms | 1.58 ms | 0.89 ms | 0.25 ms | 95.71% | 4.29% | 0% |

## Development

The project is built using the PlatformIO VS Code plugin along with the [Wiz-IO Raspberry Pi Pico](https://github.com/Wiz-IO/wizio-pico) platform package, using the baremetal (Pico SDK) configuration. Only the Pico SDK is utilized, so there are no external dependencies at this time.
The project is built using the PlatformIO VS Code plugin along with the [Wiz-IO Raspberry Pi Pico](https://github.com/Wiz-IO/wizio-pico) platform package, using the baremetal (Pico SDK) configuration. There is an external dependency on the [MPG](https://github.com/FeralAI/MPG) C++ gamepad library for handling input state, providing extra features like Left/Right stick emulation and SOCD cleaning, and converting the generic gamepad state to the appropriate USB report.

### Board Definition

Expand All @@ -40,7 +38,7 @@ Once you have the project loaded into PlatformIO, edit the `include/definitions/
You can also add a new board definition to `include/definitions`. If you do, perform the following:

* Create new board definition file in `include/definitions` with your pin configuration and options.
* Add `#define` for your new board in `include/definitions/BoardConfig.h`.
* Add `#define` for your new board in `include/BoardConfig.h`.
* Add option to `src/RP2040Gamepad.cpp` in the `BOARD_DEFINITION` selection logic.
* Add a new environment to the `platformio.ini`
* Copy from existing environment and rename
Expand Down
3 changes: 0 additions & 3 deletions TODO.md

This file was deleted.

2 changes: 1 addition & 1 deletion lib/TinyUSB_Gamepad/library.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
}
],
"dependencies": {
"MPG": ">0.0.1"
"MPG": "https://github.com/FeralAI/MPG.git#e529c802b679b2bee8ec93b2ac4ed72edb9cf369"
},
"license": "MIT"
}
1 change: 1 addition & 0 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "pico/multicore.h"

#include "usb_driver.h"
#include "BoardConfig.h"
#include "MPG.h"
#include "NeoPico.hpp"
#include "AnimationStation.hpp"
Expand Down

0 comments on commit 425ce95

Please sign in to comment.