Atmel_bsp_generator.Program.ParsePeripheralRegisters C# (CSharp) Method

ParsePeripheralRegisters() private static method

private static ParsePeripheralRegisters ( string dir, MCUFamilyBuilder fam ) : IEnumerable
dir string
fam MCUFamilyBuilder
return IEnumerable
        private static IEnumerable<MCUDefinitionWithPredicate> ParsePeripheralRegisters(string dir, MCUFamilyBuilder fam)
        {
            List<MCUDefinitionWithPredicate> RegistersPeriphs = new List<MCUDefinitionWithPredicate>();
            Dictionary<string, HardwareRegisterSet[]> periphs = PeripheralRegisterGenerator.GenerateFamilyPeripheralRegistersAtmel(dir +"\\"+ fam.Definition.FamilySubdirectory+ "\\Utils\\Include",fam.FamilyFilePrefix);
              //      Dictionary<string, HardwareRegisterSet[]> periphs;
                if (fam.FamilyFilePrefix.Contains("SAMl21"))
                 periphs = periphs.Concat(PeripheralRegisterGenerator.GenerateFamilyPeripheralRegistersAtmel(dir + "\\" + fam.Definition.FamilySubdirectory + "\\Utils\\Include_b", fam.FamilyFilePrefix)).ToDictionary(v => v.Key, v => v.Value);
            foreach (var subfamily in periphs.Keys)
            {
                MCUDefinitionWithPredicate mcu_def = new MCUDefinitionWithPredicate { MCUName = subfamily, RegisterSets = periphs[subfamily], MatchPredicate = m => ( subfamily == m.Name.Substring(2)), };
                RegistersPeriphs.Add(mcu_def);
            }
            return RegistersPeriphs;
        }