Aller au contenu

GO Print

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


Messages recommandés

Bonjour à tous, 

 

j'essaie de compiler ma version de marlin pour ma u20 mais je rencontre des problèmes de compilation sous visual studio code.

 

J'ai installé visual studio code, gcc et g++, python , git, platform io, stm32 en version 5.0.3 , marlin telechargé sur le github, et les varaiables pour python et c++ rentré dans path.

Je charge le projet dans platform io  et j'ai déja un message d'erreur me disant qu'il manque le dossier include dans mon répertoire marlin. 0 la limite suffit de le creer. Je modifie le fichier platform pour mettre  mon alfawise u20 

default_envs = alfawise_U20

et changé l'ecran pour mettre dtsv11

# Alfawise U20/LK1
#
[env:alfawise_U20]
platform      = ststm32
framework     = arduino
board         = genericSTM32F103VE
monitor_speed = 250000
extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
#upload_protocol = stlink
debug_tool    = stlink
build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
  ${common.build_flags} -std=gnu++14 -USERIAL_USB
  -DDEBUG_LEVEL=0
  -DSTM32F1xx -DU20 -DTS_V11

J'ai aussi vérifié la valeur de la thermistance pour etre sur qu'elle est à 1 car j'ai une aio evo.

Je vais dans run build task, je choisis alkfawise u20, je laisse mouliner le bouzin pendant un moment et là j'ai des erreurs de compilation sur des fichiers que je n'ai pas tocuhé :

ci-dessous les erreurs :

 

ompiling .pio\build\alfawise_U20\libd28\Adafruit_MAX31865\Adafruit_MAX31865.cpp.o
Compiling .pio\build\alfawise_U20\lib60a\Arduino-L6470\L6470.cpp.o
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp: In member function 'bool Adafruit_I2CDevice::read(uint8_t*, size_t, bool)':
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:160:79: error: no matching function for call to 'TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)'
   size_t recv = _wire->requestFrom((uint8_t)_addr, (uint8_t)len, (uint8_t)stop);
                                                                               ^
In file included from C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/Wire.h:42:0,
                 from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214/Adafruit_I2CDevice.h:1,
                 from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:1:
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:101:11: note: candidate: uint8 WireBase::requestFrom(uint8, int)
     uint8 requestFrom(uint8, int);
           ^~~~~~~~~~~
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:101:11: note:   candidate expects 2 arguments, 3 provided
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:106:11: note: candidate: uint8 WireBase::requestFrom(int, int)
     uint8 requestFrom(int, int);
           ^~~~~~~~~~~
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:106:11: note:   candidate expects 2 arguments, 3 provided
*** [.pio\build\alfawise_U20\libca4\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp.o] Error 1
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp: In member function 'void Adafruit_SPIDevice::transfer(uint8_t*, size_t)':
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:99:31: error: no matching function for call to 'SPIClass::transfer(uint8_t*&, size_t&)'
     _spi->transfer(buffer, len);
                               ^
In file included from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:1:0,
                 from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:1:
Marlin\src\HAL\STM32F1/SPI.h:268:11: note: candidate: uint8_t SPIClass::transfer(uint8_t) const
   uint8_t transfer(uint8_t data) const;
           ^~~~~~~~
Marlin\src\HAL\STM32F1/SPI.h:268:11: note:   candidate expects 1 argument, 2 provided
*** [.pio\build\alfawise_U20\libca4\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp.o] Error 1
In file included from .pio\libdeps\alfawise_U20\Adafruit_MAX31865\Adafruit_MAX31865.cpp:17:0:
.pio\libdeps\alfawise_U20\Adafruit_MAX31865\Adafruit_MAX31865.h:84:32: warning: passing NULL to non-pointer argument 1 of 'Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t, uint32_t, BitOrder, uint8_t, SPIClass*)' [-Wconversion-null]
   Adafruit_SPIDevice spi_dev = NULL;
                                ^~~~

 

D'avance merci pour votre aide

Dubidon

Lien vers le commentaire
Partager sur d’autres sites

Le 03/07/2020 at 17:01, Dubidon a dit :

Bonjour à tous, 

 

j'essaie de compiler ma version de marlin pour ma u20 mais je rencontre des problèmes de compilation sous visual studio code.

 

edit: j'ai essayé de comprendre ce qu'il se passait car quand je pars de la version de marlin du github de @Hobi en lien sur le 1er message de ce poste, je n'ai aucun problème de compilation et tout passe bien. Par contre quand je prends la version 2.0.5.3 du github de  tanguy pruvot accédé depuis le lien de la video youtube de egalistel, il semblerait qu'il y ait eu des modifications et un ajout de librairie qui empeche maintenant la compilation avec un appel à une librairie adafruit. 
Quand je compare les 2 versions de marlin sur celle qui se compil, la librairie n'a pas été implémentée.

@Hobi et/ou @CacaoTor pouvez vous me dire si la version en lien est bien la 2.0.5.3 fonctionnel ? J'aimerais bien partir directement sur la dernière version la plus stable pour ma u20 ecran v1.1

 

D'avance merci pour votre aide

 

 

 

Le 03/07/2020 at 17:01, Dubidon a dit :

J'ai installé visual studio code, gcc et g++, python , git, platform io, stm32 en version 5.0.3 , marlin telechargé sur le github, et les varaiables pour python et c++ rentré dans path.

Je charge le projet dans platform io  et j'ai déja un message d'erreur me disant qu'il manque le dossier include dans mon répertoire marlin. 0 la limite suffit de le creer. Je modifie le fichier platform pour mettre  mon alfawise u20 

default_envs = alfawise_U20

et changé l'ecran pour mettre dtsv11

# Alfawise U20/LK1
#
[env:alfawise_U20]
platform      = ststm32
framework     = arduino
board         = genericSTM32F103VE
monitor_speed = 250000
extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
#upload_protocol = stlink
debug_tool    = stlink
build_flags   = !python Marlin/src/HAL/STM32F1/build_flags.py
  ${common.build_flags} -std=gnu++14 -USERIAL_USB
  -DDEBUG_LEVEL=0
  -DSTM32F1xx -DU20 -DTS_V11

J'ai aussi vérifié la valeur de la thermistance pour etre sur qu'elle est à 1 car j'ai une aio evo.

Je vais dans run build task, je choisis alkfawise u20, je laisse mouliner le bouzin pendant un moment et là j'ai des erreurs de compilation sur des fichiers que je n'ai pas tocuhé :

ci-dessous les erreurs :

 

ompiling .pio\build\alfawise_U20\libd28\Adafruit_MAX31865\Adafruit_MAX31865.cpp.o
Compiling .pio\build\alfawise_U20\lib60a\Arduino-L6470\L6470.cpp.o
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp: In member function 'bool Adafruit_I2CDevice::read(uint8_t*, size_t, bool)':
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:160:79: error: no matching function for call to 'TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)'
   size_t recv = _wire->requestFrom((uint8_t)_addr, (uint8_t)len, (uint8_t)stop);
                                                                               ^
In file included from C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/Wire.h:42:0,
                 from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214/Adafruit_I2CDevice.h:1,
                 from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:1:
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:101:11: note: candidate: uint8 WireBase::requestFrom(uint8, int)
     uint8 requestFrom(uint8, int);
           ^~~~~~~~~~~
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:101:11: note:   candidate expects 2 arguments, 3 provided
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:106:11: note: candidate: uint8 WireBase::requestFrom(int, int)
     uint8 requestFrom(int, int);
           ^~~~~~~~~~~
C:\Users\damien\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/utility/WireBase.h:106:11: note:   candidate expects 2 arguments, 3 provided
*** [.pio\build\alfawise_U20\libca4\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp.o] Error 1
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp: In member function 'void Adafruit_SPIDevice::transfer(uint8_t*, size_t)':
.pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:99:31: error: no matching function for call to 'SPIClass::transfer(uint8_t*&, size_t&)'
     _spi->transfer(buffer, len);
                               ^
In file included from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:1:0,
                 from .pio\libdeps\alfawise_U20\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:1:
Marlin\src\HAL\STM32F1/SPI.h:268:11: note: candidate: uint8_t SPIClass::transfer(uint8_t) const
   uint8_t transfer(uint8_t data) const;
           ^~~~~~~~
Marlin\src\HAL\STM32F1/SPI.h:268:11: note:   candidate expects 1 argument, 2 provided
*** [.pio\build\alfawise_U20\libca4\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp.o] Error 1
In file included from .pio\libdeps\alfawise_U20\Adafruit_MAX31865\Adafruit_MAX31865.cpp:17:0:
.pio\libdeps\alfawise_U20\Adafruit_MAX31865\Adafruit_MAX31865.h:84:32: warning: passing NULL to non-pointer argument 1 of 'Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t, uint32_t, BitOrder, uint8_t, SPIClass*)' [-Wconversion-null]
   Adafruit_SPIDevice spi_dev = NULL;
                                ^~~~

 

D'avance merci pour votre aide

Dubidon

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

je confirme les problèmes citéz par @Dubidon

Les anciennes sources (Marlin 2 beta) sont compilable sans problème.

Les nouvelles sources (2.0.5.3) (re télécharger pour être sur) provoques exactement les meme erreurs. J'ai meme essayé en désinstallant Visual Studio code et plateforme IO, j'a essayé en réinstallant les version 4.0.3 de plateformeIO avec la lib 5.3 de STM32 => ne fonctionne pas non plus

Après mise à jour, Plateforme IO en 4.3.4 et stm32 en 7.0, meme choses, les anciennes sources (Marlin 2 beta) sont compilable sans problème mais pas les dernières

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

@oranginam , après pas mal de recherche et relecture, la solution a en fait été proposée une page avant sur ce même sujet par @joe123456 que je remercie grandement d'ailleurs.

Il faut remplacer la ligne 35 du fichier platformio.ini pour mettre la bonne version de la librairie adafruit. voici sa réponse :

 

 

Le bug vient de la librarie Adafruit_MAX31865 v.1.2.0, dans l'attente d'un correctif,

Il faut modifier le fichier platformio.ini

Adafruit_MAX31865=https://github.com/adafruit/Adafruit_MAX31865/archive/master.zip
to
Adafruit_MAX31865=https://github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip

 

@++

Dubidon

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

  • 3 weeks later...

Bonjour,

Je me suis décidé à installer Marlin sur mon Alfawise u30. L'installation s'est bien passée (V1.2) par contre j'ai un soucis avec mon axe Z. Quand je souhaite revenir au home, le X se place bien, le Y aussi puis j'ai 2s de délai (pendant lequel le Z ne fait rien). Puis l'extrudeur se déplace rapidement sur X et Y dans la direction opposée au homing... En vidéo :

 

Avez vous une idée ?

Pour info j'ai remis le fimware Alfawise et je n'ai pas de soucis avec le homing du Z.

Merci par avance !

Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

Bonjour

J'ai un collègue qui 'adonné une une U20 car il n'arrive pas pas a la refaire

Il a changé l'ecran car il ne s'allumait plus et il a changer la carte aussi par la suite car toujours pas d'ecran

J'ai voulu réinstaller via la carte SD mais rien ne se passe

Avez-vous un schéma de câblage de la carte au cas ou il y ai une inversion a quelque pars

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

salut à tous!

tout d'abord merci pour ce travail! je suis en train de suivre le tuto pour et je rencontre un petit soucis, lorsque je tente de compiler, je clique sur run build task il ne me propose pas "build alfawise U20" ni aucun autre alfawise d'ailleurs. j'ai essayé de relire plusieurs fois le tuto, je ne vois pas ce que j'ai loupé est ce que quelqu'un sait d'où cela peut venir?

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...
Le 06/03/2021 at 23:24, billedeclown01 a dit :

salut à tous!

tout d'abord merci pour ce travail! je suis en train de suivre le tuto pour et je rencontre un petit soucis, lorsque je tente de compiler, je clique sur run build task il ne me propose pas "build alfawise U20" ni aucun autre alfawise d'ailleurs. j'ai essayé de relire plusieurs fois le tuto, je ne vois pas ce que j'ai loupé est ce que quelqu'un sait d'où cela peut venir?

Salut,

j'ai également le même soucis, pourtant j'avais déjà fait des compilations avec le firmware 2.0.5.3, ça ne fonctionne plus depuis les mises à jour.

J'ai remplacer la ligne adafruit au cas où mais ça persiste, et je ne peut pas compiler le firmware fait par @Hobi

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

Bonjour à tous

regardant les firmware de longer 3d pour la U20, j'ai eu la surprise de trouver cela

https://www.support.longer3d.com/lk1-firmware-download-2

avec un firmware Beta marlin 2.......

est ce que la U20 serait elle passé en marlin2

avec mes salutations à tous

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...
  • 2 weeks later...

Bonjour,

Je reviens vers vous car j'ai un problème.

J'ai été obligé de ré-installer VSC avec tout ce qu'il faut en suivant le tuto vidéo d' Egalistel

 

seulement au moment de compiler rien ne se passe, quand je cliques sur terminal puis build, un petite champ s'ouvre pour faire une recherche.

La version VSC est VSCodeUserSetup-x64-1.58.2

le GIt est 2.9.0.0

et le python est le 3.6.

platformIO 2.3.2

STM32 fot VScode 3.1.3

Voici un message d'erreur:

[25/07/2021, 18:15:55] Impossible de résoudre la configuration avec le compilerPath "C:/Users/cnc/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc.exe"
[25/07/2021, 18:15:55] Impossible de résoudre la configuration avec le compilerPath "C:/Users/cnc/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc.exe"

Et ceci est constamment en chargement: PlatformIO: Rebuilding IntelliSense Index

Diiity

Lien vers le commentaire
Partager sur d’autres sites

bonjour a tous 

Voila j'ai une alfawise u30 et je voudrais la passer sous Marlin 

mais la version derrière mon écran et ( MY-28TP-VER 1.4 2019/03/06 )

dans le tuto il parle de la version 1.1 et 1.2 est que je pourrai mètre marlin et surtout comment ?

merci de vaux réponse    

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je ne suis pas une tête dans ce domaine mais je tenterai avec la version 1.2, si ça ne fonctionne pas tu peux toujours revenir en arrière avec la version d'origine.

Diiity

Lien vers le commentaire
Partager sur d’autres sites

la seule difference est la rotation du touchscreen par rapport à l'ecran... mais maintenant on peut calibrer manuellement au besoin... faut juste cliquer ailleurs sur l'ecran si c'est mal configuré... TS_V12 TS_V11 et TS_V19 (2019) sont juste les 3 types de rotations (ou mirroir x/y) constatés

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

  • 4 weeks later...

Hello tout le monde

j'ai une alfawise u20 et j'aimerais la passer sur marlin je voulais d'abord essayer la méthode sans compilation juste le flash

mais je n'ai que trouve le fichier avec bl-touch j'ai apprès essaye de compiler moi même une version mais j'ai se code d'erreur dans visual code quand je lance le build :

.pio\libdeps\alfawise_U20\TMCStepper\src\source\TMC2208Stepper.cpp: In member function 'void TMC2208Stepper::beginSerial(uint32_t)':
.pio\libdeps\alfawise_U20\TMCStepper\src\source\TMC2208Stepper.cpp:39:14: error: 'class SoftwareSerial' has no member named 'end'; did you mean 'read'?
    SWSerial->end();
              ^~~
              read
.pio\libdeps\alfawise_U20\TMCStepper\src\source\TMC2208Stepper.cpp: In member function 'void TMC2208Stepper::postReadCommunication()':
.pio\libdeps\alfawise_U20\TMCStepper\src\source\TMC2208Stepper.cpp:182:14: error: 'class SoftwareSerial' has no member named 'end'; did you mean 'read'?
    SWSerial->end();
              ^~~
              read
*** [.pio\build\alfawise_U20\lib046\TMCStepper\source\TMC2208Stepper.cpp.o] Error 1
============================================================================================================ [FAILED] Took 6.24 seconds ============================================================================================================
Environment    Status    Duration
-------------  --------  ------------
alfawise_U20   FAILED    00:00:06.239
====================================================================================================== 1 failed, 0 succeeded in 00:00:06.239 ====================================================================================================== 

j'ai cherche mais j'ai rien trouve sur cette erreur

merci d'avance pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

Le 29/08/2021 at 16:46, Epsylon3 a dit :

tu n'as pas la bonne config ou le bon git, il n'y a pas de drivers TMC sur l'alfawise U20

Je suis dans le même cas et pourtant j'ai suivi tout les liens correctement pour une U30...

Le tuto ne fonctionne plus 🤷‍♂️

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

Oui bon, je suis un peu mauvaise langue, ca fonctionne mais...

Il faut :

-Modifier le platformio.ini en commentant le build_flags -fmax-errors=5 pour l'exclure

-Modifier .pio/libdeps/alfawise_U30/TMCStepper/src/source/TMC2208Stepper.cpp pour passer 'SWSerial -> end()' en SWSerial -> read()  (le faire a deux endroits différents)

Seulement a ce moment on peut compiler

 

Edit : en vérifiant on est meme pas obligé de virer le build_flags si on modifier le TMC2208Stepper.cpp

Modifié (le) par Krapace
Correction
  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...
Le 31/08/2021 at 19:48, Krapace a dit :

Oui bon, je suis un peu mauvaise langue, ca fonctionne mais...

Il faut :

-Modifier le platformio.ini en commentant le build_flags -fmax-errors=5 pour l'exclure

-Modifier .pio/libdeps/alfawise_U30/TMCStepper/src/source/TMC2208Stepper.cpp pour passer 'SWSerial -> end()' en SWSerial -> read()  (le faire a deux endroits différents)

Seulement a ce moment on peut compiler

 

Edit : en vérifiant on est meme pas obligé de virer le build_flags si on modifier le TMC2208Stepper.cpp

Bonjour à tous,

J'ai voulu passer à marlin sur ma U20+ et j'ai eu le même problème que Krapace:

modification ligne 39 et 182 

fichier .pio/libdeps/alfawise_U20_PLUS/TMCStepper/src/source/TMC2208Stepper.cpp pour passer 'SWSerial -> end()' en SWSerial -> read()


Merci à toi pour cette solution.

Lien vers le commentaire
Partager sur d’autres sites

eventuellement je pourrais ajouter lib_ignore = TMCStepper dans les sections alfawise

c'est bien le repo tpruvot que vous compilez ?

si oui ca doit etre un reste d'un autre projet car cette lib n'est pas incluse/construite normalement pour nous... 

dans ini/stm32f1-maple.ini
lib_ignore    = SPI, FreeRTOS701, FreeRTOS821, TMCStepper

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

  • 3 weeks later...
Le 21/10/2021 at 21:42, Epsylon3 a dit :

eventuellement je pourrais ajouter lib_ignore = TMCStepper dans les sections alfawise

c'est bien le repo tpruvot que vous compilez ?

si oui ca doit etre un reste d'un autre projet car cette lib n'est pas incluse/construite normalement pour nous... 

dans ini/stm32f1-maple.ini
lib_ignore    = SPI, FreeRTOS701, FreeRTOS821, TMCStepper

Salut,

ben oui , j'ai suivi le Tuto....

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