Skip to content
This repository has been archived by the owner on Jan 5, 2023. It is now read-only.
/ CL-FW Public archive

A modular, platform independent controller firmware.

License

Notifications You must be signed in to change notification settings

Crane1195/CL-FW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecated

This firmware is no longer being added to / maintained. You should use HayBox instead.

Crane's Lab Firmware

This firmware is for all-digital fightsticks, with an emphasis on:

  • Modifiers for digital to analog functionality
  • Ease of adding/modifying games and modes
  • Ease of porting to different hardware

Current Features

Modes

  • GameCube Mode
  • N64 Mode
  • PC Dinput Gamepad Mode
  • PC Keyboard Mode
  • PC Input Viewer Compatibility
  • Automatic switching between console and USB modes (GameCube and PC Dinput by default)

Games

  • Melee
  • Ultimate
  • Project M/+
  • Rivals of Aether
  • D-pad mode for traditional fighters and platformers

SOCD Resolution Methods

  • Neutral
  • Second Input Priority (2IP)
  • Second Input Priority Without Reactivation (2IP No Reactivation)
  • Option to prioritize Up for Keyboard and D-pad mode, using any of the above SOCD resolution methods
  • Each game can have all four axes' SOCD method changed independently (Left/Right stick X/Y Axis)

Hardware Info

Currently Supported Hardware

  • Arduino AVR family (Leonardo, Micro, Pro Micro, Mega2560, Nano, Uno)
  • Crane's Lab Model S v2.X
  • Crane's Lab GCCMX
  • Crane's Lab GCCPCB v2.0
  • Crane's Lab GCCPCB v1.0
  • HTangl v1
  • HTangl Prototype
  • 20XX B0XX r1 (18 Buttons)
  • 20XX B0XX r2 (20 Buttons)
  • HitBox Smash Box
  • JFA LBX

Hardware To Eventually Support

  • Raspberry Pi Pico (and other RP2040 solutions)
  • Frame1 Heavy/Light

Installation and Setup Guide

Here you can find a comprehensive Installation and Setup Guide for CL-FW.

Credits

@JonnyHaystack - Creator of HayB0XX, providing the pinout of the B0XX r2, the most up to date coordinates for Melee mode, and an example to follow for how to use PlatformIO.

@Nicohood - Creator of the Nintendo Library used for AVR boards.

@MHeironimus - Creator of the PC Dinput Gamepad Library used for AVR boards.

@Arduino - Creators of open source hardware and libraries used for AVR boards, including the Keyboard library used in this firmware

Issues

If you think there is a problem with the firmware, create a post in the issues section.

Format your post like so:

  • FW Version: v0.1.5 (or commit hash, ex: 5ab343d)
  • Device: Model S v2.2 (what you are running the firmware on)
  • Host: Nintendo GCC adapter on Nintendo Switch (what you are connecting the Device to)
  • Game: Ultimate v13.0.1 (the software running on the Host)
  • Buttons pressed while plugging in: B
  • Actions: A detailed list of the actions you are performing
  • Expected behavior: What you expect to occur
  • Actual behavior: What is actually occuring

If your post does not have all of this information, or it is not descriptive enough, it will be closed.

License

CL-FW is licenced under the GNU GPL Version 3. See the included LICENSE file for details.

Support my work

I set up a donation link for people who appreciate my work and wish to donate. Donations are greatly appreciated, but are far from necessary:

https://www.paypal.com/donate/?hosted_button_id=NFDEML5FKR8N8