forked from nuttx/nuttx-update
Yet more kconfg2html logic
This commit is contained in:
parent
8cbca09f94
commit
3f52b0fbb6
3 changed files with 73 additions and 14 deletions
|
@ -74,7 +74,7 @@ config ADS7843E_DEVMINOR
|
|||
config ADS7843E_SPIMODE
|
||||
int "SPI mode"
|
||||
default 0
|
||||
range 0,3
|
||||
range 0 3
|
||||
---help---
|
||||
Controls the SPI mode. The device should work in mode 0, but
|
||||
sometimes you need to experiment.
|
||||
|
|
|
@ -48,7 +48,7 @@ if LCD_P14201
|
|||
config P14201_NINTERFACES
|
||||
int "Number of physical P14201 devices"
|
||||
default 1
|
||||
range 1,1
|
||||
range 1 1
|
||||
---help---
|
||||
Specifies the number of physical P14201
|
||||
devices that will be supported.
|
||||
|
@ -56,7 +56,7 @@ config P14201_NINTERFACES
|
|||
config P14201_SPIMODE
|
||||
int "SPI mode"
|
||||
default 2
|
||||
range 0,3
|
||||
range 0 3
|
||||
---help---
|
||||
Controls the SPI mode
|
||||
|
||||
|
@ -93,7 +93,7 @@ if LCD_NOKIA6100
|
|||
config NOKIA6100_NINTERFACES
|
||||
int "Number of physical NOKIA6100 devices"
|
||||
default 1
|
||||
range 1,1
|
||||
range 1 1
|
||||
---help---
|
||||
Specifies the number of physical Nokia
|
||||
6100 devices that will be supported.
|
||||
|
@ -115,7 +115,7 @@ endchoice
|
|||
config NOKIA6100_SPIMODE
|
||||
int "SPI mode"
|
||||
default 0
|
||||
range 0,3
|
||||
range 0 3
|
||||
---help---
|
||||
Controls the SPI mode
|
||||
|
||||
|
@ -141,42 +141,42 @@ config NOKIA6100_BPP
|
|||
config NOKIA6100_INVERT
|
||||
int "Display inversion"
|
||||
default 1
|
||||
range 0,1
|
||||
range 0 1
|
||||
---help---
|
||||
Display inversion, 0 or 1, Default: 1
|
||||
|
||||
config NOKIA6100_MY
|
||||
int "Display row direction"
|
||||
default 0
|
||||
range 0,1
|
||||
range 0 1
|
||||
---help---
|
||||
Display row direction, 0 or 1, Default: 0
|
||||
|
||||
config NOKIA6100_MX
|
||||
int "Display column direction"
|
||||
default 1
|
||||
range 0,1
|
||||
range 0 1
|
||||
---help---
|
||||
Display column direction, 0 or 1, Default: 1
|
||||
|
||||
config NOKIA6100_V
|
||||
int "Display address direction"
|
||||
default 0
|
||||
range 0,1
|
||||
range 0 1
|
||||
---help---
|
||||
Display address direction, 0 or 1, Default: 0
|
||||
|
||||
config NOKIA6100_ML
|
||||
int "Display scan direction"
|
||||
default 0
|
||||
range 0,1
|
||||
range 0 1
|
||||
---help---
|
||||
Display scan direction, 0 or 1, Default: 0
|
||||
|
||||
config NOKIA6100_RGBORD
|
||||
int "Display RGB order"
|
||||
default 0
|
||||
range 0,1
|
||||
range 0 1
|
||||
---help---
|
||||
Display RGB order, 0 or 1, Default: 0
|
||||
Required LCD driver settings:
|
||||
|
|
|
@ -77,6 +77,7 @@ enum token_type_e
|
|||
TOKEN_HEX,
|
||||
TOKEN_STRING,
|
||||
TOKEN_DEFAULT,
|
||||
TOKEN_RANGE,
|
||||
TOKEN_SELECT,
|
||||
TOKEN_DEPENDS,
|
||||
TOKEN_ON,
|
||||
|
@ -138,6 +139,8 @@ struct config_s
|
|||
char *cname;
|
||||
char *cdesc;
|
||||
char *cdefault;
|
||||
char *clower;
|
||||
char *cupper;
|
||||
char *cselect[MAX_SELECT];
|
||||
int cnselect;
|
||||
int cndependencies;
|
||||
|
@ -188,6 +191,7 @@ static struct reserved_s g_reserved[] =
|
|||
{TOKEN_HEX, "hex"},
|
||||
{TOKEN_STRING, "string"},
|
||||
{TOKEN_DEFAULT, "default"},
|
||||
{TOKEN_RANGE, "range"},
|
||||
{TOKEN_SELECT, "select"},
|
||||
{TOKEN_DEPENDS, "depends"},
|
||||
{TOKEN_ON, "on"},
|
||||
|
@ -1006,6 +1010,24 @@ static inline char *process_config(FILE *stream, const char *configname,
|
|||
}
|
||||
break;
|
||||
|
||||
case TOKEN_RANGE:
|
||||
{
|
||||
char *value = strtok_r(NULL, " ,", &g_lasts);
|
||||
if (value)
|
||||
{
|
||||
config.clower = strdup(value);
|
||||
|
||||
value = strtok_r(NULL, " ", &g_lasts);
|
||||
if (value)
|
||||
{
|
||||
config.cupper = strdup(value);
|
||||
}
|
||||
}
|
||||
|
||||
token = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case TOKEN_SELECT:
|
||||
{
|
||||
char *value;
|
||||
|
@ -1129,6 +1151,26 @@ static inline char *process_config(FILE *stream, const char *configname,
|
|||
body(" <li><i>Default</i>: %s</li>\n", config.cdefault);
|
||||
}
|
||||
|
||||
/* Print the range of values of the configuration variable */
|
||||
|
||||
if (config.clower || config.cupper)
|
||||
{
|
||||
body(" <li><i>Range</i>:\n");
|
||||
if (config.clower)
|
||||
{
|
||||
body(" %s", config.clower);
|
||||
}
|
||||
|
||||
body(" -", config.clower);
|
||||
|
||||
if (config.cupper)
|
||||
{
|
||||
body(" %s", config.cupper);
|
||||
}
|
||||
|
||||
body("</li>\n");
|
||||
}
|
||||
|
||||
/* Print the default value of the configuration variable auto-selected by this setting */
|
||||
|
||||
if (config.cnselect > 0)
|
||||
|
@ -1204,6 +1246,16 @@ static inline char *process_config(FILE *stream, const char *configname,
|
|||
free(config.cdefault);
|
||||
}
|
||||
|
||||
if (config.clower)
|
||||
{
|
||||
free(config.clower);
|
||||
}
|
||||
|
||||
if (config.cupper)
|
||||
{
|
||||
free(config.cupper);
|
||||
}
|
||||
|
||||
if (config.cnselect > 0)
|
||||
{
|
||||
for (i = 0; i < config.cnselect; i++)
|
||||
|
@ -1473,13 +1525,13 @@ static inline char *process_menu(FILE *stream, const char *kconfigdir)
|
|||
/* Output menu information */
|
||||
|
||||
paranum = get_paranum();
|
||||
if (menuname)
|
||||
if (menu.mname)
|
||||
{
|
||||
output("<li><a href=\"#menu_%d\">%s Menu: %s</a></li>\n",
|
||||
g_menu_number, paranum, menuname);
|
||||
g_menu_number, paranum, menu.mname);
|
||||
output("<ul>\n");
|
||||
body("\n<h1><a name=\"menu_%d\">%s Menu: %s</a></h1>\n",
|
||||
g_menu_number, paranum, menuname);
|
||||
g_menu_number, paranum, menu.mname);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1514,6 +1566,13 @@ static inline char *process_menu(FILE *stream, const char *kconfigdir)
|
|||
pop_dependency();
|
||||
}
|
||||
|
||||
/* Free any allocated memory */
|
||||
|
||||
if (menu.mname)
|
||||
{
|
||||
free(menu.mname);
|
||||
}
|
||||
|
||||
/* Increment the nesting level */
|
||||
|
||||
incr_level();
|
||||
|
|
Loading…
Reference in a new issue