This repository has been archived by the owner on Dec 5, 2023. It is now read-only.
V2.0
Loads of backend changes in V2. Update your device! Due to the size of this change you must update your master AND slave devices.
For update instructions please see https://github.com/Ryzee119/ogx360/tree/master/Firmware
User facing changes:
- ONE firmware for all. No longer have Master,Slave, Xbone, Steelbattalion.
- Allow mixing xinput controllers. (Wired 360. Wired One, Wireless 360 can be connected together seemlessly)
- Steel Battalion/Duke input can be emulated at the same time. i.e Duke Player 1, SB Player 2.
- Steel Battalion can be emulated on any controller port. Previously is was restricted to Player 1.
- All hardcoded controller look ups removed and hugely improved usb host device enumeration to handle device quirks better. Hopefully all 3rd party xinput compatible devices should just work now!
- Duke controller passthrough (beta). There's a bug in the usb host stack that causes a memory leak if connected via a USB hub. WIP fix!
Backend fixes:
- Reduce flash and ram usage so we have ONE firmware.
- Fix stack corruption issues. I believe we were getting stack corruption as there was no RAM left.
- Chatpad reliability fixes. Chatpad led code is much cleaner and works alot better.
- Huge backend updates. Latest upstream UHS lib, latest Arduino, Possibly a few bug fixes/optimizations here.
- Replace LUFA with internal USB API to reduce code size.
- Replace UHS XBOXRECV, XBOXUSB, and XBOXONE drivers completely with a single combined efficient driver. All commands will happen in the backend seemlessly. All you need to do is set flags for rumble/leds etc.