Guðni Már Gilbert
ebf94c572f
PFW-1504 Minor optimisation
...
Change in memory:
Flash: -4 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
42878341af
PFW-1504 More correct solution to the pixel count issue
...
The fact that the relationship between
machine position and pixel index is not linear
means we cannot simply rely on comparing
the previous position to the next machine position. i.e derivative of E_AXIS
Because around the max amplitude of the triangle wave
the slope will suddenly change sign and will create a deadzone
which has width 2*mm_per_pixel.
For MMU2S this is ~10mm (or two pixels).
Instead we should split the moves.
And only plan the 2nd move once we're
at the top of the triangle wave. That way we don't really care about the position delta.
Now we just calculate the current y(x)
position relative to current position and divide by mm_per_pixel.
If there is a delta measured with unit 'pixel' then that means
its time to render the next pixel.
This solution seems to work well so far on my end.
Change in memory:
Flash: +2 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
b5e323e67c
PFW-1504 rename length_step_mm to mm_per_pixel
...
Its more descriptive
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
9865d4a38a
PFW-1504 Add precision error
...
This fixes an issue where sometimes
not all 20 pixels are rendered.
It is better to render 1 too many pixels (sometimes), rather than rendering too few.
Change in memory:
Flash: +18 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
f2157c6f1d
Fixup
...
We're always setting the cursor position when rendering now
Saves 8 bytes of flash
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
c518bfdb73
PFW-1504 Set cursor position each time to be safe
...
Change in memory:
Flash: +18 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
59e1ac0396
PFW-1504 implement stepper_get_machine_position_E_mm()
...
This function should be used when reading the current machine
position while a move is ongoing
No change in memory
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
690d83a94a
fixup
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
9145c8f59f
PFW-1504 too much?
...
I'm not happy with the current solution, I think we can improve it
by using the fact that this is a triangle wave. Need to think about it.
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
73c76579af
PFW-1504 Add init for progress bar
...
In case we are running a retry, the firmware
should clear the old rendering before
starting on a new one
Change in memory:
Flash: +6 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
51f1aa14a5
PFW-1504 Update last position as quickly as possible
...
0.1mm extrusion may happen while updating the LCD
No change in memory
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
bbfc4b9f78
PFW-1504 initial commit
...
Change in memory:
Flash: +162 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
3d-gussner
04d440a9c8
Fix AutoLoad filament menu not shown when FSensor is [Off] ( #4072 )
...
Fix AutoLoad filament menu not shown when FSensor if [Off]
2023-03-10 14:23:56 +01:00
3d-gussner
ba41b2bb0b
Fix M706 lcd message stuck
2023-03-09 07:00:40 +01:00
DRracer
e787111922
Add MMU error code: MCU_UNDERVOLTAGE_VCC ( #4069 )
...
+ read bandgap voltage periodically
+ correct wording of ERR_ELECTRICAL_MCU_UNDERVOLTAGE_VCC (as requested in Prusa-Error-Codes PR#81)
2023-03-08 15:42:25 +01:00
Guðni Már Gilbert
a20a7232a8
Change "Extruder N" to "Filament N"
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2023-03-06 10:26:12 +01:00
Guðni Már Gilbert
0b261ad4de
remove duplicate function in planner
...
moves_planned() should be used instead
No change in memory
2023-03-03 21:11:16 +00:00
3d-gussner
03280c48d5
Merge pull request #4059 from gudnimg/planner-opt-subtraction
...
planner: calculate step difference once
2023-03-03 14:42:47 +01:00
3d-gussner
474d489c39
Merge pull request #4033 from gudnimg/improve-preheat-target
...
preheat: improve target temperature threshold
2023-03-03 14:41:58 +01:00
D.R.racer
bc818636b0
Increase MMU FW version to 2.1.8
...
in relation to MMU-218
2023-03-02 19:58:00 +01:00
Guðni Már Gilbert
d487254806
planner: calculate step difference once
...
Change in memory:
Flash:-158 bytes
SRAM: 0 bytes
2023-03-01 22:28:08 +00:00
3d-gussner
051054b0db
Bump up FW version and build number
2023-02-24 16:42:36 +01:00
D.R.racer
303a67cd6f
Introduce MMU EEPROM reset feature
...
This new feature requires MMU FW v 2.1.7 (which brings some more small changes)
2023-02-24 15:26:07 +01:00
3d-gussner
31bfbb4ed0
Merge pull request #4023 from DRracer/rename-eject-mmu
...
PFW-1497 Change Eject filament -> Eject from MMU
2023-02-23 10:48:35 +01:00
3d-gussner
afc866e756
Merge pull request #4010 from gudnimg/improve-backlight-control
...
backlight: always allow backlight to dim/wake
2023-02-21 10:00:03 +01:00
Guðni Már Gilbert
8a926fad10
backlight: set rotation flag when certain amount of pulses are detected
...
We don't want to trigger a backlight wakeup randomly, for example
due to background noise.
2023-02-20 18:26:43 +00:00
3d-gussner
36c6b323c4
Set `Is filament loaded? Yes|No` default to `No` without a timeout.
2023-02-20 16:31:23 +01:00
3d-gussner
791b9b4d39
Merge pull request #4028 from DRracer/pr3322-updated
...
Merge duplicate strings in cmdqueue.cpp
2023-02-20 13:51:09 +01:00
Guðni Már Gilbert
496b52b819
preheat: sync temperature threshold in M600 and Wizard
...
* M600 used 1°C threshold, which may increase the waiting time a bit
* Wizard used 3°C
Sync both to use TEMP_HYSTERESIS for consistancy
No change in memory footprint
2023-02-19 13:23:31 +00:00
Guðni Már Gilbert
6ad126ef0b
optimisation: preheat menu always uses integers for target temperature
...
Let's drop the float comparison since it not needed
Change in memory:
Flash : -16 bytes
SRAM: 0 bytes
2023-02-19 13:21:30 +00:00
Guðni Már Gilbert
319fec47f0
preheat: improve target temperature threshold
...
Use 5°C threshold to be consistant with other parts
of the firmware.
Relying on 95% of the target temperature creates
a dependency on the temperature:
PLA: Target = 215°C, threshold = 10.75°C
PETG: Target = 230°C, threshold = 11.5°C
ABS: Target = 255°C, threshold = 12.75°C
ASA: Target =260°C, threshold = 13.0°C
PC: Target = 275°C, threshold = 13.75°C
My proposal is we instead use a constant
TEMP_HYSTERESIS = 5, which is consistent with
M109, and behavior when restoring print from RAM
and some of the MMU code (like unload function)
Change in memory:
Flash: +2 bytes
SRAM: 0 bytes
2023-02-19 12:59:58 +00:00
Guðni Már Gilbert
db878c9996
backlight: always allow backlight to dim/wake
...
This commit adds the ability for the firmware to dim and wake the
backlight when LCD updates are disabled. Such as in the MMU error screen
or when rendering full screen messages which typically
disable the LCD updates to prevent the status screen from rendering.
Fixes #2777
Change in memory:
Flash: -26 bytes
SRAM: +1 byte
2023-02-18 17:08:35 +00:00
D.R.racer
5cd60636f9
Add missing translations + shorten to 16 chars
2023-02-18 17:39:30 +01:00
D.R.racer
98e7c15928
Change Eject filament -> Eject from MMU
...
PFW-1497
2023-02-18 17:39:30 +01:00
Guðni Már Gilbert
05662a5c0a
optimsation: reduce code size in LCD rendering
...
Change in memory (MK3S+ Multilang):
Flash: -62 bytes
SRAM: -6 bytes
2023-02-18 16:32:08 +01:00
Guðni Már Gilbert
074057c110
Fix an issue where LCD freezes during loading test
...
It may be useful to view the Sensors menu
while the toolchange loading test is taking
place. For example to see if the reading is flickering
The firmware needs to call lcd_update(0) to update the screen rendering.
Change in memory:
Flash: -2 bytes
SRAM: 0 bytes
2023-02-18 13:16:40 +01:00
Guðni Már Gilbert
555e766296
optimisation: only update mm when i > 0
...
Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2023-02-18 12:39:44 +01:00
Guðni Már Gilbert
e41b6d106d
optimisation: use more string from PROGMEM
...
Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2023-02-18 12:39:44 +01:00
Guðni Már Gilbert
9f4a7adb9a
optimisation: extract common M861 code
...
Change in memory:
Flash: -128 bytes
SRAM: 0 bytes
2023-02-18 12:39:44 +01:00
D.R.racer
ee23d6c62a
Merge duplicate strings in cmdqueue.cpp
...
Original idea from @GilesBathgate, PR #3322 . This is just a rework on top of current MK3 branch.
2023-02-18 11:37:48 +01:00
3d-gussner
3381bf2f7e
Merge pull request #2201 from vintagepc/2091_2153_sheet_Mcode
...
Add M850 code for setting sheet label and offsets
2023-02-17 15:12:22 +01:00
Yuri D'Elia
1b3fa8bfe9
TM: Move headers to support the legacy build system
2023-02-17 15:01:59 +01:00
Yuri D'Elia
a8f219259a
TM: Split default model parameters into a separate header
...
Preparation to support multiple default model parameter sets
2023-02-17 15:01:59 +01:00
Yuri D'Elia
d1ff728e4f
TM: future-proofing for incompatible model upgrades
...
Introduce a model version. This is initialized at "1" and doesn't
require any upgrade/downgrade checks since it's currently
retro-compatible.
2023-02-17 15:01:59 +01:00
Yuri D'Elia
9bd03cedb9
TM: Fix UV identity
2023-02-17 15:01:59 +01:00
Yuri D'Elia
ddf5147f9f
TM: Optimize temp_model_set_lag
...
Save about 20 bytes by rewriting the sample count check
2023-02-17 15:01:59 +01:00
Yuri D'Elia
b676d395e3
TM: Handle L/TEMP_MODEL_LAG
2023-02-17 15:01:59 +01:00
Yuri D'Elia
0bf6a5bc4b
TM: Handle UV (PTC loss)
...
Model UV as power-invariant, so that scaling P doesn't change the
intercept location (that is, the zero point remains at the same
temperature even for more powerful heaters).
NOTE: It's not clear to me whether this is generally true (couldn't
find a datasheet from the same heater in diffent power variants
showing the efficiency loss)
2023-02-17 15:01:59 +01:00
Yuri D'Elia
ba96c8d457
TM: Handle D/TEMP_MODEL_fS
2023-02-17 15:01:59 +01:00
Yuri D'Elia
eb88b720ac
TM: Handle UVDL set/load/report/upgrade
...
- Expose TEMP_MODEL_fS and TEMP_MODEL_LAG as D and L respectively,
initializing the default values based on the previous hard-coded
values.
- Always round L to the effective sample lag to future-proof model
upgrades or changes (the stored value _is_ the effective value).
- Introduce UV as a new linear term for PTC heaters, defaulting
to an identity for model backward-compatibility.
2023-02-17 15:01:59 +01:00
Yuri D'Elia
38b1e64687
TM: Allocate new eeprom parameters for PTC handling
2023-02-17 15:01:59 +01:00
vintagepc
235ce62cd3
Update Marlin_main.cpp
...
Remove more stale code
2023-02-17 08:58:17 -05:00
vintagepc
032d5ebe5b
Update Marlin_main.cpp
...
Fix use of removed function
2023-02-17 08:31:27 -05: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
vintagepc
20eef890a6
Merge branch 'MK3' into 2091_2153_sheet_Mcode
2023-02-17 08:24:49 -05:00
D.R.racer
9b64d122dc
Disable MMU2S by default
...
On printers without the MMU no error screen should occur and no attempts of communication with the MMU should be performed -> EEPROM_MMU_ENABLED should default to 0.
PFW-1418
2023-02-17 12:53:07 +01:00
Guðni Már Gilbert
6745b2c766
Shorten Reset MMU button to fit LCD
...
Button strings are limited to 8 characters
2023-02-13 07:08:54 +01:00
Guðni Már Gilbert
b63f5433df
Don't show Pause/Stop menus while processing T-codes
...
PFW-1449
Change in memory:
Flash: +18 bytes
SRAM: +1 bytes
2023-02-12 15:58:07 +01:00
Guðni Már Gilbert
504099bd6c
optimisation: reduce code size in rendering cursor
...
Change in memory:
Flash: -62 bytes
SRAM: 0 bytes
2023-02-11 19:06:14 +01:00
Guðni Már Gilbert
c51aa10087
optimisation: spooljoin: use new eeprom init method
...
Change in memory:
Flash: -40 bytes
SRAM: -1 byte
2023-02-11 15:58:07 +01:00
Guðni Már Gilbert
982b1bb4bd
optimisation: backlight: use new eeprom_init function
...
Change in memory:
Flash: -56 bytes
SRAM: 0 bytes
2023-02-11 15:56:46 +01:00
Guðni Már Gilbert
c2a952cee5
optimisation: sound: use new eeprom_init function
...
Change in memory:
Flash: -18 bytes
SRAM: 0 bytes
2023-02-11 15:56:46 +01:00
Guðni Már Gilbert
8794ab2f71
respect Once sound mode
...
Change in memory:
Flash: +4 bytes
SRAM: 0 bytes
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
96fc90c80b
Revert a change in the MMU error screen logic
...
We can pull this code into a common function in a separate PR
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
5b4bc8bcdb
Tune louder beeps to match previous M600 behavior
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
b4f9f6d0b5
fixup: make sure to start the timer
...
Change in memory:
Flash: +10 bytes
SRAM: 0 bytes
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
8db2fbc97f
Improve sound handling for MMU error screen
...
Change in memory:
Flash: -174 bytes
SRAM: +4 bytes
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
e34faee389
optimisation: don't inline Sound_MakeCustom
...
Change in memory:
Flash: -32 bytes
SRAM: 0 bytes
2023-02-11 12:42:47 +01:00
Guðni Már Gilbert
7799853a05
optimisation: remove duplicate code
...
Sound_MakeCustom should play the sound
if critical = true OR the sound is not Silent
Change in memory:
Flash: -16 bytes
SRAM: 0 bytes
2023-02-11 12:42:47 +01:00
D.R.racer
c826ae989f
Remove Done button on FINDA-related MMU error screens
...
Follows the requirements from Prusa-Error-Codes yaml definition.
Saves a fwe bytes as well as the button switch() statement got simplified.
PFW-1494
2023-02-10 14:38:18 +01:00
3d-gussner
8b1b632164
Fix copy/paste typo thanks to @gudnimg
2023-02-10 14:35:36 +01:00
3d-gussner
4f8dbb19fd
Fix `M862.x` LCD messages
...
As the new menue adds a Yes/No option the messages
need to be limited to c=20 r=3
Updated/shortened all translations
2023-02-10 14:35:36 +01:00
3d-gussner
b02e8d9961
Fix First layer cal being stored without confirming with knob
2023-02-10 14:34:16 +01:00
RoboMagus
c3cfc86094
Fix #3977
2023-02-10 14:27:04 +01:00
Yuri D'Elia
d403d58b19
TM: Do not emit an "error:" on the serial for recoverable errors
...
Use "echo:" for thermal model error reporting to avoid octoprint
automatically sending a M112 kill.
Keep using "error:" instead for other thermal errors (MAXTEMP/etc).
This should allow resuming a thermal mode pause with the default
octoprint settings.
2023-02-10 14:24:50 +01:00
Guðni Már Gilbert
ea7e717204
Cleanup: Remove various dead code
2023-02-10 08:17:36 +01:00
3d-gussner
ca978080c4
Change to Thermal model
...
Add prusa.io/tm-cal link
and update all TM related translations
2023-02-08 15:36:59 +01:00
D.R.racer
26126906ef
Hardcode expected MMU FW version into the error message v2
...
This is an 80% solution to PFW-1488 which should be somewhat compatible with the existing languages/translations infrastructure.
I don't see a point in extending the infrastructure a great deal to support some compile-time replacement in order to patch just MSG_DESC_FW_UPDATE_NEEDED.
Related PR: https://github.com/prusa3d/Prusa-Firmware/pull/3993
2023-02-08 10:50:33 +01:00
Guðni Már Gilbert
99761bdff7
optimisation: re-use adjust_bed_reset()
...
Move the code into eeprom.cpp since we're only working with EEPROM
Change in memory:
Flash: -42 bytes
SRAM: 0 bytes
2023-02-08 08:01:55 +01:00
D.R.racer
3ddc2cf86d
Add ResetMMU and DisableMMU buttons to specific error screens
...
- MMU not responding/Communication error: add DisableMMU
- MMU FW update needed: add ResetMMU
Flash: +8B
RAM: +0B
2023-02-08 06:48:11 +01:00
D.R.racer
296b0414af
Optimize execute_extruder_sequence
...
Save 64B by refactoring of execute_extruder_sequence.
2023-02-08 06:47:50 +01:00
Guðni Már Gilbert
e34ed479ef
PFW-831 Add single buzzer beep when an MMU error screen is shown for the first time
...
If the user has the sound settings set to 'Silent' then this beep should be silent
Change in memory:
Flash: +4 bytes
SRAM: 0 bytes
2023-02-06 08:35:08 +01:00
Guðni Már Gilbert
b28aa6f42a
PFW-1471 Rename 'Toolchange count' to 'Material changes'
...
Added the string to our message so it can be translated
Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2023-02-06 08:33:40 +01:00
D.R.racer
ba34661b62
Fixup after rebase onto MK3
2023-02-01 08:28:23 +01:00
Guðni Már Gilbert
d66e2b66c2
Cleanup: use setTargetHotend consistently for one extruder
...
Main changes:
* setAllTargetHotends() is removed
* setTargetHotendSafe() is removed
* Extruder parameter on setTargetHotend() is dropped
Change in memory:
Flash: -192 bytes
SRAM: 0 bytes
2023-02-01 08:28:23 +01:00
D.R.racer
ed80defc2c
Shorten the Try-Load-Unload sequence
...
... and allow easier future tweking in case of need
Also, save ~30B of code by returning the previous E-motor position.
2023-02-01 06:38:19 +01:00
Guðni Már Gilbert
e597be2cb5
PFW-1381 Optimise initialisation
...
Change in memory:
Flash: -2 bytes
SRAM: -1 byte
2023-01-31 10:02:15 +01:00
Guðni Már Gilbert
a35e7d543f
Fix bug with button choice on MMU error screen isn't reset
...
PFW-1381
2023-01-31 10:02:15 +01:00
D.R.racer
d2f3835b2c
Fixup after review
2023-01-31 09:35:22 +01:00
Guðni Már Gilbert
8720602b0e
Fix an issue with corrupt serial messages
2023-01-31 09:35:22 +01:00
D.R.racer
43ae2c78e5
Fix cmake build
2023-01-31 09:35:22 +01:00
D.R.racer
528abcb8d8
clang-format
2023-01-31 09:35:22 +01:00
D.R.racer
0555376502
Refactor mmu2.cpp and related interfaces
...
The general idea is to keep platform specific implementation away from the MMU state machines as much as we can.
That would enable unit testing the top level MMU state machine and integration into other project as well (if needed).
2023-01-31 09:35:22 +01:00
Yuri D'Elia
e39f2d132e
TM: Check for PC parameters more carefully
2023-01-27 14:57:59 +01:00
3d-gussner
216b935488
Minor typo
2023-01-26 12:20:43 +01:00
3d-gussner
05cd50e2ef
Update M214 description with link to RepRap wiki
2023-01-26 12:20:43 +01:00
Guðni Már Gilbert
da63d73585
optimisation: don't print floats with lcd_print()
...
Change in memory:
Flash: -442 bytes
SRAM: 0 bytes
2023-01-25 18:21:22 +00:00
Guðni Már Gilbert
a5f7f1d735
optimisation: change index from uint32_t to uint8_t
...
Change in memory:
Flash: -152 bytes
SRAM: 0 bytes
2023-01-25 18:21:22 +00:00
Guðni Már Gilbert
8c4cd11ae0
Cleanup: remove code_value_float()
...
The function adds a bit of overhead compared to code_value()
I suspect this function is a relic of the past.
Change in memory:
Flash: -82 bytes
SRAM: 0 bytes
2023-01-25 16:51:10 +00:00
Guðni Már Gilbert
17e6f1b75e
optimisation: remove conv2str.cpp
...
Change in memory:
Flash: -288 bytes
SRAM: -8 bytes
2023-01-25 06:28:00 +00:00
Guðni Már Gilbert
79a10868fe
cleanup: FILWIDTH_PIN doesn't exist
...
raw_filwidth_value variable is never used
2023-01-24 19:41:45 +00:00
3d-gussner
7b163cf464
Merge pull request #3936 from wavexx/tm_cal_htemp
...
TM: Do not restrict autotune temperature
2023-01-24 14:20:55 +01:00
3d-gussner
fab4165f4a
Merge pull request #3920 from wavexx/selftest_ok_alert
...
wizard: Do no set "Self test OK" as an alert message
2023-01-24 14:16:44 +01:00
3d-gussner
1f54dfd0b2
Merge pull request #3941 from wavexx/tm_wizard_nowarn
...
wizard: Disable TM warnings during calibration
2023-01-24 14:15:04 +01:00
Alex Voinea
53fb4c3e3f
Move altfan eeprom initialization to extruder_altfan_detect()
...
flash: -16B
RAM: 0B
2023-01-23 19:47:03 +00:00
Guðni Már Gilbert
7245c76094
Fix an issue where Altfan Override setting in EEPROM is not respected at boot-up
2023-01-23 19:47:03 +00:00
Yuri D'Elia
c9f3a4cfce
wizard: Disable TM warnings during calibration
...
During calibration model warnings are possible/normal. This is
apparently leading some into thinking the hotend might be faulty
and abort the calibration with a hard reset.
Disable warnings/beeps during calibration.
Rely on the error threshold only.
2023-01-23 16:52:27 +01:00
Yuri D'Elia
679208b29e
TM: Do not restrict autotune temperature
...
Fix a wrong type that prevents running TM autotune at temps >127
2023-01-20 19:18:19 +01:00
Guðni Már Gilbert
39f9979655
optimisation: Combine if statement in M600
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2023-01-18 09:44:27 +01:00
D.R.racer
6298722f9a
Disable E-motor before the MMU starts doing something
...
It may seem counterintuitive to disable the E-motor, but it gets enabled in the planner whenever the E-motor is to move.
The idea behind disbling the E-motor when it won't be needed for some time is to save power and lower the heat of the motor.
Therefore it is especially important to disable the motor before the printer pauses a print due to some MMU error screen.
2023-01-18 09:42:57 +01:00
Alex Voinea
0c352ac2d1
Disable M47 if TMC2130 drivers are used
...
flash: -126B
RAM: 0B
2023-01-17 20:37:27 +01:00
Guðni Már Gilbert
d83c0f6c40
Fix an issue with indexing PROGMEM pointer
...
Using array index 'pointer[index]' doesn't work properly.
Instead using "pointer + index" works fine.
No change in memory footprint
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
9416310f7e
optimisation: move row_offsets into PROGMEM
...
Change in memory:
Flash: -42 bytes
SRAM: -4 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
eeb5f3d50c
optimisation: refactor menu_draw_P()
...
Add a way to only change the LCD column
Change in memory:
Flash: -90 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
730bb3708e
Fix an issue with menu_draw_item_puts_P
...
Change in memory:
Flash: +16 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
4f4153175c
Refactor menu_draw_toggle_puts_P
...
The refactoring drops the local buffer lineStr
Change in memory:
Flash: -106 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
cc08b938b7
Optimisations: implement lcd_print_pad_P()
...
Used lcd_print_pad_P is some obvious places. We can probably use
this function in more places to further save flash memory
Change in memory:
Flash: -268 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Yuri D'Elia
16a89b9215
wizard: Return to status after calibration
2023-01-16 11:38:56 +01:00
D.R.racer
472f84e46a
Avoid FullScreenMsg "Eject/Cut Filament" when called inside a toolchange
...
CutFilament and EjectFilament got a flag: enable/disable FullScreenMsg
2023-01-16 09:25:04 +01:00
D.R.racer
48ce22d41f
Fix blank LCD while err. Load to Extr. Failed
...
Because this error is not an MMU error but a printer one, the existing infrastructure has been bent to support such a scenario.
During testing it turned out, that some machines fail to draw the error screen due to previous internal states.
This PR resets the internal states so that the conditions for drawing the error screen are met.
2023-01-16 09:25:04 +01:00
Yuri D'Elia
4f177f0b38
TM: Fan measuring state reset unification
...
Add resetFanCheck() to reset the fan measuring state as it's needed in
several places and save some flash space.
2023-01-16 08:43:36 +01:00
Yuri D'Elia
7529652dca
TM: Restore extruder autofan state when stopping/resuming
...
During thermal errors all fans are set to full speed.
When the print is resumed or stopped *and* the thermal error is gone,
also restore the autofan state.
Fixes #3893
2023-01-16 08:43:36 +01:00
Yuri D'Elia
204df90d6d
TM: Set the cal status bit when running `M310 A` directly
...
Running `M310 A` should set the TM calibration bit status if the
autotune procedure was successful.
Partially addresses #3891 and #3890 , since running `M310 A F0` should
*still* count as valid calibration data and is not something that can be
replicated by using the LCD (which enforces self-test).
2023-01-16 07:32:57 +01:00
Yuri D'Elia
12f5bd3648
wizard: Do not complain about missing calibration if model is disabled
...
This fixes #3891 without having to set the calibration bit, meaning
that if the model is later re-enabled without a real calibration, a
prompt is shown as expected.
2023-01-16 07:31:33 +01:00
3d-gussner
2d34535977
Move Z to top during Nozzle change
2023-01-16 07:27:53 +01:00
D.R.racer
58bed7e388
MMU: Make sound after the hotend reaches temp, not while waiting
2023-01-16 07:19:11 +01:00
Guðni Már Gilbert
5582114628
optimisation: re-use delay_keep_alive() in a few places
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2023-01-15 19:21:55 +01:00
Yuri D'Elia
9e0e0f5942
wizard: Do no set "Self test OK" as an alert message
...
Alert messages are intended to persist above "info" messages, thus
preventing further calibration status updates to be shown (such as
thermal model calibration).
Just set the message as a regular status message.
Fixes #3892
2023-01-15 18:25:15 +01:00
Guðni Már Gilbert
d3aa40a575
Fix blank LCD issue
2023-01-14 13:51:10 +01:00
Guðni Már Gilbert
76d1f28c14
optimisation: serialecho_temperatures should print a constant extruder number
...
Change in memory:
Flash: -18 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
62fc19b361
optimisation: combine a few serial logs since extruder is now constant
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
858e80e806
optimisation: M109 doesn't have a T parameter.
...
In 8-bit firmware the tool is always 0.
Change in memory:
Flash: -146 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
ff49c6a0bf
optimisation: M104 doesn't have a T parameter
...
Change in memory:
Flash: -120 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
44660f668a
optimisation: M105 doesn't have a T parameter
...
Remove parameter from gcode_M105() extruder is always 0.
Change in memory:
Flash: -64 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
fa0a522b7d
optimisation: re-use serialecho_temperatures()
...
Change in memory:
Flash: -82 bytes
SRAM: 0 bytes
2023-01-10 07:22:35 +01:00
Guðni Már Gilbert
f1cd388370
Shorter code
2023-01-06 19:33:32 +01:00
Guðni Már Gilbert
8c79bab503
optimisation: there is only one extruder when planning a line
...
Change in memory:
Flash: -50 bytes
SRAM: -3 bytes
2023-01-06 19:33:32 +01:00
Guðni Már Gilbert
534c2e2664
Cleanup: Remove M218
...
It was only enabled when multiple extruders are enabled
The firmware doesn't support it
and even if the M218 gcode could be used, the code does not compile
2023-01-06 19:30:05 +01:00
Yuri D'Elia
96a7383f19
Merge pull request #3869 from wavexx/m300_s0
...
Make M300 S0 pause like Marlin
2023-01-02 19:23:58 +01:00
3d-gussner
ba3ee0b4c6
Fix few values
2023-01-02 15:11:01 +01:00
3d-gussner
20634a3852
Update calibration status v2 documentation
2023-01-02 15:11:01 +01:00
D.R.racer
3d9dd08c16
Change MMU error links to a new url
...
PFW-1473
2023-01-02 12:43:08 +01:00