Buenas tardes;
Estoy intentando compilar marlin 2.0 bugfix en mi anet a8 con su placa de origen,
el problema me viene cuando a la hora de verificar antes de poder subirlo a la placa me da el siguiente error:
C:\Users\Kevin\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc.exe: The filename or extension is too long.
Error compilando para la tarjeta Anet V1.0.
No tengo nada extra activado, por no tener ni he puesto el Autolevel, que puede ser el fallo?
Un saludo.
Las últimas versiones de Marlin hay que compilarlas con visual studio code, arduino se queda corto
09-02-2023, 10:14 PM
(Última modificación: 09-02-2023, 10:16 PM por Simemart.)
Hola, ese error era bastante frecuente con el IDE de Arduino cuando salió Marlin 2 y se debe a que durante la compilación, se genera una orden de línea de comandos que excede el tamaño máximo de caracteres permitido: ¿qué versiones estás utilizando de Windows y del IDE de Arduino?
Utilizar la 2.0-bugfix de Marlin no tiene mucho sentido, es mejor que uses la última con corrección de errores (2.1.x): con Windows 10 y el IDE de Arduino 1.8.19 compila sin problemas.
Conviene que tanto el IDE de Arduino, como la carpeta del Marlin a compilar, se encuentren en una ruta lo más cercana posible al directorio raíz de la unidad.
En todo caso y como indica @ Macuho, PlatformIO en VSCode es muy superior al IDE de Arduino y merece la pena usarlo en su lugar.
Gracias por vuestras respuestas.
Vamos por partes:
Con Visual Studio Code y PlatformIO cuando pulso el martillo para verificar en el Auto Build Marlin me lanza un marcador rojo que indica lo siguiente:
"Use a specific environment for build"
En el apartado environment me sale los siguientes:
sanguino1284p
sanguino1284p_optimized
melzi_optiboot
Si pulso en upload en cualquiera me lanza ésto:
PS C:\Program Files (x86)\Arduino\Marlin-2.1.2> platformio run --target upload --silent -e melzi_optiboot
Can not remove temporary directory `C:\Program Files (x86)\Arduino\Marlin-2.1.2\.pio\build`. Please remove it manually to avoid build issues
Con Arduino IDE probé aquella versión 1.8.5, con la 1.8.19 no logro que me reconozca la placa Anet como si lo hacía en la versión 1.8.5, no sé si debo hacer algo especial, pues el driver está instalado etc.
Un saludo.
Si pulso Build en cualquiera me lanza ésto:
============================================= [FAILED] Took 0.41 seconds =============================================
Environment Status Duration
-------------- -------- ------------
melzi_optiboot FAILED 00:00:00.414
======================================== 1 failed, 0 succeeded in 00:00:00.414 ========================================
PS C:\Program Files (x86)\Arduino\Marlin-2.1.2> echo "done" >"C:\Users\Kevin\AppData\Local\Temp\ipc"
PS C:\Program Files (x86)\Arduino\Marlin-2.1.2>
PermissionError: [WinError 5] Acceso denegado: 'C:\\Program Files (x86)\\Arduino\\Marlin-2.1.2\\.pio':
File "C:\Users\Kevin\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 168:
os.makedirs(env.subst("$BUILD_DIR"))
File "C:\Users\Kevin\.platformio\python3\lib\os.py", line 215:
makedirs(head, exist_ok=exist_ok)
File "C:\Users\Kevin\.platformio\python3\lib\os.py", line 215:
makedirs(head, exist_ok=exist_ok)
File "C:\Users\Kevin\.platformio\python3\lib\os.py", line 225:
mkdir(name, mode)
============================================= [FAILED] Took 0.43 seconds =============================================
Environment Status Duration
-------------- -------- ------------
melzi_optiboot FAILED 00:00:00.425
======================================== 1 failed, 0 succeeded in 00:00:00.425 ========================================
PS C:\Program Files (x86)\Arduino\Marlin-2.1.2> echo "done" >"C:\Users\Kevin\AppData\Local\Temp\ipc"
PS C:\Program Files (x86)\Arduino\Marlin-2.1.2>
Como dices, vamos por partes:
¿Qué bootloader tiene instalado esa placa? Porque el entorno depende de ello: si es el normal, debes utilizar los dos primeros; si es el optiboot, el tercero.
No debes poner el directorio de Marlin que vas a compilar en la carpeta \Program Files (x86)\Arduino\, pues puedes tener problemas de permisos de acceso, que es lo que parece que está sucediendo, ponla directamente en C:\.
La versión 1.8.5 del IDE de Arduino es muy antigua, con ella no podrás compilar Marlin 2.
Yo tengo instalada la 1.8.19 y reconoce perfectamente la placa Anet, solo que en las últimas versiones, las placas las agrupa: la Anet aparece en el apartado Marlin AVR Boards; la carpeta con la descripción del hardware de la Anet, debes ponerla como siempre en \arduino-1.8.19\hardware\.
(09-02-2023, 11:37 PM)Simemart escribió: Como dices, vamos por partes:
¿Qué bootloader tiene instalado esa placa? Porque el entorno depende de ello: si es el normal, debes utilizar los dos primeros; si es el optiboot, el tercero.
No debes poner el directorio de Marlin que vas a compilar en la carpeta \Program Files (x86)\Arduino\, pues puedes tener problemas de permisos de acceso, que es lo que parece que está sucediendo, ponla directamente en C:\.
La versión 1.8.5 del IDE de Arduino es muy antigua, con ella no podrás compilar Marlin 2.
Yo tengo instalada la 1.8.19 y reconoce perfectamente la placa Anet, solo que en las últimas versiones, las placas las agrupa: la Anet aparece en el apartado Marlin AVR Boards; la carpeta con la descripción del hardware de la Anet, debes ponerla como siempre en \arduino-1.8.19\hardware\.
Buenas nuevamente.
En principio debería llevar el normal, pues no lo he tocado nunca (la heredé así)
Bien, he conseguido verificar la compilación sin problema, he conectado la placa al programa arduino 1.8.19 he seleccionado la placa y el puerto com también.
Pero me da al cabo del tiempo el error de que no se ha podido conectar a la placa o que no existe.
Estoy pensando que puede ser que el bootloader esté KO, hay manera de poder verificarlo?
Un saludo.
Hola, si el ordenador detecta la conexión de la placa y le asigna un puerto COM, pero cuando alguna aplicación intentar comunicarse con ella genera un error "not in sync", probablemente le falte el bootloader y para poder utilizar la conexión USB para cargar algo en la placa, lo tendrás que volver a grabar utilizando un ISP externo (puede ser un Arduino UNO o Mega).
(10-02-2023, 08:52 PM)Simemart escribió: Hola, si el ordenador detecta la conexión de la placa y le asigna un puerto COM, pero cuando alguna aplicación intentar comunicarse con ella genera un error "not in sync", probablemente le falte el bootloader y para poder utilizar la conexión USB para cargar algo en la placa, lo tendrás que volver a grabar utilizando un ISP externo (puede ser un Arduino UNO o Mega).
Efectivamente, hice un edit pero no se actualizó, sería por la conexión del móvil.
Cuando me puso lo de "not in sync" y luego lo de la placa no existe o no se ha detectado ya supe que era el Bootloader.
Lo he quemado nuevamente, he instalado Marlin 2.1.2 sin problemas después, con el programa que no me aclaro es con el VSC, porque por mas que le doy a "build" al environment de turno que le toque, me lanza un Failed, pero bueno, para más adelante cuando me toque darle uso comentaré dudas.
|