From 95d6b2ec15226367493651921df60528fd9473aa Mon Sep 17 00:00:00 2001 From: Raphael Assenat Date: Wed, 22 Nov 2017 09:35:59 -0500 Subject: [PATCH] Simplify config code and add disable triggers feature --- config.c | 89 ++++++++++++++++++++++++++++++++++++------------------ config.h | 9 ++++-- requests.h | 1 + usbpad.c | 4 +++ 4 files changed, 70 insertions(+), 33 deletions(-) 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