Aller au contenu

GO Print

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


CacaoTor

Messages recommandés

il y a 11 minutes, Hobi a dit :

Bhein c est simple, on va mettre tout ton code dans une branche de test et on compile ! Mets donc un zip ici avec ton code lvgl stp!

Ok, je regarde ce soir ou demain, il faut que je fasse un peu de nettoyage et de remise en forme... c'est vraiment pas propre! 😳 j'ai honte!

A quoi correspond ces indications qui défilent quand le simulateur tourne?

used:   8760 (  7 %), frag:   1 %, biggest free: 122308
Modifié (le) par sensei73
Lien vers le commentaire
Partager sur d’autres sites

Bonne question . Ça ressemble à l utilisation de la ram. Il y a un garbage collector si je ne me trompe pas. Aurais tu 128kb de défini dans lv_conf.h ? 

Lien vers le commentaire
Partager sur d’autres sites

il y a 5 minutes, Hobi a dit :

Bonne question . Ça ressemble à l utilisation de la ram. Il y a un garbage collector si je ne me trompe pas. Aurais tu 128kb de défini dans lv_conf.h ? 

effectivement, 

#  define LV_MEM_SIZE    (128U * 1024U)

on a le droit à combien? 

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

24!! 

Edit : D'ou mes remarques pour les icones en noir et blanc, ou bien deja en couleurs sans avoir a reserver de la RAM... compromis a faire! 240Kb environ de flash. 

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

OUpss!! (avec 24ko en config)

used:   8760 ( 36 %), frag:   1 %, biggest free:  15812

On peut pas tricher sur les icônes, les indexer en 2 ou 4 couleurs et dire que le blanc est transparent?

Car la je suis en "true color with alpha"

Lien vers le commentaire
Partager sur d’autres sites

C'est exactement ce que je voulais dire! En fait j'ai redessine les icones des fleches pour avoir juste 2 couleurs, celle de la fleche, et celle du fond que j'ai definie comme transparente. 

Une fleche comme ca, c'est 218 bytes :

Le header pour la couleur

const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_UPARROW uint8_t uparrow_map[] = {
  0x000x000x000x00,   /*Color of index 0*/
  0x340x9a0xf40xff,   /*Color of index 1*/

La couleur 0 est transparente. 

Et en bas du fichier 

 

const lv_img_dsc_t uparrow = {
  .header.always_zero = 0,
  .header.w = 36,
  .header.h = 42,
  .data_size = 218,
  .header.cf = LV_IMG_CF_INDEXED_1BIT,
  .data = uparrow_map,

uparrow.c

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

Orange opaque : 

0x340x9a0xf40xff,

Orange transparent

0x340x9a0xf40x00,

C'est le 4 eme byte qui change tout. Tu peux même faire des échelles de transparence > 0x80, tu verras à moitie le fond ( même si il y a des motifs), et a moitié le motif... 😉

Edit, blanc opaque : 0xff,0xff,0xff,0xff blanc transparent 0xff,0xff,0xff,0x00.

Les bytes sont dans l'ordre RGBT sauf erreur de ma part. Re edit... ça doit être BGRT.... attends, je vérifie

Edit 2 : C'est bien BRGT

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

Quand les images ne sont pas transformées ça passe en direct sans allocation mémoire. 
As tu des canevas dans ton code? 

Lien vers le commentaire
Partager sur d’autres sites

Je vais comparer avec mon gui ultra minimaliste... faut que je charge ça dans le simulateur. 
 

je fais un clean de scr* dès que les icônes disparaissent de l écran 

Lien vers le commentaire
Partager sur d’autres sites

Ok.

Bon, j'ai corrige le manque d'inclusion dans namespace Extui... C'est du C++ et plus du C :-(. Purée c'est d'un complique ce code. 

Bref, après ca, j'ai enfin eu le premier mouvement avec le menu move! 

Le test du print se rapproche. Par contre, j’étais en vacances cette semaine, et demain, retour au teletaff.... Ca ira moins vite. Mais on va bientôt pouvoir se régaler à faire des belles icones... 

Lien vers le commentaire
Partager sur d’autres sites

Déplacements et homing XYZ connectés. Ça fonctionne. Il reste plus qu'a tester le print!! 

Le code grossit doucement... 279Kb. 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,
J ai cherche un peu (peut être passez...) si il y a un sujet equivalent pour la U30Pro sous Marlin2.0.
Je n ai pas trouve, est ce parce qu'il n existe pas ou quelqu'un peut il me rediriger?


J ai fais ma propre config U30Pro pour Marlin2.0, tout a l air de fonctionner pour l'instant.

Je travaille sur le portage du pilote écran pour communiquer avec l ecran d'origine sans modifier partout dans le code Marlin comme Longer 3d l avait fait dans Marlin1.1.9...

Les ecrans de base sont ok, carte SD ok, reste recovery et changement de filament a faire.
Je suis peut etre en train de refaire du travail deja fait, ce serait bete!

Lien vers le commentaire
Partager sur d’autres sites

Bhein j'ai fait moi même l'interface écran sur base d'un code existant. il n'y a rien d'utilisable sur U30 pro, qui est basée sur un AVR il me semble. Nous utilisons une interface 16bits parallèle pour piloter l’écran. Cela s'appelle FSMC sur les STM32. 

Il est possible ( pas toujours le cas) d'avoir plus de layer shift avec des AVR en 2.0. Il faut tester; et retester. 

Apres, pour interface LVGL avec Marlin, c'est pas très dur. Il faut juste faire 4 bouts de code ( display, touch, timer et debug) qui vont parler au TS/LCD. Tout dépend de l’écran qui se trouve en face. tout est bien explique sur le site littlevgl.com 

Toute l'interface et la lib LVGL se greffe sur extui. L'api est dans le code 2.0.5.3. 

Si vous arrivez a construire l'interface avec votre lcd, toute la partie Marlin + LGVL sera reutilisable, aux performances CPU pres + memoire. 

On a 256Kb de flash et 24Ko de ram dispo sur notre systeme. 

Lien vers le commentaire
Partager sur d’autres sites

J ai greffe le code LGT_SCR au dessus de l API ExtUI, ca fonctionne sans probleme, pas besoin de librairie supplémentaire ni de modifier le core de Marlin!

La seule chose c est que les ecrans restent  les memes a moins de modifier le code DWIN... et leur SDK est sous windows 32bits, suis sous macos 64 bits donc va falloir chercher un laptop windows a la déchèterie!

Lien vers le commentaire
Partager sur d’autres sites

Donc quelle est ta demande??? 

Edit : L'architecture des U30 est differente des U30 Pro. Le TFT est gere par le seul et unique CPU qui fait tourner aussi marlin. le TFT est "bete". Pas de CPU dedans. 

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

Porter Marlin 2 sur un CPU? Si c'est la question ca fait plus d'un an que ca a commence... 

Powerloss recovery? Pas sur que nous ayons teste. Je ne m'en souviens plus exactement, car on a debuggé et essayé tellement de choses...;

@sensei73 @Epsylon3 ??? 

Lien vers le commentaire
Partager sur d’autres sites

@sensei73

Bonne nouvelle, il est possible de changer le couleurs des images sans buffer, et on pourra comme ca grapiller de la memoire si necessaire, et meme mettre des icones plus belles du coup. 

J'essaye de compiler l'exemple sur le simulateur, mais c'est tout noir pour l'instant: 

https://docs.lvgl.io/v7/en/html/widgets/img.html

Avec un peu de chance, tout va tenir dans la memoire. 

Au passage, ils viennent de faire la release de la lib V7... mais les appels des fonctions changent un peu. 

Je continue en 6.1.2, et on verra à la fin. 

Envoie ton code quand tu pourras, je suis très curieux de voir ce que ca donne en vrai. C'est plutot joli avec le passage d'un tab a un autre en glissant. 

Lien vers le commentaire
Partager sur d’autres sites

@Hobi Héhé je suis en train de réécrire , en plus propre, le menu tient dans 6ko de ram pour l'instant , et justement je manipule les images en alpha. Je réussi a faire tourner le simulateur sur Visual Studio code via platform.io, beaucoup plus simple et clair pour coder! 

Je me suis fais avoir hier soir, quand je consultais la doc et je ne comprenais pas pourquoi certains calls ne marchaient pas...J'ai mis du temps a comprendre que je regardais la doc V7, alors que le simulateur tourne en v6....Donc je reste en v6 tant qu'il n'y pas de simulateur en v7, il n'y aura pas beaucoup de changement a faire pour faire tourner en v7.

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

En v7 tu peux sans utiliser de canevas , en direct, faire pivoter les images . Donc une seule flèche par exemple pour le move, coloriée en orange vert bleu ... idem pour le home, etc! 
je vais charger la v7 dans le repo. 
 

t’es sur le simu tourne pas en v7???

re edit : tu me dis v6 ou v7 et je fais ou pas le changement 

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

@sensei73

vscode + platformio était indiqué comme pas supporté? 
tu fais tourner ça dans une vm/windows sur ton mac? 

Lien vers le commentaire
Partager sur d’autres sites

il y a 8 minutes, Hobi a dit :

@sensei73

vscode + platformio était indiqué comme pas supporté? 
tu fais tourner ça dans une vm/windows sur ton mac? 

nope en natif 😎

essaye d'ouvrir avec vscode, je te file le fichier, car je ne trouve plus le lien (erreur 404), ils sont en train de tout changer!

 

lv_platformio-master.zip

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