Commit Graph

5026 Commits

Author SHA1 Message Date
Guðni Már Gilbert 006fe110cc Don't raise MMU error screen until retry is done
Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2022-11-12 18:47:10 +01:00
VintagePC 68bd7f9b19 Fix excessive flash usage. 2022-11-12 18:47:10 +01:00
VintagePC ecef69012a Fix PFW-1364 & possible comms timeout during reheat 2022-11-12 18:47:10 +01:00
Guðni Már Gilbert 509813f60b optimsation: TCodes accepts uint8_t not float
Change in memory:
Flash: -20 bytes
SRAM: 0 bytes
2022-11-12 16:50:45 +00: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 76a164e651 fixup 2022-11-08 13:49:40 +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 390f69a82f PFW-1397 Fix: ON_MENU_ENTER was always run 2022-11-08 13:49:40 +01:00
Guðni Már Gilbert 59a452ac27 PFW-1397 minor comment tweaks 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 a896dfd4e0 PFW-1397 To reserve EEPROM write cycles, only update toolchange counter when a print finishes or is stopped 2022-11-08 13:49:40 +01:00
Guðni Már Gilbert 3120bf0aa2 PFW-1397 Implement new function increment_tool_change_counter()
Reduces flash consumption by 44 bytes
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 5a60a85467 PFW-1397 Increment toolchange statistic 2022-11-08 13:49:40 +01:00
Guðni Már Gilbert 0af7d28074 PFW-1397 Allocate EEPROM memory for toolchange counter 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 853adbf411 Bump up build number
+1 for commit
+1 for merge
2022-11-04 11:16:07 +01: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
DRracer 7b20f8c6f3
Merge pull request #3717 from 3d-gussner/MK3_Temp_Model_menu
Add Menu `Calibration -> Temp. model cal`
2022-11-03 12:12:55 +01:00
3d-gussner 1e0909d50c Disable `Error:` messages for MMU2 errors 2022-11-03 12:09:03 +01:00
3d-gussner 8543942acb Fix Z-leveling 2022-11-03 06:22:57 +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
Guðni Már Gilbert 7bc7f21fa5 mmu: move RetryIfPossible outside the error screen
This fixes issue where 'retryAttempts=3' may be spammed in the logs

Change in memory:
Flash: 0 bytes
SRAM: 0 bytes
2022-11-01 06:22:39 +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
3d-gussner f4a2c1c794 Update translations
Fix button msg
Update Dutch `F. jam detect`
2022-10-25 10:29:35 +02:00
Guðni Már Gilbert 45c72d48ed optimisation: use failstats_reset_print in factory_reset_stats
Change in memory:
Flash: -56 bytes
SRAM: 0 bytes
2022-10-23 09:58:56 +00: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
3d-gussner b792d47350
Merge pull request #3694 from 3d-gussner/MK3_Hotend_fan
PFW-1415: Rename `Extruder fan` to `Hotend fan`
2022-10-19 08:47:15 +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 eaaf1d6872 Rename Sheets
- `Satin 1` to `Satin  `
- `Satin 2` to `NylonPA`
2022-10-18 10:20:01 +02:00
Alex Voinea e18bfce597 Farm mode: cache filenames in the presort function 2022-10-17 20:17:28 +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
3d-gussner f2fe9a51ee rename `Extruder fan` to `Hotend fan` 2022-10-17 13:49:18 +02:00
Guðni Már Gilbert 2682b64a09 Optimisation: Reduce code size in rendering SD file names and folders
Change in memory:
Flash: -88 bytes
SRAM: 0 bytes
2022-10-12 20:19:21 +00:00
D.R.racer 2c695f14be Increase required MMU version to 2.1.4.x 2022-10-12 07:45:13 +02:00
D.R.racer 6eab0dda59 Add parentheses - be more explicit in error codes' masking and comparison 2022-10-11 15:51:01 +02:00
D.R.racer 0aeb74e5b1 Intercept M708 A0xb: set ExtraLoadDistance on the printer side too 2022-10-11 15:51:01 +02:00
D.R.racer b0466ae20f Add infrastructure for MMU parametrization after comm start
For now, only the Extra loading distance is being sent, but the infrastructure can be easily extended for other registers as well.
2022-10-11 15:51:01 +02:00
D.R.racer c7e4c9ce99 Allow backwards compatibility with legacy MMU g-codes
This piece just changes the default extra load length on the MK3 side.
The same needs to be done on the MMU side but:
- the MMU exposes its register for this (so we can change the extra load distance by writing into the register via G-code)
- the printer shall probably set this value on its own after line up of MMU communication
2022-10-11 15:51:01 +02:00
D.R.racer 013ce588a5 Support reading/polling multiple registers
In Idle and Command mode it is now possible to specify a list of registers which shall be periodically read from the MMU.
To keep the code and RAM size down registers are intentionally separated into 8bit and 16bit sets.
Adding a register into the set is just a matter of parametrization, there is no need to change the state machines anymore.
2022-10-11 15:51:01 +02:00
D.R.racer ebb79351a7 Add preliminary support for MMU_SELFTEST_FAILED error messages 2022-10-11 15:51:01 +02:00
3d-gussner d5ca47d1a6
Merge pull request #3646 from gudnimg/fix-mmu-buttons-v2
PFW-1403 Fix issue where physical MMU buttons do not dismiss error screen
2022-10-11 13:42:39 +02:00
Guðni Már Gilbert 8882d8f2c8 Only move XY when position is known
I had a crash when producing an error screen and printer was unhomed.
Extruder was located at the far right side, and immediately crashed when attempting to park.
2022-10-11 07:16:52 +02:00
Guðni Már Gilbert 9f3361577e
Merge pull request #3643 from gudnimg/PFW-1358
PFW-1358 More button utilizes text and an empty character on the right
2022-10-10 18:02:22 +00:00
Guðni Már Gilbert 98cfc37017
Merge pull request #3674 from gudnimg/mmu-first-lay-cal-purge-line
MMU: Sync first layer purge line with PrusaSlicer generated output
2022-10-10 17:59:18 +00:00
Guðni Már Gilbert 213f0e8c71 PFW-1358 Update second_col description
Value is no longer hardcoded
2022-10-10 17:48:56 +00:00
Alex Voinea eb43d712df Enable MISO pullup during SD CMD0
Fix typo
2022-10-10 09:43:50 +02:00
Guðni Már Gilbert ccf0c0a09f
Merge pull request #3675 from gudnimg/pad-mmu-status-messages
Fix issue where MMU status messages are not padded
2022-10-09 10:49:55 +00:00
Guðni Már Gilbert 1c6345a85b Fix issue where MMU status messages were not padded
Also combined common cases to reduce code size
2022-10-09 10:37:33 +00: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
Guðni Már Gilbert d483531606 PFW-1358 update c values 2022-10-08 09:40:43 +00:00
Guðni Már Gilbert 00ccdcd467 PFW-1358 change MSG_BTN_MORE from I1 to N1 2022-10-08 09:25:06 +00:00
Guðni Már Gilbert d6e0f47739 PFW-1403 Rename ReportErrorSource to ErrorSource for shorter code 2022-10-08 08:51:32 +00:00
Guðni Már Gilbert 33690b927a PFW-1403 Fix issue where physical MMU buttons do not dismiss error screen 2022-10-08 08:51:32 +00:00
Guðni Már Gilbert 8f0de44d84 PFW-1358 Move 'More' button to the corner of the screen
Make 'More' button position consistent with 3-button screen.
2022-10-08 08:50:40 +00:00
Guðni Már Gilbert 7264391c5f PFW-1358 Fix and optimise button choice positions 2022-10-08 08:50:40 +00:00
Guðni Már Gilbert 9046fb3d44 PFW-1358 Adjust positions of button choices 2022-10-08 08:50:39 +00:00
Guðni Már Gilbert 06427087c0 PFW-1358 Change "More" button to single character 2022-10-08 08:50:39 +00:00
Tomáš Jozífek 233174cf86 Fill the doc for the EEPROM value at 0x0DA1 - active_sheet 2022-10-07 11:59:57 +02:00
3d-gussner 2067cddc46
Merge pull request #3631 from 3d-gussner/MK3_fix_eeprom_documentation_part1
MK3 fix eeprom doxygen documentation
2022-10-06 15:29:15 +02:00
Alex Voinea 629fc9d0f1
Merge pull request #3638 from wavexx/tm_cal_click
TM: Consume LCD click after calibration
2022-10-06 14:29:40 +02:00
3d-gussner bab83704a1 Fix Typo 0X0 to 0x0 2022-10-06 13:23:16 +02:00
Yuri D'Elia bfaed2768c
Merge pull request #3652 from wavexx/cmake_build_v2
cmake build improvements v2
2022-10-05 14:20:28 +02:00
Yuri D'Elia d867da201f cmake: Define FW_VARIANT instead of copying Configuration_prusa 2022-10-05 01:26:30 +02: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
Yuri D'Elia 2ae376d633 build: Size optimization
Explicitly force-noinline xyzcal_scan_pixels_32x32_Zhop to match the
previous LTO build behavior.
2022-10-04 12:13:09 +02:00
Yuri D'Elia 5ed6bd7f8b cleanup: Fix more spourious missing return warnings
Rewrite to use a temporary and get rid of the warning.
The generated asm is *unchanged*.
2022-10-03 21:54:08 +02:00
3d-gussner 992845198d
Merge pull request #3648 from wavexx/more_cleanups
cleanup: Expand tabs to fixup suspicious indentation warnings
2022-10-03 11:53:42 +02:00
Yuri D'Elia 4cc6695195 cleanup: Expand tabs to fixup suspicious indentation warnings 2022-10-02 20:42:36 +02:00
Yuri D'Elia a8e85bd146 cmake: Work-around gcc 7 not supporting SOURCE_DATE_EPOCH 2022-10-02 20:32:32 +02:00
Yuri D'Elia 1d520f9165 cmake: Make builds fully reproducible by default
- Work-around SOURCE flags being reset for each project when setting the
  random-seed property by calling a support function.
- Likewise, set correct flags for reproducibility when creating archives.
- Strip source prefix paths from debug info

This should set the EPOCH using the last git commit date when available,
but it's not currently implemented. Just set the EPOCH to be 0 for now.
2022-10-02 20:32:32 +02:00
vintagepc d8c9c4450f
Merge pull request #3641 from vintagepc/build-with-cmake
Build the firmware with cmake
2022-10-02 13:05:32 -04:00
Yuri D'Elia c7b6b9a99b cleanup: Suppress unused argument warnings 2022-09-30 15:08:11 +02:00
VintagePC c522330433 Merge remote-tracking branch 'upstream/MK3' into build-with-cmake 2022-09-30 09:04:35 -04:00
Yuri D'Elia 49f96213a4 Also consume longpress in lcd_consume_click() 2022-09-30 14:29:37 +02:00
Yuri D'Elia b95d508574 cleanup: Remove implicit fallthrough in CRC validation 2022-09-30 12:55:47 +02:00
Yuri D'Elia 71be6b19d4 cleanup: Remove return value from MMU2Serial::write()
Removes a missing return warning.

Looks like we don't handle overflow at the moment and in all surrounding
code, so let's remove the return value for now.
2022-09-30 12:55:47 +02:00
Yuri D'Elia 6cfe000ac9 cleanup: Reorder members to match initialization order 2022-09-30 12:55:47 +02:00
Yuri D'Elia 398a4bf403 cleanup: Do not return const values from functions
This generates a warning under -Wextra, since in most cases a const
value doesn't prevent buggy code (as copies are allowed) while
preventing some optimizations (such as move operations) to take place.
2022-09-30 12:55:47 +02:00
Yuri D'Elia d6af13dfc1 cleanup: Supress missing return warnings
Rewrite the function with a temporary to avoid the spourious no-return
warning.

The generated code is *unchanged*.
2022-09-30 12:31:07 +02:00
Yuri D'Elia 31ea48246a TM: Consume LCD click after calibration
Consume any pending LCD click after the temperature model calibration.
Since we're already in the status menu, the usual consume action is not
done automatically here.
2022-09-30 12:24:54 +02:00
3d-gussner 74e15ac233 Rename EN_ONLY to EN_FARM
remove DEBUG/DEVEL/ALPHA/BETA lcd warning
2022-09-29 16:39:02 +02:00
3d-gussner 346dfbdbb3 Fix MSG_SPOOL_JOIN 2022-09-29 10:54:46 +02:00
3d-gussner c7b500af1e BETA firmware message only in English
Rephrase BETA firmware message to fit on two screens
ALPHA message same as DEVEL
Fix ALPHA DEVEL message
2022-09-29 10:48:16 +02:00
3d-gussner 1a8f18318c Add Temp Model eeprom documentation 2022-09-28 18:15:23 +02:00
3d-gussner 302e4b679c replace tab with spaces 2022-09-28 17:37:46 +02:00
Yuri D'Elia 709d07310a lcd_print_pad: do not overflow len when truncating the string 2022-09-26 11:26:10 +02:00
Alex Voinea 7fb53899dc Merge branch 'MK3' into MK3_MMU2_fix1 2022-09-23 14:55:23 +02:00
Yuri D'Elia 26b091d50e Remove unneeded lcd_finishstatus() 2022-09-23 11:54:16 +02:00
Yuri D'Elia 80c06bda55 Improve warning behavior during thermal anomaly
The current code forces any warning to return the user to the status
screen in order to show the message.

Thermal anomaly warnings can repeat at very short intervals, making menu
navigation (to pause/tune the print) impossible.

We now check if the message to be displayed is the same and only force a
kickback for new messages.

This partially reverts https://github.com/prusa3d/Prusa-Firmware/pull/3600
since we need the string to be null terminated for ease of comparison.

We pad the status line at display time instead using the new
lcd_print_pad() function which achieves the same effect.
2022-09-22 16:12:35 +02:00
Tom Mittendorf 24b638b5d4 fixed undefined behaviour when left shifting a negative number 2022-09-21 16:21:19 +02:00
Yuri D'Elia 9a9aadca87 Do not hang during startup
In ultralcd_init() do not use lcd_setstatuspgm() to initialize the
welcome message.

The internal call to lcd_finishstatus() requires the serial to be
already available. Split the function into lcd_padstatus() to pre-pad
the string and save some space.
2022-09-21 16:12:16 +02:00
DRracer f7d4095479
Merge branch 'MK3' into MK3_MMU2_fix1 2022-09-21 15:18:44 +02:00
Alex Voinea 2cdd3ba364 Move strings to progmem 2022-09-21 14:53:54 +02:00
Yuri D'Elia 16d1ef8510
Merge pull request #3560 from leptun/splash_version
Show firmware version on splash screen
2022-09-21 14:47:41 +02:00