{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build and Flash",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "dependsOn": [
                "Build",
                "Flash MCU"
            ],
            "dependsOrder": "sequence",
            "icon": {
                "id": "insert",
                "tooltip": "Build and Flash"
            }
        },
        {
            "label": "Flash MCU",
            "type": "shell",
            "command": "'${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/bin/openocd.exe' -s '${workspaceFolder}' -f '${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/scripts/target/openocd_gdlink_gd32e23x.cfg' -c 'init; reset halt; flash write_image erase ${command:cmake.launchTargetFilename}; reset; exit'",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [],
            "options": {
                "cwd": "${command:cmake.buildDirectory}/Application",
                "environment": {
                    "CLICOLOR_FORCE": "1",
                    "OPENOCD_SCRIPTS": ""
                }
            },
            "presentation": {
                "clear": true
            },
            "icon": {
                "id": "gather",
                "tooltip": "Flash MCU"
            }
        },
        {
            "label": "Reset MCU",
            "type": "shell",
            "command": "'${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/bin/openocd.exe' -s '${workspaceFolder}' -f '${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/scripts/target/openocd_gdlink_gd32e23x.cfg' -c 'init; reset; exit'",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [],
            "options": {
                "cwd": "${command:cmake.buildDirectory}/Application",
                "environment": {
                    "CLICOLOR_FORCE": "1",
                    "OPENOCD_SCRIPTS": ""
                }
            },
            "presentation": {
                "clear": true
            },
            "icon": {
                "id": "discard",
                "tooltip": "Reset MCU"
            }
        },
        {
            "label": "Mass Erase MCU",
            "type": "shell",
            "command": "'${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/bin/openocd.exe' -s '${workspaceFolder}' -f '${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/scripts/target/openocd_gdlink_gd32e23x.cfg' -c 'init; reset halt; gd32e23x mass_erase 0; exit'",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [],
            "options": {
                "cwd": "${command:cmake.buildDirectory}/Application",
                "environment": {
                    "CLICOLOR_FORCE": "1",
                    "OPENOCD_SCRIPTS": ""
                }
            },
            "presentation": {
                "clear": true
            },
            "icon": {
                "id": "clear-all",
                "tooltip": "Erase MCU"
            }
        },
        {
            "label": "OpenOCD Server",
            "type": "shell",
            "command": [
                "'${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/bin/openocd.exe' -s '${workspaceFolder}' -f '${workspaceFolder}/Toolchain/xpack-openocd-0.11.0-3/scripts/target/openocd_gdlink_gd32e23x.cfg'"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [],
            "options": {
                "cwd": "${command:cmake.buildDirectory}/Application",
                "environment": {
                    "CLICOLOR_FORCE": "1",
                    "OPENOCD_SCRIPTS": ""
                }
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "Build",
            "type": "cmake",
            "command": "build",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [
                {
                    "base": "$gcc",
                    "fileLocation": [
                        "relative",
                        "${command:cmake.buildDirectory}"
                    ]
                }
            ],
            "options": {
                "environment": {
                    "CLICOLOR_FORCE": "1"
                }
            },
            "presentation": {
                "clear": true
            },
            "icon": {
                "id": "code",
                "tooltip": "Build"
            }
        }
    ]
}