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

eeprom adress inexistante

Démarré par athea22, juin 15, 2017, 02:44:40 pm

« précédent - suivant »

athea22

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  :-[

Bzhtitude

juin 15, 2017, 07:26:22 pm #1 Dernière édition: juin 15, 2017, 07:28:16 pm par Bzhtitude
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.

athea22

bravo , j'y avais pas pensée merci ! ::)s'est claire que s'est pas le top quand même..... :o

Bzhtitude

juin 15, 2017, 08:49:09 pm #3 Dernière édition: juin 15, 2017, 09:03:35 pm par Bzhtitude
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 :)

athea22

super ,comment fait'ont pour allez dans s'est fichier source svp :-X

Bzhtitude

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.

athea22

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  :-\

Bzhtitude

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+

athea22

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  :-*

athea22

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.

Bzhtitude

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.

SebCanet

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 :

  • storage.js : corrigé, merci à Bzhtitude ;
  • la version en ligne est hébergée sur mon compte, donc non modifiable directement, il fat que je valide une modif comme celle de Bzhtitude, sinon vous téléchargez tout Blockly@rduino en local pour le modifier ;
  • pour la fonction map, je l'avais simplifié juste pour les entrées analogiques, je vais le rajouter dans 'conversions', merci de l'idée ;
  • le design des blocs n'est pas facilement modifiable, et ça risquerait d'être à refaire à chaque mise à jour du core de Blcokly ;
  • pour les couleurs des blocs, tout est dans '\blocks\blocks_colors.js' ;
  • pour le 'Dynamic', tu peux envoyer le fichier xml correspondant ou une capture d'écran que je comprenne d'où ça sort ???

Ouffff, ben la reprise est dure....  ;D

athea22

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 ,!

SebCanet

Mise à jour finie ! Merci des test et remarques.

Bzhtitude

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.