Add settings load function for PID parameters

This commit is contained in:
2020-11-08 21:35:41 +01:00
parent 2e640fa7fa
commit f2405e23b4
6 changed files with 94 additions and 5 deletions

View File

@@ -96,7 +96,7 @@ exit:
return 0;
}
enum config_parser_ret config_parser_get_line(config_parser_handle_t handle, struct config_parser_entry *entry)
enum config_parser_ret config_parser_get_line(config_parser_handle_t handle, struct config_parser_entry *entry, bool force_float)
{
struct config_parser *p;
config_parser_check_handle(handle);
@@ -142,6 +142,15 @@ enum config_parser_ret config_parser_get_line(config_parser_handle_t handle, str
token = strtok(NULL, token_delim);
}
if (force_float) {
if (entry->type == CONFIG_PARSER_TYPE_INT)
entry->value.float_val = (float)entry->value.int_val;
if (entry->type == CONFIG_PARSER_TYPE_UINT)
entry->value.float_val = (float)entry->value.uint_val;
entry->type = CONFIG_PARSER_TYPE_FLOAT;
}
return CONFIG_PARSER_OK;
}

View File

@@ -82,7 +82,7 @@ config_parser_handle_t config_parser_open_file(struct config_parser *config_pars
* have to be copied
* @return Config parser error
*/
enum config_parser_ret config_parser_get_line(config_parser_handle_t handle, struct config_parser_entry *entry);
enum config_parser_ret config_parser_get_line(config_parser_handle_t handle, struct config_parser_entry *entry, bool force_float);
enum config_parser_ret config_parser_reset_to_start(config_parser_handle_t handle);