Outils pour utilisateurs

Outils du site


myextension.s2e

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 )"
		}
	}
Ce site web utilise des cookies pour son fonctionnement mais ne collecte aucunne données personnelles, n'effectue aucun traitement de données ni d'affichage de publicité. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site. Politique de confidentialité En savoir plus
myextension.s2e.txt · Dernière modification : 2024/02/14 14:25 de 127.0.0.1