Aller au contenu

GO Print

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


CacaoTor

Messages recommandés

Ah en effet si le boîtier pris en compte n est pas le bon ça va pas marcher! J ai suivi la méthode utilisée pour les autres cartes mais en effet pour nous le profil est un stm32f103ze générique et pas sûr que le boîtier soit le bon... damned. Je vérifie ça!

Lien vers le commentaire
Partager sur d’autres sites

Le port série ca peut deja aider pas mal... au moins tu peux lire certains gpios en theorie.

J'ai pas encore osé toucher au stlink... je me remets dans le bain avec un ESP 😛

https://drive.google.com/file/d/1g3cOYCwftL2bi_1vJ_7ky3AQeO2c-H2y/view?usp=sharing

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

Il y a 14 heures, CacaoTor a dit :

Très rapidement @Hobi, j'ai remarqué que tu as fait ton pins.h avec les noms logique du STM32. Grosse erreur, j'ai utilisé leurs numéros de pins...

Il faut faire une association Datasheet <> Carte-mère, et pins réels 😕 

Ça peut tout expliquer.

Par exemple PB13 donne 52.

Helllooo,

bon bhein j'ai fait une bêtise, car j'ai pas pris le bon boitier, et du coup, les affectations de pins sont fausses.... J'ai eu du bol que le port série marche! Nous avons un STM32F103VE ( 100 pins), et j'avais un profil STM32F103ZE... ( 144 pins) . Normal d'avoir des problèmes!.

Et du coup il faut exclure du fichier FSMC les définitions des pins qui ne sont pas présentes sur le boitier 100 broches.  Un petit essai ce soir prevu! 

Dammned, une pile de bugs! 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, Hobi a dit :

Helllooo,

bon bhein j'ai fait une bêtise, car j'ai pas pris le bon boitier, et du coup, les affectations de pins sont fausses.... J'ai eu du bol que le port série marche! Nous avons un STM32F103VE ( 100 pins), et j'avais un profil STM32F103ZE... ( 144 pins) . Normal d'avoir des problèmes!.

Et du coup il faut exclure du fichier FSMC les définitions des pins qui ne sont pas présentes sur le boitier 100 broches.  Un petit essai ce soir prevu! 

Dammned, une pile de bugs! 

Ah ouai quand même 😅

Pourtant en première page... LQFP100 😛 

Lien vers le commentaire
Partager sur d’autres sites

Un petit point vite fait.

> Flag "disable Debug" a supprimer dans le fichier des pins, pour garder la mainavec le ST Link apres lancement du code

> Nettoyage de la definition des pins d'adresse de l'interface TFT pour un boitier 100 broches. 

Debuggage dans plaftormIO en cours. Il y a un bug qui empeche l'initialisation complete. Une des differences entre cette carte Alfawise, et les autres est que le port SPI2 est utilise par le touch screen, alors que tout est en SPI 1 visiblement sur les autres. Petite adaptation a prevoir. 

On continue ce soir!

Lien vers le commentaire
Partager sur d’autres sites

Ben je viens de lire les 8 pages et j'ai compris un mot sur 3 ^^

A la base je cherche le moyen de piloter mon U30 avec repetier host et repetier server, vous pensez que c'est possible avec votre marlin modifié ?

Et une question en passant pour le nouveau que je suis, le flash ça se fait avec une carte SD ? et il y a moyen de le faire au câble USB ?

Merci pour votre travail titanesque en tout cas !

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

le but c est d avoir un software marlin qui se comporte  exactement comme un marlin. Je ne connais pas repetier donc je peux pas trop commenter. 

Pour télécharger le code pour l instant cela se fait grâce à une interface “stlink v2”. On trouve sur eBay des copies chinoises pour quelques euros. D un côté ça se branche sur usb et de l autre il y a 4 fils à brancher sur la carte. 

Je réutilise 99% du travail fait par d autres ( le code marlin deja modifié) et 1% d adaptation de ma part pour la configuration de la carte. Croisons les doigts! 

Lien vers le commentaire
Partager sur d’autres sites

est-ce que vous utilisez CubeMX ?

C'est un outil puissant de chez ST pour leur uC.

Les codeurs là où je travaille l'utilise tout le temps et moi ça me permet de choisir les broches du composant lorsque je designe une carte électronique.

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

Bonsoir

 

non car marlin utilise platformio comme environnement de développement et il y a déjà plein de code écrit pour stm32f1. Et platformio est pas mal , en tout cas comparé à un environnement arduino.

 

a+

Lien vers le commentaire
Partager sur d’autres sites

il y a 40 minutes, Ganesha0581 a dit :

est-ce que vous utilisez CubeMX ?

C'est un outil puissant de chez ST pour leur uC.

Les codeurs là où je travaille l'utilise tout le temps et moi ça me permet de choisir les broches du composant lorsque je designe une carte électronique.

Moi oui, et nanoFactory pour compile/balancer Marlin. Il n'y a que comme ça que j'avais eu un truc correct.

nano à servis à l'origine pour le portage Marlin 1.1.x en 32bits. Voir ici

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

Petit progres du jour.

Toute la phase d'initialisation est correcte. Pour ne pas avoir de hard fault, il faut decrire les pins dans le fichier pins.h par rapport à leur fonction, genre

#define FSMC_CS_NE1 PD7 // PD7 or 88

et non pas 88.... Pourquoi? No idea! 

Il y a encore un crash apres l'initialisation, mais ca avance ! 

start
echo:PowerUp
Marlin bugfix-2.0.x

echo: Last Updated: 2018-01-20 | Author: Hobi, Alfawise Ux0
echo:Compiled: Mar 13 2019
echo: Free Memory: 55711  PlannerBufferBytes: 1344
echo:Queue setup done

echo:Hardcoded Default Settings Loaded
echo:  G21    ; Units in mm (mm)
echo:  M149 C ; Units in Celsius

echo:Filament settings: Disabled
echo:  M200 D1.75
echo:  M200 D0
echo:Steps per unit:
echo:  M92 X80.00 Y80.00 Z4000.00 E500.00
echo:Maximum feedrates (units/s):
echo:  M203 X300.00 Y300.00 Z5.00 E25.00
echo:Maximum Acceleration (units/s2):
echo:  M201 X3000.00 Y3000.00 Z100.00 E10000.00
echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
echo:  M204 P3000.00 R3000.00 T3000.00
echo:Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>
echo:  M205 B20000.00 S0.00 T0.00 X10.00 Y10.00 Z0.30 E5.00
echo:Home offset:
echo:  M206 X0.00 Y0.00 Z0.00
echo:Material heatup parameters:
echo:  M145 S0 H200 B60 F0
echo:  M145 S1 H250 B100 F0
echo:PID settings:
echo:  M301 P22.20 I1.08 D114.00
echo:  M304 P10.00 I0.02 D305.40
echo:settings loaded

echo:M206 passed

Et apres... plantage.

Prochain update ce week end!

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

@CacaoTor

Bonjour, 

Peux tu demander à nos amis de chine la confirmation du driver d'ecran dans le petit LCD STP? 

Marlin boot et tourne, reagi aux commandes envoyees sur le port serie, mais le LCD est tou blanc, et ca peut venir du controleur legerment different d'un LCD à l'autre. ILI9341? ST7789V? ou autre. Il y a 6 controleurs possibles...

 

Merci.

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Hobi a dit :

@CacaoTor

Bonjour, 

Peux tu demander à nos amis de chine la confirmation du driver d'ecran dans le petit LCD STP? 

Marlin boot et tourne, reagi aux commandes envoyees sur le port serie, mais le LCD est tou blanc, et ca peut venir du controleur legerment different d'un LCD à l'autre. ILI9341? ST7789V? ou autre. Il y a 6 controleurs possibles...

 

Merci.

I will. A noter que les U20/U30 n'ont pas toute le même écran et donc drivers. Attention au piège.

Bon ba si il tourne et qu'il ne reste "que" l'écran c'est déjà beaucoup beaucoup mieux.

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

@CacaoTor

Pas grave, j'ai maintenant un bout de code qui permet de detecter le type de controleur utilise. 6 modeles differents . Je charge ca ce soir, et j'essaie. Si ca marche je posterai l'exe + code ici. Comme ca tu pourras regarder sur ta carte.

Question : As tu pu avoir acces à la flash sans effacer le chip? J'ai merde, et tout efface en direct. Une image de la flash d'origine serait bien pour remettre les cartes "en etat" avec le bootloader d'origine. 

A+

Lien vers le commentaire
Partager sur d’autres sites

Je galere un peu pour controler le LCD avec le port FMSC du STM32. Passage a l'analyseur logique car il y a un truc que je controle mal... timings? Bref, une traque au bug classique... Ca tombe bien, une de mes copines travaille chez Tektronix... ;-) 

Donc, ca avance doucement... 

Ce qui rend la chose un peu delicate c'est la dimension des connecteurs. Brancher une sonde d'analyseur c'est pas facile avec les tout petits fils. 

 

A+

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

bonjour

je m'excuse de de poser  une question HS, mais il me semble pourtant que c'est ici que je pourrais trouver les réponses  adéquates...

J'ai une U20 depuis quelques jours et j'ai essayé d'imprimer par usb avec s3d....impossible !!!

les moteurs bougent, le lit et la buse chauffent (sans monitoring de température)  mais dès que je lance l'impression rien  et meme cela arrete tout

 

question est ce que cette carte permet l'impression par usb et si oui comment  ?

encore une fois excusez moi du HS

Lien vers le commentaire
Partager sur d’autres sites

Le 15/03/2019 at 16:33, Hobi a dit :

Question : As tu pu avoir acces à la flash sans effacer le chip? J'ai merde, et tout efface en direct. Une image de la flash d'origine serait bien pour remettre les cartes "en etat" avec le bootloader d'origine. 

La flemme à l'époque 😅 Sinon pas de réponse de nos amis.

Hé bien on a pas les mêmes copines 🤣

Lien vers le commentaire
Partager sur d’autres sites

il y a 42 minutes, amonteff a dit :

bonjour

je m'excuse de de poser  une question HS, mais il me semble pourtant que c'est ici que je pourrais trouver les réponses  adéquates...

J'ai une U20 depuis quelques jours et j'ai essayé d'imprimer par usb avec s3d....impossible !!!

les moteurs bougent, le lit et la buse chauffent (sans monitoring de température)  mais dès que je lance l'impression rien  et meme cela arrete tout

 

question est ce que cette carte permet l'impression par usb et si oui comment  ?

encore une fois excusez moi du HS

Salut,

Le sujet a été abordé nombre de fois dans la catégorie AlfaWise.

Ce que tu décrit est une maladie caractéristiques de nos imprimantes. La longer3D ne fais pas mieux en communication USB. Il faudrait que l'USB attaque le SPI directement pour avoir de meilleurs débits. Ou bien ton drivers sur ton PC n'est pas bon.

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

@CacaoTor la copine en question est plutôt bien placée 🙂 

le Fmsc est pas simple et en plus y’en à qui prennent leur pied à développer du code en c++ imbitable.....

Même un bête accès à un registre se transforme en discours de geek.... mais ça avance doucement ! 

Lien vers le commentaire
Partager sur d’autres sites

@CacaoTor

Premiere seance de debug avec analyseur 8 voies.  Le code d'init de Marlin fait ce qu'il doit faire, et la lecture du registre d'ID du controleur de LCD est faite correctement par le code, mais la valeur retournee par le LCD n'est pas celle attendue. 

switch(lcdId) {
case 0x1505: Serial1.println("LCD Controller: R61505U"); sprintf(controller, "R61505U"); break;
case 0x8552: Serial1.println("LCD Controller: ST7789V"); sprintf(controller, "ST7789V"); break;
case 0x8989: Serial1.println("LCD Controller: SSD1289"); sprintf(controller, "SSD1289"); break;
case 0x9325: Serial1.println("LCD Controller: ILI9325"); sprintf(controller, "ILI9325"); break;
case 0x9328: Serial1.println("LCD Controller: ILI9328"); sprintf(controller, "ILI9328"); break;
case 0x9341: Serial1.println("LCD Controller: ILI9341"); sprintf(controller, "ILI9341"); break;
case 0x0404: Serial1.println("No LCD Controller detected"); break;
default: Serial1.print("LCD Controller: Unknown (0x"); Serial1.print(data & 0xFFFF, HEX); Serial1.println(")"); sprintf(controller, "Unknown"); break;
}

Normalement, on devrait avoir en lisant le registre d'identification du controleur une ID qui correspond au type de chip utilise dans LCD, mais on obtient 0.... Et c'est pas bon. 

Prochaine etape : connection de toutes les broches du LCD sur un gros analyseur logique pour comprendre quel est le chip controleur utilise dans le LCD, et espionner les trames de commandes envoyees par le code Alfawise. 
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...