{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cmake",
            "label": "CMake: build main",
            "command": "build",
            "targets": [
                "main"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "group": "build",
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "type": "shell",
            "label": "Pico: flash main",
            "command": [
                "scripts/flash.exp",
                "${workspaceRoot}/build/bin/main.elf"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "group": "test",
            "dependsOn": [
                "CMake: build main"
            ],
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "type": "shell",
            "label": "Pico: launch openocd",
            "command": [
                "scripts/launch_openocd.sh"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "isBackground": true
        },
        {
            "type": "shell",
            "label": "Pico: Reset Device",
            "command": [
                "scripts/reset.exp"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "isBackground": true,
            "problemMatcher": []
        },
        {
            "type": "cmake",
            "label": "CMake: Clean",
            "command": "clean"
        },
        {
            "type": "cmake",
            "label": "CMake: Clean Rebuild",
            "command": "cleanRebuild"
        },
        {
            "type": "cmake",
            "label": "CMake: Configure",
            "command": "configure"
        },
        {
            "type": "shell",
            "label": "Doxygen: Generate Docs",
            "command": [
                "doxygen ./docs/Doxyfile"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            }
        },
        {
            "type": "shell",
            "label": "Nuke Build Directory",
            "command": [
                "rm -rf build"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": []
        },

        {
            "type": "shell",
            "label": "Pico Remote: Launch OpenOCD",
            "command": [
                "scripts/remote/run_openocd.exp",
                "gobot-rpi",
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            },
            "isBackground": true
        },
        {
            "type": "shell",
            "label": "Pico Remote: flash main",
            "command": [
                "scripts/remote/flash.sh",
                "${workspaceRoot}/build/bin/main.elf",
                "gobot-rpi",
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "group": "test",
            "dependsOn": [
                "CMake: build main"
            ],
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "type": "shell",
            "label": "Pico Remote: Reset Device",
            "command": [
                "scripts/remote/reset.exp",
                "gobot-rpi"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "isBackground": true,
            "problemMatcher": []
        },
    ]
}