Commit Graph

5794 Commits

Author SHA1 Message Date
3d-gussner ba9e18c730
Revert "M850 add possibility to set sheet as active" 2023-09-11 13:25:39 +02:00
3d-gussner c84985ec3e
Merge pull request #4328 from dawidpieper/m850_addselection
M850 add possibility to set sheet as active
2023-09-11 13:02:04 +02:00
Yuri D'Elia 334bfe4d29 build: Set all version data based on git tags
Drop the ALPHA/BETA/custom version handling. Set the version string and
firmware date based on the current tree description which has all the
required details.

Allow to override the repository information via cmake.

Use a truncated commit hash to set the internal commit number for
compatibility.

Rebase and fix issues
2023-09-04 08:35:15 -04:00
3d-gussner 77a4b99f5e Fix Calibration menu shown during resuming 2023-09-01 16:18:57 +02:00
3d-gussner 4c53163068
Merge pull request #4357 from DRracer/z-stall-xyz-workaround
Force-move-Z after searching for XY calibration points
2023-08-31 08:21:43 +02:00
D.R.racer abdfe07f3f Force-move-Z after searching for XY calibration points
Bogus StallGuard readings may prevent the Z from moving at this spot which will result in other nasty behaviour.
2023-08-31 07:48:28 +02:00
Yuri D'Elia 2bfd56cd30 lang/mmu: Translate MMU menu strings within caller
This fixes the undefined _T(label) reference, at the expense of a few
extra bytes.

I would argue this is worth the cost for the ability to check
translation references for the future. The warning happens because
`lang-check` cannot check a reference which is not _directly_ a catalog
entry.

We could introduce a method to suppress this warning (either a new macro
or some ///IGNORE comment), but that would mean that the additional
translation check is completely bypassed, defeating the purpose.
2023-08-30 18:54:57 +02:00
3d-gussner 47775e158b Reuse messages 2023-08-21 19:00:22 +02:00
3d-gussner 0bbec5626c Update and fix translations 2023-08-21 16:28:36 +02:00
Guðni Már Gilbert 5bf9bf7507 optimisation: reduce code size in MMU filament menus
Change in memory:
Flash: -156 bytes
SRAM: 0 bytes
2023-08-21 07:29:43 +02:00
Guðni Már Gilbert 1881c5f086 Fix filament actions not cleared properly
We can't clear eFilamentAction in every case in mFilamentItem()

mFilamentItem() can trigger a call to M701 and M702 e.g. for Autoloading
and eFilamentAction must be cleared by the gcode to prevent
the user from triggering another Autoload (which will crashe the FW)

The same applies to submenus. Now the MMU submenus clear eFilamentAction
only when the action is done.

For MMU Unload Filament item, eFilamentAction is only cleared after
the unload_filament() call is done running. This fixes an issue where
the menu item can be selected again while the first unload is still
running.
2023-08-21 07:29:43 +02:00
sarusani c4c26050d3 Fix screen update after PFW-1531 2023-08-21 06:36:25 +02:00
sarusani 6c0f80e680 Add static_assert check for TEMP_HYSTERESIS 2023-08-21 06:35:32 +02:00
sarusani 0d097d5a62 Fix TEMP_HYSTERESIS calculation 2023-08-21 06:35:32 +02:00
Guðni Már Gilbert 7c7d6b1671 Fix issue with Tune item appearing on MMU FW UPDATE screen 2023-08-21 06:33:14 +02:00
Guðni Már Gilbert 60534738d3 PFW-1522 Don't increment failure statistic on filament change 2023-08-18 14:27:39 +02:00
Guðni Már Gilbert e6f05e7856 PFW-1522 Fix firmware getting stuck on ejecting
If slot is unknown, the printer will always get a rejected command
error from the MMU.

Change in memory:
Flash: +4 bytes
SRAM: 0 bytes
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert c7360055ae PFW-1522 Make Load the default button choice
No change in memory
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert 814169a213 PFW-1522 Update screen description
Change in memory:
Flash: +32 bytes
SRAM: 0 bytes
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert fc18f4c5d7 PFW-1522 Implement filament change screen
Change in memory:
Flash: +116 bytes
SRAM: +1 byte
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert c4f48a6606 MMU: Disable FINDA runout during Homing and MBL
If for some reason a user added a extrusion move in the firmware. Prevent FINDA runout
from triggering.

Change in memory:
Flash: +16 bytes
SRAM: 0 bytes
2023-08-17 07:43:59 +02:00
Guðni Már Gilbert 61ec6b8ae7 G80: Don't unretract unless retracting first
temp_compensation_start() is only called when
PINDA_THERMISTOR is not defined.
Additionally make sure the retraction or unretraction cannot happen
twice in case MBL fails.

For MK3S users with MMU this extrusion move could
cause a FINDA runout event.

Change in memory:
Flash: -130 bytes
SRAM: 0 bytes
2023-08-17 07:43:59 +02:00
dawidpieper 14306e59c8 Try immediate EEPROM writes for flash size optimization 2023-08-16 20:36:24 +02:00
dawidpieper 1dada5ba81 Revert optimizations of bIsActive 2023-08-16 20:18:16 +02:00
dawidpieper 91cb01b12f Code optimization 2023-08-16 20:08:53 +02:00
dawidpieper b2f6b77cf3 Add separators between blocks 2023-08-16 19:46:57 +02:00
dawidpieper 58014156a0 Fix code formatting 2023-08-16 19:18:33 +02:00
Guðni Már Gilbert 0e469c054f Fix disappearing menu items when Filament Action completes
An example is when Unloading filament with MMU.

After the unload completes successfully, some menu items disappeared.
Because mFilamentBack() was not called

Change in memory:
Flash: -56 bytes
SRAM: 0 bytes
2023-08-16 08:22:03 +02:00
Guðni Már Gilbert 1bf33bd1aa Fix a bug where Load filament menu disappears
Kudos to @3d-gussner for finding the issue

Steps to reproduce:
1. reset printer
2. select Load filament
3. go back to main
4. LCD menu is very limited
5. To get all menus back select 6. Preheat
7. back to main

This commit is my proposed fix.

When eFilamentAction is equal to
FilamentAction::Load we must reset it to FilamentAction::None
when the Back button in Load Filament is selected

Change in memory:
Flash: -26 bytes
SRAM: 0 bytes
2023-08-16 08:22:03 +02:00
dawidpieper 11d8c157f6 M850 add possibility to set sheet as active 2023-08-15 22:19:55 +02:00
Guðni Már Gilbert 3766aadd99 PFW-1530 rename isErrorScreenSleeping to TuneMenuEntered 2023-08-14 09:34:55 +02:00
Guðni Már Gilbert 92b3a2443e PFW-1530 Remove typedef keyword 2023-08-14 09:34:55 +02:00
Guðni Már Gilbert 03ed675732 PFW-1530 cleanup: remove redundant uint8_t cast 2023-08-14 09:34:55 +02:00
Guðni Már Gilbert 5d9ccc59b7 PFW-1530 fixup 2023-08-14 09:34:55 +02:00
Guðni Már Gilbert f0a48b11f7 PFW-1530 Refactor the menu to be non-blocking
The UI works much smoother now

Saves ~60 bytes of flash
2023-08-14 09:34:55 +02:00
Guðni Már Gilbert efd85110a3 PFW-1530 minor optimisation
Don't inline WriteRegister

Change in memory:
Flash: -12 bytes
SRAM: 0 bytes
2023-08-14 09:34:55 +02:00
Guðni Már Gilbert 1cda696e14 PFW-1530 Add Tune to Selector screen and more
- Rename "Idler" to "Sensitivity"
- Implement ReadRegisterInner() as a way to read register in blocking contexts such as manage_response()
This allows us to show the current EEPROM value on the printer's LCD
2023-08-14 09:34:55 +02:00
Guðni Már Gilbert 9e4fd08031 mmu2: cleanup: use Register enum 2023-08-14 09:34:55 +02:00
Guðni Már Gilbert d0f18b6fbc PFW-1530 Minor optimisation
Change in memory:
Flash: -8 bytes
SRAM: 0 bytes
2023-08-14 09:34:55 +02:00
Guðni Már Gilbert 5f60eaff85 PFW-1530 Initial prototype
Add a 'Tune' option to HOMING_IDLER_FAILED error

This will open a menu which allows
the user to change the stallguard threshold
from the MMU error screen

Change in memory:
Flash: +334 bytes
SRAM: +1 byte
2023-08-14 09:34:55 +02:00
3d-gussner c708456184
Merge pull request #4161 from gudnimg/simplify-tcodes-code
MMU: Simplify `T?` processing
2023-08-11 14:31:57 +02:00
D.R.racer d2991ce1e0 Increase required MMU FW version to 3.0.1 2023-08-11 11:09:53 +02:00
Alex Voinea ef63b57dfd Remove unimplemented M407 from list of gcodes 2023-08-11 09:02:11 +02:00
3d-gussner 500a6558a5 Rebase, fix and update doxygen 2023-08-11 09:02:11 +02:00
Michael Greene f449b06bb2 reprocess patch so I don't have 1200 lines of whitespace changes to review 2023-08-11 09:02:11 +02:00
VintagePC ea5bcc5eea Implement #2089 2023-08-05 12:19:51 -04:00
Guðni Már Gilbert 503c01aa57 tmc2130: write chopper config and powerdown setting first
I noticed this is how the order is in 3.13.0 and before.
I want to keep it exactly the same.

This somehow saves 2 bytes of flash. Probably compiler magic.

Change in memory:
Flash: -2 bytes
SRAM: 0 bytes
2023-08-05 10:41:21 +02:00
Guðni Már Gilbert 02332018ec tmc2130: Fix bug with vSense bit and current values
If vSense changes at runtime due to Run current
being changed. Then we must always shift the Hold current
correctly. Whether the vSense is changing 1 -> 0 or 0 ->1

Change in memory (with TMC2130_SERVICE_CODES_M910_M918):
Flash: +76 bytes
SRAM: 0 bytes
2023-08-05 10:41:21 +02:00
gudnimg a1a3194985 tmc2130: Fix wrong values report by M913 when Hold > Run
The firmware will ensure that the Hold current can never
exceed the Run current. In this scenario we must update
the global current array so that M913 reflects the register settings.

Added a echo to serial when this truncation happens

Change in memory:
Flash: +54 bytes
SRAM: 0 bytes
2023-08-05 10:41:21 +02:00
Guðni Már Gilbert ec921eb53b MMU: Add enum class for register map
No change in memory
2023-08-05 10:36:00 +02:00