Commit graph

241 commits

Author SHA1 Message Date
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
Scott Lahteine 3ac581eac9 Neopixel changes for parity with 1.1.x 2017-10-25 18:40:04 -05:00
Roxy-3D 72156a2029 change to better (more clear) names (#8050)
set_destination_to_current() changed to set_destination_from_current()

set_current_to_destination() changed to set_current_from_destination()
2017-10-21 11:42:26 -05:00
Scott Lahteine ce48403a0b Add EXTRA_FAN_SPEED feature
Based on #7883 by @studiodyne
2017-10-16 02:34:13 -05:00
Scott Lahteine f8e8fcb978 Move FILAMENT_RUNOUT_SENSOR to a feature 2017-10-10 02:37:42 -05:00
Slawomir Ciunczyk a11e6a1022 Different NEOPIXEL types
Same as #7728 but for 2.0.x,
Lot of cleanup and remove references in whole code to other "LED files" than leds.h. Now will be much easier to add next drivers/libraries. e.g. FastLED. But bad news, currently FastLED is suporting only RGB devices (no RGBW)
2017-10-10 02:17:36 -05:00
Chris Pepper 46b2773e13 General fixes for LPC1768 (#7834)
* fixed some include paths

* LPC1768: Fix Serial API

Add missing serial methods used if TX_BUFFER_SIZE is set
Change return value of HalSerial:read to match Arduino API

* LPC1768: add filters to ADC

This is to try and compensate for hardware issue and oversensitivity to noise

* LPC1768: remove the polling section of delayMicroseconds

* LPC1768: lock usb mass storage device while device accesses it.

Currently only applicable to persistent store,
The device always has priority and will unmount the sd card from the host, Windows then tries to automount again so it can look like the explorer window freezes. Linux Mint, by default, just closes the Nemo window.

* Add timeout to make sure if Serial never connects that Marlin still boots

* Remove unneeded ifdef CPU_32_BIT

In general the need for ifdef CPU_32_BIT blocks means that something is missing from the HAL API or a Platform, in this case HAL_TICKS_PER_US was missing from the AVR Platform

* LPC1768: relocate RE-ARM debug_extra_script.py
2017-10-04 15:40:54 -05:00
Phr3d13 10c1b442ca Fixes for Anet10 and gt2560
Fixes for 2 "... not declared in this scope" compiler errors.
2017-09-27 07:34:02 -05:00
Scott Lahteine f9ef446fb5 Clean up after refactor 2017-09-21 16:27:12 -05:00
Scott Lahteine 64dfb46461 Move z_endstop_adj to Endstops 2017-09-21 16:27:11 -05:00
Scott Lahteine a10451ceed Move Volumetric methods to Planner 2017-09-21 16:27:11 -05:00
Scott Lahteine 6f92ab7eed Move Controller Fan to feature 2017-09-21 16:27:11 -05:00
Scott Lahteine 07cf75883f Move T (tool change) to cpp 2017-09-21 16:27:10 -05:00
Scott Lahteine 927524af6b Move M999 to cpp 2017-09-21 16:27:10 -05:00
Scott Lahteine 1a37ebc76d Move M163-M165 MIXING_EXTRUDER to cpp 2017-09-21 16:27:10 -05:00