diff --git a/config.c b/config.c index 82d153f..e83bd5a 100644 --- a/config.c +++ b/config.c @@ -42,8 +42,40 @@ static void config_set_serial(char serial[SERIAL_NUM_LEN]) eeprom_commit(); } +struct paramAndFlag { + uint8_t param; // CFG_PARAM_* (requests.h) + uint32_t flag; // FLAG_* (config.h) +}; + +static struct paramAndFlag paramsAndFlags[] = { + { CFG_PARAM_INVERT_TRIG, FLAG_GC_INVERT_TRIGS }, + { CFG_PARAM_FULL_SLIDERS, FLAG_GC_FULL_SLIDERS }, + { CFG_PARAM_TRIGGERS_AS_BUTTONS, FLAG_GC_SLIDERS_AS_BUTTONS }, + { CFG_PARAM_DISABLE_ANALOG_TRIGGERS, FLAG_DISABLE_ANALOG_TRIGGERS }, + + { }, +}; + +uint8_t config_getSupportedParams(uint8_t *dst) +{ + uint8_t n = 0, i; + + dst[n++] = CFG_PARAM_MODE; + dst[n++] = CFG_PARAM_SERIAL; + for (i=0; i