Commit Graph
61 Commits
Author SHA1 Message Date
Marcio TeixeiraandScott Lahteine 6a8fb0f25f Simplify backlash compensation code. (#12813)
- 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.
2019-01-04 13:30:56 -06:00
Marcio TeixeiraandScott Lahteine 81e753064a Fix ExtUI compile warnings and error (#12799) 2019-01-03 08:36:43 -06:00
Marcio TeixeiraandScott Lahteine 60cb36bef3 Misc. improvements (#12747)
* 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.
2019-01-01 15:17:48 -06:00
Marcio TeixeiraandScott Lahteine 8dcc28c9ae Squelch warning mentioned in #11061 (#12676) 2018-12-20 15:34:24 -06:00
Marcio TeixeiraandScott Lahteine 902d5b0f8b Allow ExtUI to use LCD_SET_PROGRESS_MANUALLY (#12628) 2018-12-12 17:21:37 -06:00
Marcio TeixeiraandScott Lahteine b22716e938 M425 Backlash Correction (#11061) 2018-12-08 14:36:46 -06:00
Marcio TeixeiraandScott Lahteine 439a3e8463 Improve runout sensor, fix LIGHTWEIGHT_UI screen size (#12544) 2018-11-27 13:45:25 -06:00
Marcio TeixeiraandScott Lahteine 7109dadd21 Additional pin definitions for Archim 2 (#12500)
- Added GPIO pins to Archim 2
- Added new 108 pin to `fastio_Due.h`
2018-11-22 01:07:02 -06:00
Marcio TeixeiraandScott Lahteine 4bcb63b705 Fix for #12482 (#12483)
Fix Z-move to uninitialized position in SWITCHING_EXTRUDERS tool_change (no_move=true)
2018-11-20 00:04:11 -06:00
Marcio TeixeiraandScott Lahteine 50ee747787 Fix compilation errors. Followup to #12439 (#12481) 2018-11-20 00:02:13 -06:00
Marcio TeixeiraandScott Lahteine c1e17037e5 Various fixes for MarlinUI and ExtUI (#12439) 2018-11-17 22:21:44 -06:00
Marcio TeixeiraandScott Lahteine 5e586a6b39 Fix to runout sensor code. (#12431)
- "old_state" is no longer a class static variable.
2018-11-14 16:54:05 -06:00
Marcio TeixeiraandScott Lahteine 3ceab8474c Add required "cardreader.h" include (#12419) 2018-11-13 17:12:44 -06:00
Marcio TeixeiraandScott Lahteine 4dbaa6369f Fix const pointer assignment compile error (#12350) 2018-11-06 19:49:39 -06:00
Marcio TeixeiraandScott Lahteine 8517d5f915 LCD menu code refactoring and cleanup (#12308) 2018-11-05 22:51:10 -06:00
Marcio TeixeiraandScott Lahteine 72d8adfd1e Cleanup and refactor EXTENSIBLE_UI (#12227)
- 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.
2018-10-30 19:42:26 -05:00
Marcio TeixeiraandScott Lahteine 1a00d1bdaf Add pullup to USB interrupt line
- A pullup on the INT pin is required when the pin is level-active
2018-10-25 10:42:08 -05:00
Marcio TeixeiraandScott Lahteine fc31da1114 Implement custom delay/millis for EXTENSIBLE_UI (#12188) 2018-10-22 19:37:48 -05:00
Marcio TeixeiraandScott Lahteine 2e5e689a7f Fix kill() and ExtensibleUI (#12160)
* 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
2018-10-20 01:44:46 -05:00
Marcio TeixeiraandScott Lahteine 71e19baf69 Fix kill => disable_all_heaters => print_job_timer.stop (#12146)
- 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
2018-10-18 21:20:56 -05:00
Marcio TeixeiraandScott Lahteine 5b7dd553d3 Fix sd_mmc_spi_mem capacity; clean up USB code (#12134)
- 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.
2018-10-18 11:34:07 -05:00
Marcio TeixeiraandScott Lahteine f98f4ac7ea Fix and improve EXTENSIBLE_UI (#12117)
- 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
2018-10-16 16:58:29 -05:00
Marcio TeixeiraandScott Lahteine 056561df93 [2.0.x] Enhancements to FILAMENT_RUNOUT_SENSOR (#12069)
- Added FILAMENT_RUNOUT_DISTANCE_MM option
- Added FILAMENT_MOTION_SENSOR option
2018-10-16 07:28:52 -05:00
Marcio TeixeiraandScott Lahteine cef1de89d0 Fixed incorrect axis index. (#12051) 2018-10-09 16:59:34 -05:00
Marcio TeixeiraandScott Lahteine d6d48e63fb Allow #defined TYPE arg to ultralcd menu macros (#12041)
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.
2018-10-08 20:01:00 -05:00
Marcio TeixeiraandScott Lahteine ec9aa4f468 [2.0.x] Miscellaneous fixes (#12039)
* 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.
2018-10-08 18:14:52 -05:00
Marcio TeixeiraandScott Lahteine 906a24fa81 Extensible user interface API (#11193) 2018-10-08 15:44:05 -05:00
Marcio TeixeiraandScott Lahteine 8dbb305e8e Fix "Missing separator" errors. (#12035)
- Makefiles require tabs (not spaces) before shell commands.
- Other indentation can either be space or tabs.
2018-10-08 14:28:52 -05:00
Marcio TeixeiraandScott Lahteine 03fc4d31d0 Makefile support for 32-bit Archim board and new TMC library (#11997)
* 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.
2018-10-05 16:06:11 -05:00
Marcio TeixeiraandScott Lahteine 2067619a26 Add USB_FLASH_DRIVE_SUPPORT 2018-10-04 19:54:12 -05:00
Marcio TeixeiraandScott Lahteine ccbd045f02 Fixed warning about comparing signed to unsigned (#11909) 2018-09-24 12:03:29 -04:00
Marcio TeixeiraandScott Lahteine c411e7eb0d [2.0.x] Squelch compiler warnings seen with -Wall (#11889) 2018-09-23 12:00:34 -04:00
Marcio TeixeiraandScott Lahteine 2ebfe90be9 Add custom preheat temp to filament change (#11475) 2018-09-10 02:51:46 -05:00
Marcio TeixeiraandScott Lahteine beb51c2d58 Show manual extrusion moves as relative in LCD
- Implements FR#11724
- Old behavior can be restored by commenting out MANUAL_E_MOVES_RELATIVE
2018-09-06 02:00:25 -05:00
Marcio TeixeiraandScott Lahteine 0966bdcbc4 Reorganized ultralcd menu (10317) (#10360)
Replaced "Prepare" and "Control" menus with "Movement", "Temperature", "Configuration" and "Advanced Settings"
2018-08-29 16:51:14 -05:00
Marcio TeixeiraandScott Lahteine 0f14977b5d LIGHTWEIGHT_UI: Allow feedrate % to exceed 255% (#11656)
- Changed type of integer used for feedrate percentage from uint8_t to uint16_t.
2018-08-27 21:26:32 -05:00
Marcio TeixeiraandScott Lahteine f2224755ad Fix jumping progress bar. (#11439)
- 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`
2018-08-03 17:17:02 -05:00
Marcio TeixeiraandScott Lahteine 724e9f56c8 Removed "const" to match parser. (#10548) 2018-04-27 17:48:52 -05:00
Marcio TeixeiraandScott Lahteine 02a711c4d6 [2.0.x] Fix crash upon repeated calls to process_subcommands_now_P (#10509) 2018-04-24 13:44:22 -05:00
Marcio TeixeiraandScott Lahteine 10a25f733e Add SENSORLESS_HOMING to Archim 2.0 (#10500) 2018-04-23 17:11:33 -05:00
Marcio TeixeiraandScott Lahteine 5cc7916e69 Add G29_RETRY_AND_RECOVER feature
- Add an option to retry G29, optionally executing a G-code procedure after each failed probe.
2018-04-19 19:45:53 -05:00
Marcio TeixeiraandScott Lahteine 2efc072fdb Clear progress bar on completion (#10333)
Fix #10330
2018-04-06 20:13:19 -05:00
Marcio TeixeiraandScott Lahteine 9356cf648f Added support for Einsy Retro
http://reprap.org/wiki/EinsyRetro
2018-04-06 19:48:46 -05:00
Marcio TeixeiraandScott Lahteine 75037493fa Default active low for TMC2130 DIAG1 (#10294)
- Added sanity check to inform users to set the endstop to inverting
  when using SENSORLESS_HOMING
2018-04-06 19:48:46 -05:00
Marcio TeixeiraandScott Lahteine 8bc93c6f2b Improve heating/cooling LCD messages (#10293) 2018-04-04 18:29:27 -05:00
Marcio TeixeiraandScott Lahteine 4d1a61335c [2.0.x] Fixed Makefile for Marlin 2.0 (#10255) (#10281)
* 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
2018-04-02 19:36:27 -05:00
Marcio TeixeiraandScott Lahteine c24dbcbfe1 When STATUS_EXPIRE_SECONDS is 0, hide the position. (#10081)
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).
2018-03-14 02:44:30 -05:00
Marcio TeixeiraandScott Lahteine fd883c909a Improvements to Lightweight ST7920 status screen. (#9952)
- Show units on lightweight status screen.
- Fixed progress bar so it works with M73
2018-03-06 01:49:36 -06:00
Marcio Teixeira 13176dfe2f Merge remote-tracking branch 'origin/pr-lite-st7920-status' into pr-lite-st7920-status 2018-02-22 08:02:31 -07:00
Marcio TeixeiraandScott Lahteine 532bb3aaa1 Lightweight status screen for ST7920
- 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.
2018-02-22 00:10:43 -06:00
Marcio Teixeira e7f329edb2 Added bed corners to bed icon.
- This makes it look less like a dash (idea stolen from cjsoong).
2018-02-21 15:31:56 -07:00
Marcio Teixeira e84a5545e1 Removed unnecessary extended mode switch.
- This will slightly reduce the SPI requirements for
  updating the progress bar.
2018-02-21 15:12:11 -07:00
Marcio Teixeira 716a22498f Changed temp type from uint8_t to int16_t
- Also deleted old implementation files which had been renamed.
2018-02-21 10:15:55 -07:00
Marcio Teixeira 9d5968e8ec Fixed dual-extruder in Lightweight UI.
- Moved bed icon down when the machine is configured with two nozzles.
2018-02-20 13:34:34 -07:00
Marcio Teixeira aada1e698f Removed unused configuration options. 2018-02-19 16:14:33 -07:00
Marcio Teixeira c7513eb032 Merge branch 'pr-lite-st7920-status' of github.com:marcio-ao/Marlin into pr-lite-st7920-status 2018-02-19 15:38:13 -07:00
Marcio TeixeiraandScott Lahteine 24eb275b99 Added a light-weight status screen for the ST7920
- 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.
2018-02-18 02:29:45 -06:00
Marcio Teixeira 8db67d1647 Fixed compilation when using avr-gcc
- avr-gcc is more strict than the Arduino IDE, it seems.
2018-02-14 15:51:25 -07:00
Marcio Teixeira f05bd7f082 Added files missing from earlier commit. 2018-02-14 14:51:35 -07:00
Marcio Teixeira 4880ac6533 Added a light-weight status screen for the ST7920
- 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.
2018-02-14 14:43:54 -07:00
Marcio Teixeira af83c512b8 Added support for U8G. 2017-07-27 07:49:25 -06:00