1from building import *
2
3cwd = GetCurrentDir()
4
5objs = []
6
7# add the general drivers.
8src = Split('''
9board.c
10''')
11
12# add gpio code
13if GetDepend('RT_USING_PIN'):
14    src += ['drv_gpio.c']
15
16# add serial driver code
17if  GetDepend('BSP_USING_UART0') or GetDepend('BSP_USING_UART1') or GetDepend('BSP_USING_UART2') or GetDepend('BSP_USING_UART3') or \
18    GetDepend('BSP_USING_UART4') or GetDepend('BSP_USING_UART5') or \
19    GetDepend('BSP_USING_USART0') or GetDepend('BSP_USING_USART1') or GetDepend('BSP_USING_USART2') or GetDepend('BSP_USING_USART3') or \
20    GetDepend('BSP_USING_USART4') or GetDepend('BSP_USING_USART5'):
21    src += ['drv_uart.c']
22
23# add spi driver code
24if  GetDepend('BSP_USING_SPI0') or GetDepend('BSP_USING_SPI1'):
25    src += ['drv_spi.c']
26
27# add i2c driver code
28if  GetDepend('BSP_USING_I2C0') or GetDepend('BSP_USING_I2C1'):
29    src += ['drv_i2c.c']
30
31# add can driver code
32if  GetDepend('BSP_USING_CAN') or GetDepend('BSP_USING_CAN0') or GetDepend('RT_USING_CAN'):
33    src += ['drv_can.c']
34
35
36# add adc driver code
37if GetDepend(['BSP_USING_ADC0']) or GetDepend('BSP_USING_ADC'):
38    src += ['drv_adc.c']
39
40# add rtc driver code
41if GetDepend(['BSP_USING_RTC']):
42    src += ['drv_rtc.c']
43
44# add spi flash driver code
45if GetDepend('BSP_USING_SPI_FLASH'):
46    src += ['drv_spiflash.c']
47
48# add hwtimer driver code
49if GetDepend('BSP_USING_AD16C4T0_HWTIMER') or GetDepend('BSP_USING_AD16C4T1_HWTIMER') or \
50    GetDepend('BSP_USING_GP32C4T0_HWTIMER') or GetDepend('BSP_USING_GP32C4T1_HWTIMER') or \
51    GetDepend('BSP_USING_GP16C4T0_HWTIMER') or GetDepend('BSP_USING_GP16C4T1_HWTIMER') or \
52    GetDepend('BSP_USING_GP16C2T0_HWTIMER') or GetDepend('BSP_USING_GP16C2T1_HWTIMER') or \
53    GetDepend('BSP_USING_GP16C4T0_HWTIMER') or GetDepend('BSP_USING_GP16C4T1_HWTIMER') or \
54    GetDepend('BSP_USING_BS16T0_HWTIMER') or GetDepend('BSP_USING_BS16T1_HWTIMERIMER') or \
55    GetDepend('BSP_USING_BS16T2_HWTIMER') or GetDepend('BSP_USING_BS16T3_HWTIMER'):
56    src += ['drv_hwtimer.c']
57
58# add pwm driver code
59if GetDepend('BSP_USING_AD16C4T0_PWM') or GetDepend('BSP_USING_AD16C4T1_PWM') or \
60    GetDepend('BSP_USING_GP16C4T0_PWM') or GetDepend('BSP_USING_GP16C4T1_PWM') or \
61    GetDepend('BSP_USING_GP16C2T0__PWM') or GetDepend('BSP_USING_GP16C2T1_PWM') or \
62    GetDepend('BSP_USING_GP32C4T0_PWM') or GetDepend('BSP_USING_GP32C4T1_PWM') or \
63    GetDepend('BSP_USING_GP16C4T0_PWM') or GetDepend('BSP_USING_GP16C4T1_PWM'):
64    src += ['drv_pwm.c']
65
66# add pm driver code
67if GetDepend(['BSP_USING_PM']):
68    src += ['drv_pm.c']
69CPPPATH = [cwd]
70group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
71objs = objs + group
72
73src   = []
74cwd   = GetCurrentDir()
75include_path = [cwd + '/ES']
76
77if GetDepend('BSP_USING_EXAMPLE_ADC_VOL'):
78    src += ['bsp_driver_example/adc_vol_sample.c']
79
80if GetDepend('BSP_USING_EXAMPLE_HWTIMER'):
81    src += ['bsp_driver_example/hwtimer_sample.c']
82
83if GetDepend('BSP_USING_EXAMPLE_I2C'):
84    src += ['bsp_driver_example/i2c_sample.c']
85
86if GetDepend('BSP_USING_EXAMPLE_I2C_E2PROM'):
87    src += ['bsp_driver_example/i2c_e2_sample.c']
88
89if GetDepend('BSP_USING_EXAMPLE_LED_BLINK'):
90    src += ['bsp_driver_example/led_blink_sample.c']
91
92if GetDepend('BSP_USING_EXAMPLE_PIN_BEEP'):
93    src += ['bsp_driver_example/pin_beep_sample.c']
94
95if GetDepend('BSP_USING_EXAMPLE_PWM_LED'):
96    src += ['bsp_driver_example/pwm_led_sample.c']
97
98if GetDepend('BSP_USING_EXAMPLE_RTC'):
99    src += ['bsp_driver_example/rtc_sample.c']
100
101if GetDepend('BSP_USING_EXAMPLE_UART'):
102    src += ['bsp_driver_example/uart_sample.c']
103
104if GetDepend('BSP_USING_EXAMPLE_SPI'):
105    src += ['bsp_driver_example/spi_sample.c']
106
107if GetDepend('BSP_USING_EXAMPLE_CAN'):
108    src += ['bsp_driver_example/can_sample.c']
109
110if GetDepend('BSP_USING_EXAMPLE_PM'):
111    src += ['bsp_driver_example/pm_sample.c']
112
113group = DefineGroup('bsp-drivers-test-samples', src, depend = [''], CPPPATH = include_path)
114
115objs = objs + group
116Return('objs')
117
118