• Welcome to Forum des utilisateurs de Blockly(s). Please login or sign up.
 

Comment intégrer une librairie non standard ?

Démarré par EPh, mars 17, 2017, 09:56:26 am

« précédent - suivant »

EPh

Bonjour à tous,

Débutant dans la création de block, dans un avenir non déterminé, j'aimerai ajouter un block dans grove concernant l'utilisation des modules led RGB grove, dont la gestion est un peu différente du block proposé actuellement qui gère une led rgb câblée mais pas le module seedstudio.

Lors de la création il est nécessaire d'appeler une librairie particulière  voir :  http://wiki.seeed.cc/Grove-Chainable_RGB_LED/

Je suppose que dans le code (\generator\fabricant.js) il faudra ajouter la ligne

Blockly.Arduino.definitions_['define_chainableled'] = '#include <ChainableLED.h>\n';

La question où blockly va t'il la trouver étant donné que ce n'est pas une librairie livrée en standard ?

Merci pour vos futures réponses.


SebCanet

Bonjour,
blockly@rduino ne s'occupe que de générer le code, pas la compilation ni le téléversement.
J'utilise un plugin Firefox de Codebender pour le faire en ligne, mais avec des bibliothèques standards. Hors si tu veux rajouter ce que tu veux il faut copier coller le code dans ton EDI Arduino qui contient tes bibliothèques.

Sinon j'ai fais un test avec Blockly@rduino_AIO qui contient tout.

Merci d'avance de nous faire partager tous ces nouveaux blocs !  ;D

EPh

Bonsoir,

J'ai modifié ou ajouté plusieurs blocs :
- bluetooth V3 avec commande AT grove
- capteur fin de course grove
- émetteur IR grove
- récepteur IR grove

Voici les différents fichiers à ajouter si possible dans la version téléchargeable.
Merci de me tenir au courant de l'intégration.

@+ Philippe

Ci-dessous les images
Suite dans un autre post

EPh

Suite des fichiers

//************************************** ajouté 20/03/2017 \lang\BlocklyArduino
en.js
fr.js
//**************************************Blockly-at-rduino-gh-pages\toolbox
toolbox_arduino_all.xml
// ************************************** \generator\arduino\grove.js
grove.js
// *************************************** \blocks\grove\grove.js
grove.js

Les autres fichiers ne sont pas nécessaires pas de changement de couleur, de type, ...

@+ Philippe

SebCanet

Bonjour,
j'ai intégré ces nouveaux blocs, mais ils doivent aussi être définis dans \blocks\blocks_typing.js. Regarde d'autres exemples pour finaliser, fais des tests en connectant sur une variable, son typage doit changer automatiquement et non pas se mettre sur 'void'.

Les blocs d'action sont par défaut à déclarer en NUMBER.

Merci.

EPh

Salut,
Merci.
Attention il manque dans tous les modules ajoutés (les miens, plus d'autres moteur,... les photos)

J'ai modifié le blocks_typing.js

// ************************************************************ \blocks\blocks_typing.js *************************
// ******************************************************************* ajouté ********************************
Blockly.Blocks.grove_bluetooth_slave_AT.getBlockType = function() {
   return Blockly.Types.NUMBER;
};
Blockly.Blocks.grove_FIN_COURSE.getBlockType = function() {
   return Blockly.Types.BOOLEAN;
};
Blockly.Blocks.grove_RECEPTEUR_IR.getBlockType = function() {
   return Blockly.Types.BOOLEAN;
};



Peux tu me dire si cela est bon ?

Par contre pour l'émetteur je ne sais pas quoi mettre.

@+ Philippe


SebCanet

C'est mis à jour, merci.

Pour les photos, ça dépend des contributeurs qui en ajoutent ou pas. Mais perso je préfèrerais qu'il y en ait à chaque fois notamment pour les niveaux 1 à 3.

EPh

Peut être je me trompe, mais les photos données dans un post précédent n'ont pas été intégrées.

J'ai téléchargé à cette adresse : https://github.com/technologiescollege/Blockly-at-rduino.

Pb à nouveau ce soir le téléversement ne fonctionne plus. Nous sommes de tout coeur avec toi dans la résolution de ce problème.
Bon courage.
@+ Philippe

SebCanet

Normalement la synchro est complète.

Pour les pb de téléversement, on n'y peut rien...
Sauf tester une version entièrement hors ligne : http://blockly.technologiescollege.fr/forum/index.php/topic,90.msg475.html#new