Il s'agit d'un fichier texte (format JSON) pour décrire l'extension et les blocs.
"extensionName": "Demo", // Son nom "description": "A Demo Extension for Arduino", // Sa description "version": "1.1", // Sa version "author": "Wangyu(wangyu@makeblock.cc)", // Son auteur "homepage": "http://www.mblock.cc/posts/create-extensions-for-mblock", // Sa page d'information "sort":0, // Son indice de tri dans la liste des extensions "javascriptURL":"js/demo.js", // Le fichier javascript pour son utilisation online "firmware":"1.0", // La version du firmware pour l'utilisation online [non utilisé] "extensionPort":0, // Le port utilisé pour l'extension (0 = port série) [non utilisé] "tags" : "makeblock,demo", // Les mots clés pour l'indexation
"blockSpecs": [
[
"w", // Type de bloc
"digitalWrite( %n , %d.digital )", // Le texte qui apparait dans le bloc avec les paramètres
"digitalWrite", // La fonction appelée en mode Scratch
"13", // Le premier paramètre par défaut
"HIGH", // Le deuxième paramètre par défaut
{ // Le code à insérer
"inc":"", // dans l'include
"def":"", // dans la définition des variables et constantes
"setup":"pinMode({0},OUTPUT); \n", // dans le setup
"loop":"", // dans la boucle principale
"work":"digitalWrite({0},{1});\n" // à chaque utilisation du bloc
}
]
....
]
"menus": {
"digital":["HIGH","LOW"]
},
"values":{
"HIGH":1,
"LOW":0
Les blocs peuvent être traduits automatiquement en fonction du langage choisi :
"translators":{
"zh_CN":{
"Demo Program":"演示程序",
"HIGH":"高电平",
"LOW":"低电平",
"digitalWrite( %n , %d.digital )":"数字口输出( %n ,%d.digital )"
}
}