menu "Partition Table"

    choice PARTITION_TABLE_TYPE
        prompt "Partition Table"
        default PARTITION_TABLE_SINGLE_APP
        help
            The partition table to flash to the ESP32. The partition table
            determines where apps, data and other resources are expected to
            be found.

            The predefined partition table CSV descriptions can be found
            in the components/partition_table directory. Otherwise it's
            possible to create a new custom partition CSV for your application.

        config PARTITION_TABLE_SINGLE_APP
            bool "Single factory app, no OTA"
        config PARTITION_TABLE_TWO_OTA
            bool "Factory app, two OTA definitions"
        config PARTITION_TABLE_CUSTOM
            bool "Custom partition table CSV"
    endchoice

    config PARTITION_TABLE_CUSTOM_FILENAME
        string "Custom partition CSV file" if PARTITION_TABLE_CUSTOM
        default "partitions.csv"
        help
            Name of the custom partition CSV filename. This path is evaluated
            relative to the project root directory.

    config PARTITION_TABLE_FILENAME
        string
        default "partitions_singleapp.csv" if PARTITION_TABLE_SINGLE_APP && !ESP32_ENABLE_COREDUMP_TO_FLASH
        default "partitions_singleapp_coredump.csv" if PARTITION_TABLE_SINGLE_APP && ESP32_ENABLE_COREDUMP_TO_FLASH
        default "partitions_two_ota.csv" if PARTITION_TABLE_TWO_OTA && !ESP32_ENABLE_COREDUMP_TO_FLASH
        default "partitions_two_ota_coredump.csv" if PARTITION_TABLE_TWO_OTA && ESP32_ENABLE_COREDUMP_TO_FLASH
        default PARTITION_TABLE_CUSTOM_FILENAME if PARTITION_TABLE_CUSTOM

    config PARTITION_TABLE_OFFSET
        hex "Offset of partition table"
        default 0x8000
        help
            The address of partition table (by default 0x8000).
            Allows you to move the partition table, it gives more space for the bootloader.
            Note that the bootloader and app will both need to be compiled with the same PARTITION_TABLE_OFFSET value.

            This number should be a multiple of 0x1000.

            Note that partition offsets in the partition table CSV file may need to be changed if this value is set to
            a higher value. To have each partition offset adapt to the configured partition table offset, leave all
            partition offsets blank in the CSV file.

    config PARTITION_TABLE_MD5
        bool "Generate an MD5 checksum for the partition table"
        default y
        help
            Generate an MD5 checksum for the partition table for protecting the
            integrity of the table. The generation should be turned off for legacy
            bootloaders which cannot recognize the MD5 checksum in the partition
            table.

endmenu
