Skip to content
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

Temperatures not displaying in Pronterface #1234

Closed
SidSkiba opened this issue Jan 11, 2022 · 14 comments
Closed

Temperatures not displaying in Pronterface #1234

SidSkiba opened this issue Jan 11, 2022 · 14 comments

Comments

@SidSkiba
Copy link

SidSkiba commented Jan 11, 2022

I am using Pronterface 2.0.0rc8 X64.
I have a Marlin setup with V2.0.9.2.
It is a 2 extruder printer.
The temp gauges nor the graph report the printer temperatures. They simply display 0C. They do show the setpoints issued to printer fine. Just not the actual temps.

The monitor window shows regular temp values:
ok T0:24.06 /0.00 B:23.45 /0.00 T0:24.06 /0.00 T1:24.28 /0.00 @:0 B@:0 @0:0 @1:0
ok T0:24.00 /0.00 B:23.53 /0.00 T0:24.00 /0.00 T1:24.16 /0.00 @:0 B@:0 @0:0 @1:0
ok T0:24.00 /0.00 B:23.50 /0.00 T0:24.00 /0.00 T1:24.14 /0.00 @:0 B@:0 @0:0 @1:0

When I enable debug communications I get:
SENT: M105
RECV: ok T0:24.00 /0.00 B:23.48 /0.00 T0:24.00 /0.00 T1:24.08 /0.00 @:0 B@:0 @0:0 @1:0
SENT: M105
RECV: ok T0:24.00 /0.00 B:23.50 /0.00 T0:24.00 /0.00 T1:24.03 /0.00 @:0 B@:0 @0:0 @1:0
SENT: M105
RECV: ok T0:24.00 /0.00 B:23.45 /0.00 T0:24.00 /0.00 T1:24.06 /0.00 @:0 B@:0 @0:0 @1:0

The printer LCD is reporting 23-24C for Bed and Hotends (while not printing - idle)

If I do heat the E0 and Bed I do see values changing in monitor window.
SENT: M104 S200.0
RECV: ok
Setting bed temperature to 60 degrees Celsius.
SENT: M140 S60.0
RECV: ok
SENT: M105
RECV: ok T0:27.24 /200.00 B:23.50 /60.00 T0:27.24 /200.00 T1:24.00 /0.00 @:127 B@:127 @0:127 @1:0
SENT: M105
RECV: ok T0:126.26 /200.00 B:28.00 /60.00 T0:126.26 /200.00 T1:24.33 /0.00 @:127 B@:127 @0:127 @1:0

But nothing in the gauges nor the graph.

Regards,

Sid

@DivingDuck
Copy link
Collaborator

Did you check the diagram in -->Settings -->User interface -->Display temperature graph and gauges?

PRSettingTemp

There is maybe something wrong with your firmware setup / reporting temps:

         T0:24.06 /0.00 B:23.45 /0.00 T0:24.06 /0.00 T1:24.28 /0.00 @:0 B@:0 @0:0 @1:0
RECV: ok T0:126.26 /200.00 B:28.00 /60.00 T0:126.26 /200.00 T1:24.33 /0.00 @:127 B@:127 @0:127 @1:0

T0, then B, then T0 once more, then T1 then all the @ @ @ @. Two times T0 in one reporting line, is this normal?

This is how it looks like for two extruders and 2 beds on my printer (firmware is Smoothieware):

PrT0T1B0B1

         T:39.9 /180.0 @255 T1:20.7 /180.0 @255 B:23.3 /30.0 @255 B1:22.4 /30.0 @255
RECV: ok T:39.9 /180.0 @255 T1:20.7 /180.0 @255 B:23.3 /30.0 @255 B1:22.4 /30.0 @255

@SidSkiba
Copy link
Author

SidSkiba commented Jan 12, 2022 via email

@SidSkiba
Copy link
Author

SidSkiba commented Jan 12, 2022

It has been confirmed a bug in Marlin. It has been fixed now in the bugfix branch. It all works good now.

MarlinFirmware/Marlin#23505

Thank you. And thank you to the Pronterface team for the awesome software.

@DivingDuck
Copy link
Collaborator

Good to know and thanks for your update. I will close the issue as your problem is solved.
Best regards, DD

@volconst
Copy link
Collaborator

happy end, but pronterface is wrong here - it only accepts 'T:' and not 'T0:'

if line.startswith('ok') and "T:" in line:

The B@:0, @0:0 notation that looked as garbage to me is explained at
https://reprap.org/wiki/G-code#M105:_Get_Extruder_Temperature

@DivingDuck
Copy link
Collaborator

Hi @volconst ,
Interesting, I had only a quick look on an other place (my bad):

def update_tempdisplay(self):
try:
temps = parse_temperature_report(self.tempreadings)
if "T0" in temps and temps["T0"][0]:
hotend_temp = float(temps["T0"][0])
elif "T" in temps and temps["T"][0]:
hotend_temp = float(temps["T"][0])
else:

and thought this is consequently done on other places too.

Yeah, I had seen the explanation from reprap too and was as well a bit irritated about the logic to split values that should be reported together.

So, what do you think, should printcore.py be updated so it can handle both T and T0?

@volconst
Copy link
Collaborator

@DivingDuck ,
My bad, you are on the right location.
I still think that both 'T' and 'T0' should work and do not understand why they don't.
I am not at my dev computer, but tried the regex and it parsed the temps and this was my second guess.
My location seems to be for callbacks that do not handle temperature graph. They may need fix also if someone uses them.

@volconst
Copy link
Collaborator

@SidSkiba
Can you test if this branch https://github.com/volconst/Printrun/tree/empty-temp-graph works with your printer?
I saw that the problem is fixed in marlin, but in my opinion the fix belongs to pronterface.
The branch should work with unpatched marlin, but if updating (downgrading) firmware is too much it is also fine to test on the patched firmware that at least it does not break other printers.

@SidSkiba
Copy link
Author

SidSkiba commented Jan 13, 2022 via email

@SidSkiba
Copy link
Author

SidSkiba commented Jan 14, 2022

I was able to test the branch version. With the unpatched Marlin firmware I get the following response to M105:

T0:56.86 /0.00 B:22.79 /0.00 T0:56.86 /0.00 T1:24.25 /0.00 @:0 B@:0 @0:0 @1:0

The graphs work in Pronterface showing both EX0, EX1 as well as Bed and Fan Temps with your branch version.

There is only a single EX gauge which only shows EX0. That may be by design. But it would be nice to show a gauge for each extruder or have the gauge values match the selected tool (extruder 1 or 2)

Sid
BranchTest

@volconst
Copy link
Collaborator

@SidSkiba
I added in my branch https://github.com/volconst/Printrun/tree/empty-temp-graph
a new commit volconst@bcbfec6
which shows the temps of the selected tool in the temperature gauge.
Please test it. I refactored the code, so it may contain regressions :)
See testtools/mock-printer.py in the same branch, you can change the temperature status line sent from the printer, needs restart of mock-printer.py

@SidSkiba
Copy link
Author

I tried it and the gauge displays Heater 0. However when I change tool on screen I get this:

Setting hotend temperature to 100 degrees Celsius.
Traceback (most recent call last):
File "printrun\gui\controls.py", line 344, in extrudersel_cb
File "printrun\pronterface.py", line 661, in tool_change
AttributeError: 'Button' object has no attribute 'Value'
Traceback (most recent call last):
File "printrun\gui\controls.py", line 344, in extrudersel_cb
File "printrun\pronterface.py", line 661, in tool_change
AttributeError: 'Button' object has no attribute 'Value'
Traceback (most recent call last):
File "printrun\gui\controls.py", line 344, in extrudersel_cb
File "printrun\pronterface.py", line 661, in tool_change
AttributeError: 'Button' object has no attribute 'Value'
Traceback (most recent call last):
File "printrun\gui\controls.py", line 344, in extrudersel_cb
File "printrun\pronterface.py", line 661, in tool_change
AttributeError: 'Button' object has no attribute 'Value'
Setting hotend temperature to 0 degrees Celsius.
Traceback (most recent call last):
File "printrun\gui\controls.py", line 344, in extrudersel_cb
File "printrun\pronterface.py", line 661, in tool_change
AttributeError: 'Button' object has no attribute 'Value'
Traceback (most recent call last):
File "printrun\gui\controls.py", line 344, in extrudersel_cb
File "printrun\pronterface.py", line 661, in tool_change
AttributeError: 'Button' object has no attribute 'Value'

And the gauge does not change...continues to show Heater 0.

Also it seems I cannot set the temp on Tool 1. It just changes Tool 0.

@volconst
Copy link
Collaborator

@SidSkiba
Oops, 2 extruders are handled with button, more - with drop down :)
I added fix for this in https://github.com/volconst/Printrun/tree/empty-temp-graph

@volconst volconst reopened this Jan 17, 2022
@SidSkiba
Copy link
Author

Looks like it works. The gauge changes with the tool selection and shows the correct temps for the selected tool.

Thank you for the awesome work.

volconst added a commit that referenced this issue Jan 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants