12 Commits

Author SHA1 Message Date
Bassam Husain
5267b5db80 Adjust readme: differences between marlin. 2025-05-26 18:46:02 -04:00
Bassam Husain
f704ca26aa Lower stepper_z run_current to 0.900. 2025-05-26 18:28:40 -04:00
Bassam Husain
100308b81e Adjust FAQ: _globals explanation; NOTEs in misc-macros.cfg. 2025-05-19 13:10:53 -04:00
Bassam Husain
720ad095f0 Merge bedtempNotExact into master. 2025-05-17 22:32:43 -04:00
Bassam Husain
21ab5937be Minor adjustments to README download section. Add firmware v0.13.x. 2025-05-17 19:19:15 -04:00
Bassam Husain
17f4c3a21e Update OS bundles. 2025-04-20 17:55:54 -04:00
Bassam Husain
54195307bf Adjust OrcaSlicer merge. 2025-04-19 11:15:32 -04:00
Bassam
75d7f241ba Merge pull request #211 from apparle/orcaslicer_support
OrcaSlicer profiles added.
2025-04-19 10:56:49 -04:00
Apoorv Parle
b622ca4663 Reword the documentation a bit. 2025-04-19 02:52:55 -07:00
Apoorv Parle
e1bc37e009 Add initial version of OrcaSlicer and ancillary files to convert config from PrusaSlicer to OrcaSlicer 2025-04-19 02:46:02 -07:00
Bassam Husain
e712f7b8a1 Adjust bundles: PS-2.9.2. 2025-04-15 02:54:47 -04:00
Bassam Husain
e00ff1d311 Adjust scarf joint settings. 2025-04-01 16:43:21 -04:00
20 changed files with 4598 additions and 51 deletions

16
.vscode/settings.json vendored
View File

@@ -32,9 +32,11 @@
"pico",
"Printables",
"Prusa",
"reformats",
"runout",
"scriptsize",
"Sovol",
"superslicer",
"textcolor",
"textit",
"texttt"
@@ -65,4 +67,18 @@
"titleBar.inactiveForeground": "#e7e7e799"
},
"peacock.color": "#512e0a"
// "[html][jinja][jinja-html]": {
// "editor.formatOnSave": false,
// "editor.defaultFormatter": "monosans.djlint",
// "editor.detectIndentation": true,
// "editor.linkedEditing": true,
// "editor.tabSize": 4,
// "djlint.enableLinting": true,
// "djlint.profile": "jinja"
// },
// "djlint.showInstallError": true,
// "djlint.useVenv": false,
// "djlint.pythonPath": "/home/bassam/.local/share/uv/tools",
// "djlint.formatLanguages": ["django-html", "jinja", "jinja-html"]
}

View File

@@ -48,6 +48,7 @@ ${\small{\textit{** Maintained by ElPainis}}}$
- Pre-configured configuration bundles based on the [Ellis SuperSlicer Print Profiles](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles):
- SuperSlicer
- PrusaSlicer
- 🚀 OrcaSlicer 🚀
- Printer profiles: `SV06/Plus`; `SV07/Plus`
- Bed model and texture to use in SuperSlicer/PrusaSlicer.
- Macros:
@@ -149,11 +150,12 @@ Please note:
💡 Make sure `git` is installed (`sudo apt update && sudo apt install git`).
1. `cd ~/printer_data/config`
2. Empty entire `~/printer_data/config` folder.
1. `ssh` into the Klipper host.
2. `cd ~/printer_data/config`
3. Empty entire `~/printer_data/config` folder.
- In linux, you can delete files via `rm fileName` and directories via `rmdir directoryName`.
- In linux, you can list files and folders via `ls -lah`.
3. `git clone -b master --single-branch https://github.com/bassamanator/Sovol-SV06-firmware.git .` ⚠️ Don't miss the period!
4. `git clone -b master --single-branch https://github.com/bassamanator/Sovol-SV06-firmware.git .` ⚠️ Don't miss the period!
#### Method 2: Download the ZIP
@@ -187,7 +189,7 @@ Please note:
restart_method: command
```
3. Do a `FIRMWARE_RESTART`.
3. Do a `FIRMWARE_RESTART` in the Klipper console.
If the Klipper flash that you did earlier was successful, and you've done everything else correctly, you should see no errors or warnings in the `Mainsail`/`Fluidd` dashboard. 🎉 **Your printer has been Klipperized!** 🎉
@@ -336,11 +338,20 @@ Edit the relevant file according to your needs.
| ---------------------- | ------------------------ |
| `cfgs/misc-macros.cfg` | `[gcode_macro _globals]` |
| Variable | Disable | Enable | Notes |
| ---------------------------------- | ------------- | ------------- | ---------------------------------------------- |
| `variable_beeping_enabled` | `0` | `1` (default) |
| `variable_filament_sensor_enabled` | `0` (default) | `1` |
| `variable_kamp_enable` | `0` (default) | `1` | See [here](#what-do-i-need-to-know-about-kamp) |
| Variable | Disable | Enable | Notes |
| ---------------------------------- | ------------- | -------------- | ---------------------------------------------- |
| `variable_beeping_enabled` | `0` | `1` (default) |
| `variable_filament_sensor_enabled` | `0` (default) | `1` |
| `variable_kamp_enable` | `0` (default) | `1` | See [here](#what-do-i-need-to-know-about-kamp) |
| `variable_bed_temp_over` | `0` | `10` (default) | Speeds up print start |
| `variable_bed_temp_not_exact` | `0` | `1` (default) | Speeds up print start |
### Any differences between this configuration and Sovol's Marlin firmware?
| Property | Marlin | OSS Klipper Config |
| ------------------------- | ------ | ------------------ |
| `stepper_z` `run_current` | 0.800 | 0.900 |
| `microsteps` | 16 | 128 |
### How do I import a configuration bundle into SuperSlicer/PrusaSlicer?

View File

@@ -29,9 +29,11 @@ gcode:
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
[gcode_macro _globals]
# NOTE 0 = false; 1 = true
variable_filament_sensor_enabled: 0 # NOTE Enable(1) or disable(0) the filament sensor, if one is connected
variable_beeping_enabled: 1 # NOTE Enable(1) or disable(0) beeping everywhere except during gantry calibration
variable_bed_temp_over: 10 # NOTE Start print if bed temperature is over by this amount, otherwise wait for temperature drop
variable_bed_temp_over: 10 # NOTE Start print if bed temperature is over by this amount. Set to 0 to disable, meaning, wait for temperature to drop
variable_bed_temp_not_exact: 1 # NOTE Start print if bed temperature is `target temperature - 1` (but continue to heat until target is reached)
variable_kamp_enable: 0 # NOTE Enable(1) or disable(0) KAMP (adaptive mesh)
variable_pre_purge_prime_length: 1.40
gcode:
@@ -75,12 +77,20 @@ gcode:
[gcode_macro M190]
rename_existing: M99190
gcode:
#Parameters
# Global variables/settings
{% set bedtempNotExact = printer["gcode_macro _globals"].bed_temp_not_exact|default(1)|int %}
# Parameters
{% set s = params.S|float %}
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set bed temp
{% if s != 0 %}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree)
{% if bedtempNotExact == 1 %}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-1} MAXIMUM={s+1} ; set & wait for bed temp (within -1 or +1 degree)
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; set & don't wait for bed temp
{% else %}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within +1 degree)
{% endif %}
{% endif %}
[gcode_macro PURGE_LINE]
@@ -97,7 +107,7 @@ gcode:
# Set safe speeds
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
G92 E0.0 ; reset extruder
G90 ; Absolute positioning
@@ -132,7 +142,7 @@ gcode:
{% set bedtempSlicer = bedtemp %}
{% set bedtempOver = printer["gcode_macro _globals"].bed_temp_over|default(0)|int %}
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
{% set maxVelocityAdjusted = (0.90 * maxVelocity * 60)|int %}
{% set maxVelocityAdjusted = (0.90 * maxVelocity * 60)|int %}
{% set kampEnabled=printer["gcode_macro _globals"].kamp_enable|default(0)|int %}
{% if printer.configfile.settings.safe_z_home %}
@@ -195,8 +205,8 @@ gcode:
# Set safe speeds
{% set zVelocity = printer.configfile.settings.printer.max_z_velocity|default(15)|int %}
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
{% set zVelocityAdjusted = (0.95 * zVelocity * 60)|int %}
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
{% set zVelocityAdjusted = (0.95 * zVelocity * 60)|int %}
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
# Get Boundaries
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
# generated by PrusaSlicer 2.9.1 on 2025-03-30 at 00:05:53 UTC
# generated by PrusaSlicer 2.9.2 on 2025-04-15 at 06:42:15 UTC
[print:Ellis_Decorative_Standard_15mm3 - 0.4 nozzle]
arc_fitting = disabled
@@ -75,7 +75,7 @@ ironing = 0
ironing_flowrate = 15%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.2
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -112,13 +112,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3
@@ -272,7 +272,7 @@ ironing = 0
ironing_flowrate = 20%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.3
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -309,13 +309,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3
@@ -469,7 +469,7 @@ ironing = 0
ironing_flowrate = 15%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.2
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -506,13 +506,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3
@@ -666,7 +666,7 @@ ironing = 0
ironing_flowrate = 20%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.3
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -703,13 +703,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3
@@ -863,7 +863,7 @@ ironing = 0
ironing_flowrate = 15%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.2
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -900,13 +900,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3
@@ -1060,7 +1060,7 @@ ironing = 0
ironing_flowrate = 20%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.3
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -1097,13 +1097,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3
@@ -1257,7 +1257,7 @@ ironing = 0
ironing_flowrate = 15%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.2
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -1294,13 +1294,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3
@@ -1454,7 +1454,7 @@ ironing = 0
ironing_flowrate = 20%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
ironing_type = topmost
layer_height = 0.3
max_print_speed = 300
max_volumetric_extrusion_rate_slope_negative = 0
@@ -1491,13 +1491,13 @@ raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
scarf_seam_entire_loop = 0
scarf_seam_length = 10
scarf_seam_max_segment_length = 10
scarf_seam_length = 15
scarf_seam_max_segment_length = 20
scarf_seam_on_inner_perimeters = 1
scarf_seam_only_on_smooth = 1
scarf_seam_placement = contours
scarf_seam_start_height = 35%
seam_gap_distance = 15%
seam_gap_distance = 30%
seam_position = aligned
single_extruder_multi_material_priming = 1
skirt_distance = 3

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,15 @@
## Converting PrusaSlicer/SuperSlicer config bundles to OrcaSlicer
OrcaSlicer configs can be converted from PrusaSlicer using [SuperSlicer_to_Orca_scripts](https://github.com/apparle/SuperSlicer_to_Orca_scripts). It is a fork of theophile's script with some enhancements which haven't been merged yet ([theophile/SuperSlicer_to_Orca_scripts#43](https://github.com/theophile/SuperSlicer_to_Orca_scripts/pull/43)). It does require a few perl modules which can be installed using `cpanminus` (or your favorite perl module manager).
Most of the script is automated, with the exception of `printer_model` field which must be manually specified with a `json`. This attribute is used by OrcaSlicer to load the appropriate build plate images & STLs.
```
perl SuperSlicer_to_Orca_scripts/superslicer_to_orca.pl --input PrusaSlicer_config_bundle-2.9.2.ini --nozzle-size 0.4 --compatible_printers_condition KEEP --skip-link-system-printer --printer-models-json printer_models_conversion_mapping.json --output-config-bundle OrcaSlicer_config_bundle-2.9.2-DEV.zip
```
## How to use OrcaSlicer bundle:
This config bundle can be imported into OrcaSlicer : `File > Import > Import configs...`
Note, OrcaSlicer reformats the `json` and adds some default attributes, so the imported files cannot be directly compared with the contents of the zipped bundle. But you can use json comparison tools like [https://www.jsondiff.com/](https://www.jsondiff.com/) to analyze the differences if needed.

View File

@@ -0,0 +1,12 @@
{
"SV06 0.4 nozzle": "Sovol SV06",
"SV06 0.6 nozzle": "Sovol SV06",
"SV06 ACE 0.4 nozzle": "Sovol SV06 ACE",
"SV06 ACE 0.6 nozzle": "Sovol SV06 ACE",
"SV06 Plus 0.4 nozzle": "Sovol SV06 Plus",
"SV06 Plus 0.6 nozzle": "Sovol SV06 Plus",
"SV07 0.4 nozzle": "Sovol SV07",
"SV07 0.6 nozzle": "Sovol SV07",
"SV07 Plus 0.4 nozzle": "Sovol SV07 Plus",
"SV07 Plus 0.6 nozzle": "Sovol SV07 Plus"
}

View File

@@ -80,7 +80,7 @@ homing_speed: 5
[tmc2209 stepper_z]
uart_pin: PA15
run_current: 1.000
run_current: 0.900
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150