alf45tar / PedalinoMini

Wireless and Bluetooth MIDI Foot Controller
GNU General Public License v3.0
501 stars 88 forks source link

Default configuration problem #345

Closed bobvc133 closed 2 years ago

bobvc133 commented 2 years ago

Because the hardware scheme has been fixed, I want to set the default configuration of the pedal directly in Config.h, so as to avoid resetting the pedal after restoring the factory settings or upgrading the firmware. How should the code be defined? A group of pedals 1-2 , 3-4 group, 5-6 group, 7-8 group, can you help me write an example? QQ截图20220614103822 QQ截图20220614105246

alf45tar commented 2 years ago

See below for configuration that match the screenshot.

pedals[0] = {PED_DISABLE,    // autosensing
                 PED_LADDER,     // mode
                 PED_PRESS_1,    // press mode
                 PED_DISABLE,    // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 8.0,            // activity threshold
                 0, 1, 2, 3, 4, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };
pedals[1] = {PED_DISABLE,    // autosensing
                 PED_LADDER,     // mode
                 PED_PRESS_1,    // press mode
                 PED_DISABLE,    // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 8.0,            // activity threshold
                 5, 6, 7, 8, 9, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };
pedals[2] = {PED_ENABLE,    // autosensing
                 PED_ANALOG,     // mode
                 PED_PRESS_1,    // press mode
                 PED_ENABLE,     // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 32.0,           // activity threshold
                 LEDS, LEDS, LEDS, LEDS, LEDS, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };
pedals[3] = {PED_ENABLE,    // autosensing
                 PED_ANALOG,     // mode
                 PED_PRESS_1,    // press mode
                 PED_ENABLE,     // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 32.0,           // activity threshold
                 10, LEDS, LEDS, LEDS, LEDS, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };
pedals[4] = {PED_DISABLE,    // autosensing
                 PED_NONE,       // mode
                 PED_PRESS_1,    // press mode
                 PED_DISABLE,    // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 8.0,            // activity threshold
                 11, LEDS, LEDS, LEDS, LEDS, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };
pedals[5] = {PED_DISABLE,    // autosensing
                 PED_NONE,       // mode
                 PED_PRESS_1,    // press mode
                 PED_DISABLE,    // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 8.0,            // activity threshold
                 LEDS, LEDS, LEDS, LEDS, LEDS, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };
pedals[6] = {PED_DISABLE,    // autosensing
                 PED_MOMENTARY1, // mode
                 PED_PRESS_1_2_L,  // press mode
                 PED_DISABLE,    // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 8.0,            // activity threshold
                 LEDS, LEDS, LEDS, LEDS, LEDS, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };
pedals[7] = {PED_DISABLE,    // autosensing
                 PED_MOMENTARY1, // mode
                 PED_PRESS_1_2_L,  // press mode
                 PED_DISABLE,    // invert polarity
                 0,              // map function
                 ADC_RESOLUTION * 10 / 100,  // expression pedal zero
                 ADC_RESOLUTION * 90 / 100,  // expression pedal max
                 0.01,           // snap multiplier
                 8.0,            // activity threshold
                 LEDS, LEDS, LEDS, LEDS, LEDS, LEDS,
                 0,              // last state of switch 1
                 0,              // last state of switch 2
                 millis(),       // last time switch 1 status changed
                 millis(),       // last time switch 2 status changed
                 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr,
                 nullptr,
                 nullptr
                };