Commit graph

284 commits

Author SHA1 Message Date
Scott Lahteine
49cf92dc36
Extended condition macros (#13419)
Allow `ENABLED`, `DISABLED`, `PIN_EXISTS`, and `BUTTON_EXISTS` to take multiple arguments. Also add:
- Alias `ANY(...)` for `!DISABLED(...)`
- Alias `ANY_PIN(...)` for `PIN_EXISTS(a) || PIN_EXISTS(b) ...`
- Alias `EITHER(A,B)` for `ANY(...)`
- Alias `ALL(...)` and `BOTH(A,B)` for `ENABLED(...)`
- `NONE(...)` for `DISABLED(...)`
2019-03-16 23:43:06 -05:00
Scott Lahteine
67bee06e43 No patch needed for non-libmaple analogWrite
See https://github.com/pinchies/Marlin/pull/1#issuecomment-471388743
2019-03-13 07:21:10 -05:00
Scott Lahteine
f89b375fb9
Fixes and improvements for PWM pins (#13383) 2019-03-13 06:51:15 -05:00
Michiel Baird
b824a517aa Add G38.4 and G38.5 (#13348) 2019-03-10 17:22:09 -05:00
Bruce j Beare
e4d080e63c Reset after kill with a button on the KILL_PIN (#13091) 2019-03-10 09:57:38 -05:00
Scott Lahteine
12503fce06 Followup to wait_for_user fix 2019-03-10 09:14:02 -05:00
Tobias Frost
60e82e3929 Send notifications to ExtUI for M0/M1 (#13344)
- Send notifications to ExtUI for M0/M1

- wait_for_user can be non-volatile (not changed by interrupt)
  C / C++ compilers don't optimize away reads of non-volatile variables when a function call is used between accesses, because *any* variable could be changed by the function call. Since `wait_for_user` can't be changed without a function call, it should be non-volatile so the compiler can optimize away cases where it is read more than once without an intervening function call.
2019-03-09 14:20:37 -06:00
Scott Lahteine
cfdb38eda4
Allow SERIAL_ECHOPAIR to take up to 12 pairs (#13311) 2019-03-05 06:46:19 -06:00
Scott Lahteine
a2e3226597 Init XYZ to configured home position 2019-02-28 22:10:26 -06:00
InsanityAutomation
eb4bf93ea4 Add more Babystep options (#13262) 2019-02-27 04:38:56 -06:00
Bob Kuhn
ddbe4cfa20 Printrboard G2 support (#13116) 2019-02-26 21:03:13 -06:00
Scott Lahteine
89bbc30a09 Fix init of power supply pin
Fix #13184
2019-02-20 05:29:05 -06:00
Marcio Teixeira
992cdc8d14 Fix host action / G-code ordering in event_probe_failure (#13207)
Observing from the console, it makes the most sense to do `//action:probe_retry` before executing commands.
2019-02-19 14:45:03 -06:00
Scott Lahteine
d2bdb71c13
Add PHOTO_GCODE option, photo trigger physical move (#13168) 2019-02-14 15:09:35 -06:00
Giuliano Zaro
bdc2f10b90 Update Italian language, fix unused var warning (#13164) 2019-02-13 21:05:18 -06:00
Marcio Teixeira
9f0e1834ec Followup to #13039 (#13163)
- Fix compile error when accessing `process_subcommands_now_P`.
- Use `const` var eliminating double-negative (to make code more understandable).
2019-02-13 20:39:38 -06:00
Scott Lahteine
7cf9b93f26 Add HAS_FILAMENT_SENSOR ahead of 12962 2019-02-12 20:13:20 -06:00
InsanityAutomation
7f1b69b0c8 Add HOST_PROMPT_SUPPORT (#13039) 2019-02-12 15:55:47 -06:00
Scott Lahteine
0feeef2604 Update copyright in headers 2019-02-12 15:30:11 -06:00
Rolf Werum
524c6c10bf MAGNETIC_PARKING_EXTRUDER (#12351) 2019-02-06 06:30:53 -06:00
Marcio Teixeira
5cfc1cdacc Support SWITCHING_NOZZLE with 2 servos (#13054) 2019-02-04 00:19:56 -06:00
revilor
6a57d0b381 Prusa MMU2 (#12967) 2019-01-31 19:10:52 -06:00
InsanityAutomation
48a3502656 Remote streamer improvements (#12982) 2019-01-27 22:43:13 -06:00
Bob Kuhn
2f35747f29 L6470 SPI daisy chain support (#12895) 2019-01-23 19:06:54 -06:00
Giuliano Zaro
7bb5d4bfe8 Small LED code reorganization (#12929) 2019-01-17 13:20:26 -06:00
Giuliano Zaro
8f4c6e6d1a Fix case light on boot (#12919) 2019-01-15 18:50:56 -06:00
InsanityAutomation
082f6a27de ADAPTIVE_FAN_SLOWING extension to hotend thermal protection (#12853) 2019-01-12 00:41:48 -06:00
teemuatlut
55144284c2 TMC connection test, spreadCycle parameters, improved debugging (#12616) 2018-12-09 20:54:48 -06:00
Scott Lahteine
c986239837
A single SERIAL_ECHO macro type (#12557) 2018-11-29 16:58:58 -06:00
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