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

Klipper v0.12 #11

Open
Jayhawker32 opened this issue Nov 25, 2023 · 20 comments
Open

Klipper v0.12 #11

Jayhawker32 opened this issue Nov 25, 2023 · 20 comments

Comments

@Jayhawker32
Copy link

I hesitated to report this because I suspected it wouldn't work and of course it didn't.

Upgrading firmware to v0.12 doesn't work due to the custom repo that this project requires. If it's possible and not a horrible pain in the ass to update I would greatly appreciate it.

If not no worries and will gladly run v0.11 with a working screen.

Cheers!

@JoopVerdoorn
Copy link

For some reason, if I install klipper and add the configs by Bassamanator, the Klipper version stays at v0.12 regardless whether I swicth to the custom repo as described here.

What I did
I started twice fresh by doing this:

  • installing raspberry os through the pi imager
  • installing Klipper, Moonraker and Mainsail, using KIAUH. This results in having Klipper v0.12
  • replacing the stock config files in printer_data by the ones that Bassamanator has made for the SV06 plus
  • firing KIAUH up again and switch to custom repo as described here
  • Klipper stays at v0.12, probably because it sees no use in downgrading from v0.12 to v0.11

Problem with Klipper v0.11
Personally I don't mind to use version v0.11 of Klipper. However, the config files that Bassamanator provides for the Sovol SV06 plus need v0.12, otherwise an error will be thrown. See: bassamanator/Sovol-SV06-firmware#118

@fryc88
Copy link
Owner

fryc88 commented Dec 9, 2023

Try again now. Friend has updated fork to 0.12 right now.

@JoopVerdoorn
Copy link

Thanks 👍 ! I will try tomorrow, have to go to a birthday party and walk with the dog first :)

@JoopVerdoorn
Copy link

Not succesful yet, unfortunately.

  • I removed klipper, moonraker and mainsail. Then installed those again with this repository as a custom repository. After editing the path to the mcu in the printer.cfg, I could use the printer again; no errors (contrary to what your guide says)
  • I generated the new klipper firmware and flashing it, mainsail threw an error: mcu 'mcu': Unable to connect. If I understand your guide well, it should deliver no errors at this point.
    By doing ls /dev/serial/by-path/ I could see however that the mcu was still connected and configered correctly in the printer.cfg: platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0

I will flash the screen and look whether that will fix the error and make the screen work. Will be later today or somewhere in the coming weeks

@fryc88
Copy link
Owner

fryc88 commented Dec 10, 2023 via email

@JoopVerdoorn
Copy link

No joy yet....

I have flashed the screen and did a flash of the printer itself again, now with the precompiled firmware5.bin. The screen shows the Klipper logo as expected, but after a firmware restart the error is still there (mcu 'mcu': Unable to connect).

In the Mainsail webinterface Klipper is said to be up to date. Further it mentions the version and that a custom repo is used:
v0.12.0-144-gdc660bf1
Unofficial remote url: https://github.com/gbkwiatt/klipper

ls -l /dev/serial/by-path/ gives:
lrwxrwxrwx 1 root root 13 Dec 11 19:52 platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0 -> ../../ttyUSB0
So the raspberry pi sees the printer (also dmesg says ttyUSB0 is connected when I connect the USB-cable to the printer).

In the printer.cfg I have the right location of the mcu:
serial: /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0

The only thing I can think of is that the updated repo has something that prevents Klipper from connecting

Any ideas?

klippy.log

@JoopVerdoorn
Copy link

Printer.cfg, where I have replaced the # by a $ sign, to get normal formatting:
$ This file contains pin mappings for the stock Sovol SV06 Plus.
$
$ Find installation instructions at https://github.com/bassamanator/Sovol-SV06-firmware
$
$ See https://www.klipper3d.org/Config_Reference.html for configuration reference.

[include ./osskc.cfg]
$ [include ./cfgs/usb-adxl345.cfg]

[mcu]
$ NOTE Obtain definition by "ls /dev/serial/by-id/" or "ls /dev/serial/by-path/"
serial: /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0
restart_method: command

[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 3000
max_z_velocity: 15
max_z_accel: 45
square_corner_velocity: 8.0

[t5uid1]
firmware: dgus_reloaded
update_interval: 1
machine_name: Sovol SV06 Plus
$How often to send data updates to the touchscreen.$volume: 75
brightness: 80
$The brightness for the touchscreen (as a value from 0 to 100).
$boot_sound:
$The index of the sound to play when booting. Defaults to being provided by
$the selected firmware.
$notification_sound:
$The index of the sound to play when certain events happened. Defaults to
$being provided by the selected firmware.
x_min_inset: 0
$The distance (in mm) from the minimum X position used by the manual leveling
$screen.
x_max_inset: 300
$The distance (in mm) from the maximum X position used by the manual leveling
$screen.
y_min_inset: 0
$The distance (in mm) from the minimum Y position used by the manual leveling
$screen.
y_max_inset: 300
$The distance (in mm) from the maximum Y position used by the manual leveling
$screen.
x_min: 0
$This can be used to provide a lower limit (in mm) to X moves done using the
$touschreen. Movements will still be limited by your [stepper_x]
$configuration values.
x_max: 300
$This can be used to provide an upper limit (in mm) to X moves done using the
$touschreen. Movements will still be limited by your [stepper_x]
$configuration values.
y_min: 0 $ Same as x_min for the Y axis.
y_max: 300 $ Same as x_max for the Y axis.
z_min: 0 $ Same as x_min for the Z axis.
z_max: 340 $ Same as x_max for the Z axis.

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ X/Y/Z Stepper Settings $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

[stepper_x]
step_pin: PC2
dir_pin: !PB9
enable_pin: !PC3
microsteps: 128
rotation_distance: 40
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
position_max: 300 $ NOTE You can adjust this if you have more room
homing_speed: 40
homing_retract_dist: 0

[tmc2209 stepper_x]
uart_pin: PC1
run_current: 0.820
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 3
driver_SGTHRS: 86 $ NOTE Bump sensitivity; increase to make more sensitive
diag_pin: PA5

[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 128
rotation_distance: 40
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_endstop: 0
position_max: 300 $ NOTE You can adjust this if you have more room
homing_speed: 40
homing_retract_dist: 0

[tmc2209 stepper_y]
uart_pin: PC0
run_current: 0.880
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 3
driver_SGTHRS: 110 $ NOTE Bump sensitivity; increase to make more sensitive
diag_pin: PA6

[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 128
rotation_distance: 4
endstop_pin: probe:z_virtual_endstop
position_min: -4
position_max: 340 $ NOTE You can adjust this if you have more room
homing_speed: 5

[tmc2209 stepper_z]
uart_pin: PA15
run_current: 0.800
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 3
diag_pin: PA7

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ Extruder $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

[extruder]
step_pin: PB4
dir_pin: !PB3
enable_pin: !PC3
microsteps: 128
rotation_distance: 4.65 $ NOTE Calibrate e-steps https://www.klipper3d.org/Rotation_Distance.html$calibrating-rotation_distance-on-extruders, https://github.com/bassamanator/everything-sovol-sv06/blob/main/howto.md$calibrate-esteps
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
pid_kd: 41.96
pid_kp: 15.66
pid_ki: 1.49
min_temp: 0
max_temp: 300
max_extrude_only_distance: 150.0
max_extrude_cross_section: 5 $ NOTE Needed for KAMP purge

[tmc2209 extruder]
uart_pin: PC14
run_current: 0.550
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 3

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ Bed Heater $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_kp: 186.38
pid_ki: 36.12
pid_kd: 637.30
min_temp: 0
max_temp: 110

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ Probe Related $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

[probe]
pin: PB1
x_offset: 27
y_offset: -20
$z_offset: 0
samples: 3
samples_result: median
samples_tolerance: 0.01
samples_tolerance_retries: 5

[safe_z_home]
home_xy_position: 123, 170
speed: 100.0
z_hop: 10
z_hop_speed: 15

[bed_mesh]
speed: 175
mesh_min: 27, 6 $ probe as close to origin as possible while remaining fully on the bed
mesh_max: 299, 280 $ (x.position_max - 1), (y.position_max - abs(y_offset)) ; probe as far as possible from the origin while remaining fully on the bed
probe_count: 7, 7
algorithm: bicubic
fade_start: 1
fade_end: 10
fade_target: 0

[axis_twist_compensation]
calibrate_start_x: 27 $ probe x coor at furthest left ; abs(x_offset)
calibrate_end_x: 272 $ probe x coor at furthest right ; (x.position_max - abs(x_offset) - 1)
calibrate_y: 154

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ Fans $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

[fan]
pin: PA0

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ Misc $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

$ NOTE The screen is not Klipper friendly
$ [display]
$ lcd_type: st7920
$ cs_pin: PB12
$ sclk_pin: PB13
$ sid_pin: PB15
$ encoder_pins: ^PB14, ^PB10
$ click_pin: ^!PB2

[screws_tilt_adjust]
screw1_name: center front left base
screw1: 84, 136
screw2_name: front left
screw2: 5, 55
screw3_name: front right
screw3: 244, 55
screw4_name: center front right
screw4: 164, 136
screw5_name: center back left
screw5: 84, 216
screw6_name: center back right
screw6: 164, 216
screw7_name: back left
screw7: 5, 295
screw8_name: back right
screw8: 244, 295
horizontal_move_z: 10
screw_thread: CCW-M4

$ NOTE The speaker will not work, since the screen doesn't
$ [output_pin beeper]
$ pin: PC6
$ value: 0
$ shutdown_value: 0
$ pwm: True
$ cycle_time: 0.0005 ; Default beeper tone in kHz. 1 / 0.0005 = 2000Hz (2kHz)

[filament_switch_sensor filament_sensor]
switch_pin: PA4
pause_on_runout: True
insert_gcode:
{ action_respond_info("Insert Detected") }
runout_gcode:
{ action_respond_info("Runout Detected") }
CONDITIONAL_BEEP i=3 dur=300 freq=400

$$ <---------------------- SAVE_CONFIG ---------------------->
$
$ DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
$$
$
$ [heater_bed]
$$
$
$ [extruder]
$$
$
$ [bed_mesh default]
$$ version = 1
$
$ points =
$$ -0.564844, -0.451719, -0.351094, -0.268125, -0.177969, -0.142031, -0.169219
$
$ -0.500313, -0.389063, -0.270313, -0.171719, -0.079531, -0.057188, -0.084219
$$ -0.463906, -0.314844, -0.191250, -0.089531, 0.013594, 0.049687, 0.025000
$
$ -0.439531, -0.269688, -0.139219, -0.028750, 0.057969, 0.106875, 0.099062
$$ -0.443594, -0.238125, -0.068125, 0.012656, 0.097656, 0.168281, 0.155000
$
$ -0.471094, -0.267344, -0.114688, 0.004844, 0.099844, 0.154687, 0.150625
$$ -0.503281, -0.285625, -0.130781, -0.020625, 0.077187, 0.154531, 0.131250
$
$ x_count = 7
$$ y_count = 7
$
$ mesh_x_pps = 2
$$ mesh_y_pps = 2
$
$ algo = bicubic
$$ tension = 0.2
$
$ min_x = 27.0
$$ max_x = 298.98
$
$ min_y = 6.0
$$ max_y = 279.96
$
$
$$ [probe]
$
$ z_offset = 1.100
$$
$
$ [input_shaper]
$$ shaper_type_x = mzv
$
$ shaper_freq_x = 51.4
$$ shaper_type_y = mzv
$
$ shaper_freq_y = 26.8

@fryc88
Copy link
Owner

fryc88 commented Dec 11, 2023

I'm assuming you do have USB cable with isolated 5V pin or you do unplug your cable when you switch off printer?
Also, after connecting back, you need to press 'restart firmware' in GUI, in some cases you need to restart whole klipper (not host) as well.
Did you try to set up serial 'by-id' instead of 'by-path'? That option what you use is changing path when you change USB port in your PI.
Another thing is, can you take screenshot of 'machine' tab, right hand side where are stats, when you have mcu connection error?
I've tested whole repo, I'm still using in my printers, including latest update & it works just fine (even without updating firmware of klipper on board).
According to your klippy log, it simply can't open serial port that you are showing in config file:
image
However path seems to be fine to what you've listed in previous post - could be either permissions or system issue with your host.
Please try 'by-id' method instead.
image
That should give you something similar to above, then in printer.cfg you edit it accordingly:
image

@ihatemyisp
Copy link

I can also confirm that v0.12 from https://github.com/gbkwiatt/klipper works perfectly with SV06p and the screen.

@JoopVerdoorn
Copy link

Thanks for the replies, I appreciate it!

I do have a special plug that isolates the 5V for the USB-cable to the printer. Has been working well for the past half year.

My machine software status:
Machine_status

I didn't have the "Invalid/Dirty version of Klipper"-problem after I had "https://github.com/gbkwiatt/klipper" as repository. Also Klipper could see the mcu, but that stopped when I flashed the printer with the firmware (then Klipper couldn't find the mcu anymore).
By the way I have changed the contents of the moonraker.env file, but that didn't change anything.

@JoopVerdoorn
Copy link

JoopVerdoorn commented Dec 13, 2023

I tried once again, this time by using a fresh Mainsail OS. I first used the Bassamanator guide to be able to use the SV06 plus (see https://github.com/bassamanator/Sovol-SV06-firmware/tree/sv06-plus), which means removing the files in ~/printer_data/config and replacing it with his conf-files by git clone -b sv06-plus --single-branch https://github.com/bassamanator/Sovol-SV06-firmware.git .

After that adding the mcu path and the [t5uid1]-text in the printer.cfg file.

Then using option 2 in this guide to replace Klipper by a custom one.

After a reboot however this is the result, no "Invalid/Dirty version of Klipper":

Schermafbeelding 2023-12-13 154718

Adding the developers-modus in moonraker.env doesn't change this.

The strange thing is that the klipper-version that Mainsail reports is the old klipper v0.11 version that Mainsail had, while I presume that git clone https://github.com/gbkwiatt/klipper would give v0.12.

@JoopVerdoorn
Copy link

There is probably something else going on. I flashed the klipper firmware from bassamanator and went back to a backup of my raspberry pi with a working setup, but that doesn't work anymore as well. Also mcu not found.
Now checking USB cables etc. Sorry for the disturbance

@ihatemyisp
Copy link

ihatemyisp commented Dec 13, 2023 via email

@JoopVerdoorn
Copy link

Tried different names, different USB-cables and different micro SD-cards; none works. Not with this version of Klipper with the screen flashed for Klipper usage, nor with the Bassamanator setup en even not with Octoprint (when I tried to flash back to the original Marlin firmeware). I suspect my motherboard is damaged and have therefore ordered a new one. I might have switched cables to the printer and webcam last weekend and damaged the printer motherboard with a 5V current.
I have also ordered a few extra micro SD-cards as it is also possible that that causes my troubles.

No need to keep this issue open, as the original request for a V0.12 version is fulfilled.

One last remark: after flashing the screen I wasn't able to flash back to the original state, with the Sovol firmware (as provided at https://drive.google.com/drive/folders/1sJL5uCxHxQVBfpwitEse-BqS4v_j-ktz)

@Jayhawker32
Copy link
Author

Hmm, I'm running into the same issue. Updated my RPI klipper version confirming that I'm using the custom repo, create the firmware for the printer using the make menuconfig and make command after updating to Klipper version 0.12 then flash the printer changing the .bin filename each time to be certain.

I still get incompatible MCU version. Fluid shows that my RPI version is v0.12.0-158-gb8486d02 but my MCU is v0.12.0-10-gea2f6bc0

@fryc88
Copy link
Owner

fryc88 commented Dec 17, 2023 via email

@Jayhawker32
Copy link
Author

v0.12.0-10-gea2f6bc0 That is main branch. It means you haven't flashed board correctly still.

On Sun, 17 Dec 2023 at 19:25, Jayhawker32 @.> wrote: Hmm, I'm running into the same issue. Updated my RPI klipper version confirming that I'm using the custom repo, create the firmware for the printer using the make menuconfig and make command after updating to Klipper version 0.12 then flash the printer changing the .bin filename each time to be certain. I still get incompatible MCU version. Fluid shows that my RPI version is v0.12.0-158-gb8486d02 but my MCU is v0.12.0-10-gea2f6bc0 — Reply to this email directly, view it on GitHub <#11 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMB23JECUM5RGQJ3AZUFYUDYJ5BI7AVCNFSM6AAAAAA72NMDWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJZGI2TONZSGQ . You are receiving this because you commented.Message ID: @.>

Just figured it out, thanks. Guess the board didn't like what I renamed the .bin file to so 5th times the charm. Thanks for the help

@JoopVerdoorn
Copy link

I had bought new micro SD cards and used firmware.bin for the name and flashing now works!

@fryc88
Copy link
Owner

fryc88 commented Dec 20, 2023 via email

@JoopVerdoorn
Copy link

JoopVerdoorn commented Dec 21, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants