Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. alexjx
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 12
    • Best 4
    • Controversial 0
    • Groups 0

    alexjx

    @alexjx

    5
    Reputation
    3
    Profile views
    12
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Location Shanghai Age 41

    alexjx Unfollow Follow

    Best posts made by alexjx

    • RE: Returning "virtual extruder position" in M114

      I've tested this by adding the extra E:xxx field into the M114 result. octoprint is now happy.

      posted in Firmware wishlist
      alexjxundefined
      alexjx
    • 3.5B4: Input Shaping Plugin: Bug: Data collection cancelled

      There is a bug in the latest 3.5B4 input shaping plugin, when we try capturing data, we always get "Data collection cancelled" error message. If it's a multi-move test, only the first move will be recorded due to this error. Others have seen such issue too.[https://forum.duet3d.com/topic/32383/input-shaping-plugin-not-collecting-data-using-3-5-0-beta-3/23]
      I'm using a proper shielded cable (shield grounded), so I think I could rule out the potential cable issue.

      The problem is that the plugin assumes we're always using the CANBUS to connect the accelerameter, and following code will throw if it's a none CANBUS board, as in my case a Duet2 WIFI.

      // src\plugins\InputShaping\RecordMotionProfileDialog.vue:494
      
      			// Get board
      			const board = this.boards.find(board => board.canAddress === parseInt(matches[1]));
      			if (!board) {
      				throw new Error("Failed to get accelerometer board");
      			}
      

      I have zero exprience in Vue, and less in frontend, so I don't know what a proper fix should be. However, can we assume that for a none CAN-connencted board, the canAddress will always be null? And there should only be one such board? Like following?

      			// Get board
      			const board = this.boards.find(board => board.canAddress === null || board.canAddress === parseInt(matches[1]));
      			if (!board) {
      				throw new Error("Failed to get accelerometer board");
      			}
      

      Thanks
      Jia

      posted in Beta Firmware
      alexjxundefined
      alexjx
    • Returning "virtual extruder position" in M114

      Hi gurus,

      I was confused that G92 has no effect on E axis. After a bit of search, I came across the post @dc42 wrote. I understood the philosophy that RRF has chosen to prefer relative extrusion over absolute. However, this also breaks the compatibility with other firmware like MARLIN.

      My case is that I was using octoprint with MARLIN before I converted to duet wifi recently. I managed to make octoprint to handle filament run outs... However the "pausing" of octoprint relies on the M114 to get the positions of the axes include E axis. And this is broken because the M114 in RRF returns the "extrusion since the board started."

      I know I could just use relative extrusion everywhere. But for the sake of completeness, should M114 return the "virtual extrusion position" as the E axis without any suffix? For example:

      X:0.000 Y:0.000 Z:0.000 E:0.0 E0:0.0 E1:0.0 E2:0.0 E3:0.0 E4:0.0 E5:0.0 E6:0.0 E7:0.0 E8:0.0 Count 0 0 0 Machine 0.000 0.000 0.000 Bed comp 0.000

      I haven't tried this yet, Is there anything bad about this idea?

      Jia

      posted in Firmware wishlist
      alexjxundefined
      alexjx
    • RE: 3.5B4: Input Shaping Plugin: Bug: Data collection cancelled

      @chrishamm The patch works.

      531e9c4e-d8ce-4e36-a7c1-a230f7276c42-image.png

      posted in Beta Firmware
      alexjxundefined
      alexjx

    Latest posts made by alexjx

    • RE: 3.5B4: Input Shaping Plugin: Bug: Data collection cancelled

      @chrishamm The patch works.

      531e9c4e-d8ce-4e36-a7c1-a230f7276c42-image.png

      posted in Beta Firmware
      alexjxundefined
      alexjx
    • RE: 3.5B4: Input Shaping Plugin: Bug: Data collection cancelled

      @tas I think you have to compile it. I will give it a try. I think it should work.

      posted in Beta Firmware
      alexjxundefined
      alexjx
    • RE: 3.5B4: Input Shaping Plugin: Bug: Data collection cancelled

      @chrishamm I think the codes lead to a subtle situation where it just happened to work unintentionally. As far as I recall, duet mini 3 has CAN bus capability, by another word, there will be a valid CAN address.

      Please see following picture, the accelerometerId is "0", so long if there is a board with canAddress equals to 0, the find will return a valid board. Therefore as long as we have a board with canAddress matching, we will not have the problem.

      However with duet 2 wifi, we dont have such a board, it will always return undefined in line 495, and exception afterwards.

      77703dbd-fd42-4cd4-952c-c511cfd0210a-image.png

      posted in Beta Firmware
      alexjxundefined
      alexjx
    • 3.5B4: Input Shaping Plugin: Bug: Data collection cancelled

      There is a bug in the latest 3.5B4 input shaping plugin, when we try capturing data, we always get "Data collection cancelled" error message. If it's a multi-move test, only the first move will be recorded due to this error. Others have seen such issue too.[https://forum.duet3d.com/topic/32383/input-shaping-plugin-not-collecting-data-using-3-5-0-beta-3/23]
      I'm using a proper shielded cable (shield grounded), so I think I could rule out the potential cable issue.

      The problem is that the plugin assumes we're always using the CANBUS to connect the accelerameter, and following code will throw if it's a none CANBUS board, as in my case a Duet2 WIFI.

      // src\plugins\InputShaping\RecordMotionProfileDialog.vue:494
      
      			// Get board
      			const board = this.boards.find(board => board.canAddress === parseInt(matches[1]));
      			if (!board) {
      				throw new Error("Failed to get accelerometer board");
      			}
      

      I have zero exprience in Vue, and less in frontend, so I don't know what a proper fix should be. However, can we assume that for a none CAN-connencted board, the canAddress will always be null? And there should only be one such board? Like following?

      			// Get board
      			const board = this.boards.find(board => board.canAddress === null || board.canAddress === parseInt(matches[1]));
      			if (!board) {
      				throw new Error("Failed to get accelerometer board");
      			}
      

      Thanks
      Jia

      posted in Beta Firmware
      alexjxundefined
      alexjx
    • RE: Returning "virtual extruder position" in M114

      I've tested this by adding the extra E:xxx field into the M114 result. octoprint is now happy.

      posted in Firmware wishlist
      alexjxundefined
      alexjx
    • Returning "virtual extruder position" in M114

      Hi gurus,

      I was confused that G92 has no effect on E axis. After a bit of search, I came across the post @dc42 wrote. I understood the philosophy that RRF has chosen to prefer relative extrusion over absolute. However, this also breaks the compatibility with other firmware like MARLIN.

      My case is that I was using octoprint with MARLIN before I converted to duet wifi recently. I managed to make octoprint to handle filament run outs... However the "pausing" of octoprint relies on the M114 to get the positions of the axes include E axis. And this is broken because the M114 in RRF returns the "extrusion since the board started."

      I know I could just use relative extrusion everywhere. But for the sake of completeness, should M114 return the "virtual extrusion position" as the E axis without any suffix? For example:

      X:0.000 Y:0.000 Z:0.000 E:0.0 E0:0.0 E1:0.0 E2:0.0 E3:0.0 E4:0.0 E5:0.0 E6:0.0 E7:0.0 E8:0.0 Count 0 0 0 Machine 0.000 0.000 0.000 Bed comp 0.000

      I haven't tried this yet, Is there anything bad about this idea?

      Jia

      posted in Firmware wishlist
      alexjxundefined
      alexjx
    • RE: Gcode viewer

      Does the CPU have the available processing power for this? Or we are talking about all in-browser viewer?

      posted in Duet Web Control
      alexjxundefined
      alexjx
    • RE: Any g-code in stop.g causes heaters to turn off

      @dc42 Confirmed working. Thanks.

      posted in Tuning and tweaking
      alexjxundefined
      alexjx
    • RE: Reporting and editing firmware retraction parameters

      @phaedrux Interesting link. That's a very good direction. I could just list a few candidate values. Didn't think about that. Thanks.

      posted in Firmware wishlist
      alexjxundefined
      alexjx
    • RE: Reporting and editing firmware retraction parameters

      Thanks, @deckingman, and @T3P3Tony.
      I know that M207 without parameter could get the current settings, but generating the new command to alter this by "hand" doesn't seems attractive.
      As I plan to implement it on my own, and agreed there just might be too many settings for DWC, therefore my goal was not to merge it.
      Since I'm new to RRF, suggestions on how it should be done will be very valuable to me. And it will reduce future maintenance headache to have my own fork. 🙂

      The extruder/tool point is a very valuable point.

      posted in Firmware wishlist
      alexjxundefined
      alexjx