-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
M600 can power down nozzles if filament change takes too long #5737
Conversation
@Tannoo I wonder if we should specify which nozzle is active and being heated? Maybe something like: Nozzle: 2 185 / 205 And if so... The heatup loop would naturally display which ever nozzle was causing it to wait. It would get to a nozzle that is not up to temperature and complain about it. (All nozzles would be heating, but which ever one is the first found that fails to meet the desired temperature would get the message.) |
That would be good for multi-hotend setups. |
Testing now.. Got it. I did it like this:
Not enough room to show set point also. |
Especially on the 4x20 displays... We could use an extra line if needed? But instead of Temp:, On:, and Off wouldn't it be clear to the user if we did 185/205 ? I might not understand what you mean. But the example: Nozzle: 2 185/205 That all fits on a 20 character line??? |
If that is exactly how you want it displayed, ok. |
Yes. It is mostly because of what has already been done. Right now, that is the format for Temperature on the various LCD Panels. That format will cause less confusion. People will see the two numbers and it will be obvious to them what it means. (Especially since nozzle temperature needs to be 'correct' in order to perform a filament change.) |
Alright...no objections. I'm just having a hard time creating it or even finding the previous implementation. Point me in the right direction? |
I did not mean there was a previous version of M600 that did this. What I meant was the normal 'Status Screen' already displays the numbers that way. On the 20x4 displays it shows: | 198/205 H 21/60 (The | and H are special characters. In the text above | is a thermometer symbol. If you choose to include the thermometer symbol, you should be able to encode that the same way the code displays it on the status screen) |
OK! We need a number of people to load this Pull Request and test it. There was a lot of chaos because the changes got put into two different branches and needed to be merged. |
I had to mess with the static void lcd_implementation_hotend_status() {
u8g.setPrintPos(50, 60);
lcd_print( (char) '0'+active_extruder );
lcd_print( ' ' );
lcd_print( ' ' );
lcd_print(itostr3(thermalManager.degHotend(active_extruder)));
lcd_print('/');
lcd_print(itostr3(thermalManager.degTargetHotend(active_extruder)));
} to get the nozzle number onto the Graphics LCD screen. And there were corresponding changes to ultralcd.cpp to eliminate all the lines that looked like: STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true); To strip the STRINGIFY(HOTENDS) out of the function call. |
M'kay, m'kay. |
I tested this branch and it works fine on this end. |
Esthetics: Can you move the |
I shifted the Nozzle Temperature message 8 pixels to the right. That looks pretty close to centered. But we seem to still have that double click at the very end.... I don't know what is causing that. |
I don't have that issue anymore. I click once before the nozzle shuts down and it starts extruding. No need to click again. |
I'm needing to click twice at the very end... It isn't that big of a deal... But it doesn't make sense to me. |
That was fixed with line 7434 in |
I'll try it again after this print that I have running. |
After loading, heating, or extruding? |
At the Extrude more or Continue Print screen. |
Ok....I tried it during this print and yes, that is a new issue. It wasn't there before. OR... maybe I just didn't notice it before because I can't find any previous builds that are different enough to cause it. |
Well... I'll find the cause soon enough... I'm moving the UBL code base to RC-8's RCBugFix. And I figured I'ld include the updated M600 just to get some more test time on it. The UBL code takes over the Encoder Wheel (and LCD Display) at certain points. So I'm going to be messing around with the button debouncing any way. What ever is causing that... I'll find it. But it isn't a super high priority. It might take a couple of weeks to figure it out and clean up the problem. Also... It is very possible it doesn't happen on 20x4 LCD Displays. I won't know that until I try to bring up one of my older printers with the new UBL code base. If you find the cause... Be sure to holler and let people know! But for the next couple of weeks... People can press the Encoder Wheel twice at the end of the M600. And there will be a bug fix soon enough for them! I don't think this keeps us from merging the Pull Request. |
I have a RepRap Discount LCD display in the mail. So, I will be able to test that when it gets here. |
Doing a little
|
Superseded by #5794. Please test and confirm it still functions as designed. |
Bug fix for the M600 Filament Change command.
Without these changes, the Filament Change code (especially if triggered by an 'End of Filament' sensor) fails to turn off the nozzle after a period of time. If the user is not near the machine, this can cause the filament to retract and the remaining filament in the nozzle to 'cook' until it jams or destroys the nozzle.
These changes allow the user to specify a 'safe time' after which the nozzle will cool down. If the nozzle cools down, the user can click the encoder wheel to start the re-heat process so the new filament can be inserted.