Modificar Firmware



  • Hola de nuevo!Llevo varios días intentando entender el código de Marlin pero no consigo entender cómo es capaz de pausar la impresión (por ejemplo) en tiempo real desde el LCD, qué variables cambia, etc. He estado investigando por internet y no encuentro gran cosa. ¿Alguien me puede dar alguna pista?

    Muchísimas gracias por vuestras respuesta



  • El código de marlin tiene unos 3 archivos principales. Configuration.h que es donde definimos las variables de la impresora, como dimensiones, velocidades, etc... El archivo marlin_main.cpp donde se encuentran todas las funciones de los códigos G y M que entiende la impresora. Y el ultralcd.cpp que están las funciones que luego muestra el LCD. Así podemos crear menús en el LCD.



  • A que te refieres con los códigos G y M?



  • Supongo que se refiere a la parte que convierte el gcode q te genera cura o similar a movimientos que realiza la impresora.



  • Vale. Entonces por ejemplo cuando imprimes le das al LCD lo de elegir filamento (en el menú de la LCD), y ahí cómo lo modifica??Es que por mucho que mire y mire en internet no veo información, y por mí mismo tampoco estoy sacando nada



  • La función Load es el código M701. Si vas al archivo marlin_main.cpp y buscas la línea case 701, verás todo el código de carga de filamento. La descarga es el M702. 



  • Y si quiero poner una opción más en el LCD: por ejemplo, un nuevo sensor que nos diga la humedad que hay en el ambiente, como lo implemento para que luego aparezca en el LCD y me muestre esa información ahí?

    Otra cosa, el potenciómetro de la pantalla LCD cómo se llama en el código de configuración?
    Muchísimas gracias



  • El potenciómetro es un encoder, y aparece así en el firmware. El tema de poder añadir un sensor y que aparezca en el LCD es algo más complicado. Tienes primero que configurarlo para que el firmware lo reconozca y obtenga el valor en una variable y luego configurar que dicha variable aparezca en el LCD. Por ejemplo, echa un vistazo a como funciona la temperatura del hotend y podrás hacer lo mismo.



  • O sea, que lo pongo en el archivo pins, y luego voy a la configuración y/o al código de la pantalla??es que el hotend tampoco se cómo funciona en el código y no hay casi información en internet. Siento ser tan ignorante en este tema.