TheFlav / Freeplay_joystick_i2c

Freeplay i2c joystick firmware using attiny817, attiny1627, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Freeplay_joystick_i2c

This repository does provide files needs to turn a ATtiny MCU into IO/ADC I2C expansion IC with advanced configuration.
It does also contain Linux kernel-space and user-space drivers to turn it into a input driver (only one kind at once).

MCU code uses megaTinyCore and mainly target following MCUs (may require compilation and upload scripts update): ATtiny417, ATtiny817, ATtiny1617, ATtiny427, ATtiny827, ATtiny1627.

Files provided here are mainly aimed to be used on Freeplaytech Zero platform (2022 640x480 IPS version) but can also be used on other projects if you want.

Please check following sections for more indepth instructions/informations.

MCU

Kernel-space driver

  • kernel/ : Kernel driver files.
  • kernel/device-tree/ : Device-tree blob overlay.
  • kernel/diag/ : Diagnostic/setup program to allow end users do there own settings in a simpler way (use with caution).

User-space driver

Note: Require a kernel compiled with UHID support, check existance of /dev/uhid file on your system to confirm that.

  • uhid/digital/ : Simple example code for digital-only pad.
  • uhid/analog/ : Simple example code for dual analog.
  • uhid/gamepad/ : Full-featured set including driver and diagnostic/setup program for calibration and interfacing many features.

Install scripts

  • scripts/ : Contain install scripts (mainly aimed at Retropie image).
  • scripts/binary_package/ : Installation procedure and automated scripts to install already compiled drivers and programs on a fresh image.

Installation into a Freeplay Zero (2022 640x480 IPS version)

Please follow binary package instructions.

About

Freeplay i2c joystick firmware using attiny817, attiny1627, etc.

License:GNU General Public License v3.0


Languages

Language:C 82.0%Language:C++ 11.1%Language:Shell 3.9%Language:Python 2.0%Language:Makefile 1.0%