Aller au contenu

GO Print

[Dev] AlfaWise U20x-U30 : Marlin 2.x (firmware alternatif)


CacaoTor

Messages recommandés

Bonjour à tous, @What2104

il y a 19 minutes, What2104 a dit :

.. /.. quitte à changer il serait peut être mieux d'en avoir une qui me permette de faire évoluer mon imprimante dans le futur

Très bonne démarche, je te conseille de regarder du côté des 32 bites (!)

Moi le jour où je pète la mienne, je prendrai ça >>>> 

Après, comme je n'en ai pas une, je ne sais pas si ça va aller avec ton écran

Esque c'est çuilà ? >>>>

Lien vers le commentaire
Partager sur d’autres sites

Question ecran, il y a visiblement une possibilite d'avoir un ecran 320*240 avec Marlin 2.0 :

https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.0.x/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp

Bon maintenant faut comprendre la structure du code, et ou se trouve le driver d'ecran dans marlin. C'est un peu le bordel... J'ai touve du code C dans les headers.... gloups. Faut comprendre ca, et il faut aussi regarder le touch screen.

Une fois que l'on aura tout ca, c'est pas la fin du monde pour recompiler... Enfin j'espere! 

Fondamentalement, il n'y a aucune raison de ne pas pouvoir porter le code.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, Jean-Claude Garnier a dit :

Bonjour à tous, @What2104

Très bonne démarche, je te conseille de regarder du côté des 32 bites (!)

Moi le jour où je pète la mienne, je prendrai ça >>>> 

Après, comme je n'en ai pas une, je ne sais pas si ça va aller avec ton écran

Esque c'est çuilà ? >>>>

Oui j'avais vu cette carte mais le problème est la connectique de mon écran, qui est celui d'origine (Ecran U20) et qui se raccorde avec une nappe (40 fils si je ne dis pas de bêtises)...

Pour le code @Hobi je ne m'y connais pas assez pour savoir comment faire...

Lien vers le commentaire
Partager sur d’autres sites

AMHA le touchscreen on s'en >>>>> un peu.... 

Vu que la plupart des gens se servent d'Octoprint et que c'est vachement bien, un bête écran non tactile ou à la rigueur un reprap full graphics >>> suffit 

 

EDIT : écrit en même temps ! 

il y a 6 minutes, What2104 a dit :

.. /.. le problème est la connectique de mon écran

Oui, je comprends.... C'est plus facile quand on part d'une carte plus basique ou plus ancienne....

Modifié (le) par Jean-Claude Garnier
Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, Jean-Claude Garnier a dit :

AMHA le touchscreen on s'en >>>>> un peu.... 

Vu que la plupart des gens se servent d'Octoprint et que c'est vachement bien, un bête écran non tactile ou à la rigueur un reprap full graphics >>> suffit 

 

EDIT : écrit en même temps ! 

  il y a 47 minutes, What2104 a dit :

.. /.. le problème est la connectique de mon écran

Oui, je comprends.... C'est plus facile quand on part d'une carte plus basique ou plus ancienne....

 

C'est clair que fondamentalement l'écran on s'en fou. C'est plus pour le côté travail fini, et que beaucoup vont râler.

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

Il y a 2 heures, Hobi a dit :

Question ecran, il y a visiblement une possibilite d'avoir un ecran 320*240 avec Marlin 2.0 :

https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.0.x/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp

Bon maintenant faut comprendre la structure du code, et ou se trouve le driver d'ecran dans marlin. C'est un peu le bordel... J'ai touve du code C dans les headers.... gloups. Faut comprendre ca, et il faut aussi regarder le touch screen.

Une fois que l'on aura tout ca, c'est pas la fin du monde pour recompiler... Enfin j'espere! 

Fondamentalement, il n'y a aucune raison de ne pas pouvoir porter le code.

Question compile je confirme, en sa basant sur des bricoles ci et là, notamment pour le HAL, j'ai déjà compilé deux fois et balancé le firmware das la bête.

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

Platform-io charge, mais je n'ai pas encore compile une version "de base". 

Cote écran / touch screen , si les infos postées dans ce thread plus tôt sont correctes, il s'agit d'une dalle 320 240 avec contrôleur IL9341. Il y a sur le schéma de la carte alfawise des pins d'interface pour un contrôleur LCD. Je n'ai pas l'imprimante sous la main, mais il faut trouver le type du controleur de TS. 

 

J'ai trouve ca :

https://www.stm32duino.com/viewtopic.php?t=3477

Le code LCD avec contrôleur il9341  developpe pour une plateforme STM32 qui fait tourner Marlin.... Ca pourrait bien nous arranger. Il comporte aussi le code pour un controleur touch screen XPT2046. Avec un peu de bol, on a le même.... 

 

Creusons creusons...

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

Le 23/02/2019 at 07:08, danielc a dit :

Parce qu'avec un 5e axe j'aurais pu me bricoler un système multi-filaments. Tant pis ce sera pour la prochaine.

Bhein c est possible à rajouter! Un moteur c est l alim, la masse et trois fils de commande courts à souder sur le PCb de la carte mère. Si on arrive à recompiled le code il faut choisir des pins sur le stm32 accessibles ( points de test ou autre) et c’est faisable. Faut avoir un petit fer à souder et être habile de ses mains mais rien d insurmontable...

Lien vers le commentaire
Partager sur d’autres sites

Hello all,

J'ai chargé le code marlin 2.0, et ai démonté le LCD de mon imprimante pour savoir quels sont les chips utilisés sur le TFT / Touchscreen. 

Pour le touchscreen, le petit contrôleur est place au dos du LCD, bien visible. Sur le mien, la référence est BB ADS7843E  https://www.ti.com/lit/ds/symlink/ads7843.pdf.  Et ce qui ressemble à sa copie chinoise , XPT 2046. https://www.buydisplay.com/download/ic/XPT2046.pdf

Pour le contrôleur d’écran, rien n'est directement visible, et j'imagine que le contrôleur est planqué sur le PCB du LCD directement, et non pas sur la plaque de conversion des nappes ( en photo ) . 

Selon un post précédent dans ce fil, le contrôleur serait  un ili9341. C'est un contrôleur de TFT 320*240 . On retrouve à priori une spécification identique au chip STM ST7789V. Le pinout semble correspondre, et quelques posts sur internet semblent également montrer une forte compatibilité. Sacrés chinois...

https://www.newhavendisplay.com/appnotes/datasheets/LCDs/ST7789V.pdf

https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf

Si c'est le cas, c'est une bonne nouvelle, car on trouve dans Marlin 2.0.x un driver primitif pour le 7789V :

u8g_dev_tft_320x240_upscale_from_128x64.cpp > L'image sera moche sur l’écran, mais ça devrait afficher qqchose. 

Il reste une zone d'ombre pour moi avant d'essayer de compiler du code : Quid de l'encodeur vs touchscreen. Je ne suis pas persuadé qu'il soit possible pour l'instant de contrôler les menus avec un touchscreen... Si l'un d'entre vous est plus pointu que moi en Marlin 2.0, c'est le moment de parler!

En conclusion, avec un fichier pins.h que CacaoTor a presque fini, il faut choisir l'option graphique LCD qui va bien, et on devrait rapidement avoir de la vie avec Marlin sur carte U30/U20. Et après, on peut facilement hacker la carte mère pour rajouter un extrudeur, ou bien mettre des drivers Trinamic assez facilement, ou bien même un encodeur ( ça sera quand même du hardware pointu pour ceux qui ne sont pas du métier). 

A+

IMG_1135.jpg

  • Triste... 1
Lien vers le commentaire
Partager sur d’autres sites

Et hop, petite carte mere commandee en chine. Comme ca pas de risque de flinguer mon imprimante, et je vais pouvoir reflasher le code en toute tranquilite! 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 10 heures, Hobi a dit :

Hello all,

J'ai chargé le code marlin 2.0, et ai démonté le LCD de mon imprimante pour savoir quels sont les chips utilisés sur le TFT / Touchscreen. 

Pour le touchscreen, le petit contrôleur est place au dos du LCD, bien visible. Sur le mien, la référence est BB ADS7843E  https://www.ti.com/lit/ds/symlink/ads7843.pdf.  Et ce qui ressemble à sa copie chinoise , XPT 2046. https://www.buydisplay.com/download/ic/XPT2046.pdf

Pour le contrôleur d’écran, rien n'est directement visible, et j'imagine que le contrôleur est planqué sur le PCB du LCD directement, et non pas sur la plaque de conversion des nappes ( en photo ) . 

Selon un post précédent dans ce fil, le contrôleur serait  un ili9341. C'est un contrôleur de TFT 320*240 . On retrouve à priori une spécification identique au chip STM ST7789V. Le pinout semble correspondre, et quelques posts sur internet semblent également montrer une forte compatibilité. Sacrés chinois...

https://www.newhavendisplay.com/appnotes/datasheets/LCDs/ST7789V.pdf

https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf

Si c'est le cas, c'est une bonne nouvelle, car on trouve dans Marlin 2.0.x un driver primitif pour le 7789V :

u8g_dev_tft_320x240_upscale_from_128x64.cpp > L'image sera moche sur l’écran, mais ça devrait afficher qqchose. 

Il reste une zone d'ombre pour moi avant d'essayer de compiler du code : Quid de l'encodeur vs touchscreen. Je ne suis pas persuadé qu'il soit possible pour l'instant de contrôler les menus avec un touchscreen... Si l'un d'entre vous est plus pointu que moi en Marlin 2.0, c'est le moment de parler!

En conclusion, avec un fichier pins.h que CacaoTor a presque fini, il faut choisir l'option graphique LCD qui va bien, et on devrait rapidement avoir de la vie avec Marlin sur carte U30/U20. Et après, on peut facilement hacker la carte mère pour rajouter un extrudeur, ou bien mettre des drivers Trinamic assez facilement, ou bien même un encodeur ( ça sera quand même du hardware pointu pour ceux qui ne sont pas du métier). 

A+

IMG_1135.jpg

 

Merci pour tes infos et ton retour d’expérience.  👍

Moi aussi j'y comprends pas grand chose, un bon tuto et une vidéo serai parfait pour comprendre tout, les garçs.  😉

Lien vers le commentaire
Partager sur d’autres sites

Avant de faire un tuto, faut déjà réussir a faire marcher le bouzin, et ensuite, il faut que cela apporte qqchose, comme le réglage du PID, etc, autrement ça apporte pas grand chose. Et pas sur que l'ergonomie soit aussi sympa que le firmware actuel. Bref, il reste du boulot...

Lien vers le commentaire
Partager sur d’autres sites

Le code est compile avec platformIO , en utilisant pour l'instant la definition de la carte MKS-Robin avec l'option MKS_Robin_TFT qui devrait creer une imag"e monochrome avec gros pixels sur notre joli TFT couleur...

 

CacaoTor, peux tu m'envoyer le fichier Pins.h pour la carte STP. Meme si tu ne l'as pas fini? 

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Il y a 5 heures, Hobi a dit :

CacaoTor, peux tu m'envoyer le fichier Pins.h pour la carte STP. Meme si tu ne l'as pas fini? 

pour appeler quelqu'un place un @ devant le nom ex. @CacaoTor

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

il y a 4 minutes, pascal_lb a dit :

pour appeler quelqu'un place un @ devant le nom ex. @CacaoTor

Et ça fonctionne ^^

@Hobi : Dès qu'on me rend le disque dur externe sur lequel il est, yes.

Et très bon boulot de recherches 🙂 

Je confirme ce que dit @deamoncrack : Y'a pas mal de carte-mère qui traînent sur le forum 😅

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

Ah bhein oui, je le ferai maintenant!... Je suis pas un petit jeune qui connait les méthodes des forums sur le bout des doigts! 

Trop tard pour la carte mere. Elle arrive de chine! 

 

Apres encore quelques recherches, en fait il manque toute l'IHM couleur complete dans Marlin, et ca va pas etre facile de faire qqchose de joli. Tout est concu pour des ecrans 128x64, et pour faire autre chose, il va falloir cree une gestion complete graphique. C'est un peu ce que les ecrans type Nexion font. https://nextion.itead.cc/nextion-shop/

Les commandes haut niveau sont envoyees a l'ecran sur un port serie. Et il y a un controleur / CPU qui se charge de gerer les icones, fenetres, etc.... 

Soit on utulise le zoom 128x64, pour utiliser notre ecran couleur comme un afficheur monochrome 128x64 genre reprap , ou bien c'est beaucoup plus complexe! Donc, faisons SIMPLE!!! 

A+

Lien vers le commentaire
Partager sur d’autres sites

Hehe, c'est formidable internet...

J'ai l'impression que le travail va devenir plus facile. 

La carte MKS-Robin et son écran TFT  ressemble fort à notre carte de U20/U30. Et il y a un POC Marlin qui est écrit pour ce TFT, ET pour le touchscreen avec contrôleur XPT2046 , avec 3 boutons sur l’écran / touch screen pour émuler l'encodeur.... On aurait donc Marlin avec un écran 128x64, plus un encodeur virtuel. Pas mal non? 

J'ai compile cette branche de marlin sous platform_IO.

Le lien :

https://github.com/jmz52/Marlin/tree/a721ccee25b350c9f1a841ea9ffe0454bc40fd1e

La definition des pins est faite dans le HAL du STM32, et pas dans le fichier pins.h. 

u8g_com_stm32duino_fsmc.cpp... 

prochaine etape : verifier le pinout avec notre carte, et egalement faire un check au niveau des ports serie, et de toute la config Marlin, et zou, on charge....

 

A+

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

Progres du jour: 

board u30 cree, avec le fichier pins qui va bien. 

il reste deux zones d ombre:

1/ l interface lcd du stm32 semble configuree en mode intel sur la mks_robin, alors que sur notre schema pour l u30 c est plutot motorola. je vais aller fouiller dans le code du hal. ceci a un impact sur les signaux cs, rd, wr et oe.

2/ l utilisation de deux port spi n est pas claire pour moi. sur le premier port on a une memoire e2prom et la carte sd ( avec des cs differents) et le touch screen est sur le deuxieme port spi. la definition des pins est planquee au fin fond du hal, sauf pour les chips selects qui sont dans le fichier pin.h....pour avoir une premiere version experimentale, il faut activer le port 2 , et j ai pas encore trouve!

3/ ma carte de test est entre singapour et paris! 

A+

Lien vers le commentaire
Partager sur d’autres sites

J'ai tout lu, j'ai rien compris, et maintenant j'ai mal à la tête !!! 🤣

En tout cas je reste admiratif devant le boulot que vous effectuez, c'est du grand art, bravo !!😎

  • Haha 1
Lien vers le commentaire
Partager sur d’autres sites

Le 11/11/2018 at 06:58, CacaoTor a dit :

Salut tout le monde,

Il est bien tôt pour un dimanche, mais je me permet de créer ce sujet quelques minutes après avoir pu pénétrer le cœur de notre imprimante favorite 🙂

DSC_0132_2.thumb.jpg.f8f283b22f472217994c8545fe941aab.jpg

Apparemment je suis le premier pour avoir discuté avec quelques spécialistes. Tout ça pour dire que ça ouvre peut-être des portes sur "l'openification"' de cette machine.

Caractéristiques :

  • Modèle Carte-mère : Longer3D Icecube3 STM32F1 (ça on le savais plus ou moins déjà)
  • OS : µC/OS-III 
  • Type OS : RTOS (Real Time Operating System)
  • Kernel-Release-Date : 05/12/2012
  • Firmware version : 08/10/2018
  • Date de fabrication de la CM : 31/10/2017 (données logicielles)
  • Max BuildSize : 300x300x400mm (on le savait déja, mais ça rassure toujours de voir que c'est bien programmé pour ^^)
  • Fichier de configuration Config.gco
  • BootLoader : OUI. Pas de protection détectée.
  • Environnement de dev : QT

Je note également que la carte était prévue et est même configurée pour le wifi.

Voilà l'aventure commence, et j'espère rapidement pouvoir avancer sur le sujet 🙂 

Petite image

image.thumb.png.05a0a21cff1d5a67351fe0f105ceac4b.png

@CacaoTor as tu remarqué une clef d encryption quelconque pour l’image du firmware? Je commence à regarder si on peut garder le boot loader d origine pour mettre à jour le firmware avec marlin en direct en chargeant le code depuis la sdcard.

Lien vers le commentaire
Partager sur d’autres sites

Petit état d avancement: pins configurées, seconde interface spi sélectionnée et interface graphique aussi. Code recompile. Dès que j ai ma deuxième carte je télécharge et essaye marlin!

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Salut Hobi,

J'ai bien cru ne jamais pouvoir répondre. J'ai beaucoup de choses à faire en ce moment.

Bravo pour tout ce travail on avance ! Il faudrait que je replonge dans la partie technique, ce qui va pas être simple en ce moment.

Non je n'ai pas trouvé de clé, mais le bouzin est bien crypté de mémoire. De plus, il me semble que l'écriture est interdite sur tout ou partie de l'emplacement mémoire.

Pour flasher, STlink obligatoire en V2. De plus, pas mal de compilateurs ont foirés J'ai utilisé NanoFactory pour la bonne compile et écrire. Je m'appuie aussi de STM32 Programmer pour être tranquille.

Si tu as les sources, je peut tester la manip sur une CM que j'ai en stock.

EDIT : Si on arrive enfin à sortir un Marlin dessus, excepté le coup des drivers soudés, cela en fera vraiment la machine parfaite.

Modifié (le) par CacaoTor
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
×
×
  • Créer...