KlipperScreen / KlipperScreen

GUI for Klipper
https://klipperscreen.github.io/KlipperScreen/
GNU Affero General Public License v3.0
1.01k stars 319 forks source link

[BUG] Bed screw adjustment mislabelled since rework a few weeks ago #1361

Closed ffolkes closed 1 month ago

ffolkes commented 1 month ago

What happened?

Ever since the bed mesh rework a few weeks ago, the screws in KlipperScreen are mislabeled. The locations labelled in Klipper/Mainsail are correct, but for some reason KlipperScreen is putting them in the wrong place. I'm using an Ender3 with the usual reference screw at front-left when standing in front of the printer.

For months things have been working fine. When I initially updated KlipperScreen after the bed mesh changes were pushed, it had the reference screw as back left (when it is supposed to be front-left). I thought this was just due to the code rework, and added "screw_rotation: 90" to the conf. This correctly moved the reference screw to the front-left position as expected. But now there is another problem: the front-right screw in the GUI is showing data from the back-left screw and vice versa. I think something is getting juxtaposed in recent KlipperScreen code.

What did you expect to happen instead?

N/A

How to reproduce this bug?

N/A

Additional information:

No response

Log output

[bed_level.py:_get_screws()] - screws_tilt_adjust [bed_level.py:_get_screws()] - screw1: 80, 35 [bed_level.py:_get_screws()] - screw1_name: Front Left [bed_level.py:_get_screws()] - screw2: 250, 35 [bed_level.py:_get_screws()] - screw2_name: Front Right [bed_level.py:_get_screws()] - screw3: 250, 205 [bed_level.py:_get_screws()] - screw3_name: Rear Right [bed_level.py:_get_screws()] - screw4: 80, 205 [bed_level.py:_get_screws()] - screw4_name: Rear Left [bed_level.py:_get_screws()] - horizontal_move_z: 10 [bed_level.py:_get_screws()] - speed: 200 [bed_level.py:_get_screws()] - screw_thread: CW-M4 [bed_level.py:init()] - screws_tilt_adjust: [[80.0, 35.0], [250.0, 35.0], [80.0, 205.0], [250.0, 205.0]] [bed_level.py:init()] - offset X: -50.0 Y: -5.0 [bed_level.py:init()] - screws with offset: [[30.0, 30.0], [200.0, 30.0], [30.0, 200.0], [200.0, 200.0]] [bed_level.py:init()] - Rotation: 90 [bed_level.py:init()] - Inversion X: False Y: True [bed_level.py:init()] - X: {200.0, 30.0} [bed_level.py:init()] - Using max_distance: 56 to fit: 4 screws. [bed_level.py:init()] - Rotated: 90 [bed_level.py:init()] - Using 4/4-screw locations [bed_level.py:init()] - screw_positions: {'fr': [30.0, 200.0], 'fl': [30.0, 30.0], 'bl': [200.0, 30.0], 'br': [200.0, 200.0]} [bed_level.py:process_update()] - screw1 CW 00:00 [bed_level.py:process_update()] - X: 30.0 Y: 30.0 Adjust: 00:00 Pos: fl [bed_level.py:process_update()] - screw1 is the Reference [bed_level.py:process_update()] - screw2 CCW 00:03 [bed_level.py:process_update()] - X: 200.0 Y: 30.0 Adjust: 00:03 Pos: bl [bed_level.py:process_update()] - screw3 CCW 00:04 [bed_level.py:process_update()] - X: 200.0 Y: 200.0 Adjust: 00:04 Pos: br [bed_level.py:process_update()] - screw4 CCW 00:05 [bed_level.py:process_update()] - X: 30.0 Y: 200.0 Adjust: 00:05 Pos: fr [bed_level.py:process_update()] - screw1 CW 00:00 [bed_level.py:process_update()] - X: 30.0 Y: 30.0 Adjust: 00:00 Pos: fl [bed_level.py:process_update()] - screw1 is the Reference [bed_level.py:process_update()] - screw2 CCW 00:01 [bed_level.py:process_update()] - X: 200.0 Y: 30.0 Adjust: 00:01 Pos: bl [bed_level.py:process_update()] - screw3 CCW 00:03 [bed_level.py:process_update()] - X: 200.0 Y: 200.0 Adjust: 00:03 Pos: br [bed_level.py:process_update()] - screw4 CCW 00:06 [bed_level.py:process_update()] - X: 30.0 Y: 200.0 Adjust: 00:06 Pos: fr

alfrix commented 1 month ago

[bed_level.py:init()] - Inversion X: False Y: True the invert options in move will affect this panel it's in the docs, i added a tooltip to prevent future confusion with b90cfef this options are meant for bed inversion (positron style)

the screw_rotation options is meant for having the screen to the side or back of the machine

you need to undo the invert and the rotation options.