Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
92be043
connect: Don't kill connection on TRANSFER_ABORT
vorner Jan 3, 2025
da3fb3a
connect: Update backup file before command
vorner Jan 3, 2025
0e6a8d0
connect: Update backup files based on amount too
vorner Jan 3, 2025
d6f642a
c1: Use the same speed for both forward and backward z-axis selftest
danopernis Jan 3, 2025
ea37013
c1: Decrease z-axis homing speed to prevent resonances
danopernis Jan 3, 2025
d2b8a45
c1: Use ramming sequence from mk4
danopernis Jan 4, 2025
1aa704e
c1: Use brand new ramming sequence
danopernis Jan 4, 2025
25105db
c1: Enable CANCEL_OBJECTS
danopernis Jan 6, 2025
a7ba79b
ix: Enable CANCEL_OBJECTS
danopernis Jan 6, 2025
eac7655
c1: Do not turn off Z motors
danopernis Jan 6, 2025
39efc45
fix: Limit setting chamber target temperature over max limit
Tomcus Jan 3, 2025
e33edc0
fix: Limit setting max chamber temperature from GUI
Tomcus Jan 3, 2025
998af2a
Replace EXPERIMENTAL_I2CBUS with HAS_I2C_EXPANDER
danopernis Jan 6, 2025
325f4d5
Adjust redscreen layout on big display
michalrudolf Jan 6, 2025
08921e0
Adjust selftest fan limits for MK4 & MK4S print fans
michalrudolf Jan 6, 2025
b918eea
Fix handle_warnings consuming & terminating
CZDanol Jan 6, 2025
e25141c
C1: Increase Z_NOZZLE_PARK_POINT
CZDanol Jan 7, 2025
3615a4b
C1: Increase Z_NOZZLE_PARK_POINT_M600
CZDanol Jan 7, 2025
ed7d967
Update MMU FW
CZDanol Jan 7, 2025
e5403a5
Move around commas in tune menu
danopernis Jan 8, 2025
3a7ee5b
Add door sensor disabler to tune menu
danopernis Jan 8, 2025
a824fda
Rename chamber temperature menu item
michalrudolf Jan 7, 2025
48d46db
Disable door sensor by default
michalrudolf Jan 8, 2025
feae876
marlin_server: send end of print over serial line
ivous Jan 7, 2025
62c271e
Ensure constexpr strings in GCodeInjectQueue
CZDanol Jan 7, 2025
ac4a5df
ConstexprString: Make more permissible
CZDanol Jan 7, 2025
886018f
nozzle_cleaner: Migrate to ConstexprString
CZDanol Jan 7, 2025
5897d5a
InjectQueue: Use ConstexprString in GCodeFilename, too
CZDanol Jan 7, 2025
a2f5f04
ConstexprString: Make safer
CZDanol Jan 8, 2025
c15159b
Fix FilamentSensors injecting gcode from RAM
CZDanol Jan 8, 2025
9c7e914
C1: Park head on print finish
CZDanol Jan 8, 2025
2e68b38
homing/core: Mark home as unstable only if both points are
wavexx Jan 7, 2025
118e634
homing/core: Mirror the cycle order on the second axis
wavexx Jan 7, 2025
5a09ce1
homing/cube: Increase move back distance after first attempt
wavexx Jan 7, 2025
b494616
Fix wrong extruder e0 display
Dec 12, 2024
c9fc5b6
connect: Add missing chamber temp
vorner Jan 8, 2025
a2f0986
Fix unqualified std::nullptr_t
danopernis Jan 8, 2025
a3528ac
Finalize some footer items
danopernis Jan 8, 2025
346cb6f
Make phase_stepping::reset_compensation() public
danopernis Jan 8, 2025
d2d150d
Add ability to restore phase stepping defaults
danopernis Jan 8, 2025
ddaa164
Add phase stepping screen
danopernis Jan 8, 2025
626ec9b
c1: Hide phase stepping screen
danopernis Jan 8, 2025
8be436f
Rename MI_PHASE_STEPPING_TOGGLE
danopernis Jan 9, 2025
afb2992
Move phase-stepping toggle away from hardware menu
danopernis Jan 9, 2025
25408e3
fix: Specify correct max fan rpm for metrics on coreone
Tomcus Jan 9, 2025
c2743fe
fans: Implement basic autocontrol disabler
Tomcus Jan 9, 2025
c21e21d
mbl: Set heatbreak fan to 100% during MBL to decrease loadcell noise
Tomcus Jan 9, 2025
c3178f8
hack: Fake fan RPM when autocontrol is disabled
Tomcus Jan 9, 2025
284a0a2
Disable integration tests again
danopernis Jan 9, 2025
84f3616
Loadcell: Fir tareCount not clearing if planner.draining
CZDanol Jan 10, 2025
1b1f19c
git subrepo pull --force ./lib/Prusa-Error-Codes
ivous Jan 13, 2025
e9d0fd8
Merge pull request #6704 from ivous/RELEASE-6.3
ivous Jan 13, 2025
99c8858
Planner: Add a mechanism to detect injected quick stops
CZDanol Jan 10, 2025
b6315b0
Homing: Fail on injected quick stops, too
CZDanol Jan 10, 2025
f23c538
SideStrip: Get rid of the constructor
CZDanol Jan 8, 2025
e10732d
Make hw_init_spi_side_leds XLBuddy-specific
CZDanol Jan 8, 2025
2bd0169
SideLeds: Enable on C1 and take control over the chamber LEDs
CZDanol Jan 8, 2025
db56989
Turn MI_XBUDDY_EXTENSION_LIGHTS into SideLeds::max_brightness
CZDanol Jan 8, 2025
45f629d
C1: Rename side led menu items
CZDanol Jan 8, 2025
e2e9eab
Fix connect unittests for chamber light control
CZDanol Jan 9, 2025
44357a2
Switch to line_to_current_position on same places
CZDanol Jan 10, 2025
8660a4a
coreone: Use 7x7 MBL as on the MK4
dragomirecky Jan 11, 2025
6ee20f0
coreone: Add hardcoded 10 micron offset to MBL
dragomirecky Jan 12, 2025
3b59a8a
Fix loading filament when filament sensor is bogus
danopernis Jan 10, 2025
3853654
G162: Move just a little to align motors to full steps
Tomcus Jan 10, 2025
f35b3e0
fix: Apply 10 micron offset only on coreone
Tomcus Jan 13, 2025
8544122
C1: Decrease HOMING_FEEDRATE_INVERTED_Z
CZDanol Jan 13, 2025
91c0327
xbuddy_extension: change chamber temperature control period to 1s
ivous Jan 13, 2025
31b2e34
marlin_server: is_printing method implementation moved from client to…
ivous Jan 13, 2025
efb9de7
cooling: P-regulation for chamber fan
ivous Jan 13, 2025
dd2cc1d
cooling_tests: update of unit tests reflecting new P-regulation
ivous Jan 13, 2025
bf0ade0
Reserve two more values for tester mode
danopernis Jan 13, 2025
2e7dd39
Upgrade bootloader to 2.4.1
danopernis Jan 13, 2025
afcc84a
Update PrusaLink to enable sorting by date
danopernis Jan 14, 2025
b02be2c
PS: Increase the frequency of the interrupt that processes move segme…
hejllukas Jan 13, 2025
0a52fbd
PS: Fix scheduling of next step event that could sometimes process st…
hejllukas Jan 13, 2025
74eadcd
Fix german translation for MMU Preload Advanced
Jan 12, 2025
c7926b5
Check downloaded range for plaintext gcodes
vorner Jan 14, 2025
5bf6a0f
Increase the "downloaded enough" boundary
vorner Jan 14, 2025
915b750
probing: Keep fast Z probes on XL
vorner Jan 13, 2025
6807626
C1: Change @&! Z_NOZZLE_PARK_POINT
CZDanol Jan 16, 2025
b14702c
PS: Fix the assert in the stepper routine.
hejllukas Jan 16, 2025
36364ca
Do nothing to the config file
danopernis Jan 15, 2025
bd3d058
PS: Remove incorrect step assertion
wavexx Jan 17, 2025
55002d4
Improve and unify SQUARE_WAVE_STEPPING comment
danopernis Jan 17, 2025
f5932a6
Enable SQUARE_WAVE_STEPPING for CORE One
danopernis Jan 17, 2025
f23acf6
Enable SQUARE_WAVE_STEPPING for MINI
danopernis Jan 17, 2025
ee83e4b
Disable REBOOT_RESTORE_Z on CORE One
danopernis Jan 17, 2025
87c3dbe
Remove M999_MCU_RESET #define
danopernis Jan 17, 2025
88819ee
Disable CNC_COORDINATE_SYSTEMS and Z_AXIS_CALIBRATION on CORE One
danopernis Jan 17, 2025
1bfe80a
Fix #4407 initial depenency bootstrapping fails
AndreasArendt Jan 16, 2025
9edafe5
MINI: Add Y tolerance
vojtanvk Jan 15, 2025
44f8ba9
c1: Use the same thermistor as MK4
danopernis Jan 6, 2025
0f588fd
Reject probes based on angle after compression
dragomirecky Jan 15, 2025
c282930
Change Z offset to 20 microns
dragomirecky Jan 15, 2025
314024c
coreone: Add missing HW_PWM_HEATERS define
Tomcus Jan 15, 2025
d5bd754
Retract after purge 2mm & add 2mm to load prime
Jan 9, 2025
048c71b
temporary: Add probe_load_line metric
dragomirecky Jan 11, 2025
fd3367b
fix: probe_load_line metric don't use vector
Tomcus Jan 21, 2025
f86c62c
Add probe_angle metric
dragomirecky Jan 15, 2025
f1350ff
hack: Disable probe_analysis unittest so we can pass pipeline
Tomcus Jan 21, 2025
874ebe1
fix: Fix probe_analysis unit tests
Tomcus Jan 21, 2025
91a4ae0
Revert "hack: Disable probe_analysis unittest so we can pass pipeline"
Tomcus Jan 21, 2025
23b2554
parser: skip gcode comments properly
ivous Jan 14, 2025
5523ae5
Fix TIM3 prescaler #ifdef
danopernis Jan 21, 2025
c00b13b
Be exhaustive in tim3 initialization to prevent future errors
danopernis Jan 21, 2025
86f8369
Fix T1 dock offset not configurable on 5T XL
CZDanol Jan 21, 2025
ba694f7
c1: Adjust heatbed PID parameters
danopernis Jan 21, 2025
23a279f
app_metrics: fix bed_pwm metric recording
ivous Jan 17, 2025
35b428d
Simplify preprocessor ifs in pins.h
Tomcus Jan 22, 2025
02e09bb
fix: Show buzzer volume control only with ST7789 display
Tomcus Jan 22, 2025
605f341
fix: Straigten up hwio macro if hell
Tomcus Jan 22, 2025
3f09ad5
Fix disabling disabled phase stepping
danopernis Jan 23, 2025
0253759
Crash loudly with venom when reseting TMC while PS
danopernis Jan 23, 2025
ff6de53
app: Don't reset twice after cold start
wavexx Jan 7, 2025
212c3cc
chamber: Offset chamber temperature based on bed temperature
Tomcus Jan 22, 2025
e7a6c68
Loveboard info added to coreone
schrodlm Jan 21, 2025
11b7a46
Use has_love_board()
schrodlm Jan 22, 2025
c98bdb9
Revert "Disable door sensor by default"
danopernis Jan 24, 2025
86440bd
Disable belt tuning on XL
danopernis Jan 24, 2025
8b22e14
fix: Don't use so many magical constants in chamber offset calcs
Tomcus Jan 24, 2025
e2fbaf1
Set consistent print speed config
schrodlm Jan 27, 2025
4c0b334
Add more replacement characters
danopernis Jan 27, 2025
28a596c
Update translations
danopernis Jan 27, 2025
b5090a3
Regenerate fonts
danopernis Jan 27, 2025
02402ba
Revert "xbuddy-ext+hack: Don't read OTP for xbuddy ext boards"
Tomcus Jan 27, 2025
2e010a5
Fix displaying empty names in cancel object menu
danopernis Jan 28, 2025
a25dfc2
Improve UX when failing to enable metrics
danopernis Jan 28, 2025
1c9c85b
git subrepo pull ./lib/Prusa-Error-Codes
ivous Jan 29, 2025
f483675
Merge pull request #6912 from ivous/RELEASE-6.3
ivous Jan 29, 2025
6f5aeb4
marlin_server: Provide default values for resume_state_t
CZDanol Jan 28, 2025
935a0aa
power_panic: make sure nozzle_temp_paused is set
CZDanol Jan 28, 2025
82e9faf
Do not dim side strip if door is open
CZDanol Jan 29, 2025
73f6bc4
filament: Hide visibility toggle for PendingAdHocFilamentType
CZDanol Jan 29, 2025
1b0f989
Rename CORE One to official name
danopernis Jan 30, 2025
7f6039b
Be explicit about using python3 in translation script
danopernis Jan 30, 2025
3fb6737
Include CORE One specific error codes in translations
danopernis Jan 30, 2025
18b4c3c
Add translations
danopernis Jan 30, 2025
25f8e7d
Fix handling of .tar.xzg in bootstrap
rcloran Feb 2, 2025
5a3a0a8
WI_SWITCH_t : Ensure that variable index is private, preventing use o…
Sep 1, 2024
310b7f8
Relabel GetIndex and SetIndex functions to match the code guidelines …
Feb 1, 2025
3998fc2
Ensure file logging end message is written
Feb 19, 2025
47eb31b
Report chamber temp support for gcode M115/M105
Feb 17, 2025
f697f23
Ensure that footer is updated in footer settings menu on removal
Mar 21, 2025
818d812
Change max nozzle diameter to 1.8mm
Mar 28, 2025
5ae4964
feat: grow default PTFE frontend size
deimosfr Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ProjectOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ set_feature_for_printers(HAS_ESP_FLASH_TASK "MK4" "MK3.5" "XL" "MINI" "COREONE")
# ESP
# flashing
set_feature_for_printers(HAS_EMBEDDED_ESP32 "XL")
set(PRINTERS_WITH_SIDE_LEDS "XL" "iX")
set(PRINTERS_WITH_SIDE_LEDS "XL" "iX" "COREONE")
set(PRINTERS_WITH_TRANSLATIONS "COREONE" "MK4" "MK3.5" "XL" "MINI")
set(PRINTERS_WITH_EXTFLASH_TRANSLATIONS "MINI")
set_feature_for_printers(HAS_LOVE_BOARD "MK4" "iX" "COREONE")
Expand Down Expand Up @@ -379,7 +379,7 @@ set_feature_for_printers(HAS_SHEET_SUPPORT "MINI" "MK3.5")
set_feature_for_printers(HAS_NFC "MK3.5" "MK4" "COREONE")

set_feature_for_printers(HAS_NOZZLE_CLEANER "iX")
set_feature_for_printers(HAS_BELT_TUNING "XL" "iX")
set_feature_for_printers(HAS_BELT_TUNING "iX")
set_feature_for_printers_master_board(HAS_I2C_EXPANDER "MK3.5" "MK4" "COREONE")
set_feature_for_printers(HAS_WASTEBIN "iX")
set_feature_for_printers(HAS_GEARS_CALIBRATION "MK4" "COREONE")
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
This repository includes source code and firmware releases for the Original Prusa 3D printers based on the 32-bit ARM microcontrollers.

The currently supported models are:
- Original Prusa CORE One
- Original Prusa MINI/MINI+
- Original Prusa MK3.5
- Original Prusa MK3.9
- Original Prusa MK4
- Original Prusa XL
- Prusa CORE One

## Getting Started

Expand Down
2 changes: 1 addition & 1 deletion include/common/nozzle_diameter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

static constexpr NumericInputConfig nozzle_diameter_spin_config {
.min_value = 0.2,
.max_value = 1.2,
.max_value = 1.8,
.step = 0.05,
.max_decimal_places = 2,
.unit = Unit::millimeter,
Expand Down
28 changes: 16 additions & 12 deletions include/leds/side_strip.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@
#include "led_strip.hpp"
#include <assert.h>
#include <hw/neopixel.hpp>
#include "led_lcd_cs_selector.hpp"
#include "printers.h"
#include <option/xl_enclosure_support.h>

#ifndef UNITTESTS
#include "led_lcd_cs_selector.hpp"
#endif

namespace leds {

class SideStrip : public LedStrip {
Expand All @@ -15,18 +18,15 @@ class SideStrip : public LedStrip {
return true;
#elif PRINTER_IS_PRUSA_iX()
return false;
#elif PRINTER_IS_PRUSA_COREONE()
return true;
#elif defined(UNITTESTS)
return true;
#else
#error "Not defined for this printer."
#endif
}

SideStrip()
: current_color()
, enclosure_fan_pwm(0)
, needs_update(true)
, leds() {
}

int GetLedCount() {
return 1;
}
Expand Down Expand Up @@ -63,23 +63,27 @@ class SideStrip : public LedStrip {

private:
ColorRGBW current_color;
std::atomic<uint8_t> enclosure_fan_pwm;
std::atomic<uint8_t> enclosure_fan_pwm = 0;
std::atomic<bool> needs_update = false;

#if PRINTER_IS_PRUSA_XL()
/// First driver in the daisy chain: RGB, second driver: W + enclosure fan
static constexpr size_t led_drivers_count = 2;
neopixel::SPI_10M5Hz<led_drivers_count, SideStripWriter::write> leds;

#elif PRINTER_IS_PRUSA_iX()
/// 3x 3 or 3 x 6 RGB drivers in the U shape along the gantry (left, back, right)
/// Newer strips have double the segments (the 3 x 6 version), just
/// unconditionally send data for the variant with more segments
static constexpr size_t led_drivers_count = 18;
neopixel::SPI_10M5Hz<led_drivers_count, SideStripWriter::write> leds;

#elif PRINTER_IS_PRUSA_COREONE() || defined(UNITTESTS)
// Single white-only driver

#else
#error "Not defined for this printer."
#endif

using Leds = neopixel::SPI_10M5Hz<led_drivers_count, SideStripWriter::write>;
Leds leds;
};

extern SideStrip side_strip;
Expand Down
17 changes: 13 additions & 4 deletions include/leds/side_strip_control.hpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
/// @file
#pragma once
#include "../printers.h"
#include <leds/side_strip.hpp>

#include <algorithm>
#include <math.h>
#include <timing.h>
#include <optional>
#include <atomic>

#include "../printers.h"
#include <leds/side_strip.hpp>
#include <freertos/mutex.hpp>

#if PRINTER_IS_PRUSA_iX()
Expand All @@ -24,14 +28,18 @@ namespace leds {
/// 2) We need to control side strip asap :)
class SideStripControl {
public:
SideStripControl();
SideStripControl() = default;

void ActivityPing();
void PresentColor(ColorRGBW color, uint32_t duration_ms, uint32_t transition_ms);

void Tick();

void SetEnable(bool isEnable);
/// Set maximum brightness of the side leds white channel. The W brightness is limited to this value.
/// 0 = disable side leds completely (even RGB status blinking), 255 = full
void set_max_brightness(uint8_t set);
uint8_t max_brightness();

void set_dimming_enabled(bool set);

/**
Expand Down Expand Up @@ -142,6 +150,7 @@ class SideStripControl {
void TransitionToColor(ColorRGBW color, uint32_t transition_ms);
State state = State::Startup;
bool dimming_enabled = false;
uint8_t max_brightness_ = 0;
freertos::Mutex mutex;

// Active State
Expand Down
Loading