View Issue Details

IDProjectCategoryView StatusLast Update
0036707LazarusIDEpublic2020-02-19 19:51
ReporterChristo CrauseAssigned ToMaxim Ganetsky 
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Product Version2.0.7 (SVN)Product Build 
Target VersionFixed in Version2.2 
Summary0036707: Update controller information for AVR
DescriptionThis patch updates the AVR subarchitecture list in GetTargetProcessors and the ControllerTypes list in FindControllerUnit to the latest support in FPC trunk.

The AVR list is now sorted, apologies if this messes up the version history.
TagsNo tags attached.
Fixed in Revision62643
LazTarget-
Widgetset
Attached Files
  • avr.patch (28,800 bytes)
    diff --git a/components/codetools/definetemplates.pas b/components/codetools/definetemplates.pas
    index 0d64e199d0..d6162fa152 100644
    --- a/components/codetools/definetemplates.pas
    +++ b/components/codetools/definetemplates.pas
    @@ -3826,6 +3826,7 @@ procedure GetTargetProcessors(const TargetCPU: string; aList: TStrings);
       
       procedure AVR;
       begin
    +    aList.Add('AVRTINY');
         aList.Add('AVR1');
         aList.Add('AVR2');
         aList.Add('AVR25');
    @@ -3836,6 +3837,7 @@ procedure GetTargetProcessors(const TargetCPU: string; aList: TStrings);
         aList.Add('AVR5');
         aList.Add('AVR51');
         aList.Add('AVR6');
    +    aList.Add('AVRXMEGA3');
       end;
       
       procedure M68k;
    @@ -7210,7 +7212,7 @@ function TDefinePool.CreateFPCCommandLineDefines(const Name, CmdLine: string;
           controllerunitstr: string[20];
         end;
       const
    -    ControllerTypes: array[0..532] of TControllerType =
    +    ControllerTypes: array[0..606] of TControllerType =
          ((controllertypestr:'';                  controllerunitstr:''),
           (controllertypestr:'LPC810M021FN8';     controllerunitstr:'LPC8xx'),
           (controllertypestr:'LPC811M001JDH16';   controllerunitstr:'LPC8xx'),
    @@ -7601,150 +7603,226 @@ function TDefinePool.CreateFPCCommandLineDefines(const Name, CmdLine: string;
           (controllertypestr:'PIC32MX775F512L';   controllerunitstr:'PIC32MX7x5FxxxL'),
           (controllertypestr:'PIC32MX795F512H';   controllerunitstr:'PIC32MX7x5FxxxH'),
           (controllertypestr:'PIC32MX795F512L';   controllerunitstr:'PIC32MX7x5FxxxL'),
    -      (controllertypestr:'ATMEGA645';         controllerunitstr:'ATMEGA645'),
    -      (controllertypestr:'ATMEGA165A';        controllerunitstr:'ATMEGA165A'),
    -      (controllertypestr:'ATTINY44A';         controllerunitstr:'ATTINY44A'),
    -      (controllertypestr:'ATMEGA649A';        controllerunitstr:'ATMEGA649A'),
    -      (controllertypestr:'ATMEGA32U4';        controllerunitstr:'ATMEGA32U4'),
    -      (controllertypestr:'ATTINY26';          controllerunitstr:'ATTINY26'),
    -      (controllertypestr:'AT90USB1287';       controllerunitstr:'AT90USB1287'),
    +      // AVR controllers
    +      (controllertypestr:'AT90CAN32';         controllerunitstr:'AT90CAN32'),
    +      (controllertypestr:'AT90CAN64';         controllerunitstr:'AT90CAN64'),
    +      (controllertypestr:'AT90CAN128';        controllerunitstr:'AT90CAN128'),
    +      (controllertypestr:'AT90PWM1';          controllerunitstr:'AT90PWM1'),
    +      (controllertypestr:'AT90PWM2B';         controllerunitstr:'AT90PWM2B'),
    +      (controllertypestr:'AT90PWM3B';         controllerunitstr:'AT90PWM3B'),
    +      (controllertypestr:'AT90PWM81';         controllerunitstr:'AT90PWM81'),
           (controllertypestr:'AT90PWM161';        controllerunitstr:'AT90PWM161'),
    -      (controllertypestr:'ATTINY48';          controllerunitstr:'ATTINY48'),
    -      (controllertypestr:'ATMEGA168P';        controllerunitstr:'ATMEGA168P'),
    -      (controllertypestr:'ATTINY10';          controllerunitstr:'ATTINY10'),
    -      (controllertypestr:'ATTINY84A';         controllerunitstr:'ATTINY84A'),
    +      (controllertypestr:'AT90PWM216';        controllerunitstr:'AT90PWM216'),
    +      (controllertypestr:'AT90PWM316';        controllerunitstr:'AT90PWM316'),
           (controllertypestr:'AT90USB82';         controllerunitstr:'AT90USB82'),
    -      (controllertypestr:'ATTINY2313';        controllerunitstr:'ATTINY2313'),
    -      (controllertypestr:'ATTINY461';         controllerunitstr:'ATTINY461'),
    -      (controllertypestr:'ATMEGA3250PA';      controllerunitstr:'ATMEGA3250PA'),
    -      (controllertypestr:'ATMEGA3290A';       controllerunitstr:'ATMEGA3290A'),
    -      (controllertypestr:'ATMEGA165P';        controllerunitstr:'ATMEGA165P'),
    -      (controllertypestr:'ATTINY43U';         controllerunitstr:'ATTINY43U'),
           (controllertypestr:'AT90USB162';        controllerunitstr:'AT90USB162'),
    -      (controllertypestr:'ATMEGA16U4';        controllerunitstr:'ATMEGA16U4'),
    -      (controllertypestr:'ATTINY24A';         controllerunitstr:'ATTINY24A'),
    -      (controllertypestr:'ATMEGA88P';         controllerunitstr:'ATMEGA88P'),
    -      (controllertypestr:'ATTINY88';          controllerunitstr:'ATTINY88'),
    -      (controllertypestr:'ATMEGA6490P';       controllerunitstr:'ATMEGA6490P'),
    -      (controllertypestr:'ATTINY40';          controllerunitstr:'ATTINY40'),
    -      (controllertypestr:'ATMEGA324P';        controllerunitstr:'ATMEGA324P'),
    -      (controllertypestr:'ATTINY167';         controllerunitstr:'ATTINY167'),
    -      (controllertypestr:'ATMEGA328';         controllerunitstr:'ATMEGA328'),
    -      (controllertypestr:'ATTINY861';         controllerunitstr:'ATTINY861'),
    -      (controllertypestr:'ATTINY85';          controllerunitstr:'ATTINY85'),
    -      (controllertypestr:'ATMEGA64M1';        controllerunitstr:'ATMEGA64M1'),
    -      (controllertypestr:'ATMEGA645P';        controllerunitstr:'ATMEGA645P'),
    -      (controllertypestr:'ATMEGA8U2';         controllerunitstr:'ATMEGA8U2'),
    -      (controllertypestr:'ATMEGA329A';        controllerunitstr:'ATMEGA329A'),
    -      (controllertypestr:'ATMEGA8A';          controllerunitstr:'ATMEGA8A'),
    -      (controllertypestr:'ATMEGA324PA';       controllerunitstr:'ATMEGA324PA'),
    -      (controllertypestr:'ATMEGA32HVB';       controllerunitstr:'ATMEGA32HVB'),
    -      (controllertypestr:'AT90PWM316';        controllerunitstr:'AT90PWM316'),
    -      (controllertypestr:'AT90PWM3B';         controllerunitstr:'AT90PWM3B'),
           (controllertypestr:'AT90USB646';        controllerunitstr:'AT90USB646'),
    -      (controllertypestr:'ATTINY20';          controllerunitstr:'ATTINY20'),
    -      (controllertypestr:'ATMEGA16';          controllerunitstr:'ATMEGA16'),
    -      (controllertypestr:'ATMEGA48A';         controllerunitstr:'ATMEGA48A'),
    -      (controllertypestr:'ATTINY24';          controllerunitstr:'ATTINY24'),
    -      (controllertypestr:'ATMEGA644';         controllerunitstr:'ATMEGA644'),
    -      (controllertypestr:'ATMEGA1284';        controllerunitstr:'ATMEGA1284'),
    +      (controllertypestr:'AT90USB647';        controllerunitstr:'AT90USB647'),
    +      (controllertypestr:'AT90USB1286';       controllerunitstr:'AT90USB1286'),
    +      (controllertypestr:'AT90USB1287';       controllerunitstr:'AT90USB1287'),
           (controllertypestr:'ATA6285';           controllerunitstr:'ATA6285'),
    -      (controllertypestr:'AT90CAN64';         controllerunitstr:'AT90CAN64'),
    -      (controllertypestr:'ATMEGA48';          controllerunitstr:'ATMEGA48'),
    -      (controllertypestr:'AT90CAN32';         controllerunitstr:'AT90CAN32'),
    -      (controllertypestr:'ATTINY9';           controllerunitstr:'ATTINY9'),
    -      (controllertypestr:'ATTINY87';          controllerunitstr:'ATTINY87'),
    -      (controllertypestr:'ATMEGA1281';        controllerunitstr:'ATMEGA1281'),
    -      (controllertypestr:'AT90PWM216';        controllerunitstr:'AT90PWM216'),
    -      (controllertypestr:'ATMEGA3250A';       controllerunitstr:'ATMEGA3250A'),
    -      (controllertypestr:'ATMEGA88A';         controllerunitstr:'ATMEGA88A'),
    -      (controllertypestr:'ATMEGA128RFA1';     controllerunitstr:'ATMEGA128RFA1'),
    -      (controllertypestr:'ATMEGA3290PA';      controllerunitstr:'ATMEGA3290PA'),
    -      (controllertypestr:'AT90PWM81';         controllerunitstr:'AT90PWM81'),
    -      (controllertypestr:'ATMEGA325P';        controllerunitstr:'ATMEGA325P'),
    -      (controllertypestr:'ATTINY84';          controllerunitstr:'ATTINY84'),
    -      (controllertypestr:'ATMEGA328P';        controllerunitstr:'ATMEGA328P'),
    -      (controllertypestr:'ATTINY13A';         controllerunitstr:'ATTINY13A'),
    +      (controllertypestr:'ATA6286';           controllerunitstr:'ATA6286'),
           (controllertypestr:'ATMEGA8';           controllerunitstr:'ATMEGA8'),
    -      (controllertypestr:'ATMEGA1284P';       controllerunitstr:'ATMEGA1284P'),
    +      (controllertypestr:'ATMEGA8A';          controllerunitstr:'ATMEGA8A'),
    +      (controllertypestr:'ATMEGA8HVA';        controllerunitstr:'ATMEGA8HVA'),
    +      (controllertypestr:'ATMEGA8U2';         controllerunitstr:'ATMEGA8U2'),
    +      (controllertypestr:'ATMEGA16';          controllerunitstr:'ATMEGA16'),
    +      (controllertypestr:'ATMEGA16A';         controllerunitstr:'ATMEGA16A'),
    +      (controllertypestr:'ATMEGA16HVA';       controllerunitstr:'ATMEGA16HVA'),
    +      (controllertypestr:'ATMEGA16HVB';       controllerunitstr:'ATMEGA16HVB'),
    +      (controllertypestr:'ATMEGA16HVBREVB';   controllerunitstr:'ATMEGA16HVBREVB'),
    +      (controllertypestr:'ATMEGA16M1';        controllerunitstr:'ATMEGA16M1'),
           (controllertypestr:'ATMEGA16U2';        controllerunitstr:'ATMEGA16U2'),
    -      (controllertypestr:'ATTINY45';          controllerunitstr:'ATTINY45'),
    -      (controllertypestr:'ATMEGA3250';        controllerunitstr:'ATMEGA3250'),
    -      (controllertypestr:'ATMEGA329';         controllerunitstr:'ATMEGA329'),
    +      (controllertypestr:'ATMEGA16U4';        controllerunitstr:'ATMEGA16U4'),
    +      (controllertypestr:'ATMEGA32';          controllerunitstr:'ATMEGA32'),
           (controllertypestr:'ATMEGA32A';         controllerunitstr:'ATMEGA32A'),
    -      (controllertypestr:'ATTINY5';           controllerunitstr:'ATTINY5'),
    -      (controllertypestr:'AT90CAN128';        controllerunitstr:'AT90CAN128'),
    -      (controllertypestr:'ATMEGA6490';        controllerunitstr:'ATMEGA6490'),
    -      (controllertypestr:'ATMEGA8515';        controllerunitstr:'ATMEGA8515'),
    +      (controllertypestr:'ATMEGA32C1';        controllerunitstr:'ATMEGA32C1'),
    +      (controllertypestr:'ATMEGA32HVB';       controllerunitstr:'ATMEGA32HVB'),
    +      (controllertypestr:'ATMEGA32HVBREVB';   controllerunitstr:'ATMEGA32HVBREVB'),
    +      (controllertypestr:'ATMEGA32M1';        controllerunitstr:'ATMEGA32M1'),
    +      (controllertypestr:'ATMEGA32U2';        controllerunitstr:'ATMEGA32U2'),
    +      (controllertypestr:'ATMEGA32U4';        controllerunitstr:'ATMEGA32U4'),
    +      (controllertypestr:'ATMEGA48';          controllerunitstr:'ATMEGA48'),
    +      (controllertypestr:'ATMEGA48A';         controllerunitstr:'ATMEGA48A'),
    +      (controllertypestr:'ATMEGA48P';         controllerunitstr:'ATMEGA48P'),
    +      (controllertypestr:'ATMEGA48PA';        controllerunitstr:'ATMEGA48PA'),
    +      (controllertypestr:'ATMEGA48PB';        controllerunitstr:'ATMEGA48PB'),
    +      (controllertypestr:'ATMEGA64';          controllerunitstr:'ATMEGA64'),
    +      (controllertypestr:'ATMEGA64A';         controllerunitstr:'ATMEGA64A'),
    +      (controllertypestr:'ATMEGA64C1';        controllerunitstr:'ATMEGA64C1'),
    +      (controllertypestr:'ATMEGA64HVE2';      controllerunitstr:'ATMEGA64HVE2'),
    +      (controllertypestr:'ATMEGA64M1';        controllerunitstr:'ATMEGA64M1'),
    +      (controllertypestr:'ATMEGA64RFR2';      controllerunitstr:'ATMEGA64RFR2'),
    +      (controllertypestr:'ATMEGA88';          controllerunitstr:'ATMEGA88'),
    +      (controllertypestr:'ATMEGA88A';         controllerunitstr:'ATMEGA88A'),
    +      (controllertypestr:'ATMEGA88P';         controllerunitstr:'ATMEGA88P'),
           (controllertypestr:'ATMEGA88PA';        controllerunitstr:'ATMEGA88PA'),
    -      (controllertypestr:'ATMEGA168A';        controllerunitstr:'ATMEGA168A'),
    +      (controllertypestr:'ATMEGA88PB';        controllerunitstr:'ATMEGA88PB'),
           (controllertypestr:'ATMEGA128';         controllerunitstr:'ATMEGA128'),
    -      (controllertypestr:'AT90USB1286';       controllerunitstr:'AT90USB1286'),
    -      (controllertypestr:'ATMEGA164PA';       controllerunitstr:'ATMEGA164PA'),
    -      (controllertypestr:'ATTINY828';         controllerunitstr:'ATTINY828'),
    -      (controllertypestr:'ATMEGA88';          controllerunitstr:'ATMEGA88'),
    -      (controllertypestr:'ATMEGA645A';        controllerunitstr:'ATMEGA645A'),
    -      (controllertypestr:'ATMEGA3290P';       controllerunitstr:'ATMEGA3290P'),
    -      (controllertypestr:'ATMEGA644P';        controllerunitstr:'ATMEGA644P'),
    -      (controllertypestr:'ATMEGA164A';        controllerunitstr:'ATMEGA164A'),
    -      (controllertypestr:'ATTINY4313';        controllerunitstr:'ATTINY4313'),
    -      (controllertypestr:'ATMEGA162';         controllerunitstr:'ATMEGA162'),
    -      (controllertypestr:'ATMEGA32C1';        controllerunitstr:'ATMEGA32C1'),
           (controllertypestr:'ATMEGA128A';        controllerunitstr:'ATMEGA128A'),
    -      (controllertypestr:'ATMEGA324A';        controllerunitstr:'ATMEGA324A'),
    -      (controllertypestr:'ATTINY13';          controllerunitstr:'ATTINY13'),
    -      (controllertypestr:'ATMEGA2561';        controllerunitstr:'ATMEGA2561'),
    +      (controllertypestr:'ATMEGA128RFA1';     controllerunitstr:'ATMEGA128RFA1'),
    +      (controllertypestr:'ATMEGA128RFR2';     controllerunitstr:'ATMEGA128RFR2'),
    +      (controllertypestr:'ATMEGA162';         controllerunitstr:'ATMEGA162'),
    +      (controllertypestr:'ATMEGA164A';        controllerunitstr:'ATMEGA164A'),
    +      (controllertypestr:'ATMEGA164P';        controllerunitstr:'ATMEGA164P'),
    +      (controllertypestr:'ATMEGA164PA';       controllerunitstr:'ATMEGA164PA'),
    +      (controllertypestr:'ATMEGA165A';        controllerunitstr:'ATMEGA165A'),
    +      (controllertypestr:'ATMEGA165P';        controllerunitstr:'ATMEGA165P'),
    +      (controllertypestr:'ATMEGA165PA';       controllerunitstr:'ATMEGA165PA'),
    +      (controllertypestr:'ATMEGA168';         controllerunitstr:'ATMEGA168'),
    +      (controllertypestr:'ATMEGA168A';        controllerunitstr:'ATMEGA168A'),
    +      (controllertypestr:'ATMEGA168P';        controllerunitstr:'ATMEGA168P'),
    +      (controllertypestr:'ATMEGA168PA';       controllerunitstr:'ATMEGA168PA'),
    +      (controllertypestr:'ATMEGA168PB';       controllerunitstr:'ATMEGA168PB'),
           (controllertypestr:'ATMEGA169A';        controllerunitstr:'ATMEGA169A'),
    -      (controllertypestr:'ATTINY261';         controllerunitstr:'ATTINY261'),
    -      (controllertypestr:'ATMEGA644A';        controllerunitstr:'ATMEGA644A'),
    -      (controllertypestr:'ATMEGA3290';        controllerunitstr:'ATMEGA3290'),
    -      (controllertypestr:'ATMEGA64A';         controllerunitstr:'ATMEGA64A'),
           (controllertypestr:'ATMEGA169P';        controllerunitstr:'ATMEGA169P'),
    -      (controllertypestr:'ATMEGA2560';        controllerunitstr:'ATMEGA2560'),
    -      (controllertypestr:'ATMEGA32';          controllerunitstr:'ATMEGA32'),
    -      (controllertypestr:'ATTINY861A';        controllerunitstr:'ATTINY861A'),
    -      (controllertypestr:'ATTINY28';          controllerunitstr:'ATTINY28'),
    -      (controllertypestr:'ATMEGA48P';         controllerunitstr:'ATMEGA48P'),
    -      (controllertypestr:'ATMEGA8535';        controllerunitstr:'ATMEGA8535'),
    -      (controllertypestr:'ATMEGA168PA';       controllerunitstr:'ATMEGA168PA'),
    -      (controllertypestr:'ATMEGA16M1';        controllerunitstr:'ATMEGA16M1'),
    -      (controllertypestr:'ATMEGA16HVB';       controllerunitstr:'ATMEGA16HVB'),
    -      (controllertypestr:'ATMEGA164P';        controllerunitstr:'ATMEGA164P'),
    +      (controllertypestr:'ATMEGA169PA';       controllerunitstr:'ATMEGA169PA'),
    +      (controllertypestr:'ATMEGA256RFR2';     controllerunitstr:'ATMEGA256RFR2'),
    +      (controllertypestr:'ATMEGA324A';        controllerunitstr:'ATMEGA324A'),
    +      (controllertypestr:'ATMEGA324P';        controllerunitstr:'ATMEGA324P'),
    +      (controllertypestr:'ATMEGA324PA';       controllerunitstr:'ATMEGA324PA'),
    +      (controllertypestr:'ATMEGA324PB';       controllerunitstr:'ATMEGA324PB'),
    +      (controllertypestr:'ATMEGA325';         controllerunitstr:'ATMEGA325'),
           (controllertypestr:'ATMEGA325A';        controllerunitstr:'ATMEGA325A'),
    +      (controllertypestr:'ATMEGA325P';        controllerunitstr:'ATMEGA325P'),
    +      (controllertypestr:'ATMEGA325PA';       controllerunitstr:'ATMEGA325PA'),
    +      (controllertypestr:'ATMEGA328';         controllerunitstr:'ATMEGA328'),
    +      (controllertypestr:'ATMEGA328P';        controllerunitstr:'ATMEGA328P'),
    +      (controllertypestr:'ATMEGA328PB';       controllerunitstr:'ATMEGA328PB'),
    +      (controllertypestr:'ATMEGA329';         controllerunitstr:'ATMEGA329'),
    +      (controllertypestr:'ATMEGA329A';        controllerunitstr:'ATMEGA329A'),
    +      (controllertypestr:'ATMEGA329P';        controllerunitstr:'ATMEGA329P'),
    +      (controllertypestr:'ATMEGA329PA';       controllerunitstr:'ATMEGA329PA'),
    +      (controllertypestr:'ATMEGA406';         controllerunitstr:'ATMEGA406'),
           (controllertypestr:'ATMEGA640';         controllerunitstr:'ATMEGA640'),
    +      (controllertypestr:'ATMEGA644';         controllerunitstr:'ATMEGA644'),
    +      (controllertypestr:'ATMEGA644A';        controllerunitstr:'ATMEGA644A'),
    +      (controllertypestr:'ATMEGA644P';        controllerunitstr:'ATMEGA644P'),
    +      (controllertypestr:'ATMEGA644PA';       controllerunitstr:'ATMEGA644PA'),
    +      (controllertypestr:'ATMEGA644RFR2';     controllerunitstr:'ATMEGA644RFR2'),
    +      (controllertypestr:'ATMEGA645';         controllerunitstr:'ATMEGA645'),
    +      (controllertypestr:'ATMEGA645A';        controllerunitstr:'ATMEGA645A'),
    +      (controllertypestr:'ATMEGA645P';        controllerunitstr:'ATMEGA645P'),
    +      (controllertypestr:'ATMEGA649';         controllerunitstr:'ATMEGA649'),
    +      (controllertypestr:'ATMEGA649A';        controllerunitstr:'ATMEGA649A'),
    +      (controllertypestr:'ATMEGA649P';        controllerunitstr:'ATMEGA649P'),
    +      (controllertypestr:'ATMEGA808';         controllerunitstr:'ATMEGA808'),
    +      (controllertypestr:'ATMEGA809';         controllerunitstr:'ATMEGA809'),
    +      (controllertypestr:'ATMEGA1280';        controllerunitstr:'ATMEGA1280'),
    +      (controllertypestr:'ATMEGA1281';        controllerunitstr:'ATMEGA1281'),
    +      (controllertypestr:'ATMEGA1284';        controllerunitstr:'ATMEGA1284'),
    +      (controllertypestr:'ATMEGA1284P';       controllerunitstr:'ATMEGA1284P'),
    +      (controllertypestr:'ATMEGA1284RFR2';    controllerunitstr:'ATMEGA1284RFR2'),
    +      (controllertypestr:'ATMEGA1608';        controllerunitstr:'ATMEGA1608'),
    +      (controllertypestr:'ATMEGA1609';        controllerunitstr:'ATMEGA1609'),
    +      (controllertypestr:'ATMEGA2560';        controllerunitstr:'ATMEGA2560'),
    +      (controllertypestr:'ATMEGA2561';        controllerunitstr:'ATMEGA2561'),
    +      (controllertypestr:'ATMEGA2564RFR2';    controllerunitstr:'ATMEGA2564RFR2'),
    +      (controllertypestr:'ATMEGA3208';        controllerunitstr:'ATMEGA3208'),
    +      (controllertypestr:'ATMEGA3209';        controllerunitstr:'ATMEGA3209'),
    +      (controllertypestr:'ATMEGA3250';        controllerunitstr:'ATMEGA3250'),
    +      (controllertypestr:'ATMEGA3250A';       controllerunitstr:'ATMEGA3250A'),
    +      (controllertypestr:'ATMEGA3250P';       controllerunitstr:'ATMEGA3250P'),
    +      (controllertypestr:'ATMEGA3250PA';      controllerunitstr:'ATMEGA3250PA'),
    +      (controllertypestr:'ATMEGA3290';        controllerunitstr:'ATMEGA3290'),
    +      (controllertypestr:'ATMEGA3290A';       controllerunitstr:'ATMEGA3290A'),
    +      (controllertypestr:'ATMEGA3290P';       controllerunitstr:'ATMEGA3290P'),
    +      (controllertypestr:'ATMEGA3290PA';      controllerunitstr:'ATMEGA3290PA'),
    +      (controllertypestr:'ATMEGA4808';        controllerunitstr:'ATMEGA4808'),
    +      (controllertypestr:'ATMEGA4809';        controllerunitstr:'ATMEGA4809'),
           (controllertypestr:'ATMEGA6450';        controllerunitstr:'ATMEGA6450'),
    -      (controllertypestr:'ATMEGA329P';        controllerunitstr:'ATMEGA329P'),
    -      (controllertypestr:'ATA6286';           controllerunitstr:'ATA6286'),
    -      (controllertypestr:'AT90USB647';        controllerunitstr:'AT90USB647'),
    -      (controllertypestr:'ATMEGA168';         controllerunitstr:'ATMEGA168'),
    +      (controllertypestr:'ATMEGA6450A';       controllerunitstr:'ATMEGA6450A'),
    +      (controllertypestr:'ATMEGA6450P';       controllerunitstr:'ATMEGA6450P'),
    +      (controllertypestr:'ATMEGA6490';        controllerunitstr:'ATMEGA6490'),
           (controllertypestr:'ATMEGA6490A';       controllerunitstr:'ATMEGA6490A'),
    -      (controllertypestr:'ATMEGA32M1';        controllerunitstr:'ATMEGA32M1'),
    -      (controllertypestr:'ATMEGA64C1';        controllerunitstr:'ATMEGA64C1'),
    -      (controllertypestr:'ATMEGA32U2';        controllerunitstr:'ATMEGA32U2'),
    +      (controllertypestr:'ATMEGA6490P';       controllerunitstr:'ATMEGA6490P'),
    +      (controllertypestr:'ATMEGA8515';        controllerunitstr:'ATMEGA8515'),
    +      (controllertypestr:'ATMEGA8535';        controllerunitstr:'ATMEGA8535'),
           (controllertypestr:'ATTINY4';           controllerunitstr:'ATTINY4'),
    -      (controllertypestr:'ATMEGA644PA';       controllerunitstr:'ATMEGA644PA'),
    -      (controllertypestr:'AT90PWM1';          controllerunitstr:'AT90PWM1'),
    +      (controllertypestr:'ATTINY5';           controllerunitstr:'ATTINY5'),
    +      (controllertypestr:'ATTINY9';           controllerunitstr:'ATTINY9'),
    +      (controllertypestr:'ATTINY10';          controllerunitstr:'ATTINY10'),
    +      (controllertypestr:'ATTINY11';          controllerunitstr:'ATTINY11'),
    +      (controllertypestr:'ATTINY12';          controllerunitstr:'ATTINY12'),
    +      (controllertypestr:'ATTINY13';          controllerunitstr:'ATTINY13'),
    +      (controllertypestr:'ATTINY13A';         controllerunitstr:'ATTINY13A'),
    +      (controllertypestr:'ATTINY15';          controllerunitstr:'ATTINY15'),
    +      (controllertypestr:'ATTINY20';          controllerunitstr:'ATTINY20'),
    +      (controllertypestr:'ATTINY24';          controllerunitstr:'ATTINY24'),
    +      (controllertypestr:'ATTINY24A';         controllerunitstr:'ATTINY24A'),
    +      (controllertypestr:'ATTINY25';          controllerunitstr:'ATTINY25'),
    +      (controllertypestr:'ATTINY26';          controllerunitstr:'ATTINY26'),
    +      (controllertypestr:'ATTINY28';          controllerunitstr:'ATTINY28'),
    +      (controllertypestr:'ATTINY40';          controllerunitstr:'ATTINY40'),
    +      (controllertypestr:'ATTINY43U';         controllerunitstr:'ATTINY43U'),
           (controllertypestr:'ATTINY44';          controllerunitstr:'ATTINY44'),
    -      (controllertypestr:'ATMEGA325PA';       controllerunitstr:'ATMEGA325PA'),
    -      (controllertypestr:'ATMEGA6450A';       controllerunitstr:'ATMEGA6450A'),
    -      (controllertypestr:'ATTINY2313A';       controllerunitstr:'ATTINY2313A'),
    -      (controllertypestr:'ATMEGA329PA';       controllerunitstr:'ATMEGA329PA'),
    +      (controllertypestr:'ATTINY44A';         controllerunitstr:'ATTINY44A'),
    +      (controllertypestr:'ATTINY45';          controllerunitstr:'ATTINY45'),
    +      (controllertypestr:'ATTINY48';          controllerunitstr:'ATTINY48'),
    +      (controllertypestr:'ATTINY84';          controllerunitstr:'ATTINY84'),
    +      (controllertypestr:'ATTINY84A';         controllerunitstr:'ATTINY84A'),
    +      (controllertypestr:'ATTINY85';          controllerunitstr:'ATTINY85'),
    +      (controllertypestr:'ATTINY87';          controllerunitstr:'ATTINY87'),
    +      (controllertypestr:'ATTINY88';          controllerunitstr:'ATTINY88'),
    +      (controllertypestr:'ATTINY102';         controllerunitstr:'ATTINY102'),
    +      (controllertypestr:'ATTINY104';         controllerunitstr:'ATTINY104'),
    +      (controllertypestr:'ATTINY167';         controllerunitstr:'ATTINY167'),
    +      (controllertypestr:'ATTINY202';         controllerunitstr:'ATTINY202'),
    +      (controllertypestr:'ATTINY204';         controllerunitstr:'ATTINY204'),
    +      (controllertypestr:'ATTINY212';         controllerunitstr:'ATTINY212'),
    +      (controllertypestr:'ATTINY214';         controllerunitstr:'ATTINY214'),
    +      (controllertypestr:'ATTINY261';         controllerunitstr:'ATTINY261'),
    +      (controllertypestr:'ATTINY261A';        controllerunitstr:'ATTINY261A'),
    +      (controllertypestr:'ATTINY402';         controllerunitstr:'ATTINY402'),
    +      (controllertypestr:'ATTINY404';         controllerunitstr:'ATTINY404'),
    +      (controllertypestr:'ATTINY406';         controllerunitstr:'ATTINY406'),
    +      (controllertypestr:'ATTINY412';         controllerunitstr:'ATTINY412'),
    +      (controllertypestr:'ATTINY414';         controllerunitstr:'ATTINY414'),
    +      (controllertypestr:'ATTINY416';         controllerunitstr:'ATTINY416'),
    +      (controllertypestr:'ATTINY416AUTO';     controllerunitstr:'ATTINY416AUTO'),
    +      (controllertypestr:'ATTINY417';         controllerunitstr:'ATTINY417'),
    +      (controllertypestr:'ATTINY441';         controllerunitstr:'ATTINY441'),
    +      (controllertypestr:'ATTINY461';         controllerunitstr:'ATTINY461'),
           (controllertypestr:'ATTINY461A';        controllerunitstr:'ATTINY461A'),
    -      (controllertypestr:'ATMEGA6450P';       controllerunitstr:'ATMEGA6450P'),
    -      (controllertypestr:'ATMEGA64';          controllerunitstr:'ATMEGA64'),
    -      (controllertypestr:'ATMEGA165PA';       controllerunitstr:'ATMEGA165PA'),
    -      (controllertypestr:'ATMEGA16A';         controllerunitstr:'ATMEGA16A'),
    -      (controllertypestr:'ATMEGA649';         controllerunitstr:'ATMEGA649'),
    -      (controllertypestr:'ATMEGA1280';        controllerunitstr:'ATMEGA1280'),
    -      (controllertypestr:'AT90PWM2B';         controllerunitstr:'AT90PWM2B'),
    -      (controllertypestr:'ATMEGA649P';        controllerunitstr:'ATMEGA649P'),
    -      (controllertypestr:'ATMEGA3250P';       controllerunitstr:'ATMEGA3250P'),
    -      (controllertypestr:'ATMEGA48PA';        controllerunitstr:'ATMEGA48PA'),
    +      (controllertypestr:'ATTINY804';         controllerunitstr:'ATTINY804'),
    +      (controllertypestr:'ATTINY806';         controllerunitstr:'ATTINY806'),
    +      (controllertypestr:'ATTINY807';         controllerunitstr:'ATTINY807'),
    +      (controllertypestr:'ATTINY814';         controllerunitstr:'ATTINY814'),
    +      (controllertypestr:'ATTINY816';         controllerunitstr:'ATTINY816'),
    +      (controllertypestr:'ATTINY817';         controllerunitstr:'ATTINY817'),
    +      (controllertypestr:'ATTINY828';         controllerunitstr:'ATTINY828'),
    +      (controllertypestr:'ATTINY841';         controllerunitstr:'ATTINY841'),
    +      (controllertypestr:'ATTINY861';         controllerunitstr:'ATTINY861'),
    +      (controllertypestr:'ATTINY861A';        controllerunitstr:'ATTINY861A'),
    +      (controllertypestr:'ATTINY1604';        controllerunitstr:'ATTINY1604'),
    +      (controllertypestr:'ATTINY1606';        controllerunitstr:'ATTINY1606'),
    +      (controllertypestr:'ATTINY1607';        controllerunitstr:'ATTINY1607'),
    +      (controllertypestr:'ATTINY1614';        controllerunitstr:'ATTINY1614'),
    +      (controllertypestr:'ATTINY1616';        controllerunitstr:'ATTINY1616'),
    +      (controllertypestr:'ATTINY1617';        controllerunitstr:'ATTINY1617'),
    +      (controllertypestr:'ATTINY1624';        controllerunitstr:'ATTINY1624'),
    +      (controllertypestr:'ATTINY1626';        controllerunitstr:'ATTINY1626'),
    +      (controllertypestr:'ATTINY1627';        controllerunitstr:'ATTINY1627'),
           (controllertypestr:'ATTINY1634';        controllerunitstr:'ATTINY1634'),
    -      (controllertypestr:'ATMEGA325';         controllerunitstr:'ATMEGA325'),
    -      (controllertypestr:'ATMEGA169PA';       controllerunitstr:'ATMEGA169PA'),
    -      (controllertypestr:'ATTINY261A';        controllerunitstr:'ATTINY261A'),
    -      (controllertypestr:'ATTINY25';          controllerunitstr:'ATTINY25'));
    +      (controllertypestr:'ATTINY2313';        controllerunitstr:'ATTINY2313'),
    +      (controllertypestr:'ATTINY2313A';       controllerunitstr:'ATTINY2313A'),
    +      (controllertypestr:'ATTINY3214';        controllerunitstr:'ATTINY3214'),
    +      (controllertypestr:'ATTINY3216';        controllerunitstr:'ATTINY3216'),
    +      (controllertypestr:'ATTINY3217';        controllerunitstr:'ATTINY3217'),
    +      (controllertypestr:'ATTINY4313';        controllerunitstr:'ATTINY4313'),
    +      // AVR controller board aliases
    +      (controllertypestr:'ARDUINOLEONARDO';   controllerunitstr:'ATMEGA32U4'),
    +      (controllertypestr:'ARDUINOMEGA';       controllerunitstr:'ATMEGA2560'),
    +      (controllertypestr:'ARDUINOMICRO';      controllerunitstr:'ATMEGA32U4'),
    +      (controllertypestr:'ARDUINONANO';       controllerunitstr:'ATMEGA328P'),
    +      (controllertypestr:'ARDUINONANOEVERY';  controllerunitstr:'ATMEGA4809'),
    +      (controllertypestr:'ARDUINOUNO';        controllerunitstr:'ATMEGA328P'),
    +      (controllertypestr:'ATMEGA256RFR2XPRO'; controllerunitstr:'ATMEGA256RFR2'),
    +      (controllertypestr:'ATMEGA324PBXPRO';   controllerunitstr:'ATMEGA324PB'),
    +      (controllertypestr:'ATMEGA1284PXPLAINED'; controllerunitstr:'ATMEGA1284P'),
    +      (controllertypestr:'ATMEGA4809XPRO';    controllerunitstr:'ATMEGA4809'),
    +      (controllertypestr:'ATTINY817XPRO';     controllerunitstr:'ATTINY817'),
    +      (controllertypestr:'ATTINY3217XPRO';    controllerunitstr:'ATTINY3217'));
     
       var
         i: integer;
    
    avr.patch (28,800 bytes)

Activities

Christo Crause

2020-02-17 20:18

reporter  

avr.patch (28,800 bytes)
diff --git a/components/codetools/definetemplates.pas b/components/codetools/definetemplates.pas
index 0d64e199d0..d6162fa152 100644
--- a/components/codetools/definetemplates.pas
+++ b/components/codetools/definetemplates.pas
@@ -3826,6 +3826,7 @@ procedure GetTargetProcessors(const TargetCPU: string; aList: TStrings);
   
   procedure AVR;
   begin
+    aList.Add('AVRTINY');
     aList.Add('AVR1');
     aList.Add('AVR2');
     aList.Add('AVR25');
@@ -3836,6 +3837,7 @@ procedure GetTargetProcessors(const TargetCPU: string; aList: TStrings);
     aList.Add('AVR5');
     aList.Add('AVR51');
     aList.Add('AVR6');
+    aList.Add('AVRXMEGA3');
   end;
   
   procedure M68k;
@@ -7210,7 +7212,7 @@ function TDefinePool.CreateFPCCommandLineDefines(const Name, CmdLine: string;
       controllerunitstr: string[20];
     end;
   const
-    ControllerTypes: array[0..532] of TControllerType =
+    ControllerTypes: array[0..606] of TControllerType =
      ((controllertypestr:'';                  controllerunitstr:''),
       (controllertypestr:'LPC810M021FN8';     controllerunitstr:'LPC8xx'),
       (controllertypestr:'LPC811M001JDH16';   controllerunitstr:'LPC8xx'),
@@ -7601,150 +7603,226 @@ function TDefinePool.CreateFPCCommandLineDefines(const Name, CmdLine: string;
       (controllertypestr:'PIC32MX775F512L';   controllerunitstr:'PIC32MX7x5FxxxL'),
       (controllertypestr:'PIC32MX795F512H';   controllerunitstr:'PIC32MX7x5FxxxH'),
       (controllertypestr:'PIC32MX795F512L';   controllerunitstr:'PIC32MX7x5FxxxL'),
-      (controllertypestr:'ATMEGA645';         controllerunitstr:'ATMEGA645'),
-      (controllertypestr:'ATMEGA165A';        controllerunitstr:'ATMEGA165A'),
-      (controllertypestr:'ATTINY44A';         controllerunitstr:'ATTINY44A'),
-      (controllertypestr:'ATMEGA649A';        controllerunitstr:'ATMEGA649A'),
-      (controllertypestr:'ATMEGA32U4';        controllerunitstr:'ATMEGA32U4'),
-      (controllertypestr:'ATTINY26';          controllerunitstr:'ATTINY26'),
-      (controllertypestr:'AT90USB1287';       controllerunitstr:'AT90USB1287'),
+      // AVR controllers
+      (controllertypestr:'AT90CAN32';         controllerunitstr:'AT90CAN32'),
+      (controllertypestr:'AT90CAN64';         controllerunitstr:'AT90CAN64'),
+      (controllertypestr:'AT90CAN128';        controllerunitstr:'AT90CAN128'),
+      (controllertypestr:'AT90PWM1';          controllerunitstr:'AT90PWM1'),
+      (controllertypestr:'AT90PWM2B';         controllerunitstr:'AT90PWM2B'),
+      (controllertypestr:'AT90PWM3B';         controllerunitstr:'AT90PWM3B'),
+      (controllertypestr:'AT90PWM81';         controllerunitstr:'AT90PWM81'),
       (controllertypestr:'AT90PWM161';        controllerunitstr:'AT90PWM161'),
-      (controllertypestr:'ATTINY48';          controllerunitstr:'ATTINY48'),
-      (controllertypestr:'ATMEGA168P';        controllerunitstr:'ATMEGA168P'),
-      (controllertypestr:'ATTINY10';          controllerunitstr:'ATTINY10'),
-      (controllertypestr:'ATTINY84A';         controllerunitstr:'ATTINY84A'),
+      (controllertypestr:'AT90PWM216';        controllerunitstr:'AT90PWM216'),
+      (controllertypestr:'AT90PWM316';        controllerunitstr:'AT90PWM316'),
       (controllertypestr:'AT90USB82';         controllerunitstr:'AT90USB82'),
-      (controllertypestr:'ATTINY2313';        controllerunitstr:'ATTINY2313'),
-      (controllertypestr:'ATTINY461';         controllerunitstr:'ATTINY461'),
-      (controllertypestr:'ATMEGA3250PA';      controllerunitstr:'ATMEGA3250PA'),
-      (controllertypestr:'ATMEGA3290A';       controllerunitstr:'ATMEGA3290A'),
-      (controllertypestr:'ATMEGA165P';        controllerunitstr:'ATMEGA165P'),
-      (controllertypestr:'ATTINY43U';         controllerunitstr:'ATTINY43U'),
       (controllertypestr:'AT90USB162';        controllerunitstr:'AT90USB162'),
-      (controllertypestr:'ATMEGA16U4';        controllerunitstr:'ATMEGA16U4'),
-      (controllertypestr:'ATTINY24A';         controllerunitstr:'ATTINY24A'),
-      (controllertypestr:'ATMEGA88P';         controllerunitstr:'ATMEGA88P'),
-      (controllertypestr:'ATTINY88';          controllerunitstr:'ATTINY88'),
-      (controllertypestr:'ATMEGA6490P';       controllerunitstr:'ATMEGA6490P'),
-      (controllertypestr:'ATTINY40';          controllerunitstr:'ATTINY40'),
-      (controllertypestr:'ATMEGA324P';        controllerunitstr:'ATMEGA324P'),
-      (controllertypestr:'ATTINY167';         controllerunitstr:'ATTINY167'),
-      (controllertypestr:'ATMEGA328';         controllerunitstr:'ATMEGA328'),
-      (controllertypestr:'ATTINY861';         controllerunitstr:'ATTINY861'),
-      (controllertypestr:'ATTINY85';          controllerunitstr:'ATTINY85'),
-      (controllertypestr:'ATMEGA64M1';        controllerunitstr:'ATMEGA64M1'),
-      (controllertypestr:'ATMEGA645P';        controllerunitstr:'ATMEGA645P'),
-      (controllertypestr:'ATMEGA8U2';         controllerunitstr:'ATMEGA8U2'),
-      (controllertypestr:'ATMEGA329A';        controllerunitstr:'ATMEGA329A'),
-      (controllertypestr:'ATMEGA8A';          controllerunitstr:'ATMEGA8A'),
-      (controllertypestr:'ATMEGA324PA';       controllerunitstr:'ATMEGA324PA'),
-      (controllertypestr:'ATMEGA32HVB';       controllerunitstr:'ATMEGA32HVB'),
-      (controllertypestr:'AT90PWM316';        controllerunitstr:'AT90PWM316'),
-      (controllertypestr:'AT90PWM3B';         controllerunitstr:'AT90PWM3B'),
       (controllertypestr:'AT90USB646';        controllerunitstr:'AT90USB646'),
-      (controllertypestr:'ATTINY20';          controllerunitstr:'ATTINY20'),
-      (controllertypestr:'ATMEGA16';          controllerunitstr:'ATMEGA16'),
-      (controllertypestr:'ATMEGA48A';         controllerunitstr:'ATMEGA48A'),
-      (controllertypestr:'ATTINY24';          controllerunitstr:'ATTINY24'),
-      (controllertypestr:'ATMEGA644';         controllerunitstr:'ATMEGA644'),
-      (controllertypestr:'ATMEGA1284';        controllerunitstr:'ATMEGA1284'),
+      (controllertypestr:'AT90USB647';        controllerunitstr:'AT90USB647'),
+      (controllertypestr:'AT90USB1286';       controllerunitstr:'AT90USB1286'),
+      (controllertypestr:'AT90USB1287';       controllerunitstr:'AT90USB1287'),
       (controllertypestr:'ATA6285';           controllerunitstr:'ATA6285'),
-      (controllertypestr:'AT90CAN64';         controllerunitstr:'AT90CAN64'),
-      (controllertypestr:'ATMEGA48';          controllerunitstr:'ATMEGA48'),
-      (controllertypestr:'AT90CAN32';         controllerunitstr:'AT90CAN32'),
-      (controllertypestr:'ATTINY9';           controllerunitstr:'ATTINY9'),
-      (controllertypestr:'ATTINY87';          controllerunitstr:'ATTINY87'),
-      (controllertypestr:'ATMEGA1281';        controllerunitstr:'ATMEGA1281'),
-      (controllertypestr:'AT90PWM216';        controllerunitstr:'AT90PWM216'),
-      (controllertypestr:'ATMEGA3250A';       controllerunitstr:'ATMEGA3250A'),
-      (controllertypestr:'ATMEGA88A';         controllerunitstr:'ATMEGA88A'),
-      (controllertypestr:'ATMEGA128RFA1';     controllerunitstr:'ATMEGA128RFA1'),
-      (controllertypestr:'ATMEGA3290PA';      controllerunitstr:'ATMEGA3290PA'),
-      (controllertypestr:'AT90PWM81';         controllerunitstr:'AT90PWM81'),
-      (controllertypestr:'ATMEGA325P';        controllerunitstr:'ATMEGA325P'),
-      (controllertypestr:'ATTINY84';          controllerunitstr:'ATTINY84'),
-      (controllertypestr:'ATMEGA328P';        controllerunitstr:'ATMEGA328P'),
-      (controllertypestr:'ATTINY13A';         controllerunitstr:'ATTINY13A'),
+      (controllertypestr:'ATA6286';           controllerunitstr:'ATA6286'),
       (controllertypestr:'ATMEGA8';           controllerunitstr:'ATMEGA8'),
-      (controllertypestr:'ATMEGA1284P';       controllerunitstr:'ATMEGA1284P'),
+      (controllertypestr:'ATMEGA8A';          controllerunitstr:'ATMEGA8A'),
+      (controllertypestr:'ATMEGA8HVA';        controllerunitstr:'ATMEGA8HVA'),
+      (controllertypestr:'ATMEGA8U2';         controllerunitstr:'ATMEGA8U2'),
+      (controllertypestr:'ATMEGA16';          controllerunitstr:'ATMEGA16'),
+      (controllertypestr:'ATMEGA16A';         controllerunitstr:'ATMEGA16A'),
+      (controllertypestr:'ATMEGA16HVA';       controllerunitstr:'ATMEGA16HVA'),
+      (controllertypestr:'ATMEGA16HVB';       controllerunitstr:'ATMEGA16HVB'),
+      (controllertypestr:'ATMEGA16HVBREVB';   controllerunitstr:'ATMEGA16HVBREVB'),
+      (controllertypestr:'ATMEGA16M1';        controllerunitstr:'ATMEGA16M1'),
       (controllertypestr:'ATMEGA16U2';        controllerunitstr:'ATMEGA16U2'),
-      (controllertypestr:'ATTINY45';          controllerunitstr:'ATTINY45'),
-      (controllertypestr:'ATMEGA3250';        controllerunitstr:'ATMEGA3250'),
-      (controllertypestr:'ATMEGA329';         controllerunitstr:'ATMEGA329'),
+      (controllertypestr:'ATMEGA16U4';        controllerunitstr:'ATMEGA16U4'),
+      (controllertypestr:'ATMEGA32';          controllerunitstr:'ATMEGA32'),
       (controllertypestr:'ATMEGA32A';         controllerunitstr:'ATMEGA32A'),
-      (controllertypestr:'ATTINY5';           controllerunitstr:'ATTINY5'),
-      (controllertypestr:'AT90CAN128';        controllerunitstr:'AT90CAN128'),
-      (controllertypestr:'ATMEGA6490';        controllerunitstr:'ATMEGA6490'),
-      (controllertypestr:'ATMEGA8515';        controllerunitstr:'ATMEGA8515'),
+      (controllertypestr:'ATMEGA32C1';        controllerunitstr:'ATMEGA32C1'),
+      (controllertypestr:'ATMEGA32HVB';       controllerunitstr:'ATMEGA32HVB'),
+      (controllertypestr:'ATMEGA32HVBREVB';   controllerunitstr:'ATMEGA32HVBREVB'),
+      (controllertypestr:'ATMEGA32M1';        controllerunitstr:'ATMEGA32M1'),
+      (controllertypestr:'ATMEGA32U2';        controllerunitstr:'ATMEGA32U2'),
+      (controllertypestr:'ATMEGA32U4';        controllerunitstr:'ATMEGA32U4'),
+      (controllertypestr:'ATMEGA48';          controllerunitstr:'ATMEGA48'),
+      (controllertypestr:'ATMEGA48A';         controllerunitstr:'ATMEGA48A'),
+      (controllertypestr:'ATMEGA48P';         controllerunitstr:'ATMEGA48P'),
+      (controllertypestr:'ATMEGA48PA';        controllerunitstr:'ATMEGA48PA'),
+      (controllertypestr:'ATMEGA48PB';        controllerunitstr:'ATMEGA48PB'),
+      (controllertypestr:'ATMEGA64';          controllerunitstr:'ATMEGA64'),
+      (controllertypestr:'ATMEGA64A';         controllerunitstr:'ATMEGA64A'),
+      (controllertypestr:'ATMEGA64C1';        controllerunitstr:'ATMEGA64C1'),
+      (controllertypestr:'ATMEGA64HVE2';      controllerunitstr:'ATMEGA64HVE2'),
+      (controllertypestr:'ATMEGA64M1';        controllerunitstr:'ATMEGA64M1'),
+      (controllertypestr:'ATMEGA64RFR2';      controllerunitstr:'ATMEGA64RFR2'),
+      (controllertypestr:'ATMEGA88';          controllerunitstr:'ATMEGA88'),
+      (controllertypestr:'ATMEGA88A';         controllerunitstr:'ATMEGA88A'),
+      (controllertypestr:'ATMEGA88P';         controllerunitstr:'ATMEGA88P'),
       (controllertypestr:'ATMEGA88PA';        controllerunitstr:'ATMEGA88PA'),
-      (controllertypestr:'ATMEGA168A';        controllerunitstr:'ATMEGA168A'),
+      (controllertypestr:'ATMEGA88PB';        controllerunitstr:'ATMEGA88PB'),
       (controllertypestr:'ATMEGA128';         controllerunitstr:'ATMEGA128'),
-      (controllertypestr:'AT90USB1286';       controllerunitstr:'AT90USB1286'),
-      (controllertypestr:'ATMEGA164PA';       controllerunitstr:'ATMEGA164PA'),
-      (controllertypestr:'ATTINY828';         controllerunitstr:'ATTINY828'),
-      (controllertypestr:'ATMEGA88';          controllerunitstr:'ATMEGA88'),
-      (controllertypestr:'ATMEGA645A';        controllerunitstr:'ATMEGA645A'),
-      (controllertypestr:'ATMEGA3290P';       controllerunitstr:'ATMEGA3290P'),
-      (controllertypestr:'ATMEGA644P';        controllerunitstr:'ATMEGA644P'),
-      (controllertypestr:'ATMEGA164A';        controllerunitstr:'ATMEGA164A'),
-      (controllertypestr:'ATTINY4313';        controllerunitstr:'ATTINY4313'),
-      (controllertypestr:'ATMEGA162';         controllerunitstr:'ATMEGA162'),
-      (controllertypestr:'ATMEGA32C1';        controllerunitstr:'ATMEGA32C1'),
       (controllertypestr:'ATMEGA128A';        controllerunitstr:'ATMEGA128A'),
-      (controllertypestr:'ATMEGA324A';        controllerunitstr:'ATMEGA324A'),
-      (controllertypestr:'ATTINY13';          controllerunitstr:'ATTINY13'),
-      (controllertypestr:'ATMEGA2561';        controllerunitstr:'ATMEGA2561'),
+      (controllertypestr:'ATMEGA128RFA1';     controllerunitstr:'ATMEGA128RFA1'),
+      (controllertypestr:'ATMEGA128RFR2';     controllerunitstr:'ATMEGA128RFR2'),
+      (controllertypestr:'ATMEGA162';         controllerunitstr:'ATMEGA162'),
+      (controllertypestr:'ATMEGA164A';        controllerunitstr:'ATMEGA164A'),
+      (controllertypestr:'ATMEGA164P';        controllerunitstr:'ATMEGA164P'),
+      (controllertypestr:'ATMEGA164PA';       controllerunitstr:'ATMEGA164PA'),
+      (controllertypestr:'ATMEGA165A';        controllerunitstr:'ATMEGA165A'),
+      (controllertypestr:'ATMEGA165P';        controllerunitstr:'ATMEGA165P'),
+      (controllertypestr:'ATMEGA165PA';       controllerunitstr:'ATMEGA165PA'),
+      (controllertypestr:'ATMEGA168';         controllerunitstr:'ATMEGA168'),
+      (controllertypestr:'ATMEGA168A';        controllerunitstr:'ATMEGA168A'),
+      (controllertypestr:'ATMEGA168P';        controllerunitstr:'ATMEGA168P'),
+      (controllertypestr:'ATMEGA168PA';       controllerunitstr:'ATMEGA168PA'),
+      (controllertypestr:'ATMEGA168PB';       controllerunitstr:'ATMEGA168PB'),
       (controllertypestr:'ATMEGA169A';        controllerunitstr:'ATMEGA169A'),
-      (controllertypestr:'ATTINY261';         controllerunitstr:'ATTINY261'),
-      (controllertypestr:'ATMEGA644A';        controllerunitstr:'ATMEGA644A'),
-      (controllertypestr:'ATMEGA3290';        controllerunitstr:'ATMEGA3290'),
-      (controllertypestr:'ATMEGA64A';         controllerunitstr:'ATMEGA64A'),
       (controllertypestr:'ATMEGA169P';        controllerunitstr:'ATMEGA169P'),
-      (controllertypestr:'ATMEGA2560';        controllerunitstr:'ATMEGA2560'),
-      (controllertypestr:'ATMEGA32';          controllerunitstr:'ATMEGA32'),
-      (controllertypestr:'ATTINY861A';        controllerunitstr:'ATTINY861A'),
-      (controllertypestr:'ATTINY28';          controllerunitstr:'ATTINY28'),
-      (controllertypestr:'ATMEGA48P';         controllerunitstr:'ATMEGA48P'),
-      (controllertypestr:'ATMEGA8535';        controllerunitstr:'ATMEGA8535'),
-      (controllertypestr:'ATMEGA168PA';       controllerunitstr:'ATMEGA168PA'),
-      (controllertypestr:'ATMEGA16M1';        controllerunitstr:'ATMEGA16M1'),
-      (controllertypestr:'ATMEGA16HVB';       controllerunitstr:'ATMEGA16HVB'),
-      (controllertypestr:'ATMEGA164P';        controllerunitstr:'ATMEGA164P'),
+      (controllertypestr:'ATMEGA169PA';       controllerunitstr:'ATMEGA169PA'),
+      (controllertypestr:'ATMEGA256RFR2';     controllerunitstr:'ATMEGA256RFR2'),
+      (controllertypestr:'ATMEGA324A';        controllerunitstr:'ATMEGA324A'),
+      (controllertypestr:'ATMEGA324P';        controllerunitstr:'ATMEGA324P'),
+      (controllertypestr:'ATMEGA324PA';       controllerunitstr:'ATMEGA324PA'),
+      (controllertypestr:'ATMEGA324PB';       controllerunitstr:'ATMEGA324PB'),
+      (controllertypestr:'ATMEGA325';         controllerunitstr:'ATMEGA325'),
       (controllertypestr:'ATMEGA325A';        controllerunitstr:'ATMEGA325A'),
+      (controllertypestr:'ATMEGA325P';        controllerunitstr:'ATMEGA325P'),
+      (controllertypestr:'ATMEGA325PA';       controllerunitstr:'ATMEGA325PA'),
+      (controllertypestr:'ATMEGA328';         controllerunitstr:'ATMEGA328'),
+      (controllertypestr:'ATMEGA328P';        controllerunitstr:'ATMEGA328P'),
+      (controllertypestr:'ATMEGA328PB';       controllerunitstr:'ATMEGA328PB'),
+      (controllertypestr:'ATMEGA329';         controllerunitstr:'ATMEGA329'),
+      (controllertypestr:'ATMEGA329A';        controllerunitstr:'ATMEGA329A'),
+      (controllertypestr:'ATMEGA329P';        controllerunitstr:'ATMEGA329P'),
+      (controllertypestr:'ATMEGA329PA';       controllerunitstr:'ATMEGA329PA'),
+      (controllertypestr:'ATMEGA406';         controllerunitstr:'ATMEGA406'),
       (controllertypestr:'ATMEGA640';         controllerunitstr:'ATMEGA640'),
+      (controllertypestr:'ATMEGA644';         controllerunitstr:'ATMEGA644'),
+      (controllertypestr:'ATMEGA644A';        controllerunitstr:'ATMEGA644A'),
+      (controllertypestr:'ATMEGA644P';        controllerunitstr:'ATMEGA644P'),
+      (controllertypestr:'ATMEGA644PA';       controllerunitstr:'ATMEGA644PA'),
+      (controllertypestr:'ATMEGA644RFR2';     controllerunitstr:'ATMEGA644RFR2'),
+      (controllertypestr:'ATMEGA645';         controllerunitstr:'ATMEGA645'),
+      (controllertypestr:'ATMEGA645A';        controllerunitstr:'ATMEGA645A'),
+      (controllertypestr:'ATMEGA645P';        controllerunitstr:'ATMEGA645P'),
+      (controllertypestr:'ATMEGA649';         controllerunitstr:'ATMEGA649'),
+      (controllertypestr:'ATMEGA649A';        controllerunitstr:'ATMEGA649A'),
+      (controllertypestr:'ATMEGA649P';        controllerunitstr:'ATMEGA649P'),
+      (controllertypestr:'ATMEGA808';         controllerunitstr:'ATMEGA808'),
+      (controllertypestr:'ATMEGA809';         controllerunitstr:'ATMEGA809'),
+      (controllertypestr:'ATMEGA1280';        controllerunitstr:'ATMEGA1280'),
+      (controllertypestr:'ATMEGA1281';        controllerunitstr:'ATMEGA1281'),
+      (controllertypestr:'ATMEGA1284';        controllerunitstr:'ATMEGA1284'),
+      (controllertypestr:'ATMEGA1284P';       controllerunitstr:'ATMEGA1284P'),
+      (controllertypestr:'ATMEGA1284RFR2';    controllerunitstr:'ATMEGA1284RFR2'),
+      (controllertypestr:'ATMEGA1608';        controllerunitstr:'ATMEGA1608'),
+      (controllertypestr:'ATMEGA1609';        controllerunitstr:'ATMEGA1609'),
+      (controllertypestr:'ATMEGA2560';        controllerunitstr:'ATMEGA2560'),
+      (controllertypestr:'ATMEGA2561';        controllerunitstr:'ATMEGA2561'),
+      (controllertypestr:'ATMEGA2564RFR2';    controllerunitstr:'ATMEGA2564RFR2'),
+      (controllertypestr:'ATMEGA3208';        controllerunitstr:'ATMEGA3208'),
+      (controllertypestr:'ATMEGA3209';        controllerunitstr:'ATMEGA3209'),
+      (controllertypestr:'ATMEGA3250';        controllerunitstr:'ATMEGA3250'),
+      (controllertypestr:'ATMEGA3250A';       controllerunitstr:'ATMEGA3250A'),
+      (controllertypestr:'ATMEGA3250P';       controllerunitstr:'ATMEGA3250P'),
+      (controllertypestr:'ATMEGA3250PA';      controllerunitstr:'ATMEGA3250PA'),
+      (controllertypestr:'ATMEGA3290';        controllerunitstr:'ATMEGA3290'),
+      (controllertypestr:'ATMEGA3290A';       controllerunitstr:'ATMEGA3290A'),
+      (controllertypestr:'ATMEGA3290P';       controllerunitstr:'ATMEGA3290P'),
+      (controllertypestr:'ATMEGA3290PA';      controllerunitstr:'ATMEGA3290PA'),
+      (controllertypestr:'ATMEGA4808';        controllerunitstr:'ATMEGA4808'),
+      (controllertypestr:'ATMEGA4809';        controllerunitstr:'ATMEGA4809'),
       (controllertypestr:'ATMEGA6450';        controllerunitstr:'ATMEGA6450'),
-      (controllertypestr:'ATMEGA329P';        controllerunitstr:'ATMEGA329P'),
-      (controllertypestr:'ATA6286';           controllerunitstr:'ATA6286'),
-      (controllertypestr:'AT90USB647';        controllerunitstr:'AT90USB647'),
-      (controllertypestr:'ATMEGA168';         controllerunitstr:'ATMEGA168'),
+      (controllertypestr:'ATMEGA6450A';       controllerunitstr:'ATMEGA6450A'),
+      (controllertypestr:'ATMEGA6450P';       controllerunitstr:'ATMEGA6450P'),
+      (controllertypestr:'ATMEGA6490';        controllerunitstr:'ATMEGA6490'),
       (controllertypestr:'ATMEGA6490A';       controllerunitstr:'ATMEGA6490A'),
-      (controllertypestr:'ATMEGA32M1';        controllerunitstr:'ATMEGA32M1'),
-      (controllertypestr:'ATMEGA64C1';        controllerunitstr:'ATMEGA64C1'),
-      (controllertypestr:'ATMEGA32U2';        controllerunitstr:'ATMEGA32U2'),
+      (controllertypestr:'ATMEGA6490P';       controllerunitstr:'ATMEGA6490P'),
+      (controllertypestr:'ATMEGA8515';        controllerunitstr:'ATMEGA8515'),
+      (controllertypestr:'ATMEGA8535';        controllerunitstr:'ATMEGA8535'),
       (controllertypestr:'ATTINY4';           controllerunitstr:'ATTINY4'),
-      (controllertypestr:'ATMEGA644PA';       controllerunitstr:'ATMEGA644PA'),
-      (controllertypestr:'AT90PWM1';          controllerunitstr:'AT90PWM1'),
+      (controllertypestr:'ATTINY5';           controllerunitstr:'ATTINY5'),
+      (controllertypestr:'ATTINY9';           controllerunitstr:'ATTINY9'),
+      (controllertypestr:'ATTINY10';          controllerunitstr:'ATTINY10'),
+      (controllertypestr:'ATTINY11';          controllerunitstr:'ATTINY11'),
+      (controllertypestr:'ATTINY12';          controllerunitstr:'ATTINY12'),
+      (controllertypestr:'ATTINY13';          controllerunitstr:'ATTINY13'),
+      (controllertypestr:'ATTINY13A';         controllerunitstr:'ATTINY13A'),
+      (controllertypestr:'ATTINY15';          controllerunitstr:'ATTINY15'),
+      (controllertypestr:'ATTINY20';          controllerunitstr:'ATTINY20'),
+      (controllertypestr:'ATTINY24';          controllerunitstr:'ATTINY24'),
+      (controllertypestr:'ATTINY24A';         controllerunitstr:'ATTINY24A'),
+      (controllertypestr:'ATTINY25';          controllerunitstr:'ATTINY25'),
+      (controllertypestr:'ATTINY26';          controllerunitstr:'ATTINY26'),
+      (controllertypestr:'ATTINY28';          controllerunitstr:'ATTINY28'),
+      (controllertypestr:'ATTINY40';          controllerunitstr:'ATTINY40'),
+      (controllertypestr:'ATTINY43U';         controllerunitstr:'ATTINY43U'),
       (controllertypestr:'ATTINY44';          controllerunitstr:'ATTINY44'),
-      (controllertypestr:'ATMEGA325PA';       controllerunitstr:'ATMEGA325PA'),
-      (controllertypestr:'ATMEGA6450A';       controllerunitstr:'ATMEGA6450A'),
-      (controllertypestr:'ATTINY2313A';       controllerunitstr:'ATTINY2313A'),
-      (controllertypestr:'ATMEGA329PA';       controllerunitstr:'ATMEGA329PA'),
+      (controllertypestr:'ATTINY44A';         controllerunitstr:'ATTINY44A'),
+      (controllertypestr:'ATTINY45';          controllerunitstr:'ATTINY45'),
+      (controllertypestr:'ATTINY48';          controllerunitstr:'ATTINY48'),
+      (controllertypestr:'ATTINY84';          controllerunitstr:'ATTINY84'),
+      (controllertypestr:'ATTINY84A';         controllerunitstr:'ATTINY84A'),
+      (controllertypestr:'ATTINY85';          controllerunitstr:'ATTINY85'),
+      (controllertypestr:'ATTINY87';          controllerunitstr:'ATTINY87'),
+      (controllertypestr:'ATTINY88';          controllerunitstr:'ATTINY88'),
+      (controllertypestr:'ATTINY102';         controllerunitstr:'ATTINY102'),
+      (controllertypestr:'ATTINY104';         controllerunitstr:'ATTINY104'),
+      (controllertypestr:'ATTINY167';         controllerunitstr:'ATTINY167'),
+      (controllertypestr:'ATTINY202';         controllerunitstr:'ATTINY202'),
+      (controllertypestr:'ATTINY204';         controllerunitstr:'ATTINY204'),
+      (controllertypestr:'ATTINY212';         controllerunitstr:'ATTINY212'),
+      (controllertypestr:'ATTINY214';         controllerunitstr:'ATTINY214'),
+      (controllertypestr:'ATTINY261';         controllerunitstr:'ATTINY261'),
+      (controllertypestr:'ATTINY261A';        controllerunitstr:'ATTINY261A'),
+      (controllertypestr:'ATTINY402';         controllerunitstr:'ATTINY402'),
+      (controllertypestr:'ATTINY404';         controllerunitstr:'ATTINY404'),
+      (controllertypestr:'ATTINY406';         controllerunitstr:'ATTINY406'),
+      (controllertypestr:'ATTINY412';         controllerunitstr:'ATTINY412'),
+      (controllertypestr:'ATTINY414';         controllerunitstr:'ATTINY414'),
+      (controllertypestr:'ATTINY416';         controllerunitstr:'ATTINY416'),
+      (controllertypestr:'ATTINY416AUTO';     controllerunitstr:'ATTINY416AUTO'),
+      (controllertypestr:'ATTINY417';         controllerunitstr:'ATTINY417'),
+      (controllertypestr:'ATTINY441';         controllerunitstr:'ATTINY441'),
+      (controllertypestr:'ATTINY461';         controllerunitstr:'ATTINY461'),
       (controllertypestr:'ATTINY461A';        controllerunitstr:'ATTINY461A'),
-      (controllertypestr:'ATMEGA6450P';       controllerunitstr:'ATMEGA6450P'),
-      (controllertypestr:'ATMEGA64';          controllerunitstr:'ATMEGA64'),
-      (controllertypestr:'ATMEGA165PA';       controllerunitstr:'ATMEGA165PA'),
-      (controllertypestr:'ATMEGA16A';         controllerunitstr:'ATMEGA16A'),
-      (controllertypestr:'ATMEGA649';         controllerunitstr:'ATMEGA649'),
-      (controllertypestr:'ATMEGA1280';        controllerunitstr:'ATMEGA1280'),
-      (controllertypestr:'AT90PWM2B';         controllerunitstr:'AT90PWM2B'),
-      (controllertypestr:'ATMEGA649P';        controllerunitstr:'ATMEGA649P'),
-      (controllertypestr:'ATMEGA3250P';       controllerunitstr:'ATMEGA3250P'),
-      (controllertypestr:'ATMEGA48PA';        controllerunitstr:'ATMEGA48PA'),
+      (controllertypestr:'ATTINY804';         controllerunitstr:'ATTINY804'),
+      (controllertypestr:'ATTINY806';         controllerunitstr:'ATTINY806'),
+      (controllertypestr:'ATTINY807';         controllerunitstr:'ATTINY807'),
+      (controllertypestr:'ATTINY814';         controllerunitstr:'ATTINY814'),
+      (controllertypestr:'ATTINY816';         controllerunitstr:'ATTINY816'),
+      (controllertypestr:'ATTINY817';         controllerunitstr:'ATTINY817'),
+      (controllertypestr:'ATTINY828';         controllerunitstr:'ATTINY828'),
+      (controllertypestr:'ATTINY841';         controllerunitstr:'ATTINY841'),
+      (controllertypestr:'ATTINY861';         controllerunitstr:'ATTINY861'),
+      (controllertypestr:'ATTINY861A';        controllerunitstr:'ATTINY861A'),
+      (controllertypestr:'ATTINY1604';        controllerunitstr:'ATTINY1604'),
+      (controllertypestr:'ATTINY1606';        controllerunitstr:'ATTINY1606'),
+      (controllertypestr:'ATTINY1607';        controllerunitstr:'ATTINY1607'),
+      (controllertypestr:'ATTINY1614';        controllerunitstr:'ATTINY1614'),
+      (controllertypestr:'ATTINY1616';        controllerunitstr:'ATTINY1616'),
+      (controllertypestr:'ATTINY1617';        controllerunitstr:'ATTINY1617'),
+      (controllertypestr:'ATTINY1624';        controllerunitstr:'ATTINY1624'),
+      (controllertypestr:'ATTINY1626';        controllerunitstr:'ATTINY1626'),
+      (controllertypestr:'ATTINY1627';        controllerunitstr:'ATTINY1627'),
       (controllertypestr:'ATTINY1634';        controllerunitstr:'ATTINY1634'),
-      (controllertypestr:'ATMEGA325';         controllerunitstr:'ATMEGA325'),
-      (controllertypestr:'ATMEGA169PA';       controllerunitstr:'ATMEGA169PA'),
-      (controllertypestr:'ATTINY261A';        controllerunitstr:'ATTINY261A'),
-      (controllertypestr:'ATTINY25';          controllerunitstr:'ATTINY25'));
+      (controllertypestr:'ATTINY2313';        controllerunitstr:'ATTINY2313'),
+      (controllertypestr:'ATTINY2313A';       controllerunitstr:'ATTINY2313A'),
+      (controllertypestr:'ATTINY3214';        controllerunitstr:'ATTINY3214'),
+      (controllertypestr:'ATTINY3216';        controllerunitstr:'ATTINY3216'),
+      (controllertypestr:'ATTINY3217';        controllerunitstr:'ATTINY3217'),
+      (controllertypestr:'ATTINY4313';        controllerunitstr:'ATTINY4313'),
+      // AVR controller board aliases
+      (controllertypestr:'ARDUINOLEONARDO';   controllerunitstr:'ATMEGA32U4'),
+      (controllertypestr:'ARDUINOMEGA';       controllerunitstr:'ATMEGA2560'),
+      (controllertypestr:'ARDUINOMICRO';      controllerunitstr:'ATMEGA32U4'),
+      (controllertypestr:'ARDUINONANO';       controllerunitstr:'ATMEGA328P'),
+      (controllertypestr:'ARDUINONANOEVERY';  controllerunitstr:'ATMEGA4809'),
+      (controllertypestr:'ARDUINOUNO';        controllerunitstr:'ATMEGA328P'),
+      (controllertypestr:'ATMEGA256RFR2XPRO'; controllerunitstr:'ATMEGA256RFR2'),
+      (controllertypestr:'ATMEGA324PBXPRO';   controllerunitstr:'ATMEGA324PB'),
+      (controllertypestr:'ATMEGA1284PXPLAINED'; controllerunitstr:'ATMEGA1284P'),
+      (controllertypestr:'ATMEGA4809XPRO';    controllerunitstr:'ATMEGA4809'),
+      (controllertypestr:'ATTINY817XPRO';     controllerunitstr:'ATTINY817'),
+      (controllertypestr:'ATTINY3217XPRO';    controllerunitstr:'ATTINY3217'));
 
   var
     i: integer;
avr.patch (28,800 bytes)

Maxim Ganetsky

2020-02-18 00:29

developer   ~0121156

Applied, thanks.

Christo Crause

2020-02-19 19:51

reporter   ~0121167

Thanks Maxim.

Issue History

Date Modified Username Field Change
2020-02-17 20:18 Christo Crause New Issue
2020-02-17 20:18 Christo Crause File Added: avr.patch
2020-02-18 00:29 Maxim Ganetsky Assigned To => Maxim Ganetsky
2020-02-18 00:29 Maxim Ganetsky Status new => resolved
2020-02-18 00:29 Maxim Ganetsky Resolution open => fixed
2020-02-18 00:29 Maxim Ganetsky Fixed in Version => 2.2
2020-02-18 00:29 Maxim Ganetsky Fixed in Revision => 62643
2020-02-18 00:29 Maxim Ganetsky LazTarget => -
2020-02-18 00:29 Maxim Ganetsky Note Added: 0121156
2020-02-19 19:51 Christo Crause Status resolved => closed
2020-02-19 19:51 Christo Crause Note Added: 0121167