Aller au contenu

GO Print

DE et LCD12864


Invité

Messages recommandés

Bonsoir 🙂

j'ai évoqué furtivement dans certains de mes messages le montage d'une Disco Easy à partir de pièces de Discovery et de pièces neuves  achetées à droite et à gauche. 

J'ai acheté une carte MKS base 1.5 ainsi qu'un LCD12864. 

J'ai trouvé la bonne configuration et mon écran fonctionne parfaitement avec Marlin 2.0 :

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#define ST7920_DELAY_1 DELAY_NS (0) 
#define ST7920_DELAY_2 DELAY_NS (250) 
#define ST7920_DELAY_3 DELAY_NS (250)

Problème, avec le Marlin by Dagoma ça ne passe pas 😕 il y aurait-il une âme charitable pour m'aider SV.P. ? 

Merci par avance

In file included from sketch\ultralcd.cpp:79:0:

sketch\ultralcd.cpp: In function 'void lcd_prepare_menu()':

ultralcd.cpp:1264:22: error: 'MSG_PREPARE_ADVENCED' was not declared in this scope

   MENU_ITEM(submenu, MSG_PREPARE_ADVENCED, lcd_prepare_advanced_menu);

                      ^

sketch\dogm_lcd_implementation.h:589:113: note: in definition of macro 'lcd_implementation_drawmenu_submenu'

 #define lcd_implementation_drawmenu_submenu(sel, row, pstr, data) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0])

                                                                                                                 ^~~~

sketch\ultralcd.cpp:226:7: note: in expansion of macro '_MENU_ITEM_PART_1'

       _MENU_ITEM_PART_1(type, label, ## args); \

       ^~~~~~~~~~~~~~~~~

sketch\ultralcd.cpp:1264:3: note: in expansion of macro 'MENU_ITEM'

   MENU_ITEM(submenu, MSG_PREPARE_ADVENCED, lcd_prepare_advanced_menu);

   ^~~~~~~~~

sketch\ultralcd.cpp:1264:22: note: suggested alternative: 'MSG_PREPARE'

   MENU_ITEM(submenu, MSG_PREPARE_ADVENCED, lcd_prepare_advanced_menu);

                      ^

sketch\dogm_lcd_implementation.h:589:113: note: in definition of macro 'lcd_implementation_drawmenu_submenu'

 #define lcd_implementation_drawmenu_submenu(sel, row, pstr, data) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0])

                                                                                                                 ^~~~

sketch\ultralcd.cpp:226:7: note: in expansion of macro '_MENU_ITEM_PART_1'

       _MENU_ITEM_PART_1(type, label, ## args); \

       ^~~~~~~~~~~~~~~~~

sketch\ultralcd.cpp:1264:3: note: in expansion of macro 'MENU_ITEM'

   MENU_ITEM(submenu, MSG_PREPARE_ADVENCED, lcd_prepare_advanced_menu);

   ^~~~~~~~~

Plusieurs bibliothèque trouvées pour "U8glib.h"
Utilisé : C:\Users\Computer\Documents\Arduino\libraries\U8glib
exit status 1
'MSG_PREPARE_ADVENCED' was not declared in this scope
Modifié (le) par Invité
Lien vers le commentaire
Partager sur d’autres sites

il y a 16 minutes, Bakatora a dit :

T'es sur que c'est 'ADVENCED'? 

En replaçant tous les 'ADVENCED' par 'ADVANCED' ça donne quoi ? 

Merci pour ta réponse rapide @Bakatora

J'ai téléchargé Marlin depuis le github de Dagoma via https://dist.dagoma.fr/ 
À part les 3 lignes que je cite je n'ai absolument rien touché, tout est d'origine.
J'ai modifié les  'ADVENCED' par 'ADVANCED' comme tu as suggéré mais j'ai toujours des erreurs  à la vérification 😕

In file included from sketch\ultralcd.cpp:79:0:

sketch\ultralcd.cpp: In function 'void lcd_prepare_menu()':

ultralcd.cpp:1264:22: error: 'MSG_PREPARE_ADVANCED' was not declared in this scope

   MENU_ITEM(submenu, MSG_PREPARE_ADVANCED, lcd_prepare_advanced_menu);

                      ^

sketch\dogm_lcd_implementation.h:589:113: note: in definition of macro 'lcd_implementation_drawmenu_submenu'

 #define lcd_implementation_drawmenu_submenu(sel, row, pstr, data) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0])

                                                                                                                 ^~~~

sketch\ultralcd.cpp:226:7: note: in expansion of macro '_MENU_ITEM_PART_1'

       _MENU_ITEM_PART_1(type, label, ## args); \

       ^~~~~~~~~~~~~~~~~

sketch\ultralcd.cpp:1264:3: note: in expansion of macro 'MENU_ITEM'

   MENU_ITEM(submenu, MSG_PREPARE_ADVANCED, lcd_prepare_advanced_menu);

   ^~~~~~~~~

sketch\ultralcd.cpp:1264:22: note: suggested alternative: 'MSG_PREPARE'

   MENU_ITEM(submenu, MSG_PREPARE_ADVANCED, lcd_prepare_advanced_menu);

                      ^

sketch\dogm_lcd_implementation.h:589:113: note: in definition of macro 'lcd_implementation_drawmenu_submenu'

 #define lcd_implementation_drawmenu_submenu(sel, row, pstr, data) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0])

                                                                                                                 ^~~~

sketch\ultralcd.cpp:226:7: note: in expansion of macro '_MENU_ITEM_PART_1'

       _MENU_ITEM_PART_1(type, label, ## args); \

       ^~~~~~~~~~~~~~~~~

sketch\ultralcd.cpp:1264:3: note: in expansion of macro 'MENU_ITEM'

   MENU_ITEM(submenu, MSG_PREPARE_ADVANCED, lcd_prepare_advanced_menu);

   ^~~~~~~~~

Plusieurs bibliothèque trouvées pour "U8glib.h"
Utilisé : C:\Users\Computer\Documents\Arduino\libraries\U8glib_Arduino-master
exit status 1
'MSG_PREPARE_ADVANCED' was not declared in this scope
Modifié (le) par Invité
Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, Bakatora a dit :

Ah dommage je pensais à une erreur de copié collé ^^;

Mais sur le site ils proposent des firmwares personnalisés et déjà compilés en .hex.

Tu as essayé je suppose ? 

Non je n'ai pas encore essayé, justement je cherchais. Je vais peut être devoir m'y résoudre car je ne code pas et si je ne tombe pas sur la bonne personne ça va être compliqué. Si on gagne des fonctions + ou - utiles avec les firmwares personnalisés on perd parfois certaines fonctions comme la pause et la possibilité de personnaliser sa machine 😕 

Lien vers le commentaire
Partager sur d’autres sites

J''avais eu ce genre de souci du jour au lendemain en essayant de compilé un marlin pour plateau chauffant.

La solution de mon coté était d'etre revenu a une version de Arduino antérieur.

Tente de prendre un marlin dagoma simple, de ne pas le toucher du tout et de lancer la compilation.

Si tu as les mêmes erreur c'est, selon moi, un souci de ton arduino

Lien vers le commentaire
Partager sur d’autres sites

J'ai testé moultes versions D'arduino mais à tous les coups quelques chose ne va pas ( il faut C++11 pour tel truc, l faut version 1.6 minimum pour un autre .. ). 
Si je ne touche à rien, que je laisse les fichiers dans leur état, la version Dagoma passe à tous les coups. 
C'est ma modification qui entraîne le problème dans le MArlin by Dagoma. 
Au pifomètre j'ai supprimé la ligne  :
MENU_ITEM(submenu, MSG_PREPARE_ADVENCED, lcd_prepare_advanced_menu);
Mes modifications passent et sont compilées mais ne sont pas prises en compte car l'affiche reste tronqué.
Je suis persuadé que c'est un simple problème de configuration puisqu'il fonctionne très bien avec Marlin 2.0 et mes modifications.

Modifié (le) par Invité
Lien vers le commentaire
Partager sur d’autres sites

Re, 

L'erreur de compilation venait surement de ma version de l'ide arduino, j'ai essayé plusieurs versions mais j'ai fais l'erreur de ne pas redémarrer mon ordinateur entre deux. Ce matin en réessayant ( donc l'ordi à redémarré entre 2)  aucune erreur de compilation avec une version d'origine de Marlin by Dagoma et ma modification mais l'écran n'allait toujours pas. J'ai poursuivi mes recherches et je suis tombé sur ce fil de discussion https://github.com/MarlinFirmware/Marlin/issues/3815

Mon écran et son lecteur SD fonctionne désormais parfaitement. Voici donc ce qui a fonctionné dans mon cas si ça peut servir :
1) Installer "U8glib" dans la bibliothèque de l'ide arduino 
2) dé commenter la ligne "#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER" dans Configuration.h
3) inclure la bibliothèque "U8glib" en début du fichier Configuration.h : #include "U8glib.h"
4) Désactiver "#pragma GCC optimize (3)" dans le fichier ultralcd_st7920_u8glib_rrd.h ( : //#pragma GCC optimize (3)

Je n'ai pas eu besoin d'inverser le sens des nappes. 

L'écran en question

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

juste comme ça...  ne penses tu pas que ça pourrait être l'erreur habituelle de l'inversion de cable?...  enfin, pas inversion dans le sens EXT1 a la place de EXT2 et inversement, mais le coup de faire un 180° du connecteur de la nappe? avec juste le détrompeur a sauter. 😉  C'est souvent le cas lorsque que l'on achete un LCD autre que celui de Dago. 🙂

Modifié (le) par Badmax
Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...