myextension.s2e
Table des matières
Le fichier *.s2e
L'entête
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
La définition des blocs
"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
}
]
....
]
- Les types de blocs sont :
- h pour l'entête (chapeau) rarement utilisé dans une extension personnelle
- w pour un bloc d'écriture sur une sortie [–]
- r pour un bloc de lecture d'une entrée (–)
- b pour un bloc de test binaire ←→
- Les paramètres sont préfixés par % dans la description du bloc :
- %n pour un nombre
- %s pour un texte
- %d.nom pour une liste de choix de nombres (voir section “menu”)
- %m.nom pour une liste de choix de texte (voir section “menu”)
- %c pour choisir une couleur
- Les paramètres sont identifiés par leur position dans la description du bloc {x} dans le code des fonctions
- utiliser un #include du type \“lib.h\” et non <lib.h>
Les menus et valeurs
- Un menu est identifié par son nom et contient la liste des options possibles
- Chaque option est associée à sa valeur
"menus": {
"digital":["HIGH","LOW"]
},
"values":{
"HIGH":1,
"LOW":0
Les traductions
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 )"
}
}
myextension.s2e.txt · Dernière modification : 2024/02/14 14:25 de 127.0.0.1
