Commit Graph

255 Commits

Author SHA1 Message Date
Scott Lahteine
66580f32c2
Make CardReader class static (#12451)
* Make CardReader a static class
* Make CardReader flags into bitfields
2018-11-16 22:39:16 -06:00
Scott Lahteine
d97e31db4c
Optimize Power-Loss Recovery (#12440) 2018-11-16 20:47:07 -06:00
Scott Lahteine
a0c795b097
Encapsulate common display code in a singleton (#12395)
* Encapsulate common LCD code in a singleton
* Depend more UBL code on UBL_DEVEL_DEBUGGING
  - Since most users don't need the debugging on at all times, this helps reduce the default build size for UBL by over 2K, a little closer to fitting on 128K boards.
2018-11-11 12:16:24 -06:00
Scott Lahteine
e574f01568
More advanced pause tweaks (#12356)
* Followup to LCD_TIMEOUT_TO_STATUS=0
* Make continuous purge screen fit 20x4
* Unify purge message modes
* Preserve last-set pause header mode
2018-11-06 19:25:57 -06:00
Scott Lahteine
498dfa291e Update and fix CHDK 2018-11-05 04:17:37 -06:00
Scott Lahteine
44f2a82a56 Move axis_homed, axis_known_position to motion.* 2018-10-31 17:44:42 -05:00
Scott Lahteine
3583e2b449
Followup to Menu Refactor (#12275) 2018-10-30 16:34:45 -05:00
Marcio Teixeira
fc31da1114 Implement custom delay/millis for EXTENSIBLE_UI (#12188) 2018-10-22 19:37:48 -05:00
Scott Lahteine
e5ae7a07d1 Suppress compiler warning 2018-10-21 13:44:27 -05:00
Scott Lahteine
9969c06cb5 Fix compiler warning 2018-10-20 17:16:59 -05:00
Marcio Teixeira
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
Scott Lahteine
b381cad399 Clean up trailing whitespace 2018-10-19 15:27:17 -05:00
TheSFReader
1fb9b299d4 Add M524 to abort SD printing (#12155) 2018-10-19 14:25:07 -05:00
Scott Lahteine
c6a5c74208 Add parentheses to SD macros 2018-10-19 13:52:57 -05:00
Scott Lahteine
8c02dd971b Move disable_all_steppers to minkill 2018-10-19 13:42:04 -05:00
Scott Lahteine
3847c08f7e Disable heaters/steppers before message 2018-10-19 13:30:46 -05:00
Marcio Teixeira
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
AnHardt
f56968ba0b New Continuous Filament Mixer (#12098) 2018-10-16 03:38:57 -05:00
Scott Lahteine
1407afad73 Move SENSITIVE_PINS to its own file 2018-10-11 01:10:11 -05:00
Marcio Teixeira
906a24fa81 Extensible user interface API (#11193) 2018-10-08 15:44:05 -05:00
Scott Lahteine
d6b0fbd771
Use uint8_t for all fan speeds (#12032) 2018-10-07 15:34:41 -05:00
teemuatlut
c447d75916 Add support for TMC2660 (#11998) 2018-10-06 17:18:10 -05:00
Marcio Teixeira
2067619a26 Add USB_FLASH_DRIVE_SUPPORT 2018-10-04 19:54:12 -05:00
teemuatlut
c3229e1b34 Migrate to a new TMC library (#11943) 2018-10-03 02:48:49 -05:00
Scott Lahteine
c75f5a376b Tweak some comments 2018-10-01 18:34:14 -05:00
Scott Lahteine
11ac75edcb
Use PGM_P for PSTR pointers (#11977) 2018-09-30 23:44:33 -05:00
Alexander Amelkin
2ecfda80ac Improve support for JTAG/SWD pins reuse (#11963)
STM32 can reuse JTAG and SWD pins separately. Add `DISABLE_DEBUG` option to disable both interfaces and retain `DISABLE_JTAG` to disable JTAG only.
2018-09-29 19:00:49 -05:00
Alexander Amelkin
84926b1d5a HAL general support for DISABLE_JTAG option (#11211)
Some STM32-based boards may use multiplexed JTAG pins as IO. Up to now the `DISABLE_JTAG` option (defined in pins files) was only supported for AT90-based boards. This commit generalizes the code and adds support for boards based on STM32F1 and STM32F4.
2018-09-27 19:02:50 -04:00
Scott Lahteine
1718eff54a Code changes supporting up to 6 extruders 2018-09-16 22:32:53 -05:00
Thomas Moore
c437bb08f1 Overhaul of the planner (#11578)
- Move FWRETRACT to the planner
- Combine leveling, skew, etc. in a single modifier method
- Have kinematic and non-kinematic moves call one planner method
2018-09-16 21:24:15 -05:00
Scott Lahteine
1933d5d6fb Fix SD autostart with no LCD 2018-09-12 03:49:59 -05:00
Sam Lane
1b6bc19427 Add external closed loop controller support 2018-09-10 03:17:17 -05:00
Scott Lahteine
56f1e17a25
[2.0.x] Max7219 cleanup, simplify, and extend (#11575) 2018-08-18 01:33:13 -05:00
teemuatlut
fbcdf5eaeb Simplify stepper driver per-axis selection 2018-07-25 02:47:43 -05:00
Scott Lahteine
566d05006d report_state > event_handler
Make the endstop report method track endstop changes on its own.
2018-07-11 21:08:07 -05:00
Scott Lahteine
1a0f4dedad
Fix and improve POWER_LOSS_RECOVERY (#11187) 2018-07-02 23:21:28 -05:00
TheLongAndOnly
cedc158106 [2.0.x] Board specific init macro (#11170) 2018-07-01 23:11:42 -05:00
Scott Lahteine
d4795e5b8e
[2.0.x] Tweaks and additions for MAX7219 (#11034) 2018-06-18 22:04:03 -05:00
Simon Jouet
e2aeda61ed HAL for Espressif ESP32 Wifi 2018-06-13 19:33:35 -05:00
Scott Lahteine
f2c3b0d476 Use bit flags for homed/known 2018-06-11 22:05:16 -05:00
Scott Lahteine
968a5d2e63 Protected pin err for M226 2018-06-10 17:45:47 -05:00
Scott Lahteine
0ca9db7051 Correct HOTENDS for SWITCHING_EXTRUDER 2018-05-27 23:22:48 -05:00
etagle
569df3fc0c Fix interrupt-based endstop detection
- Also implemented real endstop reading on interrupt.
2018-05-20 07:10:24 -05:00
etagle
a11eb50a3e Refactor and optimize Stepper/Planner
Better encapsulation and considerably reduce stepper jitter
2018-05-20 06:23:58 -05:00
GMagician
3c76bda2d8 Fix switching extruder
`DONT_SWITCH` got lost along the way. Replace it with `DO_SWITCH_EXTRUDER` and adjust the code.
2018-05-19 17:05:15 -05:00
Scott Lahteine
35258dd50b Consistent heating status and status reset
Fix #10699
2018-05-13 17:18:19 -05:00
Scott Lahteine
625035a9ce
Fix M301 access to lpq_len (#10714)
Co-Authored-By: Zwaubel
2018-05-12 02:13:40 -05:00
Scott Lahteine
306f0f2135
Move Stepper::synchronize to Planner (#10713)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 01:38:02 -05:00
Scott Lahteine
05fca752d6 Clean up autostart handling 2018-05-01 01:35:57 -05:00
Scott Lahteine
11ab017dd0 Creality3D Power-Loss Recovery 2018-04-21 21:56:50 -05:00
Scott Lahteine
6c7a17dba6
Abort SD printing more safely (#10407)
Allow the current command to complete when aborting an SD print, otherwise some commands (G28, G29, etc.) will cause trouble.
2018-04-15 18:27:54 -05:00
Chris Pepper
cc6d41e1d3 Use a macro for HAL header redirection (#10380) 2018-04-12 20:25:08 -05:00
Scott Lahteine
56486c5c0e Apply const to manage_inactivity 2018-04-08 04:00:26 -05:00
Bob-the-Kuhn
902c885782 Switch to TMC2130 compatible hardware SPI & misc (#10299) 2018-04-04 20:13:27 -05:00
Scott Lahteine
adcb87f0db Z Endstop Servo => Z Probe Servo 2018-04-01 23:54:21 -05:00
Scott Lahteine
1cb810ff1c
[2.0.x] Automatically reset stepper timeout (#10179)
* Automatically reset stepper timeout in manage_inactivity

Any code that adds moves to the planner can skip resetting the stepper timeout. We can let `idle` / `manage_inactivity` reset the timer whenever it detects any moves in the planner.

* blocks_queued => has_blocks_queued
2018-03-21 19:30:06 -05:00
Eduardo José Tagle
97e8a6ebd9 Various fixes for DUE... (#10152)
- Watchdog reset during SD Card initialization.
- Move `DebugMonitor` to `DebugMonitor_Due.cpp`.
- Since the watchdog is enabled on boot do extra resets during init.
- Have `thermalManager` do watchdog reset before its ISR starts to prevent reset.
- Ensure that timers are stopped before reprogramming them to address tone issues.
- Improve SAM3XE reset when reflashed through the native port.
2018-03-21 19:04:45 -05:00
Scott Lahteine
9fd1016bb1 Trust the bootloader to clear globals 2018-03-21 05:49:39 -05:00
Scott Lahteine
ae39fbd646 Also suppress keepalive with suspend_auto_report 2018-03-21 00:29:09 -05:00
Bob-the-Kuhn
53362b81cc Tone fixes/changes (#10151) 2018-03-19 04:48:06 -05:00
Scott Lahteine
72281c4ff9 Turn power off in kill instead of setting PS_ON to input 2018-03-19 02:37:55 -05:00
Scott Lahteine
0543362b34 Don't init the tone timer if no BEEPER_PIN 2018-03-17 18:59:43 -05:00
Scott Lahteine
317673fec3 Init watchdog last in setup() 2018-03-08 17:34:50 -06:00
Scott Lahteine
eb212ae073 Add suspend_auto_report flag to suppress auto-report 2018-03-07 01:57:09 -06:00
Scott Lahteine
ffbf63e6af Add HAS_TEMP_SENSOR conditional 2018-03-07 01:53:50 -06:00
Scott Lahteine
36262a0479
Use static classes for job timers (#9938) 2018-03-04 21:23:43 -06:00
Bob-the-Kuhn
025118da3e Init print_job_timer in setup() instead of "early" (#9937) 2018-03-04 16:23:44 -06:00
TheSFReader
eb079959fb Report sd card progress [FR] #9751 (#9832)
* SD Status auto-report feature
Feature Request #9751
2018-02-26 15:38:27 -06:00
Scott Lahteine
cfdcf91df5 Fix compile error with initTone 2018-02-26 01:49:48 -06:00
Scott Lahteine
65519263f4 Fix broken LEVEL_BED_CORNERS
Fix #8805
2018-02-23 09:13:34 -06:00
Scott Lahteine
73cd34b121 Finish AUTO_POWER_CONTROL implementation
Followup to #9503
2018-02-19 16:12:04 -06:00
Studiodyne
d3ca82d8c2 Support for multiple filament runout sensors 2018-02-19 07:02:50 -06:00
Scott Lahteine
ca55f2927a
Pulldown pin mode support (#9701)
Implemented for LPC1768.
2018-02-18 19:26:23 -06:00
Scott Lahteine
93c0198b2d Init LCD welcome message programmatically 2018-02-14 05:09:44 -06:00
teemuatlut
5990266724 Init CS pins before loading settings (#9566) 2018-02-10 14:08:53 -06:00
Scott Lahteine
112917cfef No EXTRUDER_RUNOUT_PREVENT during print 2018-02-09 05:19:33 -06:00
Scott Lahteine
b2f8b4ada5
I2C position encoders update (#9533)
Updating I2C position encoders to enable babystepping and Babystep XY when using the ecm microstep correction method. Also changed default method to ECM microstep.
2018-02-08 03:57:11 -06:00
Scott Lahteine
b3f115fa0a
Marlin.ino needs no content (#9506) 2018-02-06 02:28:18 -06:00
Scott Lahteine
b5e92f4f90
[2.0.x] Enable / disable PSU automatically (#9503) 2018-02-06 00:22:30 -06:00
Scott Lahteine
a718f5bdf3 Don't run M600 on filament runout if the nozzle is cold 2018-01-22 04:38:37 -06:00
Thomas Moore
f7efac57b7 Multi-host support 2018-01-10 00:14:47 -06:00
Scott Lahteine
7541316bb4 Add M701/M702 Filament Load/Unload, M603 2018-01-04 15:07:37 -06:00
Scott Lahteine
9686ffedef Single pause flag also indicates SD print pause 2017-12-30 04:44:59 -06:00
Scott Lahteine
026e301307 lcd_map_control deps on ULTIPANEL 2017-12-25 07:46:25 -06:00
etagle
33a6fc70e4 Adding USB MSD implementation to the HAL: Now, when you plug the Native USB port of the Arduino DUE to your PC, it will be detected as a composite USB device: One of the devices is a USB CDC (Serial port over USB) with native USB handshake (no more overflows!!) (set SERIAL_PORT to -1 to use it as main serial port) and also, a MSD (USB Mass Storage Device) will be detected, and the SD card present on the socket will be reflected as a Removable disk on your PC) 2017-12-21 02:42:46 -03:00
etagle
b6f9c333d4 Adding hooks into the idle loop so HALs can execute 2nd plane tasks, such as serving SD card read/writes requested from the USB MSD layer 2017-12-21 02:22:08 -03:00
Scott Lahteine
4782acf60e
Merge pull request #8780 from fiveangle/bf2-typo
[2.0.x] typo in Marlin.cpp
2017-12-15 15:25:41 -06:00
teemuatlut
0cd1e91056 [2.0.x] TMC driver update (#8769) 2017-12-15 15:03:14 -06:00
Dave Johnson
69efb87d19 typo in Marlin.cpp 2017-12-14 08:20:45 -08:00
Scott Lahteine
e37dd64548 Apply LEDColor, language fixes 2017-11-29 23:58:12 -06:00
Scott Lahteine
9406c87a97 Fix up LCD init / charset 2017-11-22 18:22:55 -06:00
Scott Lahteine
4371345cbe
Don't re-init graphical LCD after boot screen
Followup to 13a3fb1acc
2017-11-21 18:23:39 -06:00
Scott Lahteine
c0000a0cdc Move servo code to modules/servo.* 2017-11-19 14:23:02 -06:00
Bob-the-Kuhn
c14000775b PWM fixes, slow down fan update
include LPC1768 syntax for M42

couple more pin_t changes

consistency

change M42 to R, P format

Revert "change M42 to R, P format"

This reverts commit 01f12f579ec9ccc1bb9126e68d2c86449e9b7edf.
2017-11-18 07:05:50 -06:00
Scott Lahteine
b7feb53e8a Support for Extrudrboard in Printrboard Rev.F 2017-11-13 15:44:23 -06:00
Scott Lahteine
79772219ae Fix Fan Multiplexer init 2017-11-04 22:28:46 -05:00
AnHardt
ca0e4b4e96 Some cleanup around 'lcd_bootscreen()' and 'lcd_kill_screen()'
Move 'lcd_bootscreen()' from `lcd_init()` to 'setup()' where it is cexecute exactly once. Saves 'bool show_bootscreen'.
Move the call of 'lcd_custom_bootscreen()' to the begin of 'lcd_bootscreen()'.
Move the delays into the related functions.
Move the picture loop around 'lcd_kill_screen()' into the function.
2017-11-03 12:02:48 +01:00
Scott Lahteine
31e96935f7 Fix EXTRA_FAN_SPEED
Addressing #8158
2017-10-30 00:10:00 -05:00
Scott Lahteine
c45514f811 Merge pull request #8094 from thinkyhead/bf2_neopixel_led_parity
[2.0.x] Bring NEOPIXEL_LED into parity with 1.1.x
2017-10-26 17:24:38 -05:00
Thomas Moore
9e699811d2 Make LPC1768 pinmapping not specific to Re-ARM (#8063)
* Merging early because of build failures.  See #8105

* Make LPC1768 pinmapping not specific to Re-ARM

* Add HAL_PIN_TYPE and LPC1768 pin features

* M43 Updates

* Move pin map into pinsDebug_LPC1768.h

* Incorporate comments and M226

* Fix persistent store compilation issues

* Update pin features

* Update MKS SBASE pins

* Use native LPC1768 pin numbers in M42, M43, and M226
2017-10-26 13:37:26 -05:00