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

    CoreXY Problem Found, Config.G not Triggering Corexy Mode.

    Scheduled Pinned Locked Moved
    General Discussion
    4
    14
    1.2k
    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.
    • Steve Lynchundefined
      Steve Lynch
      last edited by

      Here's an excerpt from my config.g

      I have M669 K1 set in the General preferences section.
      I have been pulling my hair out, and finally found the "machine status" tab, and decided to check it out.. It says My Machine is a cartesian.

      If I manually send M669 K1, it then identifies as Corexy, and motion works as it should.. However, when i reset the machine?

      back to cartesian..

      I've tried moving the command all over the config file, but no Joy.

      Why is the Duet simply ignoring the M669 K1 command in the config?

      Thanks!

      0_1562833838525_66b243fd-b163-4250-9783-e3c382a58590-image.png

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @Steve Lynch
        last edited by deckingman

        @steve-lynch Maybe the command contains a hidden character. Try deleting that line then re-typing it. Failing that, the only other possible cause is if there is another M669 K0 somewhere else that is overriding it. It could be later in your config.g or it could be in a config-override.g file if you use one. Or maybe in a homing file.

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 0
        • Steve Lynchundefined
          Steve Lynch
          last edited by

          Yeah, no dice.. I even hand typed the config file. If I add M669 K1 to each of the homing files, when I home, it homes in Corexy mode, then returns to cartesian.

          It's like there's a bug that is automatically reverting it to cartesian.

          I checked the override.. it's just a response to M500... nothing really in there, and it's not being used anyway.

          This is really weird!

          deckingmanundefined 1 Reply Last reply Reply Quote 0
          • deckingmanundefined
            deckingman @Steve Lynch
            last edited by deckingman

            @steve-lynch Can you post your entire config.g, and homing files please, so that we can see if we can spot anything. There are hundreds if not thousands of people with CoreXY printers using Duet and no one else has ever reported such behaviour, so I doubt it's a bug in the firmware.

            Oh and just to be sure, can you input M669 without any parameters using the console and report back what it says.

            Ian
            https://somei3deas.wordpress.com/
            https://www.youtube.com/@deckingman

            1 Reply Last reply Reply Quote 0
            • gtj0undefined
              gtj0
              last edited by

              What firmware version?
              If you use M667 S1 in config.g does it work?

              1 Reply Last reply Reply Quote 0
              • Steve Lynchundefined
                Steve Lynch
                last edited by Steve Lynch

                If I Manually enter it in the Gcode bar, yes, that works... But if it's being introduced by Gcode files, it ignores it. I added the M669 K1 to all of my homing files just to try it out.. I spent 2 days doing it without that code in there, so I have ample testing both ways.

                M669 says Cartesian, matrix 1.00 0 0, 01.000, 0 0 1.00

                If I add K1, it says Kinematics is CoreXY Matrix

                Here's My full Config, https://www.dropbox.com/s/rj31foj2mize698/download.zip?dl=0

                1 Reply Last reply Reply Quote 0
                • timcurtis67undefined
                  timcurtis67
                  last edited by

                  Check and make sure nothing is in your Config Override file.

                  1 Reply Last reply Reply Quote 0
                  • Steve Lynchundefined
                    Steve Lynch
                    last edited by

                    This is all that's in my config-override

                    0_1562872555398_8e9169fd-2748-49ef-9a4c-c7c85985bd38-image.png

                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                    • deckingmanundefined
                      deckingman @Steve Lynch
                      last edited by deckingman

                      @steve-lynch OK, Ii'm failrly sure I know what your problem is. At the very end of your config.g file you have M584 to remap the drives. From the Wiki for M584 (https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping) it says " M584 must come earlier in config.g than any M350 and M906 commands. If it creates new axes, it must also be earlier than any M92, M201, M203, M208, M350, M566, M574 , M667 and M669 commands."

                      I appreciate that strictkly speaking you haven't created a new axis but by resigning an extruder driver to the Z axis, you kind of have. In any case, that M584 must come before your M350 and M906 commands. So move it near the top of your config.g - say just before or at the beginning of the "motion" section. For completeness sake, I would explicitly assign the extruder too, rather than relying on the default setting. So M584 X0 Y1 Z2:4 E3.

                      Oh, and as someone else pointed out, are you using firmware 2.03 or later? If not, you should use M667 S1 instead of M669 K1.

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      1 Reply Last reply Reply Quote 0
                      • Steve Lynchundefined
                        Steve Lynch
                        last edited by

                        OK, My second extruder channel is not occupied. I'm not using it for a motor.. My z motors are wired together as they always have been. I was using M669 K1 as you can see in my config file above... If there's a 667 in the one on my dropbox, it was just because I was trying anything and everything.

                        Both work to choose corexy mode on 2.03, which is what I'm on.. As mentioned above, I think it's more of a polite request to start using M669 K1, as M667 S1 still works the same.

                        if it is assigning an axis to the extruder channel, I apologize. I had another user with the exact same configuration and same machine send me his config to try.. He probably has his Z split. I'll fix that. I understand that those need to be in the beginning if they're being used.. David taught me that last year when I got my first Duet. 🙂 I wasn't even looking for that, so i would have easily missed it.

                        Thanks for looking.. I'll try that now.

                        1 Reply Last reply Reply Quote 0
                        • Steve Lynchundefined
                          Steve Lynch
                          last edited by

                          I commented out the M584 as it was not in use... As well as the dual lead screw Parameter. It still defaults to cartesian mode.. I removed all power, and did a hard power reset... same thing.... Defaults to cartesian. I'm going to go ahead and make a completely new configuration again... (5th time) and see what's what.

                          1 Reply Last reply Reply Quote 0
                          • Steve Lynchundefined
                            Steve Lynch
                            last edited by

                            I just created a new config.g with nothing at all except for M669 K1

                            when I reset the machine, it defaults to cartesian... When I manually click on , and run config.g, it changes to COREXY.

                            If I add one more simple task like deploy probe, it does it on it's own, but still ignores the COREXY call.

                            Why would a file that runs perfectly when you manually run it, not load automatically? even though there is no use for the config override, does it need to be there? Can I just delete it?

                            deckingmanundefined 1 Reply Last reply Reply Quote 0
                            • Steve Lynchundefined
                              Steve Lynch
                              last edited by

                              Ok, so I decided to go a completely different route... forget the configurator, forget the existing config... I loaded a year old config.g I had in my dropbox, and just altered it. now it defaults to corexy. Strange thing is, If I use a compare tool, they're for all intents and purposes almost identical. There has to be some invisible corrupt data in my config or something.. I cannot explain it... I've been waiting for someone to catch a dumb mistake, but everyone says it looks ok. anyhow, I don't know why that was the solution to that portion of the problem, but it was.

                              1 Reply Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman @Steve Lynch
                                last edited by deckingman

                                @steve-lynch Got me stumped at the moment. When you apply power the first thing it does is read config.g and carry out each command in sequence.

                                Ref the config-overide, no you don't need it. It's there to simulate writing to eeprom that some people like to do. Personally I hate it because sooner or later it will bite you by having configuration settings in two different places. So if you have a config.g with an M501 at the end of it, then once the firmware has read and acted on all the commands in config.g, it will go on to read and act on whatever is in config-override.g. So as log as there aren't any setting in the override file that don't also exist in config.g, then you can delete the override file and the M501 command that calls it.

                                Edit - we were typing at the same time so I didn't see your last comment. That's kind of crazy.

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA