1Import('RTT_ROOT')
2Import('rtconfig')
3from building import *
4
5cwd = GetCurrentDir()
6
7# add the general drivers.
8src = Split("""
9""")
10
11if GetDepend(['RT_USING_PIN']):
12    src += ['drv_gpio.c']
13
14if GetDepend(['RT_USING_SERIAL']):
15    if GetDepend(['RT_USING_SERIAL_V2']):
16        src += ['drv_usart_v2.c']
17    else:
18        src += ['drv_usart.c']
19
20if GetDepend(['RT_USING_ADC']):
21    src += ['drv_adc.c']
22
23if GetDepend(['RT_USING_DAC']):
24    src += ['drv_dac.c']
25
26if GetDepend('BSP_USING_ONCHIP_RTC'):
27    src += ['drv_rtc.c']
28
29if GetDepend(['RT_USING_I2C']):
30    if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'):
31        src += ['drv_soft_i2c.c']
32
33if GetDepend(['RT_USING_SPI']):
34    src += ['drv_spi.c']
35
36if GetDepend(['RT_USING_HWTIMER']):
37    src += ['drv_hwtimer.c']
38
39if GetDepend(['RT_USING_PWM']):
40    src += ['drv_pwm.c']
41
42if GetDepend(['BSP_USING_WDT']):
43    src += ['drv_wdt.c']
44
45if GetDepend(['BSP_USING_ETH', 'RT_USING_LWIP']):
46    src += ['drv_eth.c']
47
48if GetDepend(['BSP_USING_SDIO']):
49    src += ['drv_sdio.c']
50
51if GetDepend(['RT_USING_CAN']):
52    src += ['drv_can.c']
53
54if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_APM32F0']):
55    src += ['drv_flash/drv_flash_f0.c']
56
57if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_APM32F1']):
58    src += ['drv_flash/drv_flash_f1.c']
59
60if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_APM32E1']):
61    src += ['drv_flash/drv_flash_e1.c']
62
63if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_APM32S1']):
64    src += ['drv_flash/drv_flash_s1.c']
65
66if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_APM32F4']):
67    src += ['drv_flash/drv_flash_f4.c']
68
69src += ['drv_common.c']
70
71path =  [cwd]
72path += [cwd + '/config']
73
74if GetDepend('BSP_USING_ON_CHIP_FLASH'):
75    path += [cwd + '/drv_flash']
76
77group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
78
79Return('group')
80