├── .gitignore ├── CMakeLists.txt ├── Kconfig ├── LICENSE.md ├── README.md ├── component.mk ├── cores ├── core_bt_dinput.c ├── core_bt_xinput.c ├── core_gamecube_backend.c ├── core_snes_backend.c ├── core_switch_backend.c ├── core_usb_backend.c └── switch │ ├── core_switch_comms.c │ ├── core_switch_controller.c │ ├── core_switch_input.c │ ├── core_switch_reports.c │ └── core_switch_spi.c ├── descriptors ├── BlueRetro Notes for GameCube.txt ├── ESP-IDF Changes ├── NS-USB-descriptor.txt ├── NS-USB-descriptors More.txt ├── Xbox-One-Descriptor ├── gamepad_generic ├── joycon_l ├── joycon_r ├── n64 ├── oem-gamecube-adapter-HID.txt ├── procon └── snes ├── esp_hid_gap.c ├── examples └── basic-wired-gamepad │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.md │ ├── dependencies.lock │ ├── main │ ├── CMakeLists.txt │ └── main.c │ └── sdkconfig ├── hardware ├── KeyPad-Config-Diode.png └── KeyPad-Config-Scan.png ├── hoja_backend.c ├── hoja_frontend.c ├── hoja_settings.c ├── idf_component.yml ├── include ├── cores │ ├── core_bt_dinput.h │ ├── core_bt_xinput.h │ ├── core_gamecube_backend.h │ ├── core_snes_backend.h │ ├── core_switch_backend.h │ ├── core_usb_backend.h │ └── switch │ │ ├── core_switch_comms.h │ │ ├── core_switch_controller.h │ │ ├── core_switch_imu.h │ │ ├── core_switch_input.h │ │ ├── core_switch_reports.h │ │ ├── core_switch_spi.h │ │ ├── core_switch_types.h │ │ └── core_switch_vibration.h ├── esp_hid_gap.h ├── hoja_backend.h ├── hoja_frontend.h ├── hoja_includes.h ├── hoja_settings.h ├── hoja_types.h ├── resources │ └── rsc_descriptors.h └── utilities │ ├── util_battery.h │ ├── util_bt_hid.h │ ├── util_common.h │ ├── util_config.h │ ├── util_gamepad.h │ ├── util_i2c.h │ ├── util_joybus_rmt.h │ ├── util_rmt.h │ └── util_wired_detect.h ├── notes └── notes on SPI function.txt ├── resources └── rsc_descriptors.c └── utilities ├── util_battery.c ├── util_bt_hid.c ├── util_common.c ├── util_config.c ├── util_gamepad.c ├── util_i2c.c ├── util_joybus_rmt.c └── util_wired_detect.c /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /Kconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/Kconfig -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/README.md -------------------------------------------------------------------------------- /component.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/component.mk -------------------------------------------------------------------------------- /cores/core_bt_dinput.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/core_bt_dinput.c -------------------------------------------------------------------------------- /cores/core_bt_xinput.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/core_bt_xinput.c -------------------------------------------------------------------------------- /cores/core_gamecube_backend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/core_gamecube_backend.c -------------------------------------------------------------------------------- /cores/core_snes_backend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/core_snes_backend.c -------------------------------------------------------------------------------- /cores/core_switch_backend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/core_switch_backend.c -------------------------------------------------------------------------------- /cores/core_usb_backend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/core_usb_backend.c -------------------------------------------------------------------------------- /cores/switch/core_switch_comms.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/switch/core_switch_comms.c -------------------------------------------------------------------------------- /cores/switch/core_switch_controller.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/switch/core_switch_controller.c -------------------------------------------------------------------------------- /cores/switch/core_switch_input.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/switch/core_switch_input.c -------------------------------------------------------------------------------- /cores/switch/core_switch_reports.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/switch/core_switch_reports.c -------------------------------------------------------------------------------- /cores/switch/core_switch_spi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/cores/switch/core_switch_spi.c -------------------------------------------------------------------------------- /descriptors/BlueRetro Notes for GameCube.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/BlueRetro Notes for GameCube.txt -------------------------------------------------------------------------------- /descriptors/ESP-IDF Changes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/ESP-IDF Changes -------------------------------------------------------------------------------- /descriptors/NS-USB-descriptor.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/NS-USB-descriptor.txt -------------------------------------------------------------------------------- /descriptors/NS-USB-descriptors More.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/NS-USB-descriptors More.txt -------------------------------------------------------------------------------- /descriptors/Xbox-One-Descriptor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/Xbox-One-Descriptor -------------------------------------------------------------------------------- /descriptors/gamepad_generic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/gamepad_generic -------------------------------------------------------------------------------- /descriptors/joycon_l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/joycon_l -------------------------------------------------------------------------------- /descriptors/joycon_r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/joycon_r -------------------------------------------------------------------------------- /descriptors/n64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/n64 -------------------------------------------------------------------------------- /descriptors/oem-gamecube-adapter-HID.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/oem-gamecube-adapter-HID.txt -------------------------------------------------------------------------------- /descriptors/procon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/procon -------------------------------------------------------------------------------- /descriptors/snes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/descriptors/snes -------------------------------------------------------------------------------- /esp_hid_gap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/esp_hid_gap.c -------------------------------------------------------------------------------- /examples/basic-wired-gamepad/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | sdkconfig.old -------------------------------------------------------------------------------- /examples/basic-wired-gamepad/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/examples/basic-wired-gamepad/CMakeLists.txt -------------------------------------------------------------------------------- /examples/basic-wired-gamepad/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/examples/basic-wired-gamepad/README.md -------------------------------------------------------------------------------- /examples/basic-wired-gamepad/dependencies.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/examples/basic-wired-gamepad/dependencies.lock -------------------------------------------------------------------------------- /examples/basic-wired-gamepad/main/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/examples/basic-wired-gamepad/main/CMakeLists.txt -------------------------------------------------------------------------------- /examples/basic-wired-gamepad/main/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/examples/basic-wired-gamepad/main/main.c -------------------------------------------------------------------------------- /examples/basic-wired-gamepad/sdkconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/examples/basic-wired-gamepad/sdkconfig -------------------------------------------------------------------------------- /hardware/KeyPad-Config-Diode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/hardware/KeyPad-Config-Diode.png -------------------------------------------------------------------------------- /hardware/KeyPad-Config-Scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/hardware/KeyPad-Config-Scan.png -------------------------------------------------------------------------------- /hoja_backend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/hoja_backend.c -------------------------------------------------------------------------------- /hoja_frontend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/hoja_frontend.c -------------------------------------------------------------------------------- /hoja_settings.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/hoja_settings.c -------------------------------------------------------------------------------- /idf_component.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/idf_component.yml -------------------------------------------------------------------------------- /include/cores/core_bt_dinput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/core_bt_dinput.h -------------------------------------------------------------------------------- /include/cores/core_bt_xinput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/core_bt_xinput.h -------------------------------------------------------------------------------- /include/cores/core_gamecube_backend.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/core_gamecube_backend.h -------------------------------------------------------------------------------- /include/cores/core_snes_backend.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/core_snes_backend.h -------------------------------------------------------------------------------- /include/cores/core_switch_backend.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/core_switch_backend.h -------------------------------------------------------------------------------- /include/cores/core_usb_backend.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/core_usb_backend.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_comms.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_comms.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_controller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_controller.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_imu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_imu.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_input.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_input.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_reports.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_reports.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_spi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_spi.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_types.h -------------------------------------------------------------------------------- /include/cores/switch/core_switch_vibration.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/cores/switch/core_switch_vibration.h -------------------------------------------------------------------------------- /include/esp_hid_gap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/esp_hid_gap.h -------------------------------------------------------------------------------- /include/hoja_backend.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/hoja_backend.h -------------------------------------------------------------------------------- /include/hoja_frontend.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/hoja_frontend.h -------------------------------------------------------------------------------- /include/hoja_includes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/hoja_includes.h -------------------------------------------------------------------------------- /include/hoja_settings.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/hoja_settings.h -------------------------------------------------------------------------------- /include/hoja_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/hoja_types.h -------------------------------------------------------------------------------- /include/resources/rsc_descriptors.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/resources/rsc_descriptors.h -------------------------------------------------------------------------------- /include/utilities/util_battery.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_battery.h -------------------------------------------------------------------------------- /include/utilities/util_bt_hid.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_bt_hid.h -------------------------------------------------------------------------------- /include/utilities/util_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_common.h -------------------------------------------------------------------------------- /include/utilities/util_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_config.h -------------------------------------------------------------------------------- /include/utilities/util_gamepad.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_gamepad.h -------------------------------------------------------------------------------- /include/utilities/util_i2c.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_i2c.h -------------------------------------------------------------------------------- /include/utilities/util_joybus_rmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_joybus_rmt.h -------------------------------------------------------------------------------- /include/utilities/util_rmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_rmt.h -------------------------------------------------------------------------------- /include/utilities/util_wired_detect.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/include/utilities/util_wired_detect.h -------------------------------------------------------------------------------- /notes/notes on SPI function.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/notes/notes on SPI function.txt -------------------------------------------------------------------------------- /resources/rsc_descriptors.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/resources/rsc_descriptors.c -------------------------------------------------------------------------------- /utilities/util_battery.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/utilities/util_battery.c -------------------------------------------------------------------------------- /utilities/util_bt_hid.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/utilities/util_bt_hid.c -------------------------------------------------------------------------------- /utilities/util_common.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/utilities/util_common.c -------------------------------------------------------------------------------- /utilities/util_config.c: -------------------------------------------------------------------------------- 1 | #include "util_config.h" -------------------------------------------------------------------------------- /utilities/util_gamepad.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/utilities/util_gamepad.c -------------------------------------------------------------------------------- /utilities/util_i2c.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/utilities/util_i2c.c -------------------------------------------------------------------------------- /utilities/util_joybus_rmt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/utilities/util_joybus_rmt.c -------------------------------------------------------------------------------- /utilities/util_wired_detect.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HandHeldLegend/HOJA-LIB-ESP32/HEAD/utilities/util_wired_detect.c --------------------------------------------------------------------------------