Commit Graph

302 Commits

Author SHA1 Message Date
gudnimg 901f63e90f remove incomplete dual stepper configuration
If either Y_DUAL_STEPPER_DRIVERS or Z_DUAL_STEPPER_DRIVERS is defined
the compilation will fail with an error message. This configuration will likely
never be fully implemented unless someone from the community steps up.
2024-12-30 13:57:08 +01:00
Guðni Már Gilbert 2b1c49dae2 Remove legacy Auto Bed Leveling code
The goal is to clean up the project
2024-08-24 07:11:38 +00:00
Panayiotis-git 815b68678d M600 - Show filament name at the Insert filament prompt 2024-08-21 20:56:13 +03:00
Guðni Már Gilbert 80f27618c9 Marlin: drop lcd.h include
Only include it where needed
2024-08-13 23:40:18 +00:00
Guðni Már Gilbert 41245b2a59 Marlin: drop mmu2.h include
We should only be including it where needed
2024-08-13 23:26:09 +00:00
gudnimg 2cbbdbacd5 Remove a bit of unused code which is disabled at compile time
Some of these have been used > 6 years and don't compile anymore.

Reason to want this removed is just to reduce the code we maintain
2024-07-31 09:53:45 +00:00
3d-gussner 45a223a1f9 Remove White spaces 2024-05-20 19:09:03 +02:00
3d-gussner 112d3c672c Update debug_printer_states 2024-03-13 17:43:00 +01:00
3d-gussner 88b77ecce2 Add bool printer_recovering 2024-03-13 17:42:59 +01:00
Alex Voinea aededa34bb Properly check for Z crashes while lowering/raising Z for Z calibration 2024-02-26 10:13:56 +01:00
gudnimg f022567239 PFW-1522 Fix an issue where MMU unloads while nozzle is cold if print is stopped
In the case of a Fan Error, the print is paused. If the nozzle is allowed to cool for a while before the print is stopped via the LCD, then the MMU will try to unload with a cold nozzle.

This can happen with ANY recoverable thermal errors.

In this commit I attempt to fix all scenarios. Including PFW-1544 where the nozzle is cooling down when the print has finished normally.

PFW-1544
PFW-1552

Change in memory:
Flash: +74 bytes
SRAM: 0 bytes
2024-01-27 11:54:54 +00:00
gudnimg adf2ecabc1 Fix pause indicator when print job timer is not used
Fixes #4554

Change in memory:
Flash: +50 bytes
SRAM: +1 byte
2024-01-11 19:30:30 +00:00
gudnimg 9bd043c83b Move restore_file_from_sd out of power panic file
This function is not specific to power panic. Some printer models
do not have power panic enabled.

This change fixes a build failure

No change in memory
2023-12-30 12:19:51 +00:00
Panayiotis-git 8ceda27cda Provide option to repeat the M600 unload/load filament sequence 2023-12-01 21:12:31 +02:00
3d-gussner 9f9bb12eeb
Merge pull request #4419 from gudnimg/reduce-stack-m600-opt
M600: reduce stack usage
2023-11-24 05:39:26 +01:00
3d-gussner 514607318e Add printer_state.cpp/.h 2023-11-22 07:58:17 +01:00
3d-gussner d276695ce7 Set Ready 2023-11-22 07:58:13 +01:00
gudnimg 331ceaf044 M77: Save statistics when timer is stopped
For remote hosts, when the timer is stopped, then also save the statistics.

Slightly refactored save_statistics function by removing the parameters.
The function parameters are always the same.

Change in memory:
Flash: -40 bytes
SRAM: 0 bytes
2023-11-21 18:38:40 +00:00
gudnimg 423f98ff6e Implement Marlin's print job timer
I changed the code a bit so it would compile
in Prusa Firmware.

The paused duration is no longer included in the
print time statistics.

Change in memory:
Flash: -122 bytes
SRAM: 0 bytes
2023-11-21 18:38:40 +00:00
3d-gussner 53c419f52d Basic Printer name in EEPROM
- Output with M115 works
- ToDo
  - LCD screen
  - M550 gcode
  - Detect length of EEPROM CUSTOM_MENDLE_NAME
2023-11-18 10:14:07 +01:00
gudnimg cf0e0f3718 M600: use partial backup in RAM
To handle power panic in M600 we started saving
relevant data at the start of M600 gcode.

We are currently also saving the same data within
gcode_M600 which is saved on the stack. I propose
we just use the data already saved in SRAM to reduce
stack usage.

Change in memory:
Flash: -64 bytes
SRAM: 0 bytes
2023-11-17 19:25:56 +00:00
gudnimg ddbadf4874 Fix #3122
If the feedrate multiplier is changed while the print is paused
update the saved feedrate multiplier in RAM
2023-11-12 12:38:05 +00:00
3d-gussner 2027a54873
Merge pull request #4420 from gudnimg/PFW-1543
PFW-1543 Save print type in EEPROM
2023-10-06 09:04:30 +02:00
Alex Voinea 5466bfb500 Cleanup uartout declaration 2023-10-03 08:19:48 +02:00
gudnimg 3eaca29b0b PFW-1543 Move printing types into enum
Also add power panic namespace
2023-10-01 12:57:25 +00:00
Alex Voinea 7740a81edb
Do not store a global mbl_z_probe_nr
flash: -6
sram: 0? (somehow)
2023-08-17 07:53:39 +02:00
Alex Voinea 6af5f5e2a2
Some code cleanup around homing_feedrate 2023-08-17 07:52:55 +02:00
vintagepc a2eafc587a
Merge branch 'MK3' into 2477-redux 2023-07-26 12:34:38 -04:00
Yuri D'Elia 074b5d380f Consistently replace loading_flag with eFilamentAction
Remove loading_flag and check for eFilamentAction instead which already
flags both load/unload (in addition to mmu actions).

Correctly transition from AutoLoad to Load as soon as the operation
cannot be cancelled anymore as opposed to resetting it.
2023-07-25 14:30:20 +00:00
Guðni Már Gilbert fa843a4a9b power panic: implement partial back up in RAM
A partial backup is needed in scenarios where the extruder may be
parked after a print is saved. For example during a blocking wait for the user in M600
Or during a MMU error screen.

A sudden power panic at this point would previously save the parked position
into EEPROM. When the print is recovered it would print in mid air.
2023-07-18 11:29:03 +02:00
Guðni Már Gilbert 6ccd12c7e8 power panic: re-use saved_pos
This allows us to restore the position of all axis saved in RAM

If the extruder had been parked to the side for example
due to filament runout. Then the original position (before parking)
should now be restored

Change in memory:
Flash: +40 bytes
SRAM: 0 bytes
2023-07-18 11:29:03 +02:00
Guðni Már Gilbert 97c27525d4 power panic: re-use saved_extruder_relative_mode
Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2023-07-18 11:29:03 +02:00
Guðni Már Gilbert a2ac513794 power panic: re-use target temps from RAM
If a print has been saved to RAM such as during a filament runout,
do not overwrite these saved values if a sudden
power panic appears.

Additionally, change the saved types to be the same as power panic when saving to RAM:
- Bed target temperature is uint8_t (0 to 255) instead of float
- Extruder target temperature is uint16_t instead of float

Doing this change allows us to re-use the same global variables and
avoid creating local variables during power panic.

Change in memory:
Flash: -246 bytes
SRAM: -5 bytes
2023-07-18 11:29:03 +02:00
Guðni Már Gilbert a45e432030 power panic: Re-use code to save feedrate, segment index, and start position
Saves ~80B of Flash
2023-07-18 11:29:03 +02:00
Guðni Már Gilbert 67403603ed power panic: Re-use saving print file state
This also adds the Gcode position into EEPROM
for Octoprint/PrusaLink prints.
Though the recovery part doesn't support that yet.
2023-07-18 11:29:03 +02:00
Guðni Már Gilbert 526a1dcc63 power panic: Move code into a separate file 2023-07-18 11:29:03 +02:00
Guðni Már Gilbert 7dc370a7e1 Move ISR7 code to fancheck.cpp 2023-05-23 07:43:40 +02:00
VintagePC e336e2ad08 Fix merge conflict/resync 2023-05-06 11:22:31 -04:00
Guðni Már Gilbert 462535ef7f Restore 3.12 live Z-adjust menu behavior
Code size increases  a bit but keep in mind the PR
that broke the behavior "saved" 182 bytes:
https://github.com/prusa3d/Prusa-Firmware/pull/4063
So I think this code size increase is OK

Change in memory:
Flash: +84 bytes
SRAM: 0 bytes
2023-05-06 12:08:06 +00:00
Guðni Már Gilbert 4935191335 Cleanup remove unused macros
enable_e1
enable_e2
disable_e1
disable_e2

The firmware doesn't support multiple extruders

No change in memory
2023-04-22 15:15:21 +00:00
Guðni Már Gilbert 43d41ddd2b cleanup: static variables in Marlin_main.cpp 2023-04-16 23:23:31 +00:00
Guðni Már Gilbert b67c359129 Move fan_state to fancheck.cpp and make it static
No change in memory
2023-04-15 13:45:10 +00:00
Guðni Már Gilbert 6aafbe69a8 cleanup: remove unused function declaration 2023-04-15 13:45:09 +00:00
Guðni Már Gilbert 6e02a082e2 cleanup: make heating_status_counter static
Change in memory:
Flash: 0 bytes
SRAM: 0 bytes
2023-04-15 13:45:09 +00:00
Alex Voinea f388d8abb6
postponed kill() message with softReset 2023-04-13 10:57:00 +02:00
Guðni Már Gilbert 2ced00f21c Convert fanSpeed and saved_fan_speed to uint8_t
These variables only range from 0 to 255

For the menus we currently need to convert fanSpeed to int16_t.

Change in memory:
Flash: -160 bytes
SRAM: -2 bytes
2023-04-06 06:05:59 +02:00
Guðni Már Gilbert ee39cb4e90 remove one global variable 2023-04-05 11:16:54 +02:00
Guðni Már Gilbert 768319f1e7 optimisation: cleanup print statistics
Change in memory:
Flash: -104 bytes
SRAM: 0 bytes
2023-04-05 11:16:54 +02:00
Guðni Már Gilbert b9fecab239 Reduce calls to __divsf3 when calculating feedrate
For non-time critical code it is more effcient to call a function
rather inlining each division operation.

Change in memory:
Flash: -122 bytes
SRAM: 0 bytes
2023-04-04 15:16:56 +02:00
Guðni Már Gilbert 942021cb2b PFW-1503 Fix an issue where the menu is dismissed in First layer calibraiton
When the extruder lifts up after completing the Purge line,
 the baby stepping is not allowed for a short time. This dismisses
 the menu. We don't want this behavior, so only apply the Z-axis requirement
 when printing.

 Change in memory:
 Flash: +8 bytes
 SRAM: 0 bytes
2023-03-18 12:47:40 +00:00