Adafruit_RGB_LCD_Shield

Démarré par Bzhtitude, Juin 20, 2018, 10:14:31 pm

« précédent - suivant »

Bzhtitude

Salut,

Nous avons fait quelques blocs pour un écran LCD Adafruit, un LCD I2C backlight de chez grove, et des blocs I2C en hardware.

Je n'arrive cependant pas à créer un répertoire dans Github... avec le nom : Adafruit_RGB_LCD_Shield   au niveau du répertoire blocks

Je joins les 2 fichiers .js à insérer dedans.

Je profite de ce nouveau post pour poser quelques questions et reflexions

1) Nous avons refait une partie de l'arborescence des toolbox Niveau 4 et All. En classant par fonctions et non par fabricants. Avec un collègue, on veut bien reprendre l'arborescence de la toolbox niveau 4 complètement ou en créer une nouvelle par fonctions, on peut en discuter.

2) Les types de données sont surprenants pour les variables : Chiffre entier ou nombre entier ?? etc.  Je veux bien regarder les blocs car ils ne correspondent pas à ce qu'ils décrivent.

3) Idem pour le retour avec le type "dynamic" des fonctions, j'ai lu que c'était en cours de développement (in English). Je veux bien aider mais je pense que ma limite de codage ne soit vite atteint.

4) Est ce que les variables locales sont possibles ?

Comme nous passons progressivement à Blockly@rduino pour nos élèves, il se peut que d'autres série de blocs arrivent: (boussoles, GPS, NFC, coulombmetre...)

Je confirme que le pluggin intégré est parfait !!





SebCanet


SebCanet

Salut,
encore merci pour ton travail, je te réponds ci-dessous :

Citation de: Bzhtitude le Juin 20, 2018, 10:14:31 pm
Nous avons fait quelques blocs pour un écran LCD Adafruit, un LCD I2C backlight de chez grove, et des blocs I2C en hardware.


Et en plus vous êtes plusieurs ! excellent  ;D
Il y avait de drôles de rajouts de texte dans les en tête des fichiers !?

Citation de: Bzhtitude le Juin 20, 2018, 10:14:31 pm
Je n'arrive cependant pas à créer un répertoire dans Github... avec le nom : Adafruit_RGB_LCD_Shield   au niveau du répertoire blocks


J'ai invité ton profil à faire partie de l'équipe qui peut uploader directement sur Github, et donc merger.

Pour tes réflexions :

1) La catégorie TOUT servira de fourre tout quand j'aurai le temps de me pencher sur un système plus dynamique. Il ne faut pas oublier que ce soft s'adresse à des débutants et qu'il faut maintenir un vocabulaire et des photos à leur portée. Mon exemple était celui du mBot. Mais l'idée des fonctions est très bonne. Après on peut faire des toolbox_fabricant_4 et des toolbox_fonctions_4, mais c'est peut être lourd à entretenir. Un autre fil de discussion ?

2) C'est pas faux...merci de revalider les textes qui n'ont plus bougés depuis si longtemps...

3) Alors là j'ai un gros souci...et il faut taper dans le core de Blockly. Je n'ai pas trouvé d'où venait ce typage, et pas eu le temps de me poser quelques heures dessus. Toute idée es la bienvenue !

4) Les variables locales ne sont pas possibles pour l'instant de façon automatique comme celles existantes, car il faudrait rajouter la même moulinette de scanne du code pour vérifier que les variables ne sont entrées qu'une seule fois, qu'elles se typent automatiquement, et ce façon locale (dans la fonction). Là je dois bien avouer que le ratio temps/gain ne vaut pas le coup pour moi.

Merci d'avance pour tous les nouveaux blocs !!!


Bzhtitude

1) je vais mettre ça sur un beau document pour te montrer l'arborescence et je ferais un nouveau fil.
2) Bientôt
3) je cherche de mon coté
4) OK, ça me va tout en globale.

fontaine.jp

Salut,
Pour le problème n°3 j'ai bricolé quelque chose, mais je ne sais si c'est ce que voulez ?
Pour ce que les élèves en font au collège c'est largement suffisant.

SebCanet

Merci, dans l'idée c'est ça. Mais voulant faire plus, j'aimerais mieux un typage automatique en récupérant le typage de ce qui est "renvoyé".

Sinon JP je suis curieux de voir toutes tes modifs/améliorations. Tu peux nous faire un topo ? Je suis prêt à intégrer tout ce qui semble utile.

Bzhtitude

Moi j'aime bien le fait de devoir typer ses retours de fonctions ...

L'automatique est agréable aussi cependant mais pas pour les mêmes utilisateurs.

J'aimerai bien voir le code également ;)

SebCanet

C'est justement tout l'intérêt des niveaux de 1 à 4.

Donc tout à fait ok pour intégrer les modifs de JP.

Comment ça "voir le code" ? Que manque-t-il ?

Bzhtitude

Citation de: SebCanet le Juin 26, 2018, 11:47:18 pm
Comment ça "voir le code" ? Que manque-t-il ?


Bah , j'ai du louper un truc, je ne vois que les images que JP a fournit... pas les fichiers.

SebCanet

Ah oui, ok avec toi, je croyais que tu parlais dans Blockly@rduino  :D

fontaine.jp

oups
je posterai ça après le brevet
:P

fontaine.jp

Salut,
voici le code du bloc fonction :
Blockly.Blocks["procedures_defreturn"] = {
    init: function() {
        var nameField = new Blockly.FieldTextInput(Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE, Blockly.Procedures.rename);
        nameField.setSpellcheck(false);
        this.appendDummyInput().appendField(new Blockly.FieldDropdown(Blockly.Types.getValidTypeArray()), "type").appendField(nameField, "NAME").appendField("", "PARAMS");
        this.appendValueInput("RETURN").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN);
        this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));
        this.setColour(Blockly.Blocks.procedures.HUE);
        this.setTooltip(Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP);
        this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL);
        this.arguments_ = [];
        this.argumentsTypes_ = [];
        this.setStatements_(true);
        this.statementConnection_ = null
    },
    setStatements_: Blockly.Blocks["procedures_defnoreturn"].setStatements_,
    updateParams_: Blockly.Blocks["procedures_defnoreturn"].updateParams_,
    mutationToDom: Blockly.Blocks["procedures_defnoreturn"].mutationToDom,
    domToMutation: Blockly.Blocks["procedures_defnoreturn"].domToMutation,
    decompose: Blockly.Blocks["procedures_defnoreturn"].decompose,
    compose: Blockly.Blocks["procedures_defnoreturn"].compose,
    getProcedureDef: function() {
        return [this.getFieldValue("NAME"), this.arguments_, true]
    },
    getVars: Blockly.Blocks["procedures_defnoreturn"].getVars,
    renameVar: Blockly.Blocks["procedures_defnoreturn"].renameVar,
    customContextMenu: Blockly.Blocks["procedures_defnoreturn"].customContextMenu,
    callType_: "procedures_callreturn"
};

A+

SebCanet

Super, et as tu changé le code produit ?
Comme ça je copie colle les nouveautés et je l'intègre vite.

Merci !

fontaine.jp

désolé mais j'ai besoin de vacances  ;)
A+

SebCanet

Salut,
je viens d'essayer mais il me génère des erreurs pour le bloc de procédure. Tu y as modifié quelque chose aussi ?