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

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Messages - fontaine.jp

136
Améliorations à apporter / Re : Bloc loop()
mars 23, 2017, 11:51:42 pm
Ok  voici le code du bloc :
Blockly.Blocks.base_loop = {
  init: function () {
        this.setColour(Blockly.Blocks.arduino.HUE);
   this.setHelpUrl(Blockly.Msg.HELPURL);
        this.appendDummyInput().appendField("boucle");
        this.appendStatementInput('LOOP').appendField("");
        this.setTooltip("");
    }
};

et le code generators :
Blockly.Arduino['base_loop'] = function(block) {
  function statementToCodeNoTab(block, name) {
    var targetBlock = block.getInputTargetBlock(name);
    var code = Blockly.Arduino.blockToCode(targetBlock);
    if (!goog.isString(code)) {
      throw 'Expecting code from statement block "' + targetBlock.type + '".';
    }
    return code;
  }
  var loopBranch = statementToCodeNoTab(block, 'LOOP');
  return loopBranch;
};

Voila ;-)
137
Améliorations à apporter / Re : Bloc loop()
mars 23, 2017, 08:56:26 am
Salut,
Est ce que c'est ça que tu veux ?
Si oui je mettrais le code.
138
Nouveaux blocs / Re : Problème création nouveau bloc
novembre 23, 2016, 11:38:58 pm
Merci pour la réponse,
Finalement j'ai opté pour un nouveau bloc du type : changer le fonctionnement du pinmode en input_pullup
Si ça intéresse quelqu'un.

code du bloc :
Blockly.Blocks.in_pullup = {
   init: function() {
   this.setColour("#00929F");
   this.setHelpUrl("");
   this.appendValueInput("PIN", 'Number')
        .setCheck('Number')
        .setAlign(Blockly.ALIGN_RIGHT)
        .appendField("valeur de la broche");
    this.setOutput(true, 'Boolean');
    this.setTooltip("");
    }
};

code du generator :
Blockly.Arduino.in_pullup = function() {
  var dropdown_pin = Blockly.Arduino.valueToCode(this, 'PIN', Blockly.Arduino.ORDER_ATOMIC);
  Blockly.Arduino.setups_['setup_input_' + dropdown_pin ] = 'pinMode(' + dropdown_pin + ', INPUT_PULLUP);';
  var code = 'digitalRead(' + dropdown_pin + ')' ;
  return [code, Blockly.Arduino.ORDER_ATOMIC];
};
______________
Jean Philippe.
139
Nouveaux blocs / Problème création nouveau bloc
novembre 13, 2016, 02:55:39 pm
Bonjour,
Tout d'abord un grand coup de chapeau pour le travail accompli.
Je voudrais utiliser des boutons poussoirs avec mes élèves et pour faciliter le travail et ne pas utiliser des résistances de tirages,
j'ai voulu créer un bloc qui met une entrée à l'état haut grâce à l'instruction digitalWrite(2,HIGH).
Seulement l'instruction se place au début du setup (avant l'instruction pinMode(2,input)) et donc cela ne fonctionne pas !
Quelqu'un pourrait m'aiguiller, je vous met le code correspondant.

code du bloc :
Blockly.Blocks.in_up = {
  init: function() {
    this.setColour("#00929F");
   this.setHelpUrl("");
   this.appendValueInput("PIN", 'Number')
        .setAlign(Blockly.ALIGN_RIGHT)
        .appendField("Mettre à '1 (état haut)' la broche");
    this.setPreviousStatement(true, null);
    this.setNextStatement(true, null);
    this.setTooltip("");
  }
};

code du generator :
Blockly.Arduino.in_up = function() {
  var dropdown_pin = Blockly.Arduino.valueToCode(this, 'PIN', Blockly.Arduino.ORDER_ATOMIC);
  Blockly.Arduino.setups_['setup_inup' + dropdown_pin ] = 'digitalWrite(' + dropdown_pin + ', HIGH);';
  return "";
};

Merci pour votre aide.
Jean Philippe.