Pour créer des blocs, voici la démarche en prenant pour exemple la FlyCamOne.

Le principe :

le dossier ‘\blocks\’ contient un sous-dossier par fabricant afin d’y stocker les images et fichiers de scripts.

un fichier ‘\blocks\\‘ va décrire le nom de chaque bloc et de quelle façon Blockly va le dessiner à l’écran. Comme nous allons créer des blocs multilingues, aucun texte pour l’utilisateur ne doit être tapé dans ce fichier, ils seront dans des fichiers de traduction.

On lit là tout ce qui constitue le bloc. Enfin on lit surtout qu’on ne lit rien…tout ce qui sera utilisé est défini dans différents fichiers qui contiennent les valeurs des variables comme Blockly.Blocks.bq.HUE, Blockly.Msg.BQ_HELPURL, etc. Toutes ces variables seront expliqués par la suite, donc il est important de parcourir toute cette documentation pour comprendre la mécanique globale de Google Blockly.

un fichier ‘\blocks\‘ va contenir toutes les valeurs en hexadecimal des couleurs à utiliser. Par cohérence pour les utilisateurs, il vaut mieux que la couleur de la catégorie (définie dans le fichier toolbox expliqué plus bas) soit la même pour tous les blocs de la catégorie :

un fichier ‘\generators\‘ va utiliser les éléments décrits dans la définition graphique du bloc (voir point précédent) pour enrichir un texte qui sera le code en langage Arduino à produire.

le fichier ‘\blocks\‘ va contenir le typage de chacun des blocs que vous avez créé, c’est à dire s’il renvoie une valeur de type entier (int) ou chiffre à virgule (float) ou…

les fichiers ‘\lang\blocks\’ & ‘\lang\blocs\‘ vont contenir toutes les chaînes de caractère que l’utilisateur lira.

le nom de chacun des blocs que vous voulez afficher dans une catégorie à l’écran devra être ajouté dans le menu ad-hoc, ils sont contenus dans le dossier ‘\toolbox\’.