{
    "id": "microbit",
    "nickname": "microbit",
    "name": "makecode.microbit.org",
    "title": "Microsoft MakeCode for micro:bit",
    "description": "A Blocks / JavaScript code editor for the micro:bit powered by Microsoft MakeCode.",
    "corepkg": "core",
    "bundleddirs": [
        "libs/core",
        "libs/radio",
        "libs/devices",
        "libs/bluetooth",
        "libs/servo",
        "libs/radio-broadcast"
    ],
    "cloud": {
        "workspace": false,
        "packages": true,
        "sharing": true,
        "publishing": true,
        "importing": true,
        "preferredPackages": [
            "Microsoft/pxt-neopixel"
        ],
        "githubPackages": true
    },
    "compile": {
        "isNative": false,
        "hasHex": true,
        "deployDrives": "(MICROBIT|MBED)",
        "driveName": "MICROBIT",
        "hexMimeType": "application/x-microbit-hex",
        "openocdScript": "source [find interface/cmsis-dap.cfg]; source [find target/nrf51.cfg]",
        "flashUsableEnd": 242688,
        "flashEnd": 242688,
        "flashCodeAlign": 1024,
        "floatingPoint": true,
        "taggedInts": true,
        "patches": {
            "0.0.0 - 1.0.0": [
                {
                    "type": "package",
                    "map": {
                        "microbit": "core",
                        "microbit-bluetooth": "bluetooth",
                        "microbit-radio": "radio",
                        "microbit-devices": "devices",
                        "microbit-led": "",
                        "microbit-music": "",
                        "microbit-game": "",
                        "microbit-pins": "",
                        "microbit-serial": ""
                    }
                },
                {
                    "type": "missingPackage",
                    "map": {
                        "radio\\s*\\.": "radio",
                        "bluetooth\\s*\\.": "bluetooth",
                        "devices\\s*\\.": "devices"
                    }
                },
                {
                    "type": "api",
                    "map": {
                        "bluetooth\\s*\\.\\s*uartRead\\s*\\((.*?)\\)": "bluetooth.uartReadUntil($1)",
                        "bluetooth\\s*\\.\\s*uartWrite\\s*\\((.*?)\\)": "bluetooth.uartWriteUntil($1)",
                        "input\\s*\\.\\s*calibrate\\s*\\(": "input.calibrateCompass(",
                        "radio\\s*\\.\\s*onDataPacketReceived\\(\\s*\\(\\{\\s*receivedNumber\\s*\\}\\)\\s*=>\\s*\\{": "radio.onReceivedNumber(function (receivedNumber) {",
                        "radio\\s*\\.\\s*onDataPacketReceived\\(\\s*\\(\\{\\s*receivedString: name, receivedNumber: value\\s*\\}\\)\\s*=>\\s*\\{": "radio.onReceivedValue(function (name, value) {",
                        "radio\\s*\\.\\s*onDataPacketReceived\\(\\s*\\(\\{\\s*receivedString\\s*\\}\\)\\s*=>\\s*\\{": "radio.onReceivedString(function (receivedString) {",
                        "Math\\s*\\.\\s*random\\s*\\(": "Math.randomRange(0, "
                    }
                },
                {
                    "type": "blockId",
                    "map": {
                        "device_get_acceleration": "device_acceleration"
                    }
                },
                {
                    "type": "blockValue",
                    "map": {
                        "device_print_message.message": "text"
                    }
                }
            ]
        },
        "hidSelectors": [
            {
                "usagePage": "0xFF00",
                "usageId": "0x0001",
                "vid": "0x0d28",
                "pid": "0x0204"
            }
        ],
        "webUSB": true
    },
    "runtime": {
        "mathBlocks": true,
        "loopsBlocks": true,
        "logicBlocks": true,
        "variablesBlocks": true,
        "textBlocks": true,
        "listsBlocks": true,
        "functionBlocks": true,
        "onStartColor": "#1E90FF",
        "onStartNamespace": "basic",
        "onStartWeight": 54
    },
    "simulator": {
        "autoRun": true,
        "streams": false,
        "aspectRatio": 1.22,
        "parts": true,
        "partsAspectRatio": 0.69,
        "boardDefinition": {
            "visual": "microbit",
            "gpioPinBlocks": [
                [
                    "P0"
                ],
                [
                    "P1"
                ],
                [
                    "P2"
                ],
                [
                    "P3"
                ],
                [
                    "P4",
                    "P5",
                    "P6",
                    "P7"
                ],
                [
                    "P8",
                    "P9",
                    "P10",
                    "P11",
                    "P12"
                ],
                [
                    "P16"
                ]
            ],
            "gpioPinMap": {
                "P0": "P0",
                "P1": "P1",
                "P2": "P2",
                "P3": "P3",
                "P4": "P4",
                "P5": "P5",
                "P6": "P6",
                "P7": "P7",
                "P8": "P8",
                "P9": "P9",
                "P10": "P10",
                "P11": "P11",
                "P12": "P12",
                "P13": "P13",
                "P14": "P14",
                "P15": "P15",
                "P16": "P16",
                "P19": "P19",
                "P20": "P20"
            },
            "spiPins": {
                "MOSI": "P15",
                "MISO": "P14",
                "SCK": "P13"
            },
            "i2cPins": {
                "SDA": "P20",
                "SCL": "P19"
            },
            "analogInPins": [
                "P0",
                "P1",
                "P2",
                "P3",
                "P10"
            ],
            "groundPins": [
                "GND"
            ],
            "threeVoltPins": [
                "+3v3"
            ],
            "attachPowerOnRight": true,
            "onboardComponents": [
                "accelerometer",
                "buttonpair",
                "ledmatrix",
                "speaker",
                "bluetooth",
                "thermometer",
                "compass"
            ],
            "pinStyles": {
                "P0": "croc",
                "P1": "croc",
                "P2": "croc",
                "GND": "croc",
                "+3v3": "croc"
            },
            "marginWhenBreadboarding": [
                0,
                0,
                80,
                0
            ]
        }
    },
    "compileService": {
        "yottaTarget": "bbc-microbit-classic-gcc",
        "yottaCorePackage": "microbit",
        "githubCorePackage": "lancaster-university/microbit",
        "gittag": "v2.1.0",
        "serviceId": "microbit",
        "dockerImage": "pext/yotta:latest"
    },
    "serial": {
        "nameFilter": "^(mbed Serial Port|DAPLink CMSIS-DAP)",
        "log": true,
        "useEditor": true,
        "editorTheme": {
            "graphBackground": "#d9d9d9",
            "lineColors": [
                "#6633cc",
                "#3891A6",
                "#3454D1",
                "#EF767A",
                "#F46197",
                "#107C10"
            ]
        },
        "vendorId": "0x0d28",
        "productId": "0x0204",
        "rawHID": true
    },
    "appTheme": {
        "accentColor": "#5C005C",
        "logoUrl": "https://microbit.org/code/",
        "logo": "./static/logo.portrait.white.svg",
        "docsLogo": "./static/logo.square.white.svg",
        "portraitLogo": "./static/logo.square.white.svg",
        "footerLogo": "./static/logo.portrait.black.svg",
        "cardLogo": "./static/icons/apple-touch-icon.png",
        "appLogo": "./static/icons/apple-touch-icon.png",
        "organization": "Microsoft MakeCode",
        "organizationUrl": "https://makecode.com/",
        "organizationLogo": "./static/Microsoft-logo_rgb_c-gray-square.png",
        "organizationWideLogo": "./static/Microsoft-logo_rgb_c-white.png",
        "homeScreenHero": "./static/hero.png",
        "homeUrl": "https://makecode.microbit.org/",
        "embedUrl": "https://makecode.microbit.org/",
        "shareUrl": "https://makecode.microbit.org/",
        "privacyUrl": "https://makecode.com/privacy",
        "termsOfUseUrl": "https://makecode.com/termsofuse",
        "githubUrl": "https://github.com/Microsoft/pxt-microbit",
        "boardName": "micro:bit",
        "driveDisplayName": "MICROBIT",
        "appStoreID": "1092687276",
        "mobileSafariDownloadProtocol": "microbithex://?data",
        "crowdinProject": "kindscript",
        "extendEditor": true,
        "extendFieldEditors": true,
        "enableTrace": true,
        "ignoreDocsErrors": true,
        "experiments": [
            "greenScreen",
            "print",
            "allowPackageExtensions",
            "instructions",
            "debugger",
            "bluetoothUartConsole",
            "bluetoothPartialFlashing"
        ],
        "bluetoothUartFilters": [{
            "namePrefix": "BBC micro:bit"
        }],
        "docMenu": [
            {
                "name": "Support",
                "path": "https://support.microbit.org/"
            },
            {
                "name": "Reference",
                "path": "/reference"
            },
            {
                "name": "Blocks",
                "path": "/blocks"
            },
            {
                "name": "JavaScript",
                "path": "/javascript"
            },
            {
                "name": "Hardware",
                "path": "/device"
            },
            {
                "name": "Buy",
                "path": "https://microbit.org/resellers"
            }
        ],
        "hasReferenceDocs": true,
        "usbDocs": "/device/usb",
        "usbHelp": [
            {
                "name": "connection",
                "os": "*",
                "browser": "*",
                "path": "/static/mb/device/usb-generic.jpg"
            },
            {
                "name": "connection",
                "os": "mac",
                "browser": "*",
                "path": "/static/mb/device/usb-mac.jpg"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "firefox",
                "path": "/static/mb/device/usb-windows-firefox-1.png"
            },
            {
                "name": "save",
                "os": "mac",
                "browser": "firefox",
                "path": "/static/mb/device/usb-osx-firefox-1.jpg"
            },
            {
                "name": "save",
                "os": "mac",
                "browser": "chrome",
                "path": "/static/mb/device/usb-osx-chrome.png"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "edge",
                "path": "/static/mb/device/usb-windows-edge-1.png"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "ie",
                "path": "/static/mb/device/usb-windows-ie11-1.png"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "chrome",
                "path": "/static/mb/device/usb-windows-chrome.png"
            },
            {
                "name": "copy",
                "os": "mac",
                "browser": "*",
                "path": "/static/mb/device/usb-osx-dnd.png"
            },
            {
                "name": "copy",
                "os": "windows",
                "browser": "*",
                "path": "/static/mb/device/usb-windows-sendto.jpg"
            }
        ],
        "invertedMenu": true,
        "coloredToolbox": true,
        "monacoToolbox": true,
        "hasAudio": true,
        "blocklyOptions": {
            "grid": {
                "spacing": 45,
                "length": 7,
                "colour": "rgba(189, 195, 199, 0.30)",
                "snap": false
            }
        },
        "blockColors": {
            "logic": "#00A4A6",
            "loops": "#00AA00",
            "math": "#9400D3",
            "variables": "#DC143C",
            "text": "#B8860B",
            "advanced": "#00272B",
            "functions": "#3455DB",
            "arrays": "#E65722"
        },
        "highContrast": true,
        "greenScreen": false,
        "selectLanguage": true,
        "availableLocales": [
            "en",
            "ar",
            "cs",
            "da",
            "de",
            "el",
            "es-ES",
            "fi",
            "fr",
            "hu",
            "is",
            "it",
            "ja",
            "ko",
            "nl",
            "no",
            "pt-BR",
            "pt-PT",
            "ru",
            "si-LK",
            "sk",
            "sv-SE",
            "tr",
            "uk",
            "zh-CN",
            "zh-TW"
        ],
        "monacoColors": {
            "editor.background": "#ecf0f1"
        },
        "browserDbPrefixes": {
            "1": "v1"
        },
        "editorVersionPaths": {
            "0": "v0"
        }
    }
}