Commit Graph

1956 Commits

Author SHA1 Message Date
Guðni Már Gilbert b7c42e83cf Fix a few ambiguous overloaded calls
Noticed this when exploring another optimisation

By specification exactly which overloaded function to use
we save some memory

Seems to have something to do with doing arithmetic in the function argument

Change in memory:
Flash: -156 bytes
SRAM: 0 bytes
2023-04-04 15:03:48 +02:00
Guðni Már Gilbert 3e4592b7fd Don't duplicate silent mode menu
Create a common function for the menu

This saves a lot of memory and 50 lines of code!

Change in memory:
Flash: -110 bytes
SRAM: 0 bytes
2023-04-04 14:47:45 +02:00
Guðni Már Gilbert 5be4504fea Re-use G28 W string in PROGMEM
Change in memory:
Flash: -12 bytes
SRAM: 0 bytes
2023-03-27 18:14:28 +00:00
3d-gussner 34ec1ff190
Merge pull request #4098 from gudnimg/PFW-1515
PFW-1515 Fix an issue with Thermal Anomaly message
2023-03-24 14:04:21 +01:00
3d-gussner 6959b372ec
Merge pull request #4063 from gudnimg/PFW-1503
PFW-1503 Improve live Z babystep menu handling
2023-03-24 14:01:15 +01:00
3d-gussner b9103a113c
Merge pull request #4102 from 3d-gussner/MK3_fix_Hbed_MMULoadingTest
Fix HBed on Load for MMU Loading test
2023-03-24 13:59:58 +01:00
3d-gussner 4feacfe822
Merge pull request #4093 from gudnimg/Restore-default-M701-M702-Z-lift
Restore previous Z-lift in M701/M702 + other PROGMEM optimisations
2023-03-24 13:59:47 +01:00
3d-gussner 5536873eca Fix HBed on Load for MMU Loading test 2023-03-22 09:50:59 +01:00
Guðni Már Gilbert c5fc1168ed PFW-1515 Fix an issue with Thermal Anomaly message
Issue introduced with PFW-1504

Change in memory:
Flash: +40 bytes
SRAM: 0 bytes
2023-03-20 20:35:49 +00:00
Guðni Már Gilbert 5ade1716bf Add M500 into PROGMEM
Change in memory:
Flash: -6 bytes
SRAM: 0 bytes
2023-03-18 17:01:59 +00:00
Guðni Már Gilbert 466a6a8fc3 Add M600 into PROGMEM
Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2023-03-18 16:33:13 +00:00
Guðni Már Gilbert 129cc18cbf Add M23 %s into PROGMEM
Change in memory:
Flash: -14 bytes
SRAM: 0 bytes
2023-03-18 16:18:05 +00:00
Guðni Már Gilbert 7c0ead7bc2 Add M24 into PROGMEM
Change in memory:
Flash: -8 bytes
SRAM: 0 bytes
2023-03-18 16:15:10 +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 e40d8ebbcc Implement printJobOngoing()
This makes the if statments a little bit more readable

Change in memory:
Flash: -88 bytes
SRAM: 0 bytes
2023-03-18 12:18:43 +00:00
Guðni Már Gilbert 561d8599d2 PFW-1503 drop {} for consistency 2023-03-18 11:56:06 +00:00
Guðni Már Gilbert 09d918ce5d PFW-1503 Change BABYSTEP_ALLOWED to babystep_allowed
I initially started with a preprocessor macro
called  BABYSTEP_ALLOWED, but now it is a function.
It more common to use lower case for function names
2023-03-18 11:56:06 +00:00
Guðni Már Gilbert bc2366cd8d PFW-1503 Improve live Z babystep menu handling
Fixes an issue with running first layer calibration twice in a row.

Improvements:
Now the Z baby step menu closes automatically when first layer calibration is done.
No need to wait for a timeout or close the menu manually by setting a variable

If the baby stepping menu is open, and suddenly
the printer enters a state where baby stepping
is not allowed.
The printer will save the last value before closing the menu.

When LcdCommands != Idle, don't dismiss
the Z baby step menu. This saves 20B

Change in memory:
Flash: -130 bytes
SRAM: 0 bytes
2023-03-18 11:56:05 +00:00
Guðni Már Gilbert 5c010a3aaa PFW-1509 Fix an issue with unload when nozzle is cold
Change in memory:
Flash: -2 bytes
SRAM: 0 bytes
2023-03-18 10:43:23 +00:00
3d-gussner e951a106d6 Messages fit to pages 2023-03-14 08:56:46 +01:00
3d-gussner 22e70faa71 Remove `MMU2` and `MMU unit` messages
Saves 26byte of flash
Saves -368 byte in trasnlations
2023-03-14 08:30:15 +01:00
3d-gussner 7676df88a4 Rename forgotten `MMU2` message to `MMU` 2023-03-14 08:30:03 +01:00
3d-gussner 9721a87ef2 Raname `MMU2` message to `MMU` as everywhere 2023-03-14 08:24:50 +01:00
3d-gussner 93598ef00d Change some messages to be max three rows instead of two
Yes|No are now located at the 4th row and so messages can
use three rows. This should allow improvement in some translations.
2023-03-14 08:23:40 +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 474d489c39
Merge pull request #4033 from gudnimg/improve-preheat-target
preheat: improve target temperature threshold
2023-03-03 14:41:58 +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
3d-gussner 36c6b323c4 Set `Is filament loaded? Yes|No` default to `No` without a timeout. 2023-02-20 16:31:23 +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
Giles Bathgate 620b19bbab Roll up lay1cal_square loops 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 568eec5ee0 Implement first layer cal with calculated extrusion widths 2023-02-17 14:30:20 +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
3d-gussner b02e8d9961 Fix First layer cal being stored without confirming with knob 2023-02-10 14:34:16 +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
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
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
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
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 17e6f1b75e optimisation: remove conv2str.cpp
Change in memory:
Flash: -288 bytes
SRAM: -8 bytes
2023-01-25 06:28:00 +00: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
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
Alex Voinea 0c352ac2d1 Disable M47 if TMC2130 drivers are used
flash: -126B
RAM: 0B
2023-01-17 20:37:27 +01:00
Yuri D'Elia 16a89b9215 wizard: Return to status after calibration 2023-01-16 11:38:56 +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
3d-gussner 2d34535977 Move Z to top during Nozzle change 2023-01-16 07:27:53 +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 9cbf0a28cc
Fix an issue on multilang builds where first two charactes are not rendered (#3781) 2022-12-30 15:18:48 +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
D.R.racer 52a3beb931 Cut & Eject: avoid preheat if no filament loaded
and add fullscreen messages for Cut & Eject (messages intentionally reused to save space)
2022-12-30 14:23:44 +01:00
Yuri D'Elia c5d2aedfe4 wizard: Ask about the sheet before doing Z calibration
Ask to install the sheet immediately after removing the test print.
This makes further messages less confusing.
2022-12-30 14:14:01 +01:00
Yuri D'Elia dd99b1ab32 wizard: Disable temperature model during hotend testing
This avoids confusing error messages if the hotend is defective and
caught by selftest itself.

Rearrange Stopped state checks (saves 2 bytes)
2022-12-30 14:14:01 +01:00
Yuri D'Elia 8fa0a22b8d wizard: Allow partial resuming after reset
Update the eeprom FW version as soon as migration is complete, to avoid
resetting the CALIBRATION_V2 variable at each reset.

Do not implicitly reset the calibration steps for WizState::Run: do this
only for the menu action.
2022-12-30 14:14:01 +01:00
Yuri D'Elia 414972c876 Unbreak build with !PINDA_THERMISTOR 2022-12-30 14:14:01 +01:00
Yuri D'Elia 7828788e5c Handle CALIBRATION_STATUS_TEMP_MODEL 2022-12-30 14:14:01 +01:00
Yuri D'Elia 2a13ce4c62 Handle CALIBRATION_STATUS_SELFTEST 2022-12-30 14:14:01 +01:00
Yuri D'Elia b41ece175b Handle CALIBRATION_STATUS_LIVE_ADJUST 2022-12-30 14:14:01 +01:00
Yuri D'Elia 22c0e15047 wizard: Rewrite the wizard handling loop
Simplify status tracking:

- S::Restore to continue to the next logical wizard item
- S::Finish for a successful failure
- S::Failed to exit while showing a failure
2022-12-30 14:14:01 +01:00
Guðni Már Gilbert 4219beed71 Remove initial cursor setting
The cursor position is controlled by
the for-loop

Change in memory:
Flash: -8 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Guðni Már Gilbert 1186b36bfa Remove whitespace at start of new row 2022-12-30 12:57:07 +01:00
Guðni Már Gilbert 7529eaec44 Remove duplicate code
msg_next is NULL, then the end of the message has been reached.

Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Guðni Már Gilbert 5037d1edbc delay_keep_alive calls manage_heater and manage_inactivity
No need to call them again, the for-loop is very quick

Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Guðni Már Gilbert 1a9b7d79e6 Don't handle whitespace in a special way
Instead of reading and checking if a character is a whitespace
just print it out onto the LCD. This makes the code a bit less
complex. Whether there is a whitespace character, we always end
up reading from program space, so I doubt this has much performance
impact.

Change in memory:
Flash: -38 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Alex Voinea 96707aadcb Fix timeout making UI freeze 2022-12-30 12:49:57 +01:00
Yuri D'Elia b3790f4094 Typo: meassure -> measure 2022-12-22 12:54:42 +01:00
3d-gussner 9ca7760c2e
Merge pull request #3830 from 3d-gussner/MK3_XYZ_cal_fix
MK3: XYZ cal change message and add LCD ouput
2022-12-20 14:16:49 +01:00
3d-gussner 0bcb4ab59d
Merge pull request #3822 from wavexx/tm_partial_lock
MK3: TM: Prevent lockout on invalid model values
2022-12-20 14:13:56 +01:00
3d-gussner 7fef570d1b Change xyz cal message `up to 24 min.` instead `approx. 12 min.` 2022-12-20 10:30:53 +01:00
3d-gussner 65f5b9e53d
Merge pull request #3818 from wavexx/tm_default_state
TM: Provide full defaults for model data and enable it by default
2022-12-20 07:08:25 +01:00
Yuri D'Elia dba3428ef2 Improve MSG_ACK_ERROR message 2022-12-17 20:25:47 +01:00
Yuri D'Elia 80c7790e87 Also prevent longpress when Stopped 2022-12-17 17:30:44 +01:00
Yuri D'Elia 271523ad45 TM: Disallow preheat/filament actions when stopped
Require acknowledgement first
2022-12-17 17:00:33 +01:00
Yuri D'Elia f8290f25cd TM: Allow to resume without a running print
If there is no running print, and the printer is Stopped, add a new
"Acknowledge error" menu entry to unlock the printer.

This simply calls lcd_print_stop(), which is identical in behavior to a
thermal error with a running print.
2022-12-17 16:48:39 +01:00
Yuri D'Elia 8d719efa79 Do not show/call LCD status updates when unchanged
This mostly prevents useless serial noise
2022-12-17 16:35:26 +01:00
Yuri D'Elia 6e2f016655 TM: Clear the Stopped state when stopping the current print
We allow resuming from the LCD via start print and resume print,
it makes sense to clear the error on stop too.

For this reason distinguish whether the action is performed
automatically or manually (ie: interactively).

The error is only cleared when the command is run interactively.
2022-12-17 16:11:31 +01:00
Yuri D'Elia 119dc10b8f Rename print_stop() to lcd_print_stop_finish() for clarity 2022-12-17 16:03:03 +01:00
Guðni Már Gilbert 2e7c237a17 Cleanup: remove automatic parameter from unload_filament()
In M600 and M702, the Z-lift is taken care of outside this function
so it makes no sense to have a Z-lift within unload_filament()

Only exception to this is in the wizard, there I moved the Z-lift to
happen before we start heating the nozzle.

Change in memory:
Flash: -12 bytes
SRAM: 0 bytes
2022-12-16 16:20:09 +01:00
3d-gussner 090c72367d Minor Fix for PR2235
Shorten message to c=12 as some translation of `Yes/No` are 4 chars long
2022-12-16 16:10:15 +01:00
3d-gussner 74545e2133 Fix `µ` character shown on translations 2022-12-16 15:59:37 +01:00
Yuri D'Elia 36575a4f83 Restore the previous model state when performing a nozzle change
Do not force-enable the model if it was previously disabled.
2022-12-12 20:17:56 +01:00
Yuri D'Elia c5ec77a1ce wizard: Allow finishing the calibration through menus
If the wizard is interrupted during model calibration, allow the
menu to mark "temperature model" calibration as complete.
2022-12-12 18:25:17 +01:00
Yuri D'Elia 118b39da39 wizard: Rework the thermal model calibration logic
- Correctly sequence the enqueued commands in order to check for the
  real calibration result.
- Perform autocalibration with self-check enabled.
- Only save/continue the wizard if autocalibration succeeds.
2022-12-12 18:25:07 +01:00
Yuri D'Elia 38d893589f selftest: Handle thermal errors in lcd_selfcheck_check_heater
- Simplify lcd_selfcheck_check_heater loop
- Check for/abort on Stopped (indicating a thermal failure).
2022-12-12 18:24:58 +01:00
Guðni Már Gilbert 613ea290f5 Add a comment 2022-12-10 10:04:17 +00:00
Guðni Már Gilbert 9ed46df97f Don't show full screen message meant for single color setup
load_filament_to_nozzle will show a more precise full screen message when an MMU is used.
2022-12-10 10:00:58 +00:00
Guðni Már Gilbert 1e39012953
Merge pull request #3793 from gudnimg/PFW-1453
PFW-1453 Stop Print: Don't unload if FINDA is not triggered
2022-12-09 12:54:16 +00:00
Yuri D'Elia 68c5cdce1c
Merge pull request #3780 from gudnimg/stop-print-optimisations
optimisation: Improve Stop Print menu
2022-12-08 19:41:52 +01:00
3d-gussner 92f2281b1a
Merge pull request #2335 from Panayiotis-git/MK3_NoBedHeating_onLoadUnload
@Panayiotis-git Thanks a lot!

Finally after 3 years 21 days your PR gets merged 🦕
2022-12-08 18:45:12 +01:00
3d-gussner 1c9a3a6b25 Add Nozzle change menu to FARM mode under Settings 2022-12-05 18:22:18 +01:00
Guðni Már Gilbert a8fe71df8c PFW-1453 Stop Print: Don't unload if FINDA is not triggered 2022-12-05 16:45:57 +01:00
Panayiotis-git c75c81ce4f Do not heat the bed, on load/unload
If during a paused print, the preheat is canceled, keep the bed target temperature
Display bed temperatures only if bed is also heated
Remove not needed variables nTargetOld and nTargetBedOld from the mFilamentItem function
Define new Setting "HeatBedOnLoad" [Yes/No]
2022-12-04 19:26:34 +02:00
Jakub Dolezal 3e976e04ca
Merge pull request #3777 from 3d-gussner/PFW-1431
PFW-1431: Add "PA Preheat"
2022-12-02 13:34:18 +01:00
3d-gussner 54ef2a6c28
Merge pull request #3769 from 3d-gussner/MK3_Temp_model_cal_wizard
PFW-1434: MK3 Temp model calibration during wizard
2022-11-30 15:33:38 +01:00
3d-gussner 0a6388cc56 Update internal translations
Fix G28 W
2022-11-30 15:01:24 +01:00
Alex Voinea 500131d51d fullscreen message: use \n to force the next word on the next line
Useful for printing short URLs since those contain punctuation characters, which get treated at the end of a word under usual circumstances
2022-11-30 10:17:28 +01:00
3d-gussner 8f44d1102c Add PA preheat menu 2022-11-30 06:42:32 +01:00
Guðni Már Gilbert 23613c7eb1 optimisation: Stop print menu
There is no need to manually track the cursor position.
We can use the menu API:
MENU_BEGIN()
...
// menu items in between here
...
MENU_END()

Change in memory:
Flash: -116 bytes
SRAM: 0 bytes
2022-11-26 10:18:47 +00:00
Alex Voinea 83c9e946e4 Fix recursion 2022-11-24 16:15:51 +01:00
3d-gussner 32673e1681 Nozzle change menu 2022-11-23 11:39:26 +01:00
3d-gussner 2cd42f8433 Fix typo
Add Norwegian translations thanks to @OS-kar
2022-11-22 08:26:20 +01:00
D.R.racer aaebaf163f Cleanup MSG_MMU_POWER_FAILS 2022-11-20 17:27:36 +01:00
D.R.racer 4eaabbf092 Revive MMU stats + LCD screens 2022-11-20 17:27:36 +01:00
Guðni Már Gilbert 603faddd25 Fix bug where toolchange counter is not rendered 2022-11-20 15:42:29 +00:00
Guðni Már Gilbert 5dc539cda5 fixup 2022-11-20 13:12:01 +01:00
Guðni Már Gilbert 62810c5a7c optimisation: lcdui_print_extruder
Simplify the rendering to cover more scenarios:
"[nr.]>?"
"?>?"
Both of these indicate there is a bug in the firmware.
Currently these are not handled and result in the status screen being corrupted.
This is because we are trying to write a 3 digit number
where there is not space on the LCD for it.

Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2022-11-20 13:12:01 +01:00
3d-gussner f2f54da5b0 Unhack selftest hack during wizard 2022-11-20 10:48:49 +01:00
Guðni Már Gilbert d592586d94 cleanup: remove dead code lcd_adjust_z()
It's only used when MESH_BED_LEVELING is not defined. According to
the configuration files, all printers supported use MESH_BED_LEVELING.
So I think we are safe in removing this dead code.
2022-11-19 22:19:48 +00:00
Alex Voinea ef83fefce1 More optimization 2022-11-18 14:50:07 +01:00
Alex Voinea dcc48c0052 Remove eeprom _int8t functions
flash: -48B
RAM: -4B
2022-11-18 14:50:07 +01:00
Alex Voinea b147fcee77 XYZ calibration fixes 2022-11-18 00:18:42 +01:00
Alex Voinea 384a6d1989 Fix wizard serial messages 2022-11-17 23:03:03 +01:00
3d-gussner 30ec4e8b53 Inital Temp Model cal wizard 2022-11-17 15:19:35 +01:00
Guðni Már Gilbert 2096accc5f Remove unused gcode level check code
This code was introduced with v3.8.0 but was always disabled.
I propose the code be removed since it has not been enabled
for 3 years since its introduction.
2022-11-17 08:05:27 +01:00
Alex Voinea 29882b625b Remove LcdCommands::FarmModeConfirm 2022-11-17 05:46:33 +01:00
Guðni Már Gilbert e11ef11a64 PFW-1425 Rename "Load to Extruder" to "Loading Test" 2022-11-16 06:00:15 +01:00
Guðni Már Gilbert 7b43f322de PFW-1425 Move Reset MMU setting 2022-11-15 17:32:27 +01:00
Guðni Már Gilbert b4920d7fa8 PFW-1425 use mmu2.Enabled instead of EEPROM read 2022-11-15 17:32:27 +01:00
Guðni Már Gilbert 3f4ac254ab PFW-1425 Move MMU settings under a common if statement
We only need to check if the MMU is enabled once,
no need to do it in every submenu.
This way we save little bit of flash memory.

Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert 8f3f071fd4 PFW-1425 Move Load to Extruder menu to Settings menu
No change in memory footprint
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert 4f58812478 optimise lcd_sdcard_menu with lcd_print_pad
Change in memory:
Flash: -46 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Guðni Már Gilbert 184e19dd60 further optimise lcdui_print_status_line
We can use lcd_print_pad to determine
whether the end of the file name was reached

lcd_print_pad now returns the last character pointed to.
If the end of the string was reached, it will be the null delimeter which
evaluates to "false" in an if statment (same as NULL).
Else "true" means the end of the string was not reached.

Change in memory:
Flash: -42 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Guðni Már Gilbert 0af7ef0201 optimisation: reduce code size in showing file name being printed
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Alex Voinea 661b3a83ff MK2.5: fix swapped yes/no messaged for Z manual alignment 2022-11-10 22:20:46 +01:00
Alex Voinea 1cdc2e712b MK2.5: unblock planner after plan_abort_hard() 2022-11-10 22:20:01 +01:00
3d-gussner fd832f9ccf
Merge pull request #3737 from gudnimg/fix-longpress-inactivity-timeout
Fix long-press LCD inactivity timeout
2022-11-08 14:10:57 +01:00
Guðni Már Gilbert 08460bd403 PFW-1397 Drop ON_MENU_ENTER
Using _menu_data_t turns out to save *just* a little bit more flash. So for now just use it.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert f160f5594d PFW-1397 cleanup statistics menu
Change in memory:
Flash: -18 bytes
SRAM: -1 byte
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert 82bd9db1d6 PFW-1397 Implement ON_MENU_ENTER to simplify code
ON_MENU_ENTER runs code within the brackets only once
after a new menu is entered.

For the tool change menu, this allows us to display the data and
read from EEPROM only once.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert fcfb868167 PFW-1397 Add a temporary menu item to show the statistic
The location of the menu has not been decided. Currently I placed it where convenient.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert 7fe22e8f79 Fix long-press LCD inactivity timeout
Fixes #3715

When a long-press is triggered, the LCD inactivity timer
needs to be restarted. This is done with lcd_timeoutToStatus.start()

This also fixes situations where a long-press is triggered, and the timer
times out immediately (because it was not reset properly)

Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2022-11-06 13:43:14 +00:00
3d-gussner 7c009cadb8 Bump up Revision to ALPHA1 6051
Temporary fix for MSG_BTN_MORE
pre-release pot and po update
2022-11-04 10:21:39 +01:00
3d-gussner fd6da0e766 Fix typo
Add lcd_setatatus_serial to output lcd status message and serial at the same time
2022-11-02 10:09:32 +01:00
3d-gussner 2ac2cd2255 Fix MK25/S builds 2022-10-26 14:27:22 +02:00
3d-gussner 072b3f8300 Temp Model cal. menu 2022-10-26 13:34:27 +02:00
Alex Voinea edc5d013dd
Merge pull request #3698 from leptun/farm_presort_cache
Farm mode: cache filenames in the presort function
2022-10-21 15:43:49 +02:00
Alex Voinea b485992c9e If in farm mode, force the sorting direction to be reversed
So in an ideal scenario, the newest file is first. This of course breaks as soon as a file is deleted/renamed/moved, but it should at least be fixed now compared to before where the direction could be influenced by a disabled setting
2022-10-18 17:29:31 +02:00
Alex Voinea 798f215f88 Refactor SD menu settings 2022-10-18 17:24:35 +02:00
3d-gussner e83728f72c Change fan RPM display to 5 digits
All credits to @ WarrenSchultz for initial PR https://github.com/prusa3d/Prusa-Firmware/pull/3656
2022-10-17 15:41:05 +02:00