diff --git a/firmware/util/cli_registry.c b/firmware/util/cli_registry.c index 4faa6bf62a..b8068798b3 100644 --- a/firmware/util/cli_registry.c +++ b/firmware/util/cli_registry.c @@ -70,6 +70,10 @@ void addConsoleActionI(const char *token, VoidInt callback) { doAddAction(token, ONE_PARAMETER, (Void) callback, NULL); } +void addConsoleActionIP(const char *token, VoidIntVoidPtr callback, void *param) { + doAddAction(token, ONE_PARAMETER_P, (Void) callback, param); +} + /** * @brief Register a console command with two Integer parameters */ @@ -77,6 +81,10 @@ void addConsoleActionII(const char *token, VoidIntInt callback) { doAddAction(token, TWO_INTS_PARAMETER, (Void) callback, NULL); } +void addConsoleActionIIP(const char *token, VoidIntIntVoidPtr callback, void *param) { + doAddAction(token, TWO_INTS_PARAMETER_P, (Void) callback, param); +} + void addConsoleActionS(const char *token, VoidCharPtr callback) { doAddAction(token, STRING_PARAMETER, (Void) callback, NULL); } diff --git a/firmware/util/cli_registry.h b/firmware/util/cli_registry.h index 894b4ee476..25b6b10501 100644 --- a/firmware/util/cli_registry.h +++ b/firmware/util/cli_registry.h @@ -20,7 +20,9 @@ typedef enum { NO_PARAMETER, NO_PARAMETER_P, ONE_PARAMETER, + ONE_PARAMETER_P, FLOAT_PARAMETER, + FLOAT_PARAMETER_P, STRING_PARAMETER, STRING2_PARAMETER, STRING2_PARAMETER_P, @@ -48,10 +50,12 @@ typedef void (*VoidPtr)(void*); typedef void (*Void)(void); typedef void (*VoidInt)(int); +typedef void (*VoidIntVoidPtr)(int, void*); typedef void (*VoidFloat)(float); typedef void (*VoidFloatFloat)(float, float); typedef void (*VoidFloatFloatVoidPtr)(float, float, void*); typedef void (*VoidIntInt)(int, int); +typedef void (*VoidIntIntVoidPtr)(int, int, void*); typedef void (*VoidCharPtr)(const char *); typedef void (*VoidCharPtrVoidPtr)(const char *, void*); @@ -74,7 +78,11 @@ void addConsoleAction(const char *token, Void callback); void addConsoleActionP(const char *token, VoidPtr callback, void *param); void addConsoleActionI(const char *token, VoidInt callback); +void addConsoleActionIP(const char *token, VoidIntVoidPtr callback, void *param); + void addConsoleActionII(const char *token, VoidIntInt callback); +void addConsoleActionIIP(const char *token, VoidIntIntVoidPtr callback, void *param); + void addConsoleActionF(const char *token, VoidFloat callback); void addConsoleActionFF(const char *token, VoidFloatFloat callback);