I use latest marlin 1.1.0 RC8
When I insert m600 over the terminal, it makes filament change procedure with no problems
but when I want to use your plugin I just cant make it work.
I have now 3.3V from RPI to filament switch and back to GPIO 21, input pulldown resistor selected in plugin, event triger fall and filament change for printer action.
I also enable debuging filament detection time out 0, filament change Gcode M600
I found this in log when I trigger filament switch:
octoprint.plugins.enclosure - INFO - Prevented end of filament detection, filament sensor timeout not elapsed.
If I start printing with filament switch triggered I got this in log:
octoprint.plugins.enclosure - INFO - Started printing with no filament.
So Octopi recognize the state of switch but i think there is something wrong with “Prevented end of filament detection”
How to stop preventing that?
Question: does your sensor disconnect the 3.3V from the GPIO when it detects the end of the filament?
Also, note that the filament sensor routine will only work while printing, so if you are just testing without actually printing it will not work.
Another thing: I need the entire log, partial log messages are not helpful.
Did you change the filament Sensor Timeout ? This is just to avoid sending multiple M600 commands for the printer, I recomend using my g-code instead of M600.
I just send you PM.
I did all my test during printing, but always the same, it looks like only thing that it works is pause.
Filament sensor time out was 0 and also tested with 1, 5, 10…
My connection to filament sensor is like in the picture bellow, it disconect from 3.3V when run out off filament, so the picture is showing no filament.
Where can I found your GCODE?
I think I found your issue…
There was missing and ; after your gcode command, if you see the instructions that is requred becasue I’m looking for this as line separation.
My gcode script is the following if you want to try it:
The advantage compared to the m600 is that if your filament sensor get triggered when you are changing your filament it can send multiple m600, if you take longer than the time out to change the filament, think of the time out as the time that you have to change your filament after it was triggered before it can trigger again. If your sensor does not false trigger when your are replacing your filament m600 is better.
I try also with your GCODE and is the same thing.
All I get from log is
octoprint.plugins.enclosure - INFO - Prevented end of filament detection, filament sensor timeout not elapsed.
I know octopi is sending code to printer because I have gcode to turn off everything when print is canceled. and is working. I just cant get this filament change to work
Does anybody alse have similar problem?
What am I missing?
>>> import RPi.GPIO as GPIO
>>> GPIO.setmode(GPIO.BCM)
>>> GPIO.input(21)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: You must setup() the GPIO channel first
Oh… I use GPIO numbers.
Yuu still have active access to my printer if you want to check anything
There is no GPIO pin numbers, either you use BCM or BOARD numbers. Board numbers are the numbers inside the circle, BCM are numbers based on the processor numbers.
>>> import RPi.GPIO as GPIO
>>> GPIO.setmode(GPIO.BCM)
>>> GPIO.setup(channel, GPIO.IN)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'channel' is not defined
>>>
Not sure, if i changed, but you can change it back if I did, I need to trouble shoot, but I’ll also need ssh to your raspberry pi… only access to port 80 is not enough…
Send me an email, my email address is on my github page (page of the plugin)
Yes I see. Great!
I am trying with ifttt now, already entered key and hopfully correctly setup maker event. But didnt received any mail yet or sms.
There is only key that need to be entered? No need of complet url address?
Great work.
Do you think pwm could be also used for rgb led color change depend on percentage of finished work?
I saw merlin can do that from firmware and thinkin of implementing to enclousure.
I don’t have a PWM controlled LED strip to test it, so it might be difficult to implement, but it is definitely possible.
You just need your key, double check white spaces on it because it can mess up the configuration.
Go to My Applets, create a new applet and select Maker Webhooks after clicking “This”. Give access to the maker channel. Select “Receive a web request” and you need to specify a name for the event, I used “printer_event” I think you can not have a empty space here.
For that “That” part I’m using a Send a notification from the IFTTT app (but anything else should work). The content use the following: {{EventName}} : {{Value1}} .
After you set up your applet you can test it clicking on your username on the top right, services, click on the maker webhooks and click documentation.
A web page with your key and a test button will show up. Fill up the {event} with the same name that you gave it before, my case printer_event and on the “value1” write something like: This is a test.
Click test it, it should notify your client / send an email or whatever else you configured. My experience is that it took 5 minutes to start working, but after you get it working there it should work fine on the plugin as well.