Bloc BMP180 - capteur pression ?

Démarré par benjamin45, Janvier 08, 2019, 04:16:10 pm

« précédent - suivant »

benjamin45

Bonjour,

Super boulot Blockly@rduino, c'est franchement bien fichu !
Est-ce qu'il existe un endroit où on peut trouver des "bloc" pas encore ajouté au core du soft ? Je cherche notamment un bloc pour le capteur de pression BMP180

Merci à vous  ;D

SebCanet

Bonjour,
merci du compliment, je fais ce que je peux avec mes maigres moyens...tant mieux si ça plait.

Hélas il n'y a pas de dépôt caché de blocs...si ça n'apparaît pas c'est que ça n'existe pas encore. Donc il ne reste plus qu'à le(s) créer : http://www.libreduc.cc/wiki/doku.php/fr/arduino/blockly_rduino/creerblocsmultiling
Il n'y a plus ensuite qu'à demander de l'aide si besoin, les partager ensuite, finalement les documenter (sur le wiki...).

Bons tests.

benjamin45

Janvier 10, 2019, 06:35:36 pm #2 Dernière édition: Janvier 10, 2019, 06:49:55 pm par benjamin45
Bonjour,

Je rencontre quelques soucis dans la création de bloc..

L'entrée dans le menu fonctionne bien, par contre mon bloc ne génère pas de code...

generators/arduino/xxx.js

/**
* Block pour les modules utilises par xxx
* @author xxx
*/
'use strict';

goog.provide('Blockly.Arduino.xxx');
goog.require('Blockly.Arduino');


Blockly.Arduino.il_bmp180_read = function() {

  Blockly.Arduino.inludes_['define_wire'] = '#include <Wire.h>\n';
  Blockly.Arduino.inludes_['define_bmplib'] = '#include <Adafruit_BMP085.h>\n';
 
  Blockly.Arduino.definitions_['define_instance'] = 'Adafruit_BMP085 bmp;\n';

  Blockly.Arduino.setups_['setup_bmp'] = 'bmp.begin();\n';
 
 
  var code = 'bmp.readPressure()/100;\n'
  return code;

};



Où sont mes erreurs ?


Merci :)

SebCanet

As tu aussi alimenté le fichier \generators\arduino_resume.js ?
La console du navigateur te dit quoi ?

fontaine.jp

Salut,
il manque un point virgule à la fin de la ligne var code = 'bmp.readPressure()/100;\n'
sinon regarde dans la console les messages d'erreurs.
A+

benjamin45

Bonjour,

J'ai bien alimenté le arduino_resume.js :

J'ai ajouté la ligne
"generators/arduino/xxx.js",


Bien vue pour le point virgule, je ne devais plus avoir les yeux en face des trous hier !

Bon, toujours pas de code, et même les autres blocs ne génèrent plus de code tant qu'il y a mon bloc ... J'ai du merder quelquepart !

Où trouver cette console ? Je ne vois pas

benjamin45

Janvier 11, 2019, 10:24:19 am #6 Dernière édition: Janvier 11, 2019, 10:50:13 am par benjamin45
Sans fautes de frappe ca fonctionne mieux !

inlude au lieu de inClude .... + un petit soucis avec le \n dans le var code =

Version fonctionnelle :

CiterBlockly.Arduino.il_bmp180_read = function() {

  Blockly.Arduino.includes_['define_wire'] = '#include <Wire.h>';
  Blockly.Arduino.includes_['define_bmplib'] = '#include <Adafruit_BMP085.h>\n';
 
  Blockly.Arduino.definitions_['define_instance'] = 'Adafruit_BMP085 bmp;\n';
   
  Blockly.Arduino.setups_['setup_bmp'] = 'bmp.begin();\n';
 
 
  var code = 'bmp.readPressure()/100';
  return code;

};


EDIT :
Le bloc fonctionne tant qu'il est "dan le vide", le bon code est bien ajouté, mais si j'encastre le bloc pour donner une valeur à une variable par exemple, le code devient "mavariable = 1ere lettre de ce que devrait retourner mon bloc" exemple : "pressure = b;"

PS : la vérification avant de pouvoir poster est franchement horrible !  :'(

benjamin45

Je n'ai pas réussi à trouver à quoi ca servait, mais il fallait modifier :

return [code, Blockly.Arduino.ORDER_ATOMIC];

Et la ça fonctionne !

SebCanet

Félicitations !!!!  :D
Tu m'envoies ta version et je le rajoute au pot commun !