12 Commits

Author SHA1 Message Date
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
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
bf94a1effb Calculate Roll Counte on core0 2023-12-03 17:18:01 +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
e8c3e5d697 Make debounce delay configurable via on-screen menu 2023-11-25 17:24:22 +01:00
Frederik Walk
96c34813dc Add support for external ADC 2023-08-09 22:31:21 +02:00
Frederik Walk
b278f76ba0 Add on-screen configuration for thresholds 2023-07-16 23:34:47 +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
0f1fd87a07 Add persistent settings store
In preparation for on-screen menu.
2023-07-06 19:37:57 +02:00
Frederik Walk
e86d869c46 Remove hardest hit detection again 2023-07-02 23:50:33 +02:00
Frederik Walk
528172c2ca Rework Drum to use ADC inputs 2023-05-13 15:27:43 +02:00
Frederik Walk
3d7a970dcc Add drum pad input handling 2023-04-10 13:04:38 +02:00