Add expression pedal calibration: cal min/cal max
- Remove fixed 0-4095 mapping, use cal_min/cal_max instead - Auto-calibrate minimum at boot (assumes pedal at heel) - 'cal min' sets current position as heel (0) - 'cal max' sets current position as toe (127) - Map cal_min->0, cal_max->127 with clamping - Update 'exp' command to show raw ADC + cal values
This commit is contained in:
@@ -11,6 +11,11 @@ public:
|
||||
void begin();
|
||||
void update(UsbMidiTransport& midi);
|
||||
uint8_t get_value() const { return current_value; }
|
||||
uint16_t get_raw() const { return current_raw; }
|
||||
void set_cal_min();
|
||||
void set_cal_max();
|
||||
uint16_t get_cal_min() const { return cal_min; }
|
||||
uint16_t get_cal_max() const { return cal_max; }
|
||||
|
||||
private:
|
||||
uint8_t adc_pin;
|
||||
@@ -23,5 +28,9 @@ private:
|
||||
static const uint16_t READ_INTERVAL_MS = 20;
|
||||
uint32_t last_read_time;
|
||||
|
||||
uint16_t current_raw;
|
||||
uint16_t cal_min;
|
||||
uint16_t cal_max;
|
||||
|
||||
uint8_t adc_to_midi(uint16_t adc_value);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user