Skip to content
forked from Horocchi/arcin

Nemsys Firmware for arcin - Fork of zyp's arcin firmware repo

License

Notifications You must be signed in to change notification settings

SirusDoma/arcin

 
 

Repository files navigation

arcin

This repository contains firmware code for the arcin v1.1, a custom game controller board with support for 11 buttons, 2 analog or quadrature encoders, 2 always-on LEDs, and WS2812B LED lighting via the B9 connector.

This repository also contains necessary files for building and testing firmware, as well as creating binaries that can be distributed to users to easily flash their arcin.

Credits for the original codebase, forked repos, and many changes: zyp, K, handrew, Horocchi

The original codebase by zyp can be found at: http://cgit.jvnv.net/arcin/log/?h=conf

Branches

In addition to Horocchi fork, this repo contains:

sdvx-nemsys-ultimate-eacloud is a firmware to support SOUND VOLTEX III / SOUND VOLTEX VI e-AMUSEMENT CLOUD natively as a gamepad. You'll need to bind your keys with following schemes:

  • B1: Start
  • B2: BT A
  • B3: BT B
  • B4: BT C
  • B5: BT D
  • B6: FX L
  • B7: FX R

This firmware will modify Arcin Hardware Ids and Product Ids to work, becareful when you modify arcin config when connecting real official controller (Entry Model or Ultimate Model), any change you made into official controller may irreversible!

You'll need to boot into bootloader mode if you ever want to re-flash your arcin with your firmware of choice, runtime mode will not detected by firmware executable since Hardware and Product Ids is altered. To enter bootloader, press B1 + B2 when connecting arcin into PC.

Note that WS2812B need to be disabled since Start button require B9 to work properly. (TODO: Remap WS2812B).

Pre-Built Images

Latest firmware executable of sdvx-nemsys-eacloud branch can be downloaded here

Setup

  1. Grab the ARM toolchain: https://launchpad.net/gcc-arm-embedded/+download
  2. You will need SCons to build the image: http://scons.org/pages/download.html
  3. Supplementary scripts will require Python (2.7) as well as the hidapi-libusb library
  4. Clone the branch you want to work with.
  5. git submodule init: this will pull the external laks submodule, which contains headers for the hardware used by the arcin.

Building and Testing

  1. scons
  2. ./flash.py build/arcin.elf

See simpletest.py for an example test script to monitor HID reports generated by an arcin controller.

Packaging

After building an image using scons, run the following command to build a custom flasher EXE with your new firmware image embedded into it. This EXE can be given to users to easily flash their device. Substitute arcin_flash_custom.exe with whatever filename you want.

  1. ./flash_gen.py arcin.elf flash.exe arcin_flash_custom.exe

About

Nemsys Firmware for arcin - Fork of zyp's arcin firmware repo

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • C++ 62.6%
  • Python 25.3%
  • C 11.4%
  • GDB 0.7%