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