menu "Example Configuration"

    choice
        bool "Mesh Topology"
        default MESH_TOPO_TREE
        help
            Mesh Network Topology.

        config MESH_TOPO_TREE
            bool "MESH_TOPO_TREE"
        config MESH_TOPO_CHAIN
            bool "MESH_TOPO_CHAIN"
    endchoice

    config MESH_TOPOLOGY
        int
        default 0 if MESH_TOPO_TREE
        default 1 if MESH_TOPO_CHAIN
        help
            Mesh Network Topology.

    config MESH_ENABLE_PS
        bool "Enable mesh PS (power save) function"
        default y
        help
            Enable/Disable Power Save function.

    choice
        bool "Mesh PS device duty cycle type"
        depends on MESH_ENABLE_PS
        default MESH_PS_DEV_DUTY_TYPE_REQUEST
        help
            Mesh PS device duty cycle type.

        config MESH_PS_DEV_DUTY_TYPE_REQUEST
            bool "MESH_PS_DEV_DUTY_TYPE_REQUEST"
        config MESH_PS_DEV_DUTY_TYPE_DEMAND
            bool "MESH_PS_DEV_DUTY_TYPE_DEMAND"
    endchoice

    config MESH_PS_DEV_DUTY_TYPE
        int
        depends on MESH_ENABLE_PS
        default 1 if MESH_PS_DEV_DUTY_TYPE_REQUEST
        default 4 if MESH_PS_DEV_DUTY_TYPE_DEMAND
        help
            Mesh PS device duty cycle type.

    config MESH_PS_DEV_DUTY
        int "Mesh PS device duty cycle"
        depends on MESH_ENABLE_PS
        range 1 100
        default 10
        help
            Mesh PS device duty cycle.

    config MESH_PS_NWK_DUTY
        int "Mesh PS network duty cycle"
        depends on MESH_ENABLE_PS
        range 1 100
        default 10
        help
            Mesh PS network duty cycle.

    config MESH_PS_NWK_DUTY_DURATION
        int "Mesh PS network duty cycle duration (unit: minutes)"
        depends on MESH_ENABLE_PS
        range -1 100
        default -1
        help
            Mesh PS network duty cycle duration.

    choice
        bool "Mesh PS network duty cycle rule"
        depends on MESH_ENABLE_PS
        default MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE
        help
            Mesh PS network duty cycle rule.

        config MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE
            bool "MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE"
        config MESH_PS_NETWORK_DUTY_APPLIED_UPLINK
            bool "MESH_PS_NETWORK_DUTY_APPLIED_UPLINK"
    endchoice

    config MESH_PS_NWK_DUTY_RULE
        int
        depends on MESH_ENABLE_PS
        default 0 if MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE
        default 1 if MESH_PS_NETWORK_DUTY_APPLIED_UPLINK
        help
            Mesh PS network duty cycle rule.

    config MESH_MAX_LAYER
        int "Mesh Max Layer"
        range 1 25 if MESH_TOPO_TREE
        range 1 1000 if MESH_TOPO_CHAIN
        default 6
        help
            Max layer allowed in mesh network.

    config MESH_CHANNEL
        int "channel"
        range 0 14
        default 0
        help
            mesh network channel.

    config MESH_ROUTER_SSID
        string "Router SSID"
        default "ROUTER_SSID"
        help
            Router SSID.

    config MESH_ROUTER_PASSWD
        string "Router password"
        default "ROUTER_PASSWD"
        help
            Router password.

    choice
        bool "Mesh AP Authentication Mode"
        default WIFI_AUTH_WPA2_PSK
        help
            Authentication mode.

        config WIFI_AUTH_OPEN
            bool "WIFI_AUTH_OPEN"
        config WIFI_AUTH_WPA_PSK
            bool "WIFI_AUTH_WPA_PSK"
        config WIFI_AUTH_WPA2_PSK
            bool "WIFI_AUTH_WPA2_PSK"
        config WIFI_AUTH_WPA_WPA2_PSK
            bool "WIFI_AUTH_WPA_WPA2_PSK"
    endchoice

    config MESH_AP_AUTHMODE
        int
        default 0 if WIFI_AUTH_OPEN
        default 2 if WIFI_AUTH_WPA_PSK
        default 3 if WIFI_AUTH_WPA2_PSK
        default 4 if WIFI_AUTH_WPA_WPA2_PSK
        help
            Mesh AP authentication mode.

    config MESH_AP_PASSWD
        string "Mesh AP Password"
        default "MAP_PASSWD"
        help
            Mesh AP password.

    config MESH_AP_CONNECTIONS
        int "Mesh AP Connections"
        range 1 10
        default 6
        help
            The number of stations allowed to connect in.

    config MESH_ROUTE_TABLE_SIZE
        int "Mesh Routing Table Size"
        range 1 300
        default 50
        help
            The number of devices over the network(max: 300).
endmenu
