mirror of
https://github.com/mist-devel/mist-firmware.git
synced 2026-05-02 22:43:45 +00:00
Make ini file float support optional to save rom space
This commit is contained in:
@@ -170,11 +170,13 @@ void* ini_get_var(const ini_cfg_t* cfg, int cur_section, char* buf)
|
||||
if (*(int32_t*)(cfg->vars[var_id].var) > cfg->vars[var_id].max) *(int32_t*)(cfg->vars[var_id].var) = cfg->vars[var_id].max;
|
||||
if (*(int32_t*)(cfg->vars[var_id].var) < cfg->vars[var_id].min) *(int32_t*)(cfg->vars[var_id].var) = cfg->vars[var_id].min;
|
||||
break;
|
||||
#ifdef INI_ENABLE_FLOAT
|
||||
case FLOAT:
|
||||
*(float*)(cfg->vars[var_id].var) = strtof(&(buf[i]), NULL);
|
||||
if (*(float*)(cfg->vars[var_id].var) > cfg->vars[var_id].max) *(float*)(cfg->vars[var_id].var) = cfg->vars[var_id].max;
|
||||
if (*(float*)(cfg->vars[var_id].var) < cfg->vars[var_id].min) *(float*)(cfg->vars[var_id].var) = cfg->vars[var_id].min;
|
||||
break;
|
||||
#endif
|
||||
case STRING:
|
||||
strncpy((char*)(cfg->vars[var_id].var), &(buf[i]), cfg->vars[var_id].max);
|
||||
break;
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#ifndef __INI_PARSER_H__
|
||||
#define __INI_PARSER_H__
|
||||
|
||||
// float support adds over 20kBytes to the firmware size
|
||||
// #define INI_ENABLE_FLOAT
|
||||
|
||||
//// includes ////
|
||||
#include <inttypes.h>
|
||||
@@ -15,7 +17,11 @@ typedef struct {
|
||||
char* name;
|
||||
} ini_section_t;
|
||||
|
||||
typedef enum {UINT8=0, INT8, UINT16, INT16, UINT32, INT32, FLOAT, STRING} ini_vartypes_t;
|
||||
typedef enum {UINT8=0, INT8, UINT16, INT16, UINT32, INT32,
|
||||
#ifdef INI_ENABLE_FLOAT
|
||||
FLOAT,
|
||||
#endif
|
||||
STRING} ini_vartypes_t;
|
||||
|
||||
typedef struct {
|
||||
char* name;
|
||||
|
||||
Reference in New Issue
Block a user