Aller au contenu

Anycubic Kobra 3 Combo

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


CacaoTor

Messages recommandés

Il faut regarder au dessus pour voir quelle est l erreur! Utilisez l ascenseur sur le côté de la fenêtre. 

 

Je je viens de recompiler la dernière version prototype du code et ça marche ( là compensation de la première couche par BL touch marche très mal!!) 

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

Avant de faire une rc1 il faudrait que le leveling marche! Et c est pas le cas! 

Rc1 ou pas ça change d ailleurs pas grand chose pour les utilisateurs...

Lien vers le commentaire
Partager sur d’autres sites

il y a 23 minutes, Epsylon3 a dit :

compare par toi meme 😉

Tu as tout à fait raison, si personne ne test vous n'allez pas pouvoir délibérer seul.

Mais je découvre seulement Marlin, je ne pourrais donc pas vous apporter grand chose, et de plus je n'ai actuellement pas de soucis leveling.

Mais honnêtement, au stade actuel, en dehors du fait d'avoir pu ajouter un BL-Touch, je ne vois pas vraiment d’intérêt à passer sur Marlin...

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

Marlin ca apporte deja 250K sur le port serie. Alfawise sait pas faire ca.... Les PIDs modifiables a loisir, pour changer de tetes. 

Et pour le bltouch, ca doit pas etre un gros probleme a regler. Apres, a vous de voir. J'ai imprime un tube de 200mm de diametre, et la ca a quand meme marche. 

Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, Epsylon3 a dit :

en tout cas va falloir synchroniser nos 2 repo sous peu, car ca commence a etre tres différent en structure et nom des fichiers

Je pense également. Il est déjà difficile de s'y retrouver et de compiler les versions adaptées aux différents types de matériel, alors si en plus on doit tester sur plusieurs repos...

Lien vers le commentaire
Partager sur d’autres sites

le but du repo de hobi c'est de rester assez stable pour ne pas changer tous les jours...

et concernant les soucis du bltouch antlabs, c'etait aussi présent sur "l'ancien..." du mois dernier

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

Éclairez moi svp, actuellement il y n'existe que 2 repos pour l'Alfawise ?

Celui de Hobi, que l'on peut considérer comme le plus stable ? : https://github.com/hobiseven/Marlin_2.0.X_Beta_Alfawise_Ux0

Et celui d'Epsylon3, moins stable, mais qui suit plus quotidiennement l’évolution du Marlin 2.x beta de base ? : https://github.com/tpruvot/Marlin

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Epsylon3 a dit :

en tout cas va falloir synchroniser nos 2 repo sous peu, car ca commence a etre tres différent en structure et nom des fichiers

J’ai bien vu! Et dans un tuto à jour ça sera la cata!

 

@CacaoTor prêt à absorber une tonne de changements? 

Lien vers le commentaire
Partager sur d’autres sites

[mention=19613]Themys[/mention] c est tout a fait possible de faire moins austère comme interface! Le processeur a beaucoup de marge, le lcd sait faire et il reste de la mémoire. 
L interface extensible est dispo dans marlin ( ext_ui de memoire) . Il faudrait porter littlegv qui est une librairie pour ce genre de chose et qui gère les icônes , boutons et autres ainsi que le touch screen. 
Mais j ai assez donné! Je laisse ceci pour les autres! 
@Hobi, j'ai beaucoup reçu de la communauté pour améliorer mon U30, je vais essayer d'en donner aussi. [emoji6]
j'ai réussi a intégrer et compiler littlevgl dans platformio sur le profil de l'U30. Tu pourrais me filer 2, 3 pistes sur quels fichiers sources (ou Doc Marlin) pour attaquer le driver graphique spécifique aux alfawise, stp ?

Envoyé de mon ONEPLUS A5010 en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

@sinseman44 Ton message me fait bien plaisir! 

Compiler dans platrofmio, OK, parfait. 

 

Pour l'interface avec Marlin, il y a deux chantiers

Le frame buffer, et son interface, ainsi que le touchscreen resistif. 

 

Pour le touchscreen, @Epsylon3 pourra te donner les infos, car il a recemment modifie l'architecture du code pour creer une feature dans Marlin. J'avais tout mis dans deux fichers qui s'appellent XPT2046.h et .cpp. Dans le dernier repo de dev de Epsylon, c'est dans core/features/touch.  Le touchscreen fonctionne en pooling, et pas sur interrupt. Ca peut etre modifie facilement au cas ou. Le SPI est en soft pour des problemes d'affectation de broches, car Alfawise a fait une erreur lors du routage de la carte. 

Pour l'ecran, Le code actuel est en fait est un patch qui consiste en :

1/ initialisation du 9341 ( tu peux tout garder, et tu auras meme pas besoin de lire la spec du chip) , puis affichage des boutons en bas de l'ecran, au debut. Apres cela n'est pas refait car cela ne change jamais...

2/ Prendre la sortie DOGM en 128x64 et faire un zoom en dupliquant les pixels par deux pour avoir la zone centrale qui fait 256x128 

3/ Affichage des icones dynamiques rajoutees par Epsylon 3. 

Tout  est dans u8_dev_tft_320x240_upscal_from_128x64.cpp

 

Tu as aussi la gestion et l'ecriture de rectangles de données avec la fonction :

void drawImage(const uint8_t *data, u8g_t *u8g, u8g_dev_t *dev, uint16_t length, uint16_t height, uint16_t color)

Et il est possible d'utiliser le DMA pour charger les données. C'est un peu plus rapide, genre 1.5 fois plus rapide que le CPU. Tout le code est dans le fichier en question, et le code low level, est dans le HAL STM32F1 : u8g_com_stm32duino_fsmc.cpp. A priori rien ne doit etre change, mais c'est la que les fonctions low level sont definies. 

C'est toute cette partie du code (sauf dans le HAL) qu'il faut retravailler. Les donnees affichees sont prises dans DOGM, et je suis pas aller fouiner la dedans car cela n'etait pas necessaire. Mais il faudra recuperer les memes infos. Et j'ai l'impression que c'est un peu le bordel...

Soit tu recodes et cree un nouveau type d'interface TFT320240 directement au meme niveau que DOGM, soit tu utilises "extensible_UI" qui devrait pouvoir aussi aider. Je ne suis pas alle plus loin de mon cote, car l'interface austere, mais fonctionelle a permis d'avoir qqchose qui fonctionne rapidement! 

Pour porter LittlevGL, l fonction draw image est si je ne me trompe tres proche de ce que tu veux faire. En effet, c'est un acces au frame buffer en direct qui est dans l'ecran. Il n'y a pas de frame buffer dans le CPU. Pas assez de place. 

Reste ensuite a recuperer les infos, et les afficher dans le icones, ou bien les boutons/ messages etc. 

 

Pour stocker les icones, tu devras utiliser je pense la memoire flash de 64Mbit qui est dispo sur la carte. Epsylon a prepare le code, mais pas sur que ca soit teste. Je pense que cette memoire flash est initialisee par le bootloader Alfawise, en copiant le fichier Longer3d.UI qui est sur la carte SD au boot,... A verifier. 

 

Pour finir, tu peux chercher dans le forum Marlin, car il me semble qu'un codeur travaille sur extensible_UI...

 

Commence donc a regarder un peu tout ca! 

 

A+

Lien vers le commentaire
Partager sur d’autres sites

[mention=17793]sinseman44[/mention] Ton message me fait bien plaisir! 
Compiler dans platrofmio, OK, parfait. 
 
Pour l'interface avec Marlin, il y a deux chantiers : 
Le frame buffer, et son interface, ainsi que le touchscreen resistif. 
 
Pour le touchscreen,@Epsylon3 pourra te donner les infos, car il a recemment modifie l'architecture du code pour creer une feature dans Marlin. J'avais tout mis dans deux fichers qui s'appellent XPT2046.h et .cpp. Dans le dernier repo de dev de Epsylon, c'est dans core/features/touch.  Le touchscreen fonctionne en pooling, et pas sur interrupt. Ca peut etre modifie facilement au cas ou. Le SPI est en soft pour des problemes d'affectation de broches, car Alfawise a fait une erreur lors du routage de la carte. 
Pour l'ecran, Le code actuel est en fait est un patch qui consiste en :
1/ initialisation du 9341 ( tu peux tout garder, et tu auras meme pas besoin de lire la spec du chip) , puis affichage des boutons en bas de l'ecran, au debut. Apres cela n'est pas refait car cela ne change jamais...
2/ Prendre la sortie DOGM en 128x64 et faire un zoom en dupliquant les pixels par deux pour avoir la zone centrale qui fait 256x128 
3/ Affichage des icones dynamiques rajoutees par Epsylon 3. 
Tout  est dans u8_dev_tft_320x240_upscal_from_128x64.cpp
 
Tu as aussi la gestion et l'ecriture de rectangles de données avec la fonction :
void drawImage(const uint8_t *data, u8g_t *u8g, u8g_dev_t *dev, uint16_t length, uint16_t height, uint16_t color) Et il est possible d'utiliser le DMA pour charger les données. C'est un peu plus rapide, genre 1.5 fois plus rapide que le CPU. Tout le code est dans le fichier en question, et le code low level, est dans le HAL STM32F1 : u8g_com_stm32duino_fsmc.cpp. A priori rien ne doit etre change, mais c'est la que les fonctions low level sont definies. 
C'est toute cette partie du code (sauf dans le HAL) qu'il faut retravailler. Les donnees affichees sont prises dans DOGM, et je suis pas aller fouiner la dedans car cela n'etait pas necessaire. Mais il faudra recuperer les memes infos. Et j'ai l'impression que c'est un peu le bordel...
Soit tu recodes et cree un nouveau type d'interface TFT320240 directement au meme niveau que DOGM, soit tu utilises "extensible_UI" qui devrait pouvoir aussi aider. Je ne suis pas alle plus loin de mon cote, car l'interface austere, mais fonctionelle a permis d'avoir qqchose qui fonctionne rapidement! 
Pour porter LittlevGL, l fonction draw image est si je ne me trompe tres proche de ce que tu veux faire. En effet, c'est un acces au frame buffer en direct qui est dans l'ecran. Il n'y a pas de frame buffer dans le CPU. Pas assez de place. 
Reste ensuite a recuperer les infos, et les afficher dans le icones, ou bien les boutons/ messages etc. 
 
Pour stocker les icones, tu devras utiliser je pense la memoire flash de 64Mbit qui est dispo sur la carte. Epsylon a prepare le code, mais pas sur que ca soit teste. Je pense que cette memoire flash est initialisee par le bootloader Alfawise, en copiant le fichier Longer3d.UI qui est sur la carte SD au boot,... A verifier. 
 
Pour finir, tu peux chercher dans le forum Marlin, car il me semble qu'un codeur travaille sur extensible_UI...
 
Commence donc a regarder un peu tout ca! 
 
A+
@Hobi, super merci pour toutes ces infos. Ça va m'aider a me dépatouiller dans toutes ces sources.
Je pense également que "extensible_ui" peut être une bonne approche (en théorie). Je vais approfondir sur ce sujet.
Au boulot ... [emoji13]


Envoyé de mon ONEPLUS A5010 en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

@Epsylon3 Bonsoir d'abord : la politesse 😊..

Quand je regarde sur GIT Çà https://github.com/MarlinFirmware/Marlin/commit/45bde333d594b7a7031780acad88c9af80dde026

Je pense que c'est que temporaire. (oups, c'est lisible maintenant que je me relis)

Une question : J'ai proposé (il faut trouver le temps pour le faire) de travailler sur ce firmware (UXX)  : @Hobi @Epsylon3 Quel repo utiliser comme source à jour ?

Ensuite, sera il possible d'avoir un droit d'écriture ? (Pour une branche perso) ?

Ensuite ... Au boulot 😉

Modifié (le) par bracame
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...