Commit Graph

67 Commits

Author SHA1 Message Date
Frederik Walk
33530a37fe Improve PS4 compatibility
PS4 Tatacon will be recognized by PS4, but will timeout after
around 8 minutes like all unauthorized controllers.

Dualshock4 mode will not work on PS4.
2024-11-16 16:40:20 +01:00
Frederik Walk
b32fe99c90 Rework README 2024-11-13 22:01:40 +01:00
Frederik Walk
da2114fa6a Fix menu buttons for toggle options 2024-11-13 21:46:57 +01:00
Frederik Walk
381d91e7bc Use DMA for reading external ADC
The external ADC will constantly convert, reading will give
the maximum value since the last read. This should avoid
missing any peaks.

The internal ADC will now only do one conversion upon read,
consider it abandoned for now.
2024-11-13 21:12:26 +01:00
Frederik Walk
464b713917 Simplify status LED color mixing 2024-11-07 16:15:55 +01:00
Frederik Walk
5aceccc855 Rework Menu
- Live preview of all settings
- Settings will be applied with 'Select/Apply' or reset with 'Back'
- DS4 player color can be en-/disabled
2024-11-07 16:15:55 +01:00
Frederik Walk
55c9966b88 Refactor USB drivers 2024-11-07 16:15:55 +01:00
Frederik Walk
fc15457cbf Update Pico SDK to 2.0.0 2024-11-07 16:15:44 +01:00
Frederik Walk
2bcbf1e458 Add XInput Analog mode
This mode will map the readouts of the drum to the left (for player 1)
or right (for player 2) analogstick axis.
2024-10-12 18:38:42 +02:00
Frederik Walk
1644e1e611 Allow left+right double hits
The largest reading for each side is taken into account.
2024-10-12 12:18:03 +02:00
Frederik Walk
0f9d433253 Add Second Keyboard mode
There a now two keyboard modes to easily allow two players on the
same computer. Player 1 is mapped to 'DFJK', player 2 to 'CBN,'.
2023-12-29 22:49:25 +01:00
Frederik Walk
c41af9c82d Display previous roll below roll counter 2023-12-29 20:57:56 +01:00
Frederik Walk
bf94a1effb Calculate Roll Counte on core0 2023-12-03 17:18:01 +01:00
Frederik Walk
70846721cb Support DS4 Plater Color on LED 2023-12-03 16:30:36 +01:00
Frederik Walk
092eeb4f07 Simplify false hit detection
For now, only allow one input at a time
2023-12-03 16:07:58 +01:00
Frederik Walk
b17b98068a Reword Debounce Delay to Hold Time 2023-12-03 11:31:22 +01:00
Frederik Walk
c1b410d120 Add Keyboard Mode 2023-12-03 11:27:19 +01:00
Frederik Walk
75bcf4dd96 Release buttons when entering menu 2023-12-02 22:11:24 +01:00
Frederik Walk
4244a4ff17 Fix Debounce delay on-screen menu 2023-12-02 21:44:55 +01:00
Frederik Walk
3d217e5729 Rework DS4 structs based on linux kernel hid driver 2023-11-26 09:58:33 +01:00
Frederik Walk
e8c3e5d697 Make debounce delay configurable via on-screen menu 2023-11-25 17:24:22 +01:00
Frederik Walk
f66420b2a0 Make menu navigation stack based 2023-11-06 00:35:26 +01:00
Frederik Walk
b3b2ed9de1 Set Buttons Pins to match DonConPad PCB 2023-08-12 09:44:27 +02:00
Frederik Walk
9f45d5ef96 Fix: Add missing settings in GlobalConfiguration.h 2023-08-12 09:44:03 +02:00
Frederik Walk
2e992d97cb Fix: Setting Ka Right sensitivty via menu 2023-08-11 22:02:12 +02:00
Frederik Walk
a10f436828 Add DonConPad Readme 2023-08-09 23:55:17 +02:00
Frederik Walk
f3033dfaa2 Export Pad schematic to pdf 2023-08-09 22:41:59 +02:00
Frederik Walk
96c34813dc Add support for external ADC 2023-08-09 22:31:21 +02:00
Frederik Walk
d82f751701 Update IO Board Readme 2023-08-09 21:58:24 +02:00
Frederik Walk
10efe6fad6 Export IO board schematic pdf 2023-08-09 21:13:31 +02:00
Frederik Walk
78622e135b Support Pairing Data Report 0x12
Some hosts, i.e. newer linux kernels, use this to get the device MAC
2023-08-08 16:23:20 +02:00
Frederik Walk
387cbacb61 Add missing level shifter to IO board 2023-08-05 10:40:03 +02:00
Frederik Walk
5f5de7dee1 Add PCB for external gamepad 2023-08-05 10:39:07 +02:00
Frederik Walk
a7095c4aeb Add library for MCP3204 ADC 2023-08-01 23:44:46 +02:00
Frederik Walk
661aef9fa9 Add external ADC to DonConIO PCB 2023-07-28 01:01:25 +02:00
Frederik Walk
6817ea5ea5 Add README 2023-07-22 21:32:10 +02:00
Frederik Walk
a38c62d7ce Add README for IO Board 2023-07-22 13:06:06 +02:00
Frederik Walk
f6a4c80703 Add MIDI device mode 2023-07-17 22:50:27 +02:00
Frederik Walk
753a1cd59f Add settings reset via on-screen menu 2023-07-17 00:44:46 +02:00
Frederik Walk
b278f76ba0 Add on-screen configuration for thresholds 2023-07-16 23:34:47 +02:00
Frederik Walk
9e003bb03d Add Menu Backgrounds 2023-07-16 21:34:00 +02:00
Frederik Walk
578ea62bb2 Add trigger threshold level to settings store 2023-07-16 18:14:06 +02:00
Frederik Walk
01536cc45d Scale thresholds for hard hits
To avoid false inputs on neighboring pads for very hard hits,
thresholds can now be scaled dynamically according to the highest
input.

This is controlled by the trigger_threshold_scale_level, ranging
from 0 for no scaling to 255 for max scaling. Mind that the scaling
is non-linear and changes in the higher end of the value range have
a much larger impact.
2023-07-16 18:13:50 +02:00
Frederik Walk
305e4b7b46 Change some resistor values to improve sensitivity 2023-07-16 16:54:40 +02:00
Frederik Walk
71b17d4daa Add basic roll counters 2023-07-16 16:48:08 +02:00
Frederik Walk
d81dd41d79 Fix: LED Brightness not configurable 2023-07-09 18:20:00 +02:00
Frederik Walk
65d0a7a551 Draw basic menu on screen 2023-07-09 18:19:41 +02:00
Frederik Walk
79f768ecac Adjust menu button assignments 2023-07-09 17:39:44 +02:00
Frederik Walk
7a6bb4e182 Add menu backend 2023-07-06 20:55:26 +02:00
Frederik Walk
0f1fd87a07 Add persistent settings store
In preparation for on-screen menu.
2023-07-06 19:37:57 +02:00