Import('env') headers = [] instances = [] sources = [] aliases = {} periph = env['PLATFORM_SPEC'].get('periph', {}) if 'rcc' in periph: buses = env['PLATFORM_SPEC']['periph']['rcc']['RCC']['bus'] env.Jinja2('rcc_enums.h', 'rcc_enums.h.j2', buses = buses) headers.append('rcc_methods.h') headers.append('rcc_reg.h') for name, data in periph['rcc'].items(): instances.append({ 'type': 'RCC_t' % data['type'], 'name': name, 'args': [data['offset']], }) sources.extend([ File('rcc.cpp'), File('flash.cpp'), ]) env.Jinja2('rcc.h', '../templates/periph_instances.h.j2', headers = headers, instances = instances, aliases = aliases) headers = [] instances = [] aliases = {} if 'stm32_flash' in periph: headers.append('flash_methods.h') headers.append('stm32_flash.h') for name, data in periph['stm32_flash'].items(): instances.append({ 'type': 'STM32_FLASH_t' % data['type'], 'name': name, 'args': [data['offset']], }) env.Jinja2('flash.h', '../templates/periph_instances.h.j2', headers = headers, instances = instances, aliases = aliases) Return('sources')