Interrupt print when end stop is triggered



  • I am on site printing files submitted by students of a remote class. They slice it themselves so sometimes the gcode is larger than the build volume

    I cant get M581 to interrupt a print with an emergency stop if the z end stop is triggered

    3DPotter SCARA V3
    M581 line in the config file
    ;M581 Z1 S1 C1 ;Configure external trigger



  • @fhoran that line is commented out.
    Does it work if you remove the semi colan ";" ?

    Edit: Also M581 parameters are firmware version specific, so check the dozuki
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M581_Configure_external_trigger



  • Nope, I tried a handful of variants that also didn't work. I tried the M577 command to make sure I was referring to the end stop correctly and it responded to Z or Z1
    I cant seem to get M581 to do anything

    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet WiFi 1.02 or later
    Firmware Version: 2.03RC1 (2019-05-08b1)



  • Hi,

    You firmware is rather out of date.

    I think the current v2 firmware is 2.05.1.

    I know that it worked with switches connected to end stop inputs. I had one button that forced a restart (M999) and another that forced an emergency stop.

    I have migrated to v3 firmware and no longer have my v2 config file but I think you are missing the T parameter which specifies the trigger number.

    T0 specifies an emergency stop.

    Frederick


  • Moderator

    For starters, upload this zip file as is (don't extract it) to the /sys folder via DWC to update your firmware.

    https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip

    Then check your M581 command against the documentation that OwenD linked.



  • Thanks everyone for the help so far, I am a student worker so this is really invaluable!

    I updated the firmware, and I was wondering if the update prevents the machine from moving beyond its build volume, because even though it is not triggering an emergency stop when it hits the z max (500) it stays there, continuing to print but not moving upward.

    Before if a file was sliced to drive it above the 500 limit it would gladly slam the arm into the end stop on its journey to the stars.

    So the problem that started this is solved, but I guess I don't understand how to use the M581 command. I tried all the permutations in the documentation but none of them triggered an emergency stop when the end stop was triggered.

    Again, Thanks so much!


  • administrators

    @fcwilt said in Interrupt print when end stop is triggered:

    Hi,

    You firmware is rather out of date.

    I think the current v2 firmware is 2.05.1.

    I know that it worked with switches connected to end stop inputs. I had one button that forced a restart (M999) and another that forced an emergency stop.

    I have migrated to v3 firmware and no longer have my v2 config file but I think you are missing the T parameter which specifies the trigger number.

    T0 specifies an emergency stop.

    Frederick

    As @fcwilt says, the T parameter appears to be missing from the M581 command.

    Hint: to check for some on obvious errors in the config.g file, run M98 P"config.g".



  • Adding T0 didn't change the output before the firmware update but I will try again now.

    Did this firmware update also change the appearance of DWC? It is styled differently than it was before, and the styling is unlike the DWC interface documentation here for v1 & v2/3
    https://duet3d.dozuki.com/c/DuetWebControl

    Edit: I saw the revert to DWC 1- I was worried because its the schools machine but as long as I can switch it were all good 👍 👍


  • Moderator

    DWC1 is a bit out dated at this point and not maintained. As long as you're on the RRF2 branch DWC1 should work fine. When moving to RRF3 things may not work as expected. It's mostly just visual changes at the moment.

    @fhoran said in Interrupt print when end stop is triggered:

    Before if a file was sliced to drive it above the 500 limit it would gladly slam the arm into the end stop on its journey to the stars.

    Yes by default the axis limits are respected by the firmware. You can send a command to remove that limit, but it's not recommended for normal use. The M208 axis limit command should be set for the actual physical limit of the machine and the slicer should be set to respect that limit as well.

    This generally is enough to negate the need for dual endstops or an estop at the end of an axis.



  • @fhoran said in Interrupt print when end stop is triggered:

    Adding T0 didn't change the output before the firmware update but I will try again now.

    I'm not sure what you mean by "change the output".

    The T parameter determines what trigger is run.

    From the documentation:

    Trigger number 0 causes an emergency stop as if M112 had been received.
    Trigger number 1 causes the print to be paused as if M25 had been received.
    Any trigger number # greater than 1 causes the macro file sys/trigger#.g to be executed.

    Hope that helps.

    Frederick



  • @fcwilt My bad, I meant outcome

    And it works now! It's no longer needed but it's great to learn what each part of the config file does.

    Thank you all again
    This is my first post, how do I mark this as solved?


  • Moderator

    Topic tools, then ask as question, then topic tools again and mark as solved.


Log in to reply