<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Jam detection question(s)</title>
        <description> Hello

I am using v 0.92.5 and I have enabled jam detection using a friction driven optical quadrature encoder.

It appears to me that the jam detection only works one time per print.  Is this true?

I have one channel of the encoder hooked to pin 32 so it is outputting a square wave at 24 PPR

I have JAM_METHOD = 1,  EXT0_JAM_PIN = 32,  and  JAM_ACTION = 2

If I disconnect the signal from pin 32 I do indeed get a pause.  I then reconnect restart and then disconnect again and I do not get another pause.  It only seems to work once.

Is it possible it is not getting re-initialized on resume?

As a related question it seems from looking at the code that JAM_METHOD 2 and 3 are simple end of filament detection with one looking for a positive value and one looking for ground,  Is that correct?

Is there a discussion thread or more in depth documentation of the jam detection system?  I am sorry if these are dim-witted questions but I am a casual Arduino programmer at best and some of this code is a bit hard for me to follow.

Thanks</description>
        <link>https://reprap.org/forum/read.php?267,589366,589366#msg-589366</link>
        <lastBuildDate>Tue, 06 Oct 2026 08:35:43 -0400</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://reprap.org/forum/read.php?267,589366,590253#msg-590253</guid>
            <title>Re: Jam detection question(s)</title>
            <link>https://reprap.org/forum/read.php?267,589366,590253#msg-590253</link>
            <description><![CDATA[ Yes, it did not compile for a while, but that has been fixed recently. Was a missing closing }]]></description>
            <dc:creator>repetier</dc:creator>
            <category>Repetier</category>
            <pubDate>Sat, 28 Nov 2015 09:12:54 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?267,589366,590243#msg-590243</guid>
            <title>Re: Jam detection question(s)</title>
            <link>https://reprap.org/forum/read.php?267,589366,590243#msg-590243</link>
            <description><![CDATA[ Hello<br />
<br />
I was experimenting with JAM_METHOD 2 and 3 and found that in 0.92.5 the code will not compile.<br />
<br />
It appears to me (please note that I am no expert) that perhaps in extruder.cpp<br />
<br />
#define _TEST_EXTRUDER_JAM(x,pin) {\<br />
        uint8_t sig = READ(pin);\<br />
          if(sig){extruder[x].tempControl.setJammed(true);} else if(!Printer::isDebugJamOrDisabled() &amp;&amp; !extruder[x].tempControl.isJammed()) {extruder[x].resetJamSteps();}<br />
#elif JAM_METHOD == 3<br />
#define _TEST_EXTRUDER_JAM(x,pin) {\<br />
        uint8_t sig = !READ(pin);\<br />
          if(sig){extruder[x].tempControl.setJammed(true);} else if(!Printer::isDebugJamOrDisabled() &amp;&amp; !extruder[x].tempControl.isJammed()) {extruder[x].resetJamSteps();}<br />
#else<br />
<br />
should be changed to<br />
<br />
#elif JAM_METHOD == 2<br />
#define _TEST_EXTRUDER_JAM(x,pin) \<br />
        uint8_t sig = READ(pin);\<br />
          if(sig){extruder[x].tempControl.setJammed(true);} else if(!Printer::isDebugJamOrDisabled() &amp;&amp; !extruder[x].tempControl.isJammed()) {extruder[x].resetJamSteps();}<br />
#define RESET_EXTRUDER_JAM(x,dir)<br />
#elif JAM_METHOD == 3<br />
#define _TEST_EXTRUDER_JAM(x,pin) \<br />
        uint8_t sig = !READ(pin);\<br />
          if(sig){extruder[x].tempControl.setJammed(true);} else if(!Printer::isDebugJamOrDisabled() &amp;&amp; !extruder[x].tempControl.isJammed()) {extruder[x].resetJamSteps();}<br />
#define RESET_EXTRUDER_JAM(x,dir)<br />
#else]]></description>
            <dc:creator>RKMore</dc:creator>
            <category>Repetier</category>
            <pubDate>Sat, 28 Nov 2015 08:56:41 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?267,589366,589845#msg-589845</guid>
            <title>Re: Jam detection question(s)</title>
            <link>https://reprap.org/forum/read.php?267,589366,589845#msg-589845</link>
            <description><![CDATA[ You are correct and I did not see this information.  It works fine now!<br />
<br />
Thank you!!]]></description>
            <dc:creator>RKMore</dc:creator>
            <category>Repetier</category>
            <pubDate>Fri, 27 Nov 2015 09:06:27 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?267,589366,589483#msg-589483</guid>
            <title>Re: Jam detection question(s)</title>
            <link>https://reprap.org/forum/read.php?267,589366,589483#msg-589483</link>
            <description><![CDATA[ You miss sone important point. You must send M513 to mark extruders as unjammed. Since you selected to do a pause on host, you become responsible for doing this. With action 1 this is handled in the menus. While checking I saw that sd pause also misses this, which will be fixed with next update.<br />
<br />
Methods 2 and 3 are in deed only out of filament detections. 3 is inverse signal of 2.<br />
<br />
No there is no discussion thread I'm aware of.]]></description>
            <dc:creator>repetier</dc:creator>
            <category>Repetier</category>
            <pubDate>Thu, 26 Nov 2015 13:46:51 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?267,589366,589366#msg-589366</guid>
            <title>Jam detection question(s)</title>
            <link>https://reprap.org/forum/read.php?267,589366,589366#msg-589366</link>
            <description><![CDATA[ Hello<br />
<br />
I am using v 0.92.5 and I have enabled jam detection using a friction driven optical quadrature encoder.<br />
<br />
It appears to me that the jam detection only works one time per print.  Is this true?<br />
<br />
I have one channel of the encoder hooked to pin 32 so it is outputting a square wave at 24 PPR<br />
<br />
I have JAM_METHOD = 1,  EXT0_JAM_PIN = 32,  and  JAM_ACTION = 2<br />
<br />
If I disconnect the signal from pin 32 I do indeed get a pause.  I then reconnect restart and then disconnect again and I do not get another pause.  It only seems to work once.<br />
<br />
Is it possible it is not getting re-initialized on resume?<br />
<br />
As a related question it seems from looking at the code that JAM_METHOD 2 and 3 are simple end of filament detection with one looking for a positive value and one looking for ground,  Is that correct?<br />
<br />
Is there a discussion thread or more in depth documentation of the jam detection system?  I am sorry if these are dim-witted questions but I am a casual Arduino programmer at best and some of this code is a bit hard for me to follow.<br />
<br />
Thanks]]></description>
            <dc:creator>RKMore</dc:creator>
            <category>Repetier</category>
            <pubDate>Thu, 26 Nov 2015 09:16:14 -0500</pubDate>
        </item>
    </channel>
</rss>
