Forum des utilisateurs de Blockly(s)

Blockly@rduino => Améliorations à apporter => Discussion démarrée par: athea22 le juin 15, 2017, 02:44:40 pm

Titre: eeprom adress inexistante
Posté par: athea22 le juin 15, 2017, 02:44:40 pm
bonjours ,
utilisateurs d'ardublock ,j'aimerais vraiment me mettre a blockly,
mais j'ai pas mal de problème ,par exemple ont ne peut pas  adressées les  blocks eeprom, il met 0 par défaut, de plus si j essaie d'éditer  le code pour mettre une adresse ,celle ci se remet a zéro  ???..quelqu'un pourrais t'il m'aider  :-[
Titre: Re : eeprom adress inexistante
Posté par: Bzhtitude le juin 15, 2017, 07:26:22 pm
Bonjour,

Je viens de tester le bloc, tu peux le faire en créant puis définisant une paire de variables. Pas super pratique, je l'accorde.
Titre: Re : eeprom adress inexistante
Posté par: athea22 le juin 15, 2017, 08:46:31 pm
bravo , j'y avais pas pensée merci ! ::)s'est claire que s'est pas le top quand même..... :o
Titre: Re : eeprom adress inexistante
Posté par: Bzhtitude le juin 15, 2017, 08:49:09 pm
Je pense que c'est modifiable ( dans le source ) en regardant de près le format attendu des données... je vais voir si je trouve.

C'est bien ça ...

il y a dans le fichier original "\wwwBlockly@rduino\blocks\storage\storage.js"  une série de

.setCheck(Number)

qu'il faut modifier en

.setCheck("Number")

et ça fonctionne sans soucis :)
Titre: Re : eeprom adress inexistante
Posté par: athea22 le juin 15, 2017, 10:37:23 pm
super ,comment fait'ont pour allez dans s'est fichier source svp :-X
Titre: Re : eeprom adress inexistante
Posté par: Bzhtitude le juin 16, 2017, 12:31:06 am
J'ai la version hors ligne --> blockly@rduinoAIO donc on a tous les fichiers, pour la version en ligne (que je n'utilise pas) , il faut attendre Seb pour une mise à jour.
Titre: Re : eeprom adress inexistante
Posté par: athea22 le juin 16, 2017, 07:01:55 pm
d'accord merci en tous q'ua
je peut faire mon programme maintenant ,
au q'ua ou s'est tu comment faire un étalonnage entre une valeur et une autre ,je crois
que s'est la fonction map ,
dans les block présent il ya juste un block pour forcer une valeur  mais pas de block qui demande valeur mni  a maxi a transformer en un autre mini a maxi  :-\
Titre: Re : eeprom adress inexistante
Posté par: Bzhtitude le juin 16, 2017, 10:41:16 pm
Pour le mapping, si tu tiens à le faire en blocs tu peux :

1) créer la procédure suivante avec les blocs de math: (voir la PJ)

long map(long x, long in_min, long in_max, long out_min, long out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;   
}


2) Créer le bloc :)

ou sinon ajouter une ligne de code avec map(x,in_min,in_max, out_min, out_max);

a+
Titre: Re : eeprom adress inexistante
Posté par: athea22 le juin 17, 2017, 12:18:17 am
merci tu me sauve ,je vais donc bricoler avec ton système de couteaux suisse pas bête du-tous ,au risque d'abuser ,comment faire pour en faire un beau block carré avec des angles droit .... et en plus vert comme dans ardublock que je suis entrain d'abandonner , :-\
j'imagine qu'il ne suffit pas de faire un click droit crée un bloc, coller, et valider ,sa serais trop beaux  :-*
Titre: Re : eeprom adress inexistante
Posté par: athea22 le juin 17, 2017, 12:46:25 am
j'ai fait cette serie de block mais l'ide ne veut pas le compiler

"Arduino : 1.8.0 (Windows 10), Carte : "Arduino Nano, ATmega328"

leCodeGenere-3:334: error: 'Dynamic' does not name a type

Dynamic map2(int x, int in_min, int in_max, int out_min, int out_max) {

^

C:\Users\athea\AppData\Local\Temp\arduino_modified_sketch_111223\leCodeGenere-3.ino: In function 'void thank()':

leCodeGenere-3:197: error: 'map2' was not declared in this scope

   count_thank = map2(count_thank, 0, 50, 0, 100);

                                                ^

C:\Users\athea\AppData\Local\Temp\arduino_modified_sketch_111223\leCodeGenere-3.ino: At global scope:

leCodeGenere-3:334: error: 'Dynamic' does not name a type

Dynamic map2(int x, int in_min, int in_max, int out_min, int out_max) {

^

Plusieurs bibliothèque trouvées pour "EEPROM.h"
Utilisé : C:\Users\athea\Desktop\arduino-master (1)\hardware\arduino\avr\libraries\EEPROM
Non utilisé : C:\Users\athea\Desktop\arduino-master (1)\portable\sketchbook\libraries\A9_Add_EEPROM
exit status 1
'Dynamic' does not name a type

Bibliothèque non valide trouvée dans C:\Users\athea\Desktop\arduino-master (1)\portable\sketchbook\libraries\Adafruit_IO_Arduino : C:\Users\athea\Desktop\arduino-master (1)\portable\sketchbook\libraries\Adafruit_IO_Arduino
Bibliothèque non valide trouvée dans C:\Users\athea\Desktop\arduino-master (1)\portable\sketchbook\libraries\Adafruit_IO_Arduino : C:\Users\athea\Desktop\arduino-master (1)\portable\sketchbook\libraries\Adafruit_IO_Arduino

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
Titre: Re : eeprom adress inexistante
Posté par: Bzhtitude le juin 17, 2017, 11:08:45 am
j'avais pas vu le "dynamic" généré par la procédure, c'est ennuyeux car je ne vois pas ce que c'est...

2 autres pistes pour ton programme

1) refaire une procédure différente avec une variable globale ( en haut de la PJ).
2) Insérer directement la ligne de code avec le map ( ici très simplement) mais sans paramètres du coup (en bas de la PJ).

La solution 3 est de faire son propre bloc, et oui, ça ne se fait pas par magie, il faut un peu de travail. (Si je trouve un peu de temps (mais avec ce soleil... c'est pas facile) je le ferai ce bloc).

http://info.technologiescollege.fr/wiki/doku.php/fr/arduino/blockly_rduino/creerblocsmultiling

Bon courage.
Titre: Re : eeprom adress inexistante
Posté par: SebCanet le juin 17, 2017, 02:56:38 pm
Bonjour,
j'étais de jury depuis plus de 2 semaines, donc décollé de la réalité  ???, mais c'est reparti.
Déjà c'est cool que vous ayez pu avancer sans être bloqués. Je vais essayer de reprendre dans l'ordre :

Ouffff, ben la reprise est dure....  ;D
Titre: Re : eeprom adress inexistante
Posté par: athea22 le juin 17, 2017, 03:18:21 pm
merci de vous penchée la dessus ! ;) s'est des bloques bien utile! ,je préfère bidouiller dans le code pour des truc moins courent ,({de plus s'est dure pour moi ,les block sont bien plus intuitif !!)}

mais ce block sert beaucoup
tous dépend de ce que l'on fait sa va de soit,j'ai lâchée ardublock pour blockly  ,java plantais tous le temp etc la toute est fluide sa fait plaisirs de programmer la dessus
un grand merci a vous ,!
Titre: Re : eeprom adress inexistante
Posté par: SebCanet le juin 17, 2017, 03:52:06 pm
Mise à jour finie ! Merci des test et remarques.
Titre: Re : eeprom adress inexistante
Posté par: Bzhtitude le juin 17, 2017, 04:38:43 pm
Seb, tu es trop rapide, je venais de finir ma version....

J'ai comparé les codes c'est quasi identiques et donc ça fonctionne pour le bloc map().

Pour le type "dynamic" à la sortie d'une procédure , je joins un xml de test.
Titre: Re : eeprom adress inexistante
Posté par: athea22 le juin 17, 2017, 05:48:08 pm
Génial la je dit adieu a ardublock pour de bon  ;D   merci a vous  :) pour la mémoire eeprom sa marche aussi ,ont peut mettre un block de chiffre cette fois ,impeccable !
je teste ce nouveaux block toute a l'heure  ,merci de votre aide ,
Titre: Re : eeprom adress inexistante
Posté par: SebCanet le juin 18, 2017, 01:08:53 pm
Encore heureux que j'aille vite depuis 2 ans que je patauge dans le code  ;D, même si je ne suis pas très rapide vu que ce n'est pas ma spécialité mais au moins je sais quel bloc existant est le plus proche de ce que je veux créer.

Pour le 'Dynamic', bien vu je ne l'avais pas testé depuis qu'il y a le typage automatique  :-[
J'essaie de regarder ça dans la semaine.