private void CreateMCUFamilyBuilders() { var mcuFamilyBuilders = new List<MCUFamilyBuilder>(); foreach (var deviceDirectory in Directory.GetDirectories(Directories.InputDir + "\\" + DEVICES_FOLDER)) { var deviceName = deviceDirectory.Substring(deviceDirectory.LastIndexOf(Path.DirectorySeparatorChar) + 1); if (deviceName[0] != 'M') { throw new Exception("Unexpected device name"); } var mcuFamilyName = deviceName.Substring(1); var familyDefinition = new FamilyDefinition(); familyDefinition.Name = mcuFamilyName; familyDefinition.FamilySubdirectory = mcuFamilyName; familyDefinition.PrimaryHeaderDir = deviceDirectory; familyDefinition.Subfamilies = new MCUClassifier[0]; mcuFamilyBuilders.Add(new MCUFamilyBuilder(this, familyDefinition)); } _mcuFamilyBuilders = mcuFamilyBuilders; }