Add expression pedal support on GPIO5 (CC 4)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
class UsbMidiTransport;
|
||||
|
||||
class ExpressionPedal {
|
||||
public:
|
||||
ExpressionPedal(uint8_t adc_pin = 5);
|
||||
|
||||
void begin();
|
||||
void update(UsbMidiTransport& midi);
|
||||
uint8_t get_value() const { return current_value; }
|
||||
|
||||
private:
|
||||
uint8_t adc_pin;
|
||||
uint8_t current_value;
|
||||
uint8_t last_sent_value;
|
||||
uint8_t midi_channel;
|
||||
uint8_t midi_cc;
|
||||
|
||||
static const uint8_t HYSTERESIS = 3;
|
||||
static const uint16_t READ_INTERVAL_MS = 20;
|
||||
uint32_t last_read_time;
|
||||
|
||||
uint8_t adc_to_midi(uint16_t adc_value);
|
||||
};
|
||||
Reference in New Issue
Block a user