- Add local UI methods to get heater timeout state.
- Add methods to resume timed-out heaters.
- Re-enable heaters on UI temperature request.
- Make `ExtUI` show a dialog box if pause needs a button press after reheat.
- Remove a re-paint of the status screen on stepper timeout, which would cause a garbled LCD with `LIGHTWEIGHT_UI` and could interrupt whatever else the user might be doing in a submenu (such as playing games!)
- Use the helper function to reset stepper timeout.
Add option to move away from endstop after homing.
- Add `ENDSTOP_BACKOFF` for printers with a recessed Z home button (Lulzbot TAZ 6).
- Also prevents chattering when sensorless homing with axes against bumpers.
- Ensure `MarlinUI:get_progress` is defined for `ExtUI`.
- Fix for `BACKLASH_SMOOTHING` with small segments.
`BACKLASH_SMOOTHING` with extremely small segments failed to fully correct due to the correction factor being rounded down. Rounding up ensures the entire backlash will converge to zero even for small segments.
- Add pinout for the beta revision `EINSY_RETRO`.
- Update soft endstops with tool offsets (for toolchange et. al. move clamping) (#12568)
Ticket #13228
If `INCH_MODE_SUPPORT` is undefined, G20 is an unknown command as it should be (Marlin is, by default, operating in metric mode). G21, however, is found in many slicers and printer start gcode sections and should be accepted (as a NOOP) to avoid the unknown commands.
- Turn off bed leveling prior to calibrating.
- This prevents lateral probes from having a Z component that
triggers the Z endstop and causes the motion to be aborted.
- Got rid of static const float arrays "dimension" and "true_center"
- Frees up 24 bytes of SRAM
- Changed incorrect use of "bool" for float in backlash macros.
- Replaced arguments with 0.0f and 1.0f for clarity.
- Now only disables soft endstops (since calibration cube is outside of bed)
- Not necessary to disable global endstops
- Use `TEST(dm,axis)` to determine directions instead of doing comparisons.
- Remove recomputation of `millimeters` and `delta_mm` since backlash compensation should not affect the distance over which material is extruded.
* Make ExtUI respect MAXTEMP limits
- Temperatures are now clamped by MAXTEMP limits rather than arbitrary values.
* Speed up USB init, add status
- Speed up USB initialization
- Show status message if init failed
* Enable status messages for EXTENSIBLE_UI
* Adjust max limit to MAX_TEMP - 15
* Misc. tweaks to formatting, const, etc.
- Add `axis_t`, `extruder_t`, `heater_t`, and `fan_t` to eliminate ambiguity, improve type safety.
- Regularized getter/setter argument order and naming.
- `setAxisPosition` no longer stacks moves in the buffer, allowing it to be called repeatedly on each touch ui tap.
- Implement better manual moves for `EXTENSIBLE_UI` (#12205)
- Calling `setAxisPosition_mm` no longer buffers the entire move to the new position, but instead causes small moves towards it to be made during the idle loop. This allows the user to adjust the destination even after the move has started and makes the UI feel much more responsive.
- As suggested by @ejtagle, the new code keeps the planner buffer full to ensure smooth motion without stops and starts.
- Change `En`, `Hn` and `FANn` to zero-based indices.
- Labels consistent with the rest of Marlin code.
* Fix to isPrintingFromMedia()
- isPrintingFromMedia() will now return true even if SD print is paused.
- isPrintingFromMediaPaused() allows UI to determine if the print is paused.
* Don't use _delay_us in minkill (#12145)
- In HAL_DUE, _delay_us is simply an alias for delay, which causes the board to hang and subsequently reboot due to the watchdog timer.
* Shorten code with IFSD macro
- Remove `print_job_timer.stop()` from `disable_all_heaters`
- Call `print_job_timer.stop()` for relevant `disable_all_heaters()`.
- Split up `kill()` for watchdog interrupt safety
- Fix an error in the return value of `sd_mmc_spi_read_capacity` which was causing the host OS to read beyond the last sector in the card.
- Clean up the USB flashdrive code and add better debugging.
- Add methods to access print counter data
- Clean up some inconsistent method names
- Clear lcd status after filament change
- Implement `lcd_reset_status` so it works like UltraLCD
Previously, it was not possible for the TYPE argument to ultralcd menu macros to itself be a #defined value. This made it difficult to create variables to set many related menu items to a common precision that could be easily changed.
* Allow override of soft SPI pins in `pins_*.h`
* Add default case to avoid compiler warning.
* Additional pin definitions for Archim 2.
* Einsy Retro has same timings as Einsy Rambo.
* Support new TMC library and 32-bit Archim board
- Added IS_MCU flag
- When IS_MCU flag is 1, AVR compiler will be used
- When IS_MCU flag is 0, ARM compiler will be used
- Added support for new TMC library
- Added support for a 32-bit Archim board, which could probably be used as a basis for other 32-bit boards.
- When LCD_SET_PROGRESS_MANUALLY was disabled and an SD print was not active (i.e. the printer was idle), progress_bar_percent would read uninitialized memory from stack and cause progress bar to jump wildly.
- Also updated conditions in `#ifdef` to match `ultralcd.cpp`
* Fixed Makefile for Marlin 2.0 (#10255)
- Makefile now supports the new Marlin 2.0 directory hierarchy.
- RELOC_WORKAROUND is now automatically enabled based on avr-gcc version.
* Makefile support for U8glib and TMC2130Stepper
- Updated paths for oliver's U8glib 1.19.1
- Added option for teemuatlut's TMC2130Stepper 2.2.1
Some users may prefer to hide the position updates on the `LIGHTWEIGHT_UI` altogether. This leads to an even less cluttered display (it also saves on SPI traffic and one byte of RAM).
- This status screen uses the ST7920 character generator to greatly
reduce SPI traffic and MCU load when updating the status screen.
- Has been tested with the RepRapDiscount Full Graphics Smart Controller
but should work with any LCD that uses an ST7920 or fully compatible
controller.
- The status screen uses the ST7920 character generator to greatly
reduce SPI traffic and MCU load when updating the status screen.
- Has been tested with the RepRapDiscount Full Graphics Smart Controller
but should work with any LCD that uses an ST7920 or fully compatible
controller.
- The status screen uses the ST7920 character generator to greatly
reduce SPI traffic and MCU load when updating the status screen.
- Has been tested with the RepRapDiscount Full Graphics Smart Controller
but should work with any LCD that uses an ST7920 or fully compatible
controller.