sensei73 Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 (modifié) 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) Mai 17, 2020 par sensei73
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 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 ?
sensei73 Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 (modifié) 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) Mai 17, 2020 par sensei73
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 (modifié) 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) Mai 17, 2020 par Hobi
sensei73 Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 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"
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 (modifié) 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[] = { 0x00, 0x00, 0x00, 0x00, /*Color of index 0*/ 0x34, 0x9a, 0xf4, 0xff, /*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) Mai 17, 2020 par Hobi
sensei73 Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 Ok je pige mieux maintenant! Et comment définir le blanc en tant que couleur transparante?
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 (modifié) Orange opaque : 0x34, 0x9a, 0xf4, 0xff, Orange transparent : 0x34, 0x9a, 0xf4, 0x00, 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) Mai 17, 2020 par Hobi
sensei73 Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 (modifié) used: 7920 ( 33 %), frag: 1 %, biggest free: 16652 1ko d'écart sans aucunes images.... j'y comprends rien! chaque image en c fait 75ko... Modifié (le) Mai 17, 2020 par sensei73
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 Quand les images ne sont pas transformées ça passe en direct sans allocation mémoire. As tu des canevas dans ton code?
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 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
sensei73 Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 il y a 54 minutes, Hobi a dit : Quand les images ne sont pas transformées ça passe en direct sans allocation mémoire. As tu des canevas dans ton code? aucun
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 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...
Hobi Posté(e) Mai 17, 2020 Posté(e) Mai 17, 2020 Déplacements et homing XYZ connectés. Ça fonctionne. Il reste plus qu'a tester le print!! Le code grossit doucement... 279Kb.
_2020_ Posté(e) Mai 18, 2020 Posté(e) Mai 18, 2020 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!
Hobi Posté(e) Mai 18, 2020 Posté(e) Mai 18, 2020 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.
_2020_ Posté(e) Mai 18, 2020 Posté(e) Mai 18, 2020 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!
Hobi Posté(e) Mai 18, 2020 Posté(e) Mai 18, 2020 (modifié) 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) Mai 18, 2020 par Hobi
_2020_ Posté(e) Mai 18, 2020 Posté(e) Mai 18, 2020 Savoir si quelqu’un l a deja fait, avec toutes les fonctionnalités... ou a essaye. Le power loss recovery ne reagit pas comme escompté!
Hobi Posté(e) Mai 18, 2020 Posté(e) Mai 18, 2020 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 ???
Hobi Posté(e) Mai 18, 2020 Posté(e) Mai 18, 2020 @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.
sensei73 Posté(e) Mai 19, 2020 Posté(e) Mai 19, 2020 (modifié) @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) Mai 19, 2020 par sensei73
Hobi Posté(e) Mai 19, 2020 Posté(e) Mai 19, 2020 (modifié) 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) Mai 19, 2020 par Hobi
Hobi Posté(e) Mai 19, 2020 Posté(e) Mai 19, 2020 @sensei73 vscode + platformio était indiqué comme pas supporté? tu fais tourner ça dans une vm/windows sur ton mac?
sensei73 Posté(e) Mai 19, 2020 Posté(e) Mai 19, 2020 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
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant