This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Problema al compilar marlin para placa cr-10
#1
Hola, tengo el problema de que no puedo subir/cargar el marlin a mi cr-10, ya le flashee el bootloader, pero a la hora de subir el marlin me da este error:

Arduino:1.8.5 (Windows 7), Tarjeta:"Sanguino, ATmega1284 or ATmega1284P (16 MHz)"

In file included from sketch\dogm_lcd_implementation.h:38:0,

                 from sketch\ultralcd.cpp:36:

sketch\dogm_font_data_marlin.h:12:25: fatal error: utility/u8g.h: No such file or directory

 #include <utility/u8g.h>

                         ^

compilation terminated.

exit status 1
Error compilando para la tarjeta Sanguino.

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.


Y nada que lo puedo hacer funcionar y ahora tengo una máquino que no funciona y me urge porque tengo varias impresiones pedidas y no las he podido hacer debido a este problema,
sé que le problema es la librería u8g.h, ya la descargué, la instalé, la puse en el directorio del arduino y nada que funciona, por favor alguien que me pueda ayudar, estoy desesperado. Sad
  Responder
#2
Hola, el error que te está dando parece claro que es por no tener instalada correctamente la librería U8Glib.
Puedes comprobar si está instalada en el menu Programa>Incluir librería. Tiene que aparecer en el listado de librerías instaladas como U8Glib.
La forma correcta de instalarla es mediante el Administrador de bibliotecas o bien, descargándola en formato ZIP (de aquí) e instalandola por la opción Programa>Incluir librería>Añadir biblioteca .ZIP..., seleccionando el archivo anterior.
  Responder
#3
(02-04-2019, 02:33 PM)Simemart escribió: Hola, el error que te está dando parece claro que es por no tener instalada correctamente la librería U8Glib.
Puedes comprobar si está instalada en el menu Programa>Incluir librería. Tiene que aparecer en el listado de librerías instaladas como U8Glib.
La forma correcta de instalarla es mediante el Administrador de bibliotecas o bien, descargándola en formato ZIP (de aquí) e instalandola por la opción Programa>Incluir librería>Añadir biblioteca .ZIP..., seleccionando el archivo anterior.

Si eso ya lo hice tanto la instalé con el administrador de librerías como también bajando el archivo zip e instalandola desde añadir librería .zip y nada que funciona, actualizo la librería en el ide de arduino pero aún así me marca error.
Se supone que la librería ya está instalada porque de lo contrario no aparecería en el listado de librerías.
He probado con el marlin de TH3DUF_R2 y compila bien sin errores.
Entonces lo que está mal es el firmware en si de marlin de la cr-10?
  Responder
#4
Pues sí que parece que estás utilizando un Marlin algo especial. No me había fijado bien en los archivos implicados en el error.
No encuentro por ningún lado, en una compilación oficial de Marlin, los ficheros dogm_lcd_implementation.h o dogm_font_data_marlin.h.
Ni tampoco en el IDE de Arduino ni en la librería U8Glib ya instalada, el directorio utility donde busca el archivo u8g.h.
Así que puede que tengas razón y sea un problema del Marlin que estás utilizando.
Te recomiendo que partas de una de las ultimas versiones, descargada del sitio oficial de Marlin.
  Responder
#5
Yo no he comprobado los archivos pero tengo una pregunta. Tienes activada la pantalla correcta en el Marlin que te falla? Como tienes otro Marlin que sí funciona, puedes comparar la config de la pantalla.

No se si el error que da en el sketch ultraLCD es por qué la pantalla de la cr-10 tiene dependencias con ese sketch (tampoco lo he comprobado) o es que no está bien configurada la "cr-10 stock display".
  Responder
#6
(02-04-2019, 08:59 PM)Simemart escribió: Pues sí que parece que estás utilizando un Marlin algo especial. No me había fijado bien en los archivos implicados en el error.
No encuentro por ningún lado, en una compilación oficial de Marlin, los ficheros dogm_lcd_implementation.h o dogm_font_data_marlin.h.
Ni tampoco en el IDE de Arduino ni en la librería U8Glib ya instalada, el directorio utility donde busca el archivo u8g.h.
Así que puede que tengas razón y sea un problema del Marlin que estás utilizando.
Te recomiendo que partas de una de las ultimas versiones, descargada del sitio oficial de Marlin.

Ok, gracias voy a probar aunque todavía estoy muy verde en la configuración del marlin, lo voy a intentar, solo tengo que comparar las lineas de código del firmware oficial de la cr-10 y el firmware marlin original.
Solo tengo que modificar las pestañas configuration.h y configuration_adv.h, verdad? o tengo que modificar todas las pestañas que aparecen?.
Otra cosa instalé el firmware TH3d y lo cargó bien a la placa de la cr-10, pero le doy home all y en x y y si lo hace pero en z nó se queda donde está y si le doy imprimir pues imprime en el aire.
Será que como no tengo sensor de nivelación y el firmware de TH3D es para el sensor de nivelación trata de hacerlo pero como no tiene se queda en la misma posición? si es así como se
soluciona. gracias

(03-04-2019, 05:15 AM)Nullz escribió: Yo no he comprobado los archivos pero tengo una pregunta. Tienes activada la pantalla correcta en el Marlin que te falla? Como tienes otro Marlin que sí funciona, puedes comparar la config de la pantalla.

No se si el error que da en el sketch ultraLCD es por qué la pantalla de la cr-10 tiene dependencias con ese sketch (tampoco lo he comprobado) o es que no está bien configurada la "cr-10 stock display".

Ok, gracias, lo voy a chequear y a lo mejor el problema es como tu dices.
  Responder
#7
Hola, no es buena idea poner un firmware sin comprobar la configuración que tiene.
En todo caso, mi recomendación es que utilices el Marlin en su versión más actual (ya sea el 1.1.9 o el 2.0), descargándolo de la página oficial y configurándolo a partir de los archivos preconfigurados (Configuration.h y Configuration_adv.h) que trae para esa impresora en las carpetas de ejemplos.
Así te asegurarás que todo está como debe estar.
  Responder
#8
Me he dado Una vuelta por el GitHub de "HouseOfBugs" que se supone que es el firmware de th3d. Es muy interesante, han modificado la config completamente, no vas a poder compararlos fácilmente. Parece que sólo hay que decirle que tienes una cr-10 y qué tipo de montaje de autolevel y él se encarga de configurar casi todo. Hay otro archivo llamado configuration_backend (entre otros) con los parámetros más desarrollados.

Por todo el código aparece EZABL, pensaba que era algún tipo de software que ayudaba con la configuración. Una búsqueda rápida me dice que es un sistema de autolevel y ellos mismos promocionan el firmware de th3d. No sé si se podrá desactivar ni como hacerlo, aquí es hasta donde te puedo ayudar.

Aún que parezca muy interesante eso del firmware autoconfigurable, creo que no es muy práctico ya que al final se le acaban haciendo modificaciones a todas las impresoras y ya no te vale. Y menos en el caso de que sólo puedas usar su autolevel.

Edito. Ya que estaba he mirado en configuration_backend, que define cuando activas las cr-10 y define la pantalla:
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Prueba a poner esta en el marlin official a ver si funciona.




El Marlin oficial usa "cr-10 stock display", sólo tienes que comentar esta línea y descomentar la de la otra pantalla.
  Responder
#9
(03-04-2019, 01:56 PM)Simemart escribió: Hola, no es buena idea poner un firmware sin comprobar la configuración que tiene.
En todo caso, mi recomendación es que utilices el Marlin en su versión más actual (ya sea el 1.1.9 o el 2.0), descargándolo de la página oficial y configurándolo a partir de los archivos preconfigurados (Configuration.h y Configuration_adv.h) que trae para esa impresora en las carpetas de ejemplos.
Así te asegurarás que todo está como debe estar.

Gracias por el dato, así lo estuve haciendo hasta que llegué a estas lineas:

Código:
/**
* Advanced Pause
* Experimental feature for filament change support and for parking the nozzle when paused.
* Adds the GCode M600 for initiating filament change.
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
*
* Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/
#define ADVANCED_PAUSE_FEATURE
#if ENABLED(ADVANCED_PAUSE_FEATURE)
 #define PAUSE_PARK_RETRACT_FEEDRATE         60  // (mm/s) Initial retract feedrate.
 #define PAUSE_PARK_RETRACT_LENGTH            4  // (mm) Initial retract.
                                                 // This short retract is done immediately, before parking the nozzle.
 #define FILAMENT_CHANGE_UNLOAD_FEEDRATE     10  // (mm/s) Unload filament feedrate. This can be pretty fast.
 #define FILAMENT_CHANGE_UNLOAD_ACCEL        25  // (mm/s^2) Lower acceleration may allow a faster feedrate.
 #define FILAMENT_CHANGE_UNLOAD_LENGTH      420  // (mm) The length of filament for a complete unload.
                                                 //   For Bowden, the full length of the tube and nozzle.
                                                 //   For direct drive, the full length of the nozzle.
                                                 //   Set to 0 for manual unloading.
 #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE   6  // (mm/s) Slow move when starting load.
 #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH     0  // (mm) Slow length, to allow time to insert material.
                                                 // 0 to disable start loading and skip to fast load only
 #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE   8  // (mm/s) Load filament feedrate. This can be pretty fast.
 #define FILAMENT_CHANGE_FAST_LOAD_ACCEL     25  // (mm/s^2) Lower acceleration may allow a faster feedrate.
 #define FILAMENT_CHANGE_FAST_LOAD_LENGTH     0  // (mm) Load length of filament, from extruder gear to nozzle.
                                                 //   For Bowden, the full length of the tube and nozzle.
                                                 //   For direct drive, the full length of the nozzle.
 //#define ADVANCED_PAUSE_CONTINUOUS_PURGE       // Purge continuously up to the purge length until interrupted.
 #define ADVANCED_PAUSE_PURGE_FEEDRATE        3  // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate.
 #define ADVANCED_PAUSE_PURGE_LENGTH         50  // (mm) Length to extrude after loading.
                                                 //   Set to 0 for manual extrusion.
                                                 //   Filament can be extruded repeatedly from the Filament Change menu
                                                 //   until extrusion is consistent, and to purge old filament.

                                                 // Filament Unload does a Retract, Delay, and Purge first:
 #define FILAMENT_UNLOAD_RETRACT_LENGTH      13  // (mm) Unload initial retract length.
 #define FILAMENT_UNLOAD_DELAY             5000  // (ms) Delay for the filament to cool after retract.
 #define FILAMENT_UNLOAD_PURGE_LENGTH         8  // (mm) An unretract is done, then this length is purged.

 #define PAUSE_PARK_NOZZLE_TIMEOUT          120  // (seconds) Time limit before the nozzle is turned off for safety.
 #define FILAMENT_CHANGE_ALERT_BEEPS          6  // Number of alert beeps to play when a response is needed.
 #define PAUSE_PARK_NO_STEPPER_TIMEOUT           // Enable for XYZ steppers to stay powered on during filament change.

 #define PARK_HEAD_ON_PAUSE                      // Park the nozzle during pause and filament change.
 #define HOME_BEFORE_FILAMENT_CHANGE             // Ensure homing has been completed prior to parking for filament change

 //#define FILAMENT_LOAD_UNLOAD_GCODES           // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
 //#define FILAMENT_UNLOAD_ALL_EXTRUDERS         // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
#endif

Fuí cambiando los datos comparando el firmware oficial de la cr-10 con el marlin base 1.1.9, todo iba bien, iba cambiando las lineas y datos y revisaba para saber si lo que cambiaba me daba error o no.
No me había dado error hasta que llegué a esta linea "//#define ADVANCED_PAUSE_FEATURE" estaba comentada en la versión base de marlin, pero en la versión de la cr-10 esta activa,
entonces la activé y me marca este error:
Código:
Arduino:1.8.5 (Windows 7), Tarjeta:"Sanguino, ATmega1284 or ATmega1284P (16 MHz)"

\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_ellipse.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_font.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_font_data.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_line.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_ll_api.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_page.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb14v1.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb16h1.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb16h2.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb16v1.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb16v2.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb32h1.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb8h1.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb8h1f.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb8h2.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb8h8.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb8v1.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pb8v2.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pbxh16.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_pbxh24.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_polygon.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_rect.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_rot.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_scale.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_state.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_u16toa.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_u8toa.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822\libraries\U8glib\clib\u8g_virtual_screen.c.o" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822/core\core.a" "-LC:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822" -lm
"C:\Users\Bermudez\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\5.4.0-atmel3.6.1-arduino2/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822/Marlin.ino.elf" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822/Marlin.ino.eep"
"C:\Users\Bermudez\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\5.4.0-atmel3.6.1-arduino2/bin/avr-objcopy" -O ihex -R .eeprom  "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822/Marlin.ino.elf" "C:\Users\Bermudez\AppData\Local\Temp\arduino_build_212822/Marlin.ino.hex"
Usando librería U8glib con versión 1.19.1 en la carpeta: D:\Mis documentos\Arduino\libraries\U8glib
El Sketch usa 130356 bytes (100%) del espacio de almacenamiento de programa. El máximo es 130048 bytes.

Las variables Globales usan 11849 bytes (72%) de la memoria dinámica, dejando 4535 bytes para las variables locales. El máximo es 16384 bytes.
Programa muy grando: visite http://www.arduino.cc/en/Guide/Troubleshooting#size para ver cómo reducirlo.
Error compilando para la tarjeta Sanguino.

Después comenté esa linea y seguí configurando lo demás hasta terminar y ya no me marcó error, pero solo comentando la linea #define ADVANCED_PAUSE_FEATURE
Si la descomento me marca el error, hasta aquí llegó mi conocimiento y ya no sé como corregir esto.

(04-04-2019, 06:18 AM)Nullz escribió: Me he dado Una vuelta por el GitHub de "HouseOfBugs" que se supone que es el firmware de th3d. Es muy interesante, han modificado la config completamente, no vas a poder compararlos fácilmente. Parece que sólo hay que decirle que tienes una cr-10 y qué tipo de montaje de autolevel y él se encarga de configurar casi todo. Hay otro archivo llamado configuration_backend (entre otros) con los parámetros más desarrollados.

Por todo el código aparece EZABL, pensaba que era algún tipo de software que ayudaba con la configuración. Una búsqueda rápida me dice que es un sistema de autolevel y ellos mismos promocionan el firmware de th3d. No sé si se podrá desactivar ni como hacerlo, aquí es hasta donde te puedo ayudar.

Aún que parezca muy interesante eso del firmware autoconfigurable, creo que no es muy práctico ya que al final se le acaban haciendo modificaciones a todas las impresoras y ya no te vale. Y menos en el caso de que sólo puedas usar su autolevel.

Edito. Ya que estaba he mirado en configuration_backend, que define cuando activas las cr-10 y define la pantalla:
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Prueba a poner esta en el marlin official a ver si funciona.

Si, tienes toda la razón, pero fué el único que me dejó cargarlo a mi placa, porque los demás firmware de la cr-10 que bajé, me marcan error,
configuration_backend no aparece en el firmware de la cr-10, solo en la TH3D EZABL, pero ese si lo puedo cargar en mi placa aunque creo tiene otras configuraciones para la cr-10.
Muchas gracias por la ayuda.


El Marlin oficial usa "cr-10 stock display", sólo tienes que comentar esta línea y descomentar la de la otra pantalla.
  Responder
#10
Hola, el error se debe a que no tienes suficiente memoria para todas las funcionalidades que estás activando. Suele pasar cuando se tiene el ATMega1284P, como es el caso.
Cuando activas el Avanced Pause Feature, el sketch se pasa de la memoria disponible.
Alguna cosa se puede hacer para recuperar algo de memoria, siempre que no lo tengas hecho ya:
Descomentando la línea #define DISABLE_M503 recuperas algo más de 2700 bytes. Esto desactiva el comando M503, que da un informe de las configuraciones actuales de la máquina.
Comentando la línea //#define EEPROM_CHITCHAT también recuperas algo, aunque menos que con la anterior (algo más de 700 bytes). Esto desactiva los mensajes de respuesta a los comandos de la EEPROM.
También puedes recuperar algo de memoria comentando la línea //#define SHOW_CUSTOM_BOOTSCREEN (sólo 288 bytes, pero todo cuenta). Con esto se pierde la pantalla de inicio de Creality.
Todas estas líneas están en el archivo Configuration.h.
Si con estos ajustes aún te falta memoria, tendrás que elegir las funcionalidades que más te interesen y quepan en la memoria que tienes, desactivando las demás. Es lo que hay.
  Responder
#11
(07-04-2019, 12:03 AM)Simemart escribió: Hola, el error se debe a que no tienes suficiente memoria para todas las funcionalidades que estás activando. Suele pasar cuando se tiene el ATMega1284P, como es el caso.
Cuando activas el Avanced Pause Feature, el sketch se pasa de la memoria disponible.
Alguna cosa se puede hacer para recuperar algo de memoria, siempre que no lo tengas hecho ya:
Descomentando la línea #define DISABLE_M503 recuperas algo más de 2700 bytes. Esto desactiva el comando M503, que da un informe de las configuraciones actuales de la máquina.
Comentando la línea //#define EEPROM_CHITCHAT también recuperas algo, aunque menos que con la anterior (algo más de 700 bytes). Esto desactiva los mensajes de respuesta a los comandos de la EEPROM.
También puedes recuperar algo de memoria comentando la línea //#define SHOW_CUSTOM_BOOTSCREEN (sólo 288 bytes, pero todo cuenta). Con esto se pierde la pantalla de inicio de Creality.
Todas estas líneas están en el archivo Configuration.h.
Si con estos ajustes aún te falta memoria, tendrás que elegir las funcionalidades que más te interesen y quepan en la memoria que tienes, desactivando las demás. Es lo que hay.

Ok, entiendo, pero entonces como le hacen la gente de creality para meter el firmware de la cr-10, se supone que es el mismo y tiene las mismas funcionalidades y es la misma placa, solo activé lo que originalmente trae el firmware marlin de la cr-10, porque el marlin que configuré con las mismas funcionalidades del original cr-10 no cabe por falta de memoria.
Es lo que no comprendo.

Ya desactive #define EEPROM_CHITCHAT, y ya compiló bien sin errores, el //#define DISABLE_M503, lo dejé comentado, esta es la que devuelve los valores configurados cuando uno manda el M503 por el
pronterface verdad? si lo descomento entonces ya no me dará los datos en el pronterface?
Muchas gracias por la ayuda.
  Responder
#12
Pues para meter todo eso, los de Creality cortan por lo sano: eliminan el bootloader, con lo que recuperan 3 o 4 Kbytes de un plumazo.
Por eso, para cambiar el firmware original en estas placas desde la conexión USB, primero hay que cargar el bootloader. No es la única forma, pero sí la más cómoda y sencilla para los usuarios inexpertos.
Efectivamente, el comando M503 es el que envía la información de configuración y si se descomenta la línea, se pierde esa funcionalidad.
No hace falta eliminar todo lo que te indiqué, sólo lo que sea necesario para conseguir compilar. Si ya lo haces sin desactivar el M503, pues no hay porqué quitarlo.
  Responder
#13
(07-04-2019, 11:58 AM)Simemart escribió: Pues para meter todo eso, los de Creality cortan por lo sano: eliminan el bootloader, con lo que recuperan 3 o 4 Kbytes de un plumazo.
Por eso, para cambiar el firmware original en estas placas desde la conexión USB, primero hay que cargar el bootloader. No es la única forma, pero sí la más cómoda y sencilla para los usuarios inexpertos.
Efectivamente, el comando M503 es el que envía la información de configuración y si se descomenta la línea, se pierde esa funcionalidad.
No hace falta eliminar todo lo que te indiqué, sólo lo que sea necesario para conseguir compilar. Si ya lo haces sin desactivar el M503, pues no hay porqué quitarlo.

Si, gracias, ya lo instalé y creo que cometí algún error a la hora de cambiar los datos ya que ahora no se mueven los motores, la verdad ahora solo quiero volver a tener el firmware original de
la cr-10, pero no puedo hacerlo desde un archivo .ino porque me sigue dando error de la librería u8g.h y la verdad es que no lo puedo hacer funcionar y si tengo instalada la librería pero no se,
el único que me deja instalar es el firmware TH3D EZBL pero la verdad he imprimido algunas cosas y no quedan bien, no imprime bien, ahora solo me queda instalar el firmware original de la cr-10
desde un archivo .hex que tengo, pero no sé como instalarlo, arduino no es compatible con archivos .hex, investigué un poco y algunos dicen que con el cura se instala, lo intenté pero me marca
error de conexión, otros dicen que con el xloader, no lo he intentado ya que no sé que placa escoger de las que tiene que sea la de la cr-10, aparecen: Uno(ATmega328), MEGA(ATmega1280),
Duemilanove/nano/(ATmega328), Duemilanove/nano/(ATmega168) y Mega(ATmega2560), no sabes cuál debo escoger para instalar el .hex para la placa de la cr-10, sé que la placa es un ATmega1284
eso lo sé porque es la que se selecciona en el arduino para instalar el firmware, la única que se asemeja es la ATmega1280 pero no sé si debo escoger esa, la verdad no quiero descomponer mi placa,
espero me puedas ayudar ya para cerrar este capítulo de flashear el bootloader de la cr-10 y no morir en el intento Smash2 .
  Responder
#14
Hay varias formas de cargar el firmware mediante un fichero .hex, pero en todas tienes que configurar la velocidad de conexión adecuada y el puerto donde está conectada la placa.
Seguramente tienes alguno o los dos mal y por eso te da el error CURA.
Por otro lado, lo que indicas no son placas, sino MCUs (MicroControler Unit): la de tu placa es ATMega1284P y las velocidades a las que suele comunicarse son 57600 o 115200 baudios.
  Responder
#15
(07-04-2019, 09:40 PM)Simemart escribió: Hay varias formas de cargar el firmware mediante un fichero .hex, pero en todas tienes que configurar la velocidad de conexión adecuada y el puerto donde está conectada la placa.
Seguramente tienes alguno o los dos mal y por eso te da el error CURA.
Por otro lado, lo que indicas no son placas, sino MCUs (MicroControler Unit): la de tu placa es ATMega1284P y las velocidades a las que suele comunicarse son 57600 o 115200 baudios.

En el cura lo mas extraño es que puedo mover los ejes, mandar a calentar el fusor y la cama pero a la hora de actualizar el firmware me marca error de conexión, no entiendo
los baudios y el puerto donde se configuran en el cura, no encuentro donde configurarlo, aunque si se conecta  a la impresora ya que como te había mencionado puedo mover
los ejes.
En cuanto a utilizar el xloader, entonces que MCUs debo escoger de todos estos: Uno(ATmega328), MEGA(ATmega1280),

Duemilanove/nano/(ATmega328), Duemilanove/nano/(ATmega168) y Mega(ATmega2560) ya sé que en baudios son 115200 y el puerto en mi caso es el COM5,
gracias por todas tus respuestas.
  Responder
#16
Por fin pude instalar el marlin.hex, lo pude instalar gracias al programa AVRDudess, solo seleccioné MCU ATmega 1284P, el puerto com correspondiente y los baudios que en mi caso son 115200, seleccioné en Flash
el archivo cr-10.hex pulsé el botón Program! y listo ya tenia instalado el firmware original de la cr-10, pero regresé al principio ya que este trae el bootloader cerrado y yo lo quería abierto, pero bueno al menos ya tengo funcionando de nuevo mi cr-10, me interesaría tener el bootloader abierto, espero que alguien me pueda compilar el firmware ya con el bootloader abierto en .hex porque de esa forma es la única en la que
puedo instalar en mi impresora ya que por el ide de arduino me ha sido imposible, iba a subir el firmware pero creo que no se puede en este foro.
gracias.
  Responder
#17
Hola, he estado investigando un poco y todo este tema de Creality y sus firmwares da un poco de risa.
Parece como si quisieran tener algo propietario, pero sin perder las ventajas que tienen diciendo que son de código abierto.
Yo siempre dí por sentado que la razón de que no trajesen el bootloader estas placas, era porque no cabía el firmware junto con él en la memoria del ATMega1284P.
Pero, por el tamaño que tiene el fichero .hex del firmware oficial, no tendrían ningún problema en coexistir.
Es decir, que si en el apartado de opciones del AVRDUDESS marcaste la casilla de no borrar la Flash, deberías de seguir con el bootloader cargado. Si no la marcaste, entonces sí lo has vuelto a perder.
En principio, no hay un bootloader abierto y otro cerrado. O se tiene cargado o no. Nada más.
En todo caso, si el archivo .hex original es la compilación de los fuentes que incluyen en la descarga (cosa que no parece, pues está plagado de errores que impiden su compilación), es un retroceso claro comparado con el Marlin última versión.
Por ello, no entiendo el porqué de ese interes en ponerlo, pues no tiene ninguna de las funcionalidades que querías activar en Marlin y que no te cabían en la memoria. Con ese tamaño de fichero es imposible.
Y si no piensas cambiarlo, ¿para qué quieres tener el bootloader? Este sólo sirve para programar la memoria de la MCU por la conexión USB y cuando no se usa para eso, lo único que hace es retrasar el arranque.
En fín, me da la impresión de que no tienes muy claro lo que quieres conseguir y yo tampoco.
  Responder
#18
(08-04-2019, 10:13 PM)Simemart escribió: Hola, he estado investigando un poco y todo este tema de Creality y sus firmwares da un poco de risa.
Parece como si quisieran tener algo propietario, pero sin perder las ventajas que tienen diciendo que son de código abierto.
Yo siempre dí por sentado que la razón de que no trajesen el bootloader estas placas, era porque no cabía el firmware junto con él en la memoria del ATMega1284P.
Pero, por el tamaño que tiene el fichero .hex del firmware oficial, no tendrían ningún problema en coexistir.
Es decir, que si en el apartado de opciones del AVRDUDESS marcaste la casilla de no borrar la Flash, deberías de seguir con el bootloader cargado. Si no la marcaste, entonces sí lo has vuelto a perder.
En principio, no hay un bootloader abierto y otro cerrado. O se tiene cargado o no. Nada más.
En todo caso, si el archivo .hex original es la compilación de los fuentes que incluyen en la descarga (cosa que no parece, pues está plagado de errores que impiden su compilación), es un retroceso claro comparado con el Marlin última versión.
Por ello, no entiendo el porqué de ese interes en ponerlo, pues no tiene ninguna de las funcionalidades que querías activar en Marlin y que no te cabían en la memoria. Con ese tamaño de fichero es imposible.
Y si no piensas cambiarlo, ¿para qué quieres tener el bootloader? Este sólo sirve para programar la memoria de la MCU por la conexión USB y cuando no se usa para eso, lo único que hace es retrasar el arranque.
En fín, me da la impresión de que no tienes muy claro lo que quieres conseguir y yo tampoco.

Lo que mencionas sobre el AVRDudess, no, no lo he hecho, no me percaté de ese dato, el fin de tener el bootloader, es el poder cambiar los pasos, porque le instalé un bmg extruder y mas adelante quiero
instalarle un sensor de filamento, tenia pensado también el powerloss pero eso lo solucioné comprando el resumer3d y funciona de maravilla, es por eso de todo este embrollo.
Gracias por la ayuda. Number_one
  Responder
#19
Y no podías hacerlo con un M92? XD madre mía...

Yo también creo que deberías intentar hacer funcionar marlin 1.1.9, el oficial. Lo de los fabricantes con los firmware es de risa en todos los sentidos, mira que les costaba mucho coger el nuevo marlin y hacerle 4 cambios...

Si puedes cargarle el bootloader con avrdudes después deberías poder subir Marlin con arduinoIDE sin problema.
  Responder
#20
(10-04-2019, 06:57 PM)Nullz escribió: Y no podías hacerlo con un M92? XD madre mía...

Yo también creo que deberías intentar hacer funcionar marlin 1.1.9, el oficial. Lo de los fabricantes con los firmware es de risa en todos los sentidos, mira que les costaba mucho coger el nuevo marlin y hacerle 4 cambios...

Si puedes cargarle el bootloader con avrdudes después deberías poder subir Marlin con arduinoIDE sin problema.

Lo de hacerlo con m92 ya lo intenté, pero no queda grabado ya que no tiene el bootloader y cada vez que me desconecto del pronterface, tengo que volver a mandar el código M92 E415, para subir los pasos,
Y en cuanto subir el marlin mediante el ide de arduino ya lo expliqué y marca error ya sea por la librería u8glib o por el tamaño del archivo que dice que no cabe en la placa sanguino, ya me doy por vencido,
esto es muy complicado, no sé si es mi computadora o el usuario jajaja o tal vez los dos pero creo que me voy a quedar con el firmware de fábrica, al parecer el bmg funciona bien con los pasos que tiene
configurado que son 93, así que ya no le muevo.
Gracias a todos los que se tomaron su tiempo en responder a mis dudas, en serio fueron de mucha ayuda.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Ayuda configuracion del Marlin para compilar en el arduino NOQUI 1 0 13-02-2024, 06:06 PM
Último mensaje: Simemart
  Marlin para Ender 3 Pro Ivan_Serroels 17 36 26-11-2023, 10:18 AM
Último mensaje: Simemart
  CONSULTA error al compilar JOANMI 4 0 25-07-2023, 03:19 PM
Último mensaje: JOANMI
  Configuración Marlin para 2 extrusores Luisdjnas 63 399 05-06-2023, 11:36 AM
Último mensaje: Luisdjnas
  Error al compilar Marlin con vscode 21Curiosos 12 1,174 28-05-2023, 09:07 PM
Último mensaje: Simemart