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:
ash
2026-07-02 04:09:22 +00:00
parent 08d6fc8701
commit 8bde8efaff
3 changed files with 48 additions and 11 deletions
+9
View File
@@ -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);
};