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

M500 Always Fails

Scheduled Pinned Locked Moved Solved
Duet Web Control
6
27
1.6k
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
    Phaedrux Moderator
    last edited by 16 Oct 2020, 03:13

    Yes the latest image is based of an updated version of the recent pi image, so it's a bit more polished.

    Did you do a sudo apt update sudo apt upgrade after?

    Can you try capturing some extended debug information?

    https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Monitoring_optional

    Z-Bot CoreXY Build | Thingiverse Profile

    undefined 1 Reply Last reply 16 Oct 2020, 22:08 Reply Quote 0
    • ?
      A Former User @Thalios
      last edited by 16 Oct 2020, 03:28

      @Thalios said in M500 Always Fails:

      I thought SBC standed for single board computer

      that bit is correct, but its the Pi and not the Duet that is an SBC.

      (I suppose you could argue PanelDue is a graphics port and the Duet is a single board computer, but its commonly used for more general purpose computers like the Raspberry Pi, with the Duet being a specialized embedded computer

      1 Reply Last reply Reply Quote 0
      • undefined
        GoremanX @Phaedrux
        last edited by 16 Oct 2020, 22:08

        @Phaedrux Yes, I made sure all packages were up to date and I rebooted. Here's a log output when I try to run M500:

        Oct 16 18:05:08 duet3 DuetControlServer[1464]: [error] Code M500 has thrown an exception
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: System.NullReferenceException: Object reference not set to an instance of an object.
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Files.ConfigOverride.WriteModelParameters(StreamWriter writer) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Files/ConfigOverride.cs:line 77
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Files.ConfigOverride.Save(Code code) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Files/ConfigOverride.cs:line 34
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Codes.MCodes.Process(Code code) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Codes/MCodes.cs:line 652
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.ProcessInternally() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 479
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.Process() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 400
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.ExecuteInternally() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 336
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: [error] IPC#46: Failed to execute SimpleCode
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: System.NullReferenceException: Object reference not set to an instance of an object.
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Files.ConfigOverride.WriteModelParameters(StreamWriter writer) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Files/ConfigOverride.cs:line 77
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Files.ConfigOverride.Save(Code code) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Files/ConfigOverride.cs:line 34
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Codes.MCodes.Process(Code code) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Codes/MCodes.cs:line 652
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.ProcessInternally() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 479
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.Process() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 400
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.ExecuteInternally() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 336
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.ExecuteInternally() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 383
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.Code.<Execute>b__27_0(Task`1 task) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/Code.cs:line 277
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.Commands.SimpleCode.Execute() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Commands/SimpleCode.cs:line 136
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetAPI.Commands.Command`1.Invoke() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/Commands/BaseCommand.cs:line 67
        Oct 16 18:05:08 duet3 DuetControlServer[1464]: at DuetControlServer.IPC.Processors.Command.Process() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/IPC/Processors/Command.cs:line 63
        1 Reply Last reply Reply Quote 0
        • undefined
          GoremanX
          last edited by 18 Oct 2020, 04:11

          Is there some other kind of official support medium than this forum? Because I spent a lot of money on these control boards and I really don't think I'm trying to do anything fancy or outside of reasonable use. It's literally been over a week now.

          ? 1 Reply Last reply 18 Oct 2020, 04:20 Reply Quote 0
          • ?
            A Former User @GoremanX
            last edited by 18 Oct 2020, 04:20

            @GoremanX said in M500 Always Fails:

            Is there some other kind of official support medium than this forum?

            This is "it", the developers do frequent the forum, but what you seem to be after seems to be "officially" not supported

            https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_M500

            undefined 1 Reply Last reply 18 Oct 2020, 04:24 Reply Quote 0
            • undefined
              GoremanX @A Former User
              last edited by 18 Oct 2020, 04:24

              @bearer Thank you!

              That would've been nice to know right off the bat. Especially since none of the guides take it into account. Seems like I could've saved a whole lot of head-banging if that had been cleared up immediately.

              undefined 1 Reply Last reply 18 Oct 2020, 17:36 Reply Quote 0
              • undefined
                GoremanX
                last edited by 18 Oct 2020, 04:28

                Also, that's a super bizarre omission that makes no sense at all. I hope it gets rectified soon. Having only M500 and M501 not work in SBC mode is seriously odd

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User
                  last edited by A Former User 18 Oct 2020, 04:29

                  It boils down to differences in the virtual sd card used on the pi which isn't fully compatible with the code that uses the real sd card when in stand alone mode.

                  I think it was scheduled for 3.2 but haven't kept up with stuff lately (also, its possible the Wiki is out of date, but it doesn't work odds are its still at thing)

                  Edit: Calling it an omission isn't quite fair, is clearly been on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard.”

                  1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User
                    last edited by 18 Oct 2020, 04:57

                    Do you need any of the features the Pi offers? Might be better to switch to stand alone mode where M500 is supported while they implement the filesystem support for the SBC mode? The Pi/SBC doesn't really offer much at the present?

                    undefined 1 Reply Last reply 18 Oct 2020, 13:48 Reply Quote 0
                    • undefined
                      GoremanX @A Former User
                      last edited by 18 Oct 2020, 13:48

                      @bearer The main thing it gives me right now is the ability to have the Pi 4 outside of the electronics enclosure, which gives me functional wifi without requiring any additional adapters (the base of my delta printer is all aluminum). I also have it hooked up to a Pi touchscreen, which gives me a much more complete interface at the printer itself, rather than the limited interface of a PanelDue. Plus I have a Bluetooth keyboard and touchpad paired, which has been convenient. And having the Pi 4 right there makes it super simple to have a camera hooked up for monitoring progress and/or capturing time lapses. Honestly, I'm loving the SBC thing compared to my other Duet-powered setups. If it's only the lack of M500, I'll deal with that until it's fixed. I just wish I hadn't wasted a week on trying to resolve this.

                      I haven't seen any mention of M500 or M501 in the recent 3.2 beta fixes and changes, so it doesn't look like it'll be making it into this release.

                      1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User
                        last edited by A Former User 18 Oct 2020, 13:52

                        If you replace the ribbon cable with ethernet and stick an sd-card in the duet, you can use the pi to bridge ethernet to wifi and keep using the screen to access DWC running on the duet's ethernet interface. Should -give you the same-ish functionality + M500 while the devs fix the file system stuff that is missing

                        (edit: suppose you don't have to remove the ribbon cable actually, it can supply power or just sit there unused as long as the Duet has a sd-card with a config file it will ignore the SBC interface afaik)

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          GoremanX
                          last edited by 18 Oct 2020, 13:58

                          I don't want to spend more money on an ethernet bridge. Pi4s and touchscreens I have littered about the workshop practically for free 😂 All I need to do is put my heater autotune parameters and delta auto-configure results manually in config.g. I run auto-config before every print anyways. I can't think of anything else I use M500 for. It's only tedious initially because of the initial configuration which requires adjusting those settings multiple times until I zero in on the right ones.

                          ? 1 Reply Last reply 18 Oct 2020, 14:01 Reply Quote 0
                          • undefined
                            GoremanX
                            last edited by 18 Oct 2020, 14:00

                            It's also super comforting to know that I'M NOT DOING ANYTHING WRONG and there's nothing wrong with my setup that'll bite me later. That was my main concern.

                            undefined 1 Reply Last reply 22 Oct 2020, 10:05 Reply Quote 1
                            • ?
                              A Former User @GoremanX
                              last edited by 18 Oct 2020, 14:01

                              @GoremanX said in M500 Always Fails:

                              I don't want to spend more money on an ethernet bridge

                              you can use the pi for that

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                Phaedrux Moderator @GoremanX
                                last edited by 18 Oct 2020, 17:36

                                @GoremanX said in M500 Always Fails:

                                @bearer Thank you!

                                That would've been nice to know right off the bat. Especially since none of the guides take it into account. Seems like I could've saved a whole lot of head-banging if that had been cleared up immediately.

                                Sorry about that. I should have clued into checking the unsupported list first. I hope the road to feature complete isn't much longer.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 1
                                • undefined
                                  chrishamm administrators @GoremanX
                                  last edited by 22 Oct 2020, 10:05

                                  @GoremanX Thanks for the report, I could confirm this is a bug in DSF. It will be fixed in the next software version.

                                  The reason it is happening is because you have configured heaters with gaps (i.e. for example heater 0, 1, 3, 5). You can work-around this problem by configuring the heaters sequentially.

                                  Duet software engineer

                                  undefined 1 Reply Last reply 22 Oct 2020, 12:56 Reply Quote 1
                                  • undefined
                                    GoremanX @chrishamm
                                    last edited by 22 Oct 2020, 12:56

                                    @chrishamm Thank you for that clarification. I configured the heaters in the order that seemed logical to me to keep them organized compared with sensors and tools. I tried re-organizing the config file so that sensors and heaters are in numerical order (1,2,3), but it didn't seem to have fixed the issue.

                                    I skipped heater 0 since I'm using an AC bed heater and the SSR doesn't need vast quantities of current so it's being powered by heater 2 instead, which simplifies wiring. But I did have a sensor 0 configured as a general purpose sensor that was purely informational. So I went ahead and created a heater 0 (that won't do anything) and assigned it to sensor 0, and now M500 works as expected.

                                    undefined 1 Reply Last reply 22 Oct 2020, 13:28 Reply Quote 0
                                    • undefined
                                      achrn @GoremanX
                                      last edited by 22 Oct 2020, 13:28

                                      @GoremanX said in M500 Always Fails:

                                      I skipped heater 0 since I'm using an AC bed heater and the SSR doesn't need vast quantities of current so it's being powered by heater 2 instead,

                                      Heater 0 doesn't need to be Out0. I have AC bed heater on an SSR on Out1, but it's heater 0 (and I don't have any problem with M500).

                                      M308 S0 P"spi.cs1" Y"rtd-max31865" ; configure sensor 0 as PT100 via CS pin spi.cs1
                                      M950 H0 C"out1" Q5 T0 ; create bed heater output on out1 and map it to sensor 0
                                      M307 H0 A500 C1500 D12 S1 V0 B0 ; configure bed heater (since mains heater supply voltage is not relevant)
                                      M140 H0 ; map heated bed to heater 0
                                      M143 H0 S150 ; set temperature limit for heater 0 to 150C
                                      undefined 1 Reply Last reply 22 Oct 2020, 13:33 Reply Quote 0
                                      • undefined
                                        GoremanX @achrn
                                        last edited by GoremanX 22 Oct 2020, 13:33

                                        @achrn That's all well and good, but it seems unnecessarily confusing. What I did isn't technically wrong, it just happened to run afoul of a bug. I like being able to reference heater, output and sensor by the same number to avoid any potential mistakes in the future when I haven't looked at the file in months and suddenly need to make changes, especially when using these boards on many different types of printers that have completely different physical configurations

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