java.lang.Object
com.marginallyclever.ro3.node.nodes.marlinrobot.marlinrobotarm.marlinsimulation.MarlinSimulation

public class MarlinSimulation extends Object

MarlinSimulation is meant to be a 1:1 Java replica of Marlin's 'Planner' and 'Motor' classes. It is used to estimate the time to draw a set of gcode commands by a robot running Marlin 3D printer firmware.

Users should call bufferLine(MarlinCoordinate, double, double), which will add to the queue. The queue must not exceed MarlinSettings#getInteger(MarlinSettings.BLOCK_BUFFER_SIZE) items in length. Consuming items from the head of the queue

  • Constructor Details

  • Method Details

    • bufferLine

      public void bufferLine(MarlinCoordinate destination, double feedrate, double acceleration)
      Add this destination to the queue and attempt to optimize travel between destinations.
      Parameters:
      destination - destination (mm)
      feedrate - (mm/s)
      acceleration - (mm/s/s)
    • getQueue

      public LinkedList<MarlinSimulationBlock> getQueue()
      return the queue of blocks.
      Returns:
      the queue of blocks.