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.
    • jay_s_ukundefined
      jay_s_uk
      last edited by

      When controlling a laser cutter through something like lightburn, once a file is placed in the workspace, it is possible to get the machine to frame the extents of the work area so the user can ensure the medium to be laser cut is in the correct place.
      When using a duet board with a laser cutter and controlling it through DWC, its not currently possible to do this.

      I know that any gcode file which is uploaded is scanned to get the z height etc.
      Would it be possible to do the same for the maximum area in x and y to allow the work area to be framed to make sure the material is in the correct place

      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
      • Danalundefined
        Danal
        last edited by

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

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • botundefined
          bot
          last edited by

          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

          jay_s_ukundefined Danalundefined 2 Replies Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk @bot
            last edited by

            @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
            • jay_s_ukundefined
              jay_s_uk
              last edited by jay_s_uk

              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
              • botundefined
                bot
                last edited by

                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
                • Danalundefined
                  Danal @bot
                  last edited by Danal

                  @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

                  botundefined 1 Reply Last reply Reply Quote 0
                  • botundefined
                    bot @Danal
                    last edited by

                    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

                    Danalundefined 1 Reply Last reply Reply Quote 0
                    • Danalundefined
                      Danal @bot
                      last edited by Danal

                      @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
                      • Danalundefined
                        Danal
                        last edited by

                        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
                        • botundefined
                          bot
                          last edited by

                          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
                          • Danalundefined
                            Danal
                            last edited by

                            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
                            • jay_s_ukundefined
                              jay_s_uk
                              last edited by jay_s_uk

                              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

                                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 Reply Quote 4
                                • paulg4hundefined
                                  paulg4h @dc42
                                  last edited by

                                  @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

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

                                    1 Reply Last reply Reply Quote 2
                                    • jay_s_ukundefined jay_s_uk referenced this topic
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA