Adjusting PWM frequencies to better match FDD8780 MOSFET spec.
- Hotend PWM frequency increased from 488.28 Hz to 1953.12 Hz
– Referencing the Forward Bias Safe Area from the hotend MOSFET's datasheet, this value should be safer.
- Hotbed PWM frequency increased from 7.26Hz to 30.48Hz
- Use software PWM for fans to reduce whine
– The higher PWM frequency works well with the stock parts cooling fan and might allow for better control of third party fans
- M888: Cooldown routine for the Anycubic Ultrabase (EXPERIMENTAL):
This is meant to be placed at the end Gcode of your slicer. It hovers over the print bed and does circular movements while running the fan. Works best with custom fan ducts.
- T<int>: Target bed temperature (min 15°C), 30°C if not specified
- S<int>: Fan speed between 0 and 255, full speed if not specified
Thanks to @kulfuerst for the suggestion!
- Park head with retract on pause and abort
- Use native functions instead of Gcode
- Loud beeps to alert user on runout
- Fix potential looping issues by using flags
- Fix "Stop failed" message on some occasions
- Raise nozzle timeout to 10 minutes
- Use continue button as reheat trigger
- Manage nozzle_timed_out variable via display
- Add PausedByNozzleTimeout flag to enter correct routine on display
- Bump version to 1.4.3
Instead of incrementing a variable on every iteration on the filament sensor trigger loop, we now use a real time macro that ensure better repeatability and is easier to customize.
- Add startFileprint(); call to M108 display routine to fix progress and ensure "printing done" gets shown
- Add SD printing check in marlin_main.cpp M600 routine to skip TFTstate if not necessary (e.g. USB printing)
- Move routine to the top again to ensure immediate execution
Move the routine to a better position and set the state regardless of SDPRINT status.
This ensures that M600 makes the display show a continue button every time. Before, it was only behaving correctly for the first instance of M600.
- Check for PausedByFilamentChange flag on pause and resume
- Move stop movements from StateHandler() to StopPrint()
- Retract 1mm on pause (2mm on runout) without feed on resume, preventing ooze
- Fix special menu margin on some buttons
Lowering the safety margin of MAXTEMP to 10°C and raising MAXTEMP to 285/135.
Resulting in a limit of 275°C for the hotend and 125°C for the heatbed.
Referencing #23
Improve USB printing by slowing down on certain situations. This prevents the buffer from running empty and removes the need to wait for new serial commands.
Some hosts like Pronterface use continuous M105 commands to poll temperature, this causes a software halt when the heating via M109 or M190 is finished. Flushing the rx buffer fixes this.
As reported in #15, thanks to @rug156 for the feedback!
As a possible fix for the bug with Cura's end Gcode as described in
issue #7, I changed the leveling state to be disabled after homing since
Cura uses X homing in their end Gcode.
While adding ENDSTOP_NOISE_FILTER, I try to reduce the impact on accuracy as much as possible by reducing the endstop_poll_count to 2.
Possible fix for #8.
Thanks to @notching, @mensikv and @md66pt for the valuable feedback!