
config SOC_ESPRESSIF
    bool 

config SOC_ESP32_C3
    bool
    select SOC_ESPRESSIF
    select RT_USING_COMPONENTS_INIT
    select RT_USING_USER_MAIN
    select PKG_USING_ESP_IDF
    select PKG_USING_FREERTOS_WRAPPER
    select PKG_FREERTOS_USING_CONFIG_H
    default y

menu "Hardware Drivers Config"

choice
    prompt "Select BSP board "
    default BSP_BOARD_LUATOS_ESP32C3

    config BSP_BOARD_LUATOS_ESP32C3
        bool "LUATOS ESP32C3 board"

    config BSP_BOARD_HX_EXP32C3
        bool "HONGXU ESP32C3 board"    
endchoice

menu "Onboard Peripheral Drivers"
    config RT_BSP_LED_PIN
        int "LED GPIO PIN SET"
        default 12 if BSP_BOARD_LUATOS_ESP32C3
        default 8 if BSP_BOARD_HX_EXP32C3
        depends on BSP_USING_GPIO

    config RT_BSP_UART_PORT
        int "UART PORT SET"
        default 0
        depends on BSP_USING_UART

    config RT_BSP_UART_TX_PIN
        int "UART TX PIN SET"
        default 21 if BSP_BOARD_LUATOS_ESP32C3
        depends on BSP_USING_UART

    config RT_BSP_UART_RX_PIN
        int "UART RX PIN SET"
        default 20 if BSP_BOARD_LUATOS_ESP32C3
        depends on BSP_USING_UART

    config RT_BSP_SPI_CS_PIN
        int "SPI GPIO PIN SET"
        default 10 if BSP_BOARD_LUATOS_ESP32C3
        depends on BSP_USING_SPI2

endmenu


menu "On-chip Peripheral Drivers"
    config BSP_USING_GPIO
        bool "Enable GPIO"
        select RT_USING_PIN
        default y
    
    config BSP_USING_UART
		bool "Enable UART"
        select RT_USING_SERIAL
        select RT_USING_SERIAL_V1
        default y

    menuconfig BSP_USING_I2C
        bool "Enable I2C"
        default n
        select RT_USING_I2C
        if BSP_USING_I2C
            menuconfig BSP_USING_HW_I2C
                bool "Enable HardWare I2C"
                default n
                
            menuconfig BSP_USING_SW_I2C
                bool "Enable SoftWare I2C"
                default n
                if BSP_USING_SW_I2C
                    config BSP_USING_SW_I2C0
                        bool "Enable SoftWare I2C0"
                        default n
                        if BSP_USING_SW_I2C0
                            config BSP_SW_I2C0_SDA_PIN
                                int "SWI2C0 sda pin number"
                                range 0 21
                                default 18
                            config BSP_SW_I2C0_SCL_PIN
                                int "SWI2C0 scl pin number"
                                range 0 21
                                default 19
                        endif
                endif
        endif

    menuconfig BSP_USING_SPI
        bool "Enable SPI"
        default n
        select RT_USING_SPI
        if BSP_USING_SPI
            config BSP_USING_SPI2
                bool "Enable SPI2"
                default n
        endif 
    
    config BSP_USING_WIFI
        bool "Enable WIFI"
        select RT_USING_WIFI
        default n
    
    config BSP_USING_BLE
        bool "Enable BLE"
        default n

    menuconfig BSP_USING_CLOCK_TIMER
        bool "Enable CLOCK_TIMER"
        select RT_USING_CLOCK_TIME
        default n
        if BSP_USING_CLOCK_TIMER
            config BSP_USING_TIMER0
                bool "Enable CLOCK_TIMER0"
                default n
        endif

    menuconfig BSP_USING_ADC
        bool "Enable ADC"
        default n
        select RT_USING_ADC
        if BSP_USING_ADC
            config BSP_USING_ADC1
                bool "Enable ADC1"
                default n
        endif

    menuconfig BSP_USING_PWM
        bool "Enable PWM"
        default n
        select RT_USING_PWM
        if BSP_USING_PWM
            menuconfig BSP_USING_PWM0
                bool "Enable PWM0"
                default n
                if BSP_USING_PWM0
                    config BSP_LEDC_CH0_GPIO
                        int "LEDC CH0 GPIO PIN SET"
                        default 12
                    config BSP_LEDC_CH1_GPIO
                        int "LEDC CH1 GPIO PIN SET"
                        default 6
                    config BSP_LEDC_CH2_GPIO
                        int "LEDC CH2 GPIO PIN SET"
                        default 2
                    config BSP_LEDC_CH3_GPIO
                        int "LEDC CH3 GPIO PIN SET"
                        default 10
                    config BSP_LEDC_CH4_GPIO
                        int "LEDC CH4 GPIO PIN SET"
                        default 8
                    config BSP_LEDC_CH5_GPIO
                        int "LEDC CH5 GPIO PIN SET"
                        default 18
                endif
        endif

endmenu

config BSP_ENABLE_GDBSTUB
    bool "Enable ESP_GDBSTUB compontent"
    default n

endmenu