Another attempt at adding programmer extra features flags

This commit is contained in:
MCUdude
2023-01-09 21:55:12 +01:00
parent f81cf79a0b
commit 36ff3fc151
3 changed files with 7 additions and 13 deletions

View File

@@ -64,6 +64,7 @@ extern char * yytext;
Component_t avr_comp[] = {
// PROGRAMMER
pgm_comp_desc(prog_modes, COMP_INT),
pgm_comp_desc(extra_features, COMP_INT),
// AVRPART
part_comp_desc(prog_modes, COMP_INT),
@@ -282,6 +283,9 @@ TOKEN *new_constant(const char *con) {
!strcmp("PM_XMEGAJTAG", con)? PM_XMEGAJTAG:
!strcmp("PM_AVR32JTAG", con)? PM_AVR32JTAG:
!strcmp("PM_aWire", con)? PM_aWire:
!strcmp("HAS_SUFFER", con)? HAS_SUFFER:
!strcmp("HAS_VTARG_SWITCH", con)? HAS_VTARG_SWITCH:
!strcmp("HAS_VTARG_ADJ", con)? HAS_VTARG_ADJ:
(assigned = 0);
if(!assigned) {

View File

@@ -94,7 +94,6 @@ static int pin_name;
%token K_AVR910_DEVCODE
%token K_EEPROM
%token K_ERRLED
%token K_EXTRA_FEATURES
%token K_FLASH
%token K_ID
%token K_IO
@@ -355,11 +354,6 @@ prog_decl :
current_prog->lineno = cfg_lineno;
free_token($3);
}
K_EXTRA_FEATURES TKN_EQUAL numexpr
{
current_prog->extra_features = $3->value.number;
free_token($3);
} |
;

View File

@@ -135,12 +135,9 @@ SIGN [+-]
return TKN_COMPONENT;
}
PM_(SPM|TPI|ISP|PDI|UPDI|HVSP|HVPP|debugWIRE|JTAG|JTAGmkI|XMEGAJTAG|AVR32JTAG|aWire) { /* Constants */
yylval = new_constant(yytext);
return TKN_NUMBER;
}
HAS_(SUFFER|VTARG_SWITCH|VTARG_ADJ) { /* Constants */
(?x: PM_(SPM|TPI|ISP|PDI|UPDI|HVSP|HVPP|debugWIRE|JTAG|JTAGmkI|XMEGAJTAG|AVR32JTAG|aWire) |
HAS_(SUFFER|VTARG_SWITCH|VTARG_ADJ)
) { /* Constants */
yylval = new_constant(yytext);
return TKN_NUMBER;
}
@@ -175,7 +172,6 @@ eeprom { yylval=NULL; return K_EEPROM; }
eeprom_instr { yylval=NULL; ccap(); return K_EEPROM_INSTR; }
enablepageprogramming { yylval=NULL; ccap(); return K_ENABLEPAGEPROGRAMMING; }
errled { yylval=NULL; ccap(); return K_ERRLED; }
extra_features { yylval=NULL; ccap(); return K_EXTRA_FEATURES; }
family_id { yylval=NULL; ccap(); return K_FAMILY_ID; }
flash { yylval=NULL; return K_FLASH; }
flash_instr { yylval=NULL; ccap(); return K_FLASH_INSTR; }