• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Firmware request - Laser mode "frame"

Scheduled Pinned Locked Moved
Firmware wishlist
6
16
743
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    Danal
    last edited by 10 May 2020, 16:17

    Oh, yes, please. Most laser controllers do this and it is VERY handy.

    Delta / Kossel printer fanatic

    1 Reply Last reply Reply Quote 0
    • undefined
      bot
      last edited by 10 May 2020, 18:11

      This was discussed in other threads for different purposes. It sounds like scanning the entire file for X/Y extents is not practical. The Z height is grabbed from a known location, at the end or beginning of the file, I think.

      Many slicers inform with a comment of the X/Y and Z extents. Perhaps the laser software could do so too?

      To me it sounds like RRF will at least get the functionality of detecting comments inserted by the slicer to determine extents, for the purposes of parking tools or creating mesh grids or framing for laser cutting. Maybe ask the software developer now to insert comments with the extents and then coordinate with dc42 about the formatting they output.

      *not actually a robot

      undefined undefined 2 Replies Last reply 10 May 2020, 18:24 Reply Quote 0
      • undefined
        jay_s_uk @bot
        last edited by 10 May 2020, 18:24

        @bot

        Thanks for that.
        I'll get a sample gcode output from lightburn to see what it looks like and I'll attach it here for reference.

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        1 Reply Last reply Reply Quote 0
        • undefined
          jay_s_uk
          last edited by jay_s_uk 5 Oct 2020, 21:37 10 May 2020, 21:25

          Please find example gcode at https://drive.google.com/drive/folders/1CrL4YoZd5tJOMKaTDHrBT3AElnKmsV62?usp=sharing
          These are all output by lightburn. At the moment, no information about the frame size is passed to the gcode.

          I've opened a post on their forum to ask for support.
          https://forum.lightburnsoftware.com/t/frame-information-as-comment-at-start-of-gcode/15844

          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

          1 Reply Last reply Reply Quote 1
          • undefined
            bot
            last edited by 10 May 2020, 21:48

            For your reference here is one of the other recent discussions relating to this: https://forum.duet3d.com/topic/16138/idex-smart-tool-parking-position

            *not actually a robot

            1 Reply Last reply Reply Quote 0
            • undefined
              Danal @bot
              last edited by Danal 5 Oct 2020, 22:49 10 May 2020, 22:43

              @bot said in Firmware request - Laser mode "frame":

              This was discussed in other threads for different purposes. It sounds like scanning the entire file for X/Y extents is not practical. The Z height is grabbed from a known location, at the end or beginning of the file, I think.

              Max Z is found via a full scan in Duet RepRap firmware 2 and 3 both. Re: https://forum.duet3d.com/topic/15643/layer-count-in-dwc-progress-display?_=1589150657667

              X and Y could easily be gathered along the way. Relative moves would be the only thing even a little "hard", and while those could be scanned, I doubt it would be necessary.

              Therefore, it was very kind of lightburn to put bounds in a comment header, but it might be more universally applicable for Duet firmware to slightly enhance the scan it is already doing.

              Of course, all this is really up to Dave...

              Delta / Kossel printer fanatic

              undefined 1 Reply Last reply 10 May 2020, 22:48 Reply Quote 0
              • undefined
                bot @Danal
                last edited by 10 May 2020, 22:48

                Are you positive that the firmware scans the entire file, parsing every line of gcode? I was under the impression that it looks for a comment at the begin, or it scans the file backwards for the last non Extruder G1 command with a Z parameter, thereby skipping the majority of the file.

                Is this incorrect?

                *not actually a robot

                undefined 1 Reply Last reply 10 May 2020, 22:58 Reply Quote 0
                • undefined
                  Danal @bot
                  last edited by Danal 5 Oct 2020, 22:59 10 May 2020, 22:58

                  @bot said in Firmware request - Laser mode "frame":

                  Are you positive that the firmware scans the entire file, parsing every line of gcode? I was under the impression that it looks for a comment at the begin, or it scans the file backwards for the last non Extruder G1 command with a Z parameter, thereby skipping the majority of the file.

                  Is this incorrect?

                  This is the module that does it: https://github.com/dc42/RepRapFirmware/blob/285b457264b9c852cc744ff258010986c8f401c4/src/Storage/FileInfoParser.cpp

                  You are correct.

                  At present, it scans the first 4K and the last ?4K? (or amount that will fit in the buffers that were used for the header scan). It does scan both of those chunks top down. It could easily be changed to scan the whole file if the controller is in laser mode.

                  Other controllers are doing this somehow, without a "hint" in a header.

                  Delta / Kossel printer fanatic

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Danal
                    last edited by 10 May 2020, 23:00

                    Also, to be clear, it does not "parse". It is searching (scanning) for certain keywords. It does 'accumulate' some things, but it is much simpler than a parse.

                    For example, it simply ignores everything between G91 and a following G90.

                    Delta / Kossel printer fanatic

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      bot
                      last edited by 11 May 2020, 00:54

                      Interesting, thanks. I think your idea of scanning the entire file if in laser mode is a good idea. Also, have a check for filesize and allow a reasonable limit to not make the machine work for an hour scanning the file.

                      *not actually a robot

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Danal
                        last edited by 11 May 2020, 01:08

                        I believe it could scan during upload. Modern CPUs are ridiculously fast when compared to any form of IO

                        Delta / Kossel printer fanatic

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          jay_s_uk
                          last edited by jay_s_uk 5 Nov 2020, 05:39 11 May 2020, 05:39

                          The gcode header will be updated to

                          ; LightBurn 0.9.11
                          ; GRBL device profile, current position
                          ; Bounds: X-46 Y-38.11 to X46 Y38.11
                          G00 G17 G40 G21 G54
                          G91
                          M4
                          ; Cut @ 100 mm/sec, 20% power
                          

                          Now its just a case of looking for the comment and adding a button or extra item to the right click menu for a job when the duet is in laser mode.

                          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators
                            last edited by 11 May 2020, 09:11

                            I'll add this as a work item for RRF 3.02. Cura already outputs the bounds of the job and RRF already has a comment parser, so I was planning to add this for Cura. Now I'll add it for Lightburn too.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            paulg4hundefined Sn1gerundefined 2 Replies Last reply 1 Nov 2021, 07:06 Reply Quote 4
                            • paulg4hundefined
                              paulg4h @dc42
                              last edited by 1 Nov 2021, 07:06

                              @dc42 sorry to bring up this rather old topic, but since fast laser engraving is now possible this feature is an other must have for using RRF on laser cutters.

                              Please include this in the next release.

                              Many thank's!

                              1 Reply Last reply Reply Quote 0
                              • Sn1gerundefined
                                Sn1ger @dc42
                                last edited by 29 Sept 2022, 23:53

                                @dc42 did you look in to the frame part. ? (bounds)

                                1 Reply Last reply Reply Quote 2
                                • undefined jay_s_uk referenced this topic 3 Jan 2024, 14:29
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA