Commit Graph

34 Commits

Author SHA1 Message Date
Guðni Már Gilbert 5ef00fb78a Reduce code size in first layer calibration
Pull out common enqueuing loop into one function

Change in memory:
Flash: -70 bytes
SRAM: 0 bytes
2023-04-05 17:52:48 +02:00
Guðni Már Gilbert b9ce7637df Rename enquecommandf() into enquecommandf_P() 2023-04-05 09:10:39 +02:00
Guðni Már Gilbert 7e119f733f Implement variant of enquecommand which accepts format string
This eliminates many local buffers

Change in memory:
Flash: -450 bytes
SRAM: 0 bytes
2023-04-05 09:10:39 +02:00
Guðni Már Gilbert f296b3f826 G21 is not implemented, don't queue it
It's just a single 'break', will likely not be implemented

Change in memory:
Flash: -6 bytes
SRAM: 0 bytes
2023-03-18 17:23:01 +00:00
Guðni Már Gilbert 00515a975d Add M107 into PROGMEM
Change in memory:
Flash: -4 bytes
SRAM: 0 bytes
2023-03-18 17:05:35 +00:00
Guðni Már Gilbert 5f8fc64a32 Restore previous Z-lift in M701/M702
Previously when the firmware called M701/M702 manually
there was no Z lift. But after we added support for the Z
parameter we set the default to 50mm.

Change strings "M701" to "M701 Z0" and "M702" to "M702 Z0"
to restore the previous behavior from before 3.13.

Also pulled the gcodes into PROGMEM in message.cpp
along with M83 and M84 to save memory.

Change in memory:
Flash: -34 bytes
SRAM: 0 bytes
2023-03-18 15:34:47 +00:00
Guðni Már Gilbert d0e0b51497 Optimisation: lcd_commands "M702 C" should be "M702"
Change in memory:
Flash: -2 bytes
SRAM: 0 bytes
2023-02-17 14:30:20 +01:00
Giles Bathgate 952b1af60b Consistent use of noinline attribute 2023-02-17 14:30:20 +01:00
Giles Bathgate 754b2d03c3 Remove extraneous line added during merge conflict resolution 2023-02-17 14:30:20 +01:00
Giles Bathgate 25f9728e09 Add noinline attribute to count_e 2023-02-17 14:30:20 +01:00
Giles Bathgate 620b19bbab Roll up lay1cal_square loops 2023-02-17 14:30:20 +01:00
Giles Bathgate f92d2279d5 Re-use duplicated strings 2023-02-17 14:30:20 +01:00
Giles Bathgate 8129a14f19 Move layer calibration finish commands into first_layer_cal.cpp 2023-02-17 14:30:20 +01:00
Giles Bathgate 39160bc4ae Free up some progmem 2023-02-17 14:30:20 +01:00
Giles Bathgate 568eec5ee0 Implement first layer cal with calculated extrusion widths 2023-02-17 14:30:20 +01:00
D.R.racer 85d27e6e5e Address 3 different start scenarios 1st lay cal + MMU
This PR tries to address the 3 different startup scenarios for 1st layer calibration with the MMU:

- 1st lay cal started with correct filament already loaded in the nozzle - we should continue, but skip the first 58mm (first 2 g-codes in the hard coded sequence) of purge line extrusion
- 1st lay cal started with other filament already loaded in the nozzle - we should unload and then issue a toolchange with no extra unload
- 1st lay cal started without loaded filament - we should just do a toolchange with no extra unload

PFW-1457
2022-12-30 15:04:45 +01:00
Guðni Már Gilbert 76dc51d2f0 Sync first layer purge line with PrusaSlicer generated output
If you generate a multicolor gcode file with PrusaSlicer, the purge
line gcode will look like this.

This reduces clicking sounds from the extruder, filament extrusion is reduced by 6mm.
2022-10-09 10:03:54 +00:00
Yuri D'Elia 1d3ee1caba build: Add Configuration_var.h as a configuration wrapper
Instead of including Configuration_prusa.h directly, include
Configuration_var which then includes the proper variant file though a
preprocessor macro.

This allows to keep the existing build system intact, but also redefine
at compile time the final header without having to make copies on the
file system.
2022-10-05 01:26:26 +02:00
D.R.racer 2e293e90a0 MMU2 interface overhaul
First port of the new MMU2-printer interface into 8bit FW.
2022-09-16 10:21:53 +02:00
Yuri D'Elia 35c3e3ce68 Remove MSG_M117_V2_CALIBRATION
This message is never actually shown on the LCD (it's immediately
overwritten by other content). It also include g-code in a translatable
string, which is not a good idea. It's also otherwise identical to
MSG_V2_CALIBRATION, which we should have used.

Just remove it and save some space in the process.
2022-09-14 11:33:24 +02:00
Alex Voinea 4abf1f436a Gracefully dump the queue + fixes to fancheck 2020-11-09 21:49:56 +02:00
Marek Bel 43705aae2e Rename lay1cal_preheat() to lay1cal_wait_preheat(). 2019-09-12 00:19:20 +02:00
Marek Bel acb0341a1f Do not set temperature in lay1cal_preheat(). 2019-09-11 22:42:40 +02:00
Marek Bel 170c1ea866 Split first layer calibration load filament and intro line into separate steps. If load fails, pause print apparently flushes command buffer and intro line is not printed after issue is resolved. 2019-08-16 20:47:55 +02:00
Marek Bel 25f0eb9a39 Fix spelling. 2019-06-13 15:01:54 +02:00
Marek Bel 7ac098a135 Refactor. Put constants needed in functions inside fuctions to limit its scope. 2019-06-12 14:20:20 +02:00
Marek Bel 2755a3733d Document. 2019-06-12 14:15:58 +02:00
Marek Bel 342954b88c Refactor. Make constants producing first layer calibration square more clear. Note layer height discrepancy. 2019-06-12 13:31:17 +02:00
Marek Bel d528a53526 Refactor. Move lcd_commands_func1() to first_lay_cal.cpp and rename it to lay1cal_square(). Remove its constant parameters. Move remaining G1 code to lay1cal_meander(). Saves 6B of FLASH memory. 2019-06-12 01:36:48 +02:00
Marek Bel 47a183e96e Use loop to enquecommand_P() in first layer calibration. Save 126B of FLASH memory. 2019-06-11 19:49:56 +02:00
Marek Bel 4effff9e99 Use loop to enquecommand_P() in first layer calibration. Save 10B FLASH memory. 2019-06-11 18:56:29 +02:00
Marek Bel 0c9121e99e Use loop to enquecommand_P() in first layer calibration. 2019-06-11 17:08:56 +02:00
Marek Bel 27145204ed Use internationalized M117, but anyway the text is not shown. 2019-06-10 21:40:12 +02:00
Marek Bel 4be8fa701e Use loop to enquecommand_P() in first layer calibration. 2019-06-10 20:41:18 +02:00