Import('RTT_ROOT')
Import('rtconfig')
from building import *

cwd = GetCurrentDir()

# add the general drivers.
src = Split("""
""")

# add pin drivers.
if GetDepend('RT_USING_PIN'):
    src += ['drv_gpio.c']

# add usart drivers.
if GetDepend(['RT_USING_SERIAL']):
    if GetDepend(['RT_USING_SERIAL_V2']):
        src += ['drv_usart_v2.c']
    else:
        src += ['drv_usart.c']

# add i2c hard drivers.       
if GetDepend(['RT_USING_I2C']):
    if GetDepend('BSP_USING_HARD_I2C0') or GetDepend('BSP_USING_HARD_I2C1') or GetDepend('BSP_USING_HARD_I2C2') or GetDepend('BSP_USING_HARD_I2C3') or GetDepend('BSP_USING_HARD_I2C4') or GetDepend('BSP_USING_HARD_I2C5'):
        src += ['drv_hard_i2c.c']

# add spi drivers.
if GetDepend('RT_USING_SPI'):
    src += ['drv_spi.c']

# add spi flash drivers.
if GetDepend('RT_USING_SFUD'):
    src += ['drv_spi_flash.c', 'drv_spi.c']

# add wdt drivers.
if GetDepend('RT_USING_WDT'):
    src += ['drv_wdt.c']

# add rtc drivers.
if GetDepend('RT_USING_RTC'):
    src += ['drv_rtc.c']

# add timer drivers.
if GetDepend('RT_USING_CLOCK_TIME'):
    src += ['drv_timer.c']

# add adc drivers.
if GetDepend('RT_USING_ADC'):
    src += ['drv_adc.c']

# add sdio drivers.
if GetDepend('RT_USING_SDIO'):
    src += ['drv_sdio.c']
    
# add pwm drivers.
if GetDepend('RT_USING_PWM'):
    src += ['drv_pwm.c']

# add can drivers.
if GetDepend('RT_USING_CAN'):
    src += ['drv_can.c']

# add sdram drivers.
if GetDepend('BSP_USING_SDRAM'):
    src += ['drv_sdram.c']

path = [cwd]
path += [cwd + "/config"]

group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)

Return('group')
