menu "ESP-WHO Configuration"
    
    menu "Wi-Fi Configuration"

        config ESP_HOST_NAME
            string "Camera Host Name"
            default ""
            help
            Hostname that the camera will advertise over mDNS.

        config ESP_WIFI_SSID
            string "WiFi STA SSID"
            default ""
            help
            WiFi SSID (network name) to connect to or empty for Off.

        config ESP_WIFI_PASSWORD
            string "WiFi STA Password"
            default ""
            help
            WiFi Password if WEP/WPA/WPA2 or empty if Open.
            
        config ESP_WIFI_AP_SSID
            string "WiFi AP SSID"
            default "ESP32-Camera"
            help
            AP SSID (network name) to create or empty for Off.

        config ESP_WIFI_AP_PASSWORD
            string "WiFi AP Password"
            default ""
            help
            AP password for WPA2 or empty for Open.

        config MAX_STA_CONN
            int "Maximal STA connections"
            default 1
            help
            Max number of the STA connects to AP.

        config ESP_WIFI_AP_CHANNEL
            string "WiFi AP Channel"
            default ""
            help
            AP channel for better connection performance.

        config SERVER_IP
            string "WiFi AP IP Address"
            default "192.168.4.1"
            help
                IP address that the ESP will assign to it's AP interface. You can use this IP to connect to the camera after flashing.

        config ESP_MAXIMUM_RETRY
            int "Maximum retry"
            default 5
            help
            Set the Maximum retry to avoid station reconnecting to the AP unlimited when the AP is really inexistent.

    endmenu

    menu "Camera Configuration"

        choice CAMERA_MODULE
            bool "Select Camera Pinout"
            default CAMERA_MODULE_WROVER_KIT
            help
                Select Camera Pinout.

            config CAMERA_MODULE_WROVER_KIT
                bool "WROVER-KIT With OV2640 Module"
            config CAMERA_MODULE_ESP_EYE
                bool "ESP-EYE DevKit"
            config CAMERA_MODULE_ESP_S2_KALUGA
                bool "ESP32-S2-Kaluga-1 V1.3"
            config CAMERA_MODULE_ESP_S3_EYE
                bool "ESP-S3-EYE DevKit"
            config CAMERA_MODULE_ESP32_CAM_BOARD
                bool "ESP32 Camera Development Board"
            config CAMERA_MODULE_M5STACK_PSRAM
                bool "M5Stack Camera With PSRAM"
            config CAMERA_MODULE_M5STACK_WIDE
                bool "M5Stack Camera F (Wide)"
            config CAMERA_MODULE_AI_THINKER
                bool "ESP32-CAM by AI-Thinker"
            config CAMERA_MODULE_CUSTOM
                bool "Custom Camera Pinout"
        endchoice

        config CAMERA_PIN_PWDN
            depends on CAMERA_MODULE_CUSTOM
            int "Power Down pin"
            range -1 33
            default -1
            help
                Select Power Down pin or -1 for unmanaged.

        config CAMERA_PIN_RESET
            depends on CAMERA_MODULE_CUSTOM
            int "Reset pin"
            range -1 33
            default -1
            help
                Select Camera Reset pin or -1 for software reset.

        config CAMERA_PIN_XCLK
            depends on CAMERA_MODULE_CUSTOM
            int "XCLK pin"
            range 0 33
            default 21
            help
                Select Camera XCLK pin.

        config CAMERA_PIN_SIOD
            depends on CAMERA_MODULE_CUSTOM
            int "SIOD pin"
            range 0 33
            default 26
            help
                Select Camera SIOD pin.

        config CAMERA_PIN_SIOC
            depends on CAMERA_MODULE_CUSTOM
            int "SIOC pin"
            range 0 33
            default 27
            help
                Select Camera SIOC pin.

        config CAMERA_PIN_VSYNC
            depends on CAMERA_MODULE_CUSTOM
            int "VSYNC pin"
            range 0 39
            default 25
            help
                Select Camera VSYNC pin.

        config CAMERA_PIN_HREF
            depends on CAMERA_MODULE_CUSTOM
            int "HREF pin"
            range 0 39
            default 23
            help
                Select Camera HREF pin.

        config CAMERA_PIN_PCLK
            depends on CAMERA_MODULE_CUSTOM
            int "PCLK pin"
            range 0 39
            default 25
            help
                Select Camera PCLK pin.

        config CAMERA_PIN_Y2
            depends on CAMERA_MODULE_CUSTOM
            int "Y2 pin"
            range 0 39
            default 4
            help
                Select Camera Y2 pin.

        config CAMERA_PIN_Y3
            depends on CAMERA_MODULE_CUSTOM
            int "Y3 pin"
            range 0 39
            default 5
            help
                Select Camera Y3 pin.

        config CAMERA_PIN_Y4
            depends on CAMERA_MODULE_CUSTOM
            int "Y4 pin"
            range 0 39
            default 18
            help
                Select Camera Y4 pin.

        config CAMERA_PIN_Y5
            depends on CAMERA_MODULE_CUSTOM
            int "Y5 pin"
            range 0 39
            default 19
            help
                Select Camera Y5 pin.

        config CAMERA_PIN_Y6
            depends on CAMERA_MODULE_CUSTOM
            int "Y6 pin"
            range 0 39
            default 36
            help
                Select Camera Y6 pin.

        config CAMERA_PIN_Y7
            depends on CAMERA_MODULE_CUSTOM
            int "Y7 pin"
            range 0 39
            default 39
            help
                Select Camera Y7 pin.

        config CAMERA_PIN_Y8
            depends on CAMERA_MODULE_CUSTOM
            int "Y8 pin"
            range 0 39
            default 34
            help
                Select Camera Y8 pin.

        config CAMERA_PIN_Y9
            depends on CAMERA_MODULE_CUSTOM
            int "Y9 pin"
            range 0 39
            default 35
            help
                Select Camera Y9 pin.
    endmenu


    menu "Model Configuration"
        menu "Face Recognition"
            choice FACE_RECOGNITION_MODEL
                bool "Face Recognition Model"
                default MFN_V1
                help
                    Select Face Recognition Model.

                config MFN_V1
                    bool "mfn v1"
    
            endchoice
            
            choice QUANTIZATION
                bool "Quantization"
                default S8
                help
                    Select Face Recognition Model.

                config S8
                    bool "8-bit"
                config S16
                    bool "16-bit"
    
            endchoice
        endmenu

    endmenu

endmenu