patch #7671: Sorting programmers and parts lists for console output
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1019 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
2279ba026f
commit
ea21f277b1
144
avrdude.conf.in
144
avrdude.conf.in
|
@ -2558,7 +2558,7 @@ part
|
|||
|
||||
part
|
||||
id = "m103";
|
||||
desc = "ATMEGA103";
|
||||
desc = "ATmega103";
|
||||
stk500_devcode = 0xB1;
|
||||
avr910_devcode = 0x41;
|
||||
signature = 0x1e 0x97 0x01;
|
||||
|
@ -2698,7 +2698,7 @@ part
|
|||
|
||||
part
|
||||
id = "m64";
|
||||
desc = "ATMEGA64";
|
||||
desc = "ATmega64";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0xA0;
|
||||
avr910_devcode = 0x45;
|
||||
|
@ -2879,7 +2879,7 @@ part
|
|||
|
||||
part
|
||||
id = "m128";
|
||||
desc = "ATMEGA128";
|
||||
desc = "ATmega128";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0xB2;
|
||||
avr910_devcode = 0x43;
|
||||
|
@ -3628,7 +3628,7 @@ part
|
|||
|
||||
part
|
||||
id = "m16";
|
||||
desc = "ATMEGA16";
|
||||
desc = "ATmega16";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x82;
|
||||
avr910_devcode = 0x74;
|
||||
|
@ -3806,7 +3806,7 @@ part
|
|||
|
||||
part
|
||||
id = "m164p";
|
||||
desc = "ATMEGA164P";
|
||||
desc = "ATmega164P";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
||||
avr910_devcode = 0x74;
|
||||
|
@ -3997,7 +3997,7 @@ part
|
|||
|
||||
part
|
||||
id = "m324p";
|
||||
desc = "ATMEGA324P";
|
||||
desc = "ATmega324P";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
||||
avr910_devcode = 0x74;
|
||||
|
@ -4379,7 +4379,7 @@ part
|
|||
|
||||
part
|
||||
id = "m644";
|
||||
desc = "ATMEGA644";
|
||||
desc = "ATmega644";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
||||
avr910_devcode = 0x74;
|
||||
|
@ -4569,7 +4569,7 @@ part
|
|||
|
||||
part
|
||||
id = "m644p";
|
||||
desc = "ATMEGA644P";
|
||||
desc = "ATmega644P";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
||||
avr910_devcode = 0x74;
|
||||
|
@ -4761,7 +4761,7 @@ part
|
|||
|
||||
part
|
||||
id = "m1284p";
|
||||
desc = "ATMEGA1284P";
|
||||
desc = "ATmega1284P";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
||||
avr910_devcode = 0x74;
|
||||
|
@ -4951,7 +4951,7 @@ part
|
|||
|
||||
part
|
||||
id = "m162";
|
||||
desc = "ATMEGA162";
|
||||
desc = "ATmega162";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x83;
|
||||
avr910_devcode = 0x63;
|
||||
|
@ -5147,7 +5147,7 @@ part
|
|||
|
||||
part
|
||||
id = "m163";
|
||||
desc = "ATMEGA163";
|
||||
desc = "ATmega163";
|
||||
stk500_devcode = 0x81;
|
||||
avr910_devcode = 0x64;
|
||||
signature = 0x1e 0x94 0x02;
|
||||
|
@ -5305,7 +5305,7 @@ part
|
|||
|
||||
part
|
||||
id = "m169";
|
||||
desc = "ATMEGA169";
|
||||
desc = "ATmega169";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x85;
|
||||
avr910_devcode = 0x78;
|
||||
|
@ -5485,7 +5485,7 @@ part
|
|||
|
||||
part
|
||||
id = "m329";
|
||||
desc = "ATMEGA329";
|
||||
desc = "ATmega329";
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
||||
# avr910_devcode = 0x?; # try the ATmega169 one:
|
||||
|
@ -5669,7 +5669,7 @@ part
|
|||
|
||||
part
|
||||
id = "m329p";
|
||||
desc = "ATMEGA329P";
|
||||
desc = "ATmega329P";
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
||||
# avr910_devcode = 0x?; # try the ATmega169 one:
|
||||
|
@ -5854,7 +5854,7 @@ part
|
|||
|
||||
part
|
||||
id = "m3290";
|
||||
desc = "ATMEGA3290";
|
||||
desc = "ATmega3290";
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
||||
# avr910_devcode = 0x?; # try the ATmega169 one:
|
||||
|
@ -6039,7 +6039,7 @@ part
|
|||
|
||||
part
|
||||
id = "m3290p";
|
||||
desc = "ATMEGA3290P";
|
||||
desc = "ATmega3290P";
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
||||
# avr910_devcode = 0x?; # try the ATmega169 one:
|
||||
|
@ -6222,7 +6222,7 @@ part
|
|||
|
||||
part
|
||||
id = "m649";
|
||||
desc = "ATMEGA649";
|
||||
desc = "ATmega649";
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
||||
# avr910_devcode = 0x?; # try the ATmega169 one:
|
||||
|
@ -6407,7 +6407,7 @@ part
|
|||
|
||||
part
|
||||
id = "m6490";
|
||||
desc = "ATMEGA6490";
|
||||
desc = "ATmega6490";
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
||||
# avr910_devcode = 0x?; # try the ATmega169 one:
|
||||
|
@ -6600,7 +6600,7 @@ part
|
|||
|
||||
part
|
||||
id = "m32";
|
||||
desc = "ATMEGA32";
|
||||
desc = "ATmega32";
|
||||
has_jtag = yes;
|
||||
stk500_devcode = 0x91;
|
||||
avr910_devcode = 0x72;
|
||||
|
@ -6775,7 +6775,7 @@ part
|
|||
|
||||
part
|
||||
id = "m161";
|
||||
desc = "ATMEGA161";
|
||||
desc = "ATmega161";
|
||||
stk500_devcode = 0x80;
|
||||
avr910_devcode = 0x60;
|
||||
signature = 0x1e 0x94 0x01;
|
||||
|
@ -6915,7 +6915,7 @@ part
|
|||
|
||||
part
|
||||
id = "m8";
|
||||
desc = "ATMEGA8";
|
||||
desc = "ATmega8";
|
||||
stk500_devcode = 0x70;
|
||||
avr910_devcode = 0x76;
|
||||
signature = 0x1e 0x93 0x07;
|
||||
|
@ -7076,7 +7076,7 @@ part
|
|||
|
||||
part
|
||||
id = "m8515";
|
||||
desc = "ATMEGA8515";
|
||||
desc = "ATmega8515";
|
||||
stk500_devcode = 0x63;
|
||||
avr910_devcode = 0x3A;
|
||||
signature = 0x1e 0x93 0x06;
|
||||
|
@ -7234,7 +7234,7 @@ part
|
|||
|
||||
part
|
||||
id = "m8535";
|
||||
desc = "ATMEGA8535";
|
||||
desc = "ATmega8535";
|
||||
stk500_devcode = 0x64;
|
||||
avr910_devcode = 0x69;
|
||||
signature = 0x1e 0x93 0x08;
|
||||
|
@ -7392,7 +7392,7 @@ part
|
|||
|
||||
part
|
||||
id = "t26";
|
||||
desc = "ATTINY26";
|
||||
desc = "ATtiny26";
|
||||
stk500_devcode = 0x21;
|
||||
avr910_devcode = 0x5e;
|
||||
signature = 0x1e 0x91 0x09;
|
||||
|
@ -7549,7 +7549,7 @@ part
|
|||
|
||||
part
|
||||
id = "t261";
|
||||
desc = "ATTINY261";
|
||||
desc = "ATtiny261";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB4, 0x00, 0x10;
|
||||
eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
|
||||
|
@ -7738,7 +7738,7 @@ part
|
|||
|
||||
part
|
||||
id = "t461";
|
||||
desc = "ATTINY461";
|
||||
desc = "ATtiny461";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB4, 0x00, 0x10;
|
||||
eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
|
||||
|
@ -7927,7 +7927,7 @@ part
|
|||
|
||||
part
|
||||
id = "t861";
|
||||
desc = "ATTINY861";
|
||||
desc = "ATtiny861";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB4, 0x00, 0x10;
|
||||
eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
|
||||
|
@ -8115,7 +8115,7 @@ part
|
|||
|
||||
part
|
||||
id = "m48";
|
||||
desc = "ATMEGA48";
|
||||
desc = "ATmega48";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB6, 0x01, 0x11;
|
||||
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
|
||||
|
@ -8302,7 +8302,7 @@ part
|
|||
|
||||
part
|
||||
id = "m88";
|
||||
desc = "ATMEGA88";
|
||||
desc = "ATmega88";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB6, 0x01, 0x11;
|
||||
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
|
||||
|
@ -8488,7 +8488,7 @@ part
|
|||
|
||||
part
|
||||
id = "m88p";
|
||||
desc = "ATMEGA88P";
|
||||
desc = "ATmega88P";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB6, 0x01, 0x11;
|
||||
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
|
||||
|
@ -8675,7 +8675,7 @@ part
|
|||
|
||||
part
|
||||
id = "m168";
|
||||
desc = "ATMEGA168";
|
||||
desc = "ATmega168";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB6, 0x01, 0x11;
|
||||
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
|
||||
|
@ -8863,7 +8863,7 @@ part
|
|||
|
||||
part
|
||||
id = "m168p";
|
||||
desc = "ATMEGA168P";
|
||||
desc = "ATmega168P";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB6, 0x01, 0x11;
|
||||
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
|
||||
|
@ -9051,7 +9051,7 @@ part
|
|||
|
||||
part
|
||||
id = "t88";
|
||||
desc = "attiny88";
|
||||
desc = "ATtiny88";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB6, 0x01, 0x11;
|
||||
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
|
||||
|
@ -9237,7 +9237,7 @@ part
|
|||
|
||||
part
|
||||
id = "m328p";
|
||||
desc = "ATMEGA328P";
|
||||
desc = "ATmega328P";
|
||||
has_debugwire = yes;
|
||||
flash_instr = 0xB6, 0x01, 0x11;
|
||||
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
|
||||
|
@ -11065,7 +11065,7 @@ part
|
|||
|
||||
part
|
||||
id = "m640";
|
||||
desc = "ATMEGA640";
|
||||
desc = "ATmega640";
|
||||
signature = 0x1e 0x96 0x08;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0xB2;
|
||||
|
@ -11253,7 +11253,7 @@ part
|
|||
|
||||
part
|
||||
id = "m1280";
|
||||
desc = "ATMEGA1280";
|
||||
desc = "ATmega1280";
|
||||
signature = 0x1e 0x97 0x03;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0xB2;
|
||||
|
@ -11442,7 +11442,7 @@ part
|
|||
|
||||
part
|
||||
id = "m1281";
|
||||
desc = "ATMEGA1281";
|
||||
desc = "ATmega1281";
|
||||
signature = 0x1e 0x97 0x04;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0xB2;
|
||||
|
@ -11630,7 +11630,7 @@ part
|
|||
|
||||
part
|
||||
id = "m2560";
|
||||
desc = "ATMEGA2560";
|
||||
desc = "ATmega2560";
|
||||
signature = 0x1e 0x98 0x01;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0xB2;
|
||||
|
@ -11823,7 +11823,7 @@ part
|
|||
|
||||
part
|
||||
id = "m2561";
|
||||
desc = "ATMEGA2561";
|
||||
desc = "ATmega2561";
|
||||
signature = 0x1e 0x98 0x02;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0xB2;
|
||||
|
@ -12017,7 +12017,7 @@ part
|
|||
|
||||
part
|
||||
id = "m128rfa1";
|
||||
desc = "ATMEGA128RFA1";
|
||||
desc = "ATmega128RFA1";
|
||||
signature = 0x1e 0xa7 0x01;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0xB2;
|
||||
|
@ -14614,7 +14614,7 @@ part
|
|||
|
||||
part
|
||||
id = "m325";
|
||||
desc = "ATMEGA325";
|
||||
desc = "ATmega325";
|
||||
signature = 0x1e 0x95 0x05;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x??; # No STK500v1 support?
|
||||
|
@ -14803,7 +14803,7 @@ part
|
|||
|
||||
part
|
||||
id = "m645";
|
||||
desc = "ATMEGA645";
|
||||
desc = "ATmega645";
|
||||
signature = 0x1E 0x96 0x05;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x??; # No STK500v1 support?
|
||||
|
@ -14992,7 +14992,7 @@ part
|
|||
|
||||
part
|
||||
id = "m3250";
|
||||
desc = "ATMEGA3250";
|
||||
desc = "ATmega3250";
|
||||
signature = 0x1E 0x95 0x06;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x??; # No STK500v1 support?
|
||||
|
@ -15181,7 +15181,7 @@ part
|
|||
|
||||
part
|
||||
id = "m6450";
|
||||
desc = "ATMEGA6450";
|
||||
desc = "ATmega6450";
|
||||
signature = 0x1E 0x96 0x06;
|
||||
has_jtag = yes;
|
||||
# stk500_devcode = 0x??; # No STK500v1 support?
|
||||
|
@ -15365,12 +15365,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA64A1
|
||||
# ATxmega64A1
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x64a1";
|
||||
desc = "ATXMEGA64A1";
|
||||
desc = "ATxmega64A1";
|
||||
signature = 0x1e 0x96 0x4e;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -15462,12 +15462,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA128A1
|
||||
# ATxmega128A1
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x128a1";
|
||||
desc = "ATXMEGA128A1";
|
||||
desc = "ATxmega128A1";
|
||||
signature = 0x1e 0x97 0x4c;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -15559,12 +15559,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA128A1REVD
|
||||
# ATxmega128A1RevD
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x128a1d";
|
||||
desc = "ATXMEGA128A1REVD";
|
||||
desc = "ATxmega128A1RevD";
|
||||
signature = 0x1e 0x97 0x41;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -15656,12 +15656,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA192A1
|
||||
# ATxmega192A1
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x192a1";
|
||||
desc = "ATXMEGA192A1";
|
||||
desc = "ATxmega192A1";
|
||||
signature = 0x1e 0x97 0x4e;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -15753,12 +15753,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA256A1
|
||||
# ATxmega256A1
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x256a1";
|
||||
desc = "ATXMEGA256A1";
|
||||
desc = "ATxmega256A1";
|
||||
signature = 0x1e 0x98 0x46;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -15850,12 +15850,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA64A3
|
||||
# ATxmega64A3
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x64a3";
|
||||
desc = "ATXMEGA64A3";
|
||||
desc = "ATxmega64A3";
|
||||
signature = 0x1e 0x96 0x42;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -15947,12 +15947,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA128A3
|
||||
# ATxmega128A3
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x128a3";
|
||||
desc = "ATXMEGA128A3";
|
||||
desc = "ATxmega128A3";
|
||||
signature = 0x1e 0x97 0x42;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -16044,12 +16044,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA192A3
|
||||
# ATxmega192A3
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x192a3";
|
||||
desc = "ATXMEGA192A3";
|
||||
desc = "ATxmega192A3";
|
||||
signature = 0x1e 0x97 0x44;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -16141,12 +16141,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA256A3
|
||||
# ATxmega256A3
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x256a3";
|
||||
desc = "ATXMEGA256A3";
|
||||
desc = "ATxmega256A3";
|
||||
signature = 0x1e 0x98 0x42;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -16238,12 +16238,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA256A3B
|
||||
# ATxmega256A3B
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x256a3b";
|
||||
desc = "ATXMEGA256A3B";
|
||||
desc = "ATxmega256A3B";
|
||||
signature = 0x1e 0x98 0x43;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -16335,12 +16335,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA16A4
|
||||
# ATxmega16A4
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x16a4";
|
||||
desc = "ATXMEGA16A4";
|
||||
desc = "ATxmega16A4";
|
||||
signature = 0x1e 0x94 0x41;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -16432,12 +16432,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA32A4
|
||||
# ATxmega32A4
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x32a4";
|
||||
desc = "ATXMEGA32A4";
|
||||
desc = "ATxmega32A4";
|
||||
signature = 0x1e 0x95 0x41;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -16529,12 +16529,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA64A4
|
||||
# ATxmega64A4
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x64a4";
|
||||
desc = "ATXMEGA64A4";
|
||||
desc = "ATxmega64A4";
|
||||
signature = 0x1e 0x96 0x46;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
@ -16626,12 +16626,12 @@ part
|
|||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATXMEGA128A4
|
||||
# ATxmega128A4
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "x128a4";
|
||||
desc = "ATXMEGA128A4";
|
||||
desc = "ATxmega128A4";
|
||||
signature = 0x1e 0x97 0x46;
|
||||
has_jtag = yes;
|
||||
has_pdi = yes;
|
||||
|
|
18
avrpart.c
18
avrpart.c
|
@ -470,6 +470,24 @@ void walk_avrparts(LISTID avrparts, walk_avrparts_cb cb, void *cookie)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Compare function to sort the list of programmers
|
||||
*/
|
||||
static int sort_avrparts_compare(AVRPART * p1,AVRPART * p2)
|
||||
{
|
||||
if(p1 == NULL || p2 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
return strncasecmp(p1->desc,p2->desc,AVR_IDLEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* Sort the list of programmers given as "programmers"
|
||||
*/
|
||||
void sort_avrparts(LISTID avrparts)
|
||||
{
|
||||
lsort(avrparts,(int (*)(void*, void*)) sort_avrparts_compare);
|
||||
}
|
||||
|
||||
|
||||
static char * reset_disp_str(int r)
|
||||
|
|
|
@ -221,8 +221,8 @@ void avr_display(FILE * f, AVRPART * p, const char * prefix, int verbose);
|
|||
typedef void (*walk_avrparts_cb)(const char *name, const char *desc,
|
||||
const char *cfgname, int cfglineno,
|
||||
void *cookie);
|
||||
void walk_avrparts(LISTID programmers, walk_avrparts_cb cb, void *cookie);
|
||||
|
||||
void walk_avrparts(LISTID avrparts, walk_avrparts_cb cb, void *cookie);
|
||||
void sort_avrparts(LISTID avrparts);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
37
lists.c
37
lists.c
|
@ -1280,6 +1280,43 @@ lsrch ( LISTID lid, void * p, int (* compare)(void * p1, void * p2) )
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
| lsort
|
||||
|
|
||||
| sort list - sorts list inplace (using bubble sort)
|
||||
|
|
||||
----------------------------------------------------------------------*/
|
||||
void
|
||||
lsort ( LISTID lid, int (* compare)(void * p1, void * p2) )
|
||||
{
|
||||
LIST * l;
|
||||
LISTNODE * lt; /* this */
|
||||
LISTNODE * ln; /* next */
|
||||
int unsorted = 1;
|
||||
|
||||
l = (LIST *)lid;
|
||||
|
||||
CKLMAGIC(l);
|
||||
|
||||
while(unsorted){
|
||||
lt = l->top;
|
||||
unsorted = 0;
|
||||
while (lt!=NULL) {
|
||||
CKMAGIC(lt);
|
||||
ln = lt->next;
|
||||
if (ln!= NULL && compare(lt->data,ln->data) > 0) {
|
||||
void * p = ln->data;
|
||||
ln->data = lt->data;
|
||||
lt->data = p;
|
||||
unsorted = 1;
|
||||
}
|
||||
lt = ln;
|
||||
}
|
||||
}
|
||||
|
||||
CKLMAGIC(l);
|
||||
}
|
||||
|
||||
|
||||
int lprint ( FILE * f, LISTID lid )
|
||||
{
|
||||
|
|
2
lists.h
2
lists.h
|
@ -104,6 +104,8 @@ void * lrmv_d ( LISTID lid, void * data_ptr );
|
|||
|
||||
LISTID lcat ( LISTID lid1, LISTID lid2 );
|
||||
|
||||
void lsort ( LISTID lid, int (*compare)(void * p1, void * p2));
|
||||
|
||||
void * lsrch ( LISTID lid, void * p, int (*compare)(void *p1,void *p2));
|
||||
|
||||
int lprint ( FILE * f, LISTID lid );
|
||||
|
|
23
main.c
23
main.c
|
@ -198,9 +198,13 @@ static void list_programmers_callback(const char *name, const char *desc,
|
|||
void *cookie)
|
||||
{
|
||||
struct list_walk_cookie *c = (struct list_walk_cookie *)cookie;
|
||||
|
||||
fprintf(c->f, "%s%-8s = %-30s [%s:%d]\n",
|
||||
c->prefix, name, desc, cfgname, cfglineno);
|
||||
if (verbose){
|
||||
fprintf(c->f, "%s%-16s = %-30s [%s:%d]\n",
|
||||
c->prefix, name, desc, cfgname, cfglineno);
|
||||
} else {
|
||||
fprintf(c->f, "%s%-16s = %-s\n",
|
||||
c->prefix, name, desc);
|
||||
}
|
||||
}
|
||||
|
||||
static void list_programmers(FILE * f, const char *prefix, LISTID programmers)
|
||||
|
@ -210,6 +214,8 @@ static void list_programmers(FILE * f, const char *prefix, LISTID programmers)
|
|||
c.f = f;
|
||||
c.prefix = prefix;
|
||||
|
||||
sort_programmers(programmers);
|
||||
|
||||
walk_programmers(programmers, list_programmers_callback, &c);
|
||||
}
|
||||
|
||||
|
@ -219,8 +225,13 @@ static void list_avrparts_callback(const char *name, const char *desc,
|
|||
{
|
||||
struct list_walk_cookie *c = (struct list_walk_cookie *)cookie;
|
||||
|
||||
fprintf(c->f, "%s%-4s = %-15s [%s:%d]\n",
|
||||
c->prefix, name, desc, cfgname, cfglineno);
|
||||
if (verbose){
|
||||
fprintf(c->f, "%s%-8s = %-18s [%s:%d]\n",
|
||||
c->prefix, name, desc, cfgname, cfglineno);
|
||||
} else {
|
||||
fprintf(c->f, "%s%-8s = %s\n",
|
||||
c->prefix, name, desc);
|
||||
}
|
||||
}
|
||||
|
||||
static void list_parts(FILE * f, const char *prefix, LISTID avrparts)
|
||||
|
@ -230,6 +241,8 @@ static void list_parts(FILE * f, const char *prefix, LISTID avrparts)
|
|||
c.f = f;
|
||||
c.prefix = prefix;
|
||||
|
||||
sort_avrparts(avrparts);
|
||||
|
||||
walk_avrparts(avrparts, list_avrparts_callback, &c);
|
||||
}
|
||||
|
||||
|
|
28
pgm.c
28
pgm.c
|
@ -218,11 +218,37 @@ PROGRAMMER * locate_programmer(LISTID programmers, const char * configid)
|
|||
void walk_programmers(LISTID programmers, walk_programmers_cb cb, void *cookie)
|
||||
{
|
||||
LNODEID ln1;
|
||||
LNODEID ln2;
|
||||
PROGRAMMER * p;
|
||||
|
||||
for (ln1 = lfirst(programmers); ln1; ln1 = lnext(ln1)) {
|
||||
p = ldata(ln1);
|
||||
cb((char *)ldata(lfirst(p->id)), p->desc, p->config_file, p->lineno, cookie);
|
||||
for (ln2=lfirst(p->id); ln2; ln2=lnext(ln2)) {
|
||||
cb(ldata(ln2), p->desc, p->config_file, p->lineno, cookie);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Compare function to sort the list of programmers
|
||||
*/
|
||||
static int sort_programmer_compare(PROGRAMMER * p1,PROGRAMMER * p2)
|
||||
{
|
||||
char* id1;
|
||||
char* id2;
|
||||
if(p1 == NULL || p2 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
id1 = ldata(lfirst(p1->id));
|
||||
id2 = ldata(lfirst(p2->id));
|
||||
return strncasecmp(id1,id2,AVR_IDLEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* Sort the list of programmers given as "programmers"
|
||||
*/
|
||||
void sort_programmers(LISTID programmers)
|
||||
{
|
||||
lsort(programmers,(int (*)(void*, void*)) sort_programmer_compare);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue