menu "Example Configuration"

    menu "I2C Master"
        config I2C_MASTER_SCL
            int "SCL GPIO Num"
            default 19
            help
                GPIO number for I2C Master clock line.

        config I2C_MASTER_SDA
            int "SDA GPIO Num"
            default 18
            help
                GPIO number for I2C Master data line.

        config I2C_MASTER_PORT_NUM
            int "Port Number"
            default 1
            help
                Port number for I2C Master device.

        config I2C_MASTER_FREQUENCY
            int "Master Frequency"
            default 100000
            help
                I2C Speed of Master device.
    endmenu

    menu "I2C Slave"
        config I2C_SLAVE_SCL
            int "SCL GPIO Num"
            default 5
            help
                GPIO number for I2C Slave clock line.

        config I2C_SLAVE_SDA
            int "SDA GPIO Num"
            default 4
            help
                GPIO number for I2C Slave data line.

        config I2C_SLAVE_PORT_NUM
            int "Port Number"
            default 0
            help
                Port number for I2C Slave device.

        config I2C_SLAVE_ADDRESS
            hex "ESP Slave Address"
            default 0x28
            help
                Hardware Address of I2C Slave Port.
    endmenu

    menu "BH1750 Sensor"
        choice BH1750_ADDR
            prompt "BH1750 I2C Address"
            default BH1750_I2C_ADDRESS_LOW
            help
                Hardware address of BH1750, which is 2 types, and determined by ADDR terminal.

            config BH1750_I2C_ADDRESS_LOW
                bool "BH1750 I2C Address(ADDR=0)"
                help
                    I2C Address of BH1750 Sensor according to your schemetic configuration.

            config BH1750_I2C_ADDRESS_High
                bool "BH1750 I2C Address(ADDR=1)"
                help
                    I2C Address of BH1750 Sensor according to your schemetic configuration.
        endchoice

        config BH1750_ADDR
            hex
            default 0x5C if BH1750_I2C_ADDRESS_High
            default 0x23 if BH1750_I2C_ADDRESS_LOW

        choice BH1750_MODE
            prompt "BH1750 Operation Mode"
            default BH1750_ONETIME_L_RESOLUTION
            help
                Operation Mode of BH1750.
                Different mode means different resolution and measurement time.
            config BH1750_CONTINU_H_RESOLUTION
                bool "Continuously H-Resolution Mode"
                help
                    Resolution is 1lx, measurement time is typically 120ms.
            config BH1750_CONTINU_H_RESOLUTION2
                bool "Continuously H-Resolution Mode2"
                help
                    Resolution is 0.5lx, measurement time is typically 120ms.
            config BH1750_CONTINU_L_RESOLUTION
                bool "Continuously L-Resolution Mode"
                help
                    Resolution is 4lx, measurement time is typically 16ms.
            config BH1750_ONETIME_H_RESOLUTION
                bool "One Time H-Resolution Mode"
                help
                    Resolution is 1lx, measurement time is typically 120ms.
                    It is automatically set to Power Down mode after measurement.
            config BH1750_ONETIME_H_RESOLUTION2
                bool "One Time H-Resolution Mode2"
                help
                    Resolution is 0.5lx, measurement time is typically 120ms.
                    It is automatically set to Power Down mode after measurement.
            config BH1750_ONETIME_L_RESOLUTION
                bool "One Time L-Resolution Mode"
                help
                    Resolution is 4lx, measurement time is typically 16ms.
                    It is automatically set to Power Down mode after measurement.
        endchoice

        config BH1750_OPMODE
            hex
            default 0x10 if BH1750_CONTINU_H_RESOLUTION
            default 0x11 if BH1750_CONTINU_H_RESOLUTION2
            default 0x13 if BH1750_CONTINU_L_RESOLUTION
            default 0x20 if BH1750_ONETIME_H_RESOLUTION
            default 0x21 if BH1750_ONETIME_H_RESOLUTION2
            default 0x23 if BH1750_ONETIME_L_RESOLUTION

    endmenu

endmenu