Aller au contenu

Anycubic Kobra 3 Combo

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


CacaoTor

Messages recommandés

Petit dossier préparé pour STM, avec une photo en gros plan de mon CPU. Je suis toujours à la recherche du bug, meme si le soft est pour l'instant patche, et vous permet d'imprimer correctement. 

J'ai mis quelques lcd_write data à la fin du code de l'ISR, afin de relire un paquet de registres du timer. Et entre une fin de tache d'IT reussie, qui donne une autre tache d'IT dans les temps, ou bien une fin d'IT qui donne la prochaine IT a 16.3 ms + ( valeur de compare )ms... y'a pas de difference. 

La seule solution restante est que au moment ou le compteur du stepper vaut la valeur du compare... le signal d'IT est masque par autre chose, et du coup le compteur continue de compter, jusqu'a faire un tour complet, et revenir faire un compare, qui declenche une IT. 

Voici mon code en fin de tache d'it du stepper

// Now 'next_isr_ticks' contains the period to the next Stepper ISR - And we are
// sure that the time has not arrived yet - Warrantied by the scheduler
 
// Set the next ISR to fire at the proper time
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CNT);
HAL_timer_set_compare(STEP_TIMER_NUM, hal_timer_t(next_isr_ticks));
//HAL_timer_set_reload(STEP_TIMER_NUM, hal_timer_t(next_isr_ticks));
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CR1);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CR2);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->SMCR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->DIER);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->SR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->EGR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCMR1);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCMR2);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCER);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CNT);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->ARR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCR1);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->DCR);
 
ENABLE_ISRS();
 
LCD_IO_WriteData(next_isr_ticks);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CNT);
}

et en PJ, la capture a l'analyseur logique

la valeur des registres est sur WE front montant. 

Si vous voyez qqchose de faux, prevenez moi..... 

Taux d'erreur 1ppm. 

 

Waveform-3.pdf

Lien vers le commentaire
Partager sur d’autres sites

@CacaoTor @Hobi @Epsylon3 @Fourmi

Hello j'ai fini l'implantation du Touch-MI dans Marlin en tant que vrai sonde, avec tous les checks possible pour éviter de bousiller le BED, cela fonctionne parfaitement. Mais (il en faut au moins un):

  • Hélas, je ne suis qu'un codeur du dimanche, j'aimerais que quelqu'un regarde si mon code est "propre"!
  • J'ai vu que sur GitHub, il y a une branche Touch-MI, cela serait pas mal d'y intégrer les modifications, pour ceux intéressé.
Modifié (le) par sensei73
  • +1 2
Lien vers le commentaire
Partager sur d’autres sites

il y a 6 minutes, Epsylon3 a dit :

git diff origin/master > touchmi.patch

ensuite tu glisses ce fichier texte ici...

okidoki je ferai cela ce soir, tout est imbriqué, j'ai modifié probe.cpp, Conditionals_LCD.h, utility.cpp, SanityCheck.h

Lien vers le commentaire
Partager sur d’autres sites

Merci @sensei73 & @Epsylon3 !
y aurait pas moyen que l'on puisse y remettre le menu sur le Marlin comme ce que j'avais fait ? ça évite d'aller taper du Gcode et pour les neophytes, c'est une épine de moins.

 

51248333_1980786298896429_2362196295851966464_n.jpg

Lien vers le commentaire
Partager sur d’autres sites

Question, on a toujours un souci avec la partie linear advance ?

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, Epsylon3 a dit :

c'est dans le(s) git... merci

et j'ai fait une PR.. tant qu'a faire... https://github.com/MarlinFirmware/Marlin/pull/14101

Tu as bien fait! 

il y a 51 minutes, Fourmi a dit :

Merci @sensei73 & @Epsylon3 !
y aurait pas moyen que l'on puisse y remettre le menu sur le Marlin comme ce que j'avais fait ? ça évite d'aller taper du Gcode et pour les neophytes, c'est une épine de moins.

 

51248333_1980786298896429_2362196295851966464_n.jpg

Honnêtement, je ne sais pas, je jetterai un œil à l’occaz mais je ne promets rien!

Lien vers le commentaire
Partager sur d’autres sites

il y a 28 minutes, boleofr a dit :

Question, on a toujours un souci avec la partie linear advance ?

C'est plus un bug marlin qu'un bug de portage, et en plus, on tombe exactement sur le meme soucis que sans Linear advance . probleme de compteur debile, ou d'IT fantome.

C'est pas corrige pour Linear advance. 

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

Non non, c'est pas corrige 🙂 J'suis breton.... J'vais trouver...;  Et ca a un impact, et va causer d'autres soucis sur linear advance.

Je fais ca en tache de fond. continuez à améliorer le touch mi et le BL touch de votre cote. 

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

Les gars qu'est-ce que vous foutez avec le code ?!

Non mais franchement...

[Un marlin bondit sur un bateau pneumatique et blesse deux hommes]

https://www.20minutes.fr/monde/2524603-20190523-australie-deux-hommes-grievement-blesses-marlin-atterri-pneumatique

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

Oh bhein déja qu'il a failli cramer le salon de @Crzay, et failli foutre le feu dans ma cuisine... Il est violent le marlin!!! 

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

Il y a 3 heures, Fourmi a dit :

Merci @sensei73 & @Epsylon3 !
y aurait pas moyen que l'on puisse y remettre le menu sur le Marlin comme ce que j'avais fait ? ça évite d'aller taper du Gcode et pour les neophytes, c'est une épine de moins.

 

51248333_1980786298896429_2362196295851966464_n.jpg

 

Ca , ce serait le paradis en fait ;-))

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

Patch final de la tache d'IT du stepper envoye dans le git. 

Tout est bien aligne, et ca fonctionne chez moi à l'analyseur logique, et sur le jeton de caddie Alfawise. Sans BL touch, je n'ai pas eu de tete baladeuse. 

Dites moi si tout est OK chez vous. Chez moi... oui! 

PS : la methode d'utilisation du timer est changee, et est plus simple, mais fait exactement ce que le code demande. 

Dans la méthode initiale de codage, qui utilise un canal de capture/compare, le probleme est bien visible, et STM essaye de reproduire le bug. A priori, en regardant une photo macro de mon chip, ils pensent que c'est un vrai, car les copies sont faites d'une maniere bien precise, avec un marquage fait d'une certaine maniere. 

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

@CacaoTor

Bon, fix définitif pour les steppers en place, Touchmi intégré dans le repo, et test d'une version que l'on espère finale pour le BL touch avec possibilité de bouger la pin de servo pour V08 ce soir. 

Donc ça sent une release demain tout ça.... 

 

Questions :

1- Peux tu remettre a jour le codes precompiles sur la page de garde stp? 

2 - maintenant que ca commence a etre bien stable, peux tu demander a nos amis de Alfawise, qui ont a mon avis déjà bien regardé le git, si ils peuvent, à défaut de nous ouvrir les sources du GUI, nous fournir un librairie compilée de leur GUI, pour l’insérer dans notre Marlin??? 

 

PS : Le bug au fin fond du CPU se trouve entre le timer et le controleur NVIC, et nous avons contourné tout le problème en utilisant les timers de manière beaucoup plus simple. 100% de réussite, mais les problèmes de stabilité de Marlin 2 sur d'autres plateformes ARM peuvent venir de la... mais on s'en fiche... 

Modifié (le) par Hobi
  • J'aime 1
  • Merci ! 3
Lien vers le commentaire
Partager sur d’autres sites

Il y a 7 heures, lolvince a dit :

Super taff 😉
bon alors j'attend sagement une nouvelle version pour mon U20+ ^^

Tu peux déjà probablement compiler une version avec le profil de la U20. La taille du plateau est à editer si tu veux profiter de la surface, le reste ça doit pas beaucoup varier. 

Lien vers le commentaire
Partager sur d’autres sites

A part @CacaoTor qui a la tête à l envers nous avons tous des écrans v12.    Et la config du git par défaut est u30 ...

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...