Jump to content

Marlin source code for version 5.2


14bitvoid

Recommended Posts

Posted · Marlin source code for version 5.2

After finally having some time again I decided to look into an issue with my Ultimaker 3 where the nozzle keeps jarring with very detailed curves, causing blips. I wanted to look into the source code of Marlin running on the printer, but found that my copy of that source code (Marlin) is outdated, or at least not the same as what's on the printer now.

 

Where can I find the source code of the "jedi.hex" file on my printer? It was last changed on January 27, 2019.

 

According to Marlin's GPLv3 license, you need to:

  • provide source code with every binary distribution, or a written offer to provide the source code
  • include the license with the distribution
  • supply appropriate legal notices in the interactive user interface (copyright info and disclaimer)

 

I am not finding any Marlin source code or written offer to provide that source code on the device. Nor any Marlin license, and the user interface of the printer doesn't provide copyright information for Marlin.

  • Link to post
    Share on other sites

    Posted · Marlin source code for version 5.2

    If you email ultimaker they will send you the UM3 marlin source code.  I tried it.  They sent it to me.  I can send to you if you want.  I forget where I put it but I'm sure I labelled it and placed it carefully such that I could find it again.

     

    I just found it.  It's from 2017 but I'm 98% sure they didn't touch the path planner.  They have never touched the path planner so it's the same as regular Marlin from many years before 2017.  The sort of things they change are gcodes and features like reading sensors and stuff like that.  Not the path planner.

     

    Send me your email in a DM and I'll email you the code.

     

    Anyway I've been over the source code of Marlin's path planner like 10 times and know it (knew it) pretty well.  Are you familiar with it?  If not I'll tell you a few details:

     

    Ultimaker Marlin looks 16 moves ahead.  The path planner doesn't know what's in the 17th move and it may need to come to a complete stop so it never reaches a speed such that the 16th move can't come to a complete stop.

     

    In other words at any given moment there are typically 16 moves in the queue that have been planned and if you look at them they tend to be a general deceleration to a stop on the 16th move (if they are all short moves).  If there is a "long" move (over 16mm long) then you can go max speed up to that move which alone will be able to come to a stop if necessary.

     

    These 16 moves in the queue keep getting updated when move is completed and a new move is ready to be added (each gcode is one move).  They are updated to higher print speeds.

     

    So here is one cause of slowing/stuttering/erratic moves:

    If you have say 50 moves very close together like on a corner with way too many triangles, then the printer has to come to almost a complete stop and prints that corner very slowly.

     

    If you are printing artwork such as "yoda" and there are lots of movements in different directions on an irregular bumpy surface and there are too many triangles you also get stuttering, erratic printing.

     

    Usually this can be fixed with triangle decimation which reduces the triangles in an STL without changing the part's overall shape much at all.

     

     

  • Link to post
    Share on other sites

    Posted · Marlin source code for version 5.2
    15 minutes ago, 14bitvoid said:

    jarring with very detailed curves, causing blips.

    Yes!  This.  When exporting to STL it's tempting to do high resolution (more detail, more triangles) but this can cause problems for Marlin which doesn't have much memory and can only plan 16 moves ahead.

     

    Also Cura will throw away some points/gcodes if you have too many - this is adjustable in cura.  See these 3 settings in cura and read their descriptions:

    Maximum Resolution

    Maximum Travel Resolution

    Maximum Deviation

     

  • Link to post
    Share on other sites

    Posted · Marlin source code for version 5.2
    On 3/4/2021 at 6:26 PM, 14bitvoid said:

    After finally having some time again I decided to look into an issue with my Ultimaker 3 where the nozzle keeps jarring with very detailed curves, causing blips. I wanted to look into the source code of Marlin running on the printer, but found that my copy of that source code (Marlin) is outdated, or at least not the same as what's on the printer now.

     

    Where can I find the source code of the "jedi.hex" file on my printer? It was last changed on January 27, 2019.

     

     

    --> https://github.com/Ultimaker/UltimakerMarlin

    • Thanks 1
    Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 16 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...