This commit is contained in:
rusEfi 2018-11-25 22:31:44 -05:00
parent b8e7bac586
commit 41375a0ae2
2 changed files with 15 additions and 0 deletions

View File

@ -122,6 +122,10 @@ void addConsoleActionSSSSS(const char *token, VoidCharPtrCharPtrCharPtrCharPtrCh
doAddAction(token, STRING5_PARAMETER, (Void) callback, NULL);
}
void addConsoleActionNANF(const char *token, VoidFloat callback) {
doAddAction(token, FLOAT_PARAMETER_NAN_ALLOWED, (Void) callback, NULL);
}
void addConsoleActionF(const char *token, VoidFloat callback) {
doAddAction(token, FLOAT_PARAMETER, (Void) callback, NULL);
}
@ -361,6 +365,15 @@ void handleActionWithParameter(TokenCallback *current, char *parameter) {
return;
}
if (current->parameterType == FLOAT_PARAMETER_NAN_ALLOWED) {
float value = atoff(parameter);
VoidFloat callbackF = (VoidFloat) current->callback;
// invoke callback function by reference
(*callbackF)(value);
return;
}
if (current->parameterType == FLOAT_PARAMETER) {
float value = atoff(parameter);
if (cisnan(value)) {

View File

@ -17,6 +17,7 @@ typedef enum {
NO_PARAMETER_P,
ONE_PARAMETER,
ONE_PARAMETER_P,
FLOAT_PARAMETER_NAN_ALLOWED,
FLOAT_PARAMETER,
FLOAT_PARAMETER_P,
STRING_PARAMETER,
@ -64,6 +65,7 @@ void addConsoleActionII(const char *token, VoidIntInt callback);
void addConsoleActionIIP(const char *token, VoidIntIntVoidPtr callback, void *param);
void addConsoleActionF(const char *token, VoidFloat callback);
void addConsoleActionNANF(const char *token, VoidFloat callback);
void addConsoleActionFF(const char *token, VoidFloatFloat callback);
void addConsoleActionFFP(const char *token, VoidFloatFloatVoidPtr callback, void *param);