Compare commits

...

474 Commits

Author SHA1 Message Date
Scott Lahteine
5f27f7de47 Version 2.0.4.2 Release 2020-02-22 18:49:59 -06:00
Scott Lahteine
282f4678cd Merge nightly patches 2020-02-22 18:47:09 -06:00
ZMiguel Alves
2471a8bb91 Define ANET_FULL_GRAPHICS_LCD pins for SKR 1.4 (#16928) 2020-02-22 18:45:10 -06:00
ellensp
7bf3581b02 Fix M0/M1 broken wait loop (#16921) 2020-02-22 18:37:39 -06:00
Scott Lahteine
b9b29bf4c0 Followup to babystep hotfix 2020-02-22 18:34:49 -06:00
thisiskeithb
20df64814e Finish Custom User Menu sanity-check (#16917) 2020-02-22 18:33:34 -06:00
thinkyhead
34c92bbc17 [cron] Bump distribution date (2020-02-23) 2020-02-23 00:03:55 +00:00
Scott Lahteine
c41f3f8582 Version 2.0.4.1 Release 2020-02-22 07:02:55 -06:00
Scott Lahteine
8670df08a2 CoreXY Babystepping hotfix 2020-02-22 07:02:55 -06:00
vivian-ng
eeec4c27e7 [ESP32] Allow user to define pins for hardware Serial1 and Serial2 (#16918) 2020-02-22 04:00:10 -06:00
Scott Lahteine
730690ea03 Hotfix for Babystepping 2020-02-22 02:55:26 -06:00
Scott Lahteine
3543873da7 Use moves_free in ok_to_send 2020-02-22 02:55:26 -06:00
thinkyhead
c505626c42 [cron] Bump distribution date (2020-02-22) 2020-02-22 02:55:26 -06:00
Scott Lahteine
484e1a624c CoreXY Babystepping hotfix 2020-02-22 02:52:59 -06:00
Scott Lahteine
ac3e27c026 Hotfix for Babystepping 2020-02-22 02:52:21 -06:00
Scott Lahteine
1ab6f910b6 Use moves_free in ok_to_send 2020-02-22 02:30:59 -06:00
thinkyhead
cfd49740eb [cron] Bump distribution date (2020-02-22) 2020-02-22 00:03:47 +00:00
Scott Lahteine
7e8505fc11 Version 2.0.4 Release 2020-02-21 08:38:14 -06:00
Scott Lahteine
f9aec2685c Merge remote-tracking branch 'upstream/bugfix-2.0.x' into 2.0.x 2020-02-21 08:37:02 -06:00
Scott Lahteine
5d16497bed Tweak pins spacing, comments 2020-02-21 08:33:11 -06:00
ellensp
9f53bbd791 Add PICA shields support (#16891) 2020-02-21 08:27:32 -06:00
Jamie
e1d367e05a Fix EEPROM errors with EXTRUDERS == 0 (#16898) 2020-02-21 07:42:13 -06:00
Karl Andersson
f30897500d Disable spreadcycle in tmc_enable_stallguard<2209> (#16890) 2020-02-21 07:40:55 -06:00
Tanguy Pruvot
68de12acbf Followup to autoreport patch (#16914)
See a1f026f57a
2020-02-21 07:36:59 -06:00
Scott Lahteine
6320f9795c More EEPROM cleanup 2020-02-20 20:56:13 -06:00
Scott Lahteine
22b974691e Tweak process_line_done for speed 2020-02-20 20:36:51 -06:00
Scott Lahteine
4ef627d79f Add a note on EEPROM todo 2020-02-20 20:36:50 -06:00
Scott Lahteine
19991e269b Show end prompt with Print Event LEDs 2020-02-20 20:36:50 -06:00
Scott Lahteine
b8b225c8b5 Function for CONFIG_ECHO_HEADING 2020-02-20 20:36:50 -06:00
Scott Lahteine
a1f026f57a Inline manage_inactivity, tweak autoreport_paused 2020-02-20 20:36:50 -06:00
Scott Lahteine
2b788e9aa6 Single envs for specific boards 2020-02-20 20:20:15 -06:00
thinkyhead
140e4ac507 [cron] Bump distribution date (2020-02-21) 2020-02-21 00:03:41 +00:00
Robby Candra
1c52d76668 Serial redirect for Move Command when stopping (#16906) 2020-02-20 02:22:07 -06:00
thinkyhead
178735b958 [cron] Bump distribution date (2020-02-20) 2020-02-20 00:03:52 +00:00
thinkyhead
4c179ba3f7 [cron] Bump distribution date (2020-02-19) 2020-02-19 00:03:54 +00:00
thinkyhead
05f51e9355 [cron] Bump distribution date (2020-02-18) 2020-02-18 00:03:31 +00:00
thinkyhead
75e3aa12c5 [cron] Bump distribution date (2020-02-17) 2020-02-17 00:03:58 +00:00
Scott Lahteine
99a5074372 Fix babystep include, typos in stepper.cpp
Fix #16881
2020-02-16 17:49:21 -06:00
vivian-ng
4c6f695bea Put ESP32 I2S stepper task and Marlin on the same core (#16874) 2020-02-16 16:44:36 -06:00
Tanguy Pruvot
8bc3e63871 Update French language (#16877) 2020-02-16 16:39:17 -06:00
Scott Lahteine
4d400910b4 Fix mftest -b -u line match 2020-02-16 15:30:20 -06:00
Giuliano Zaro
42208bc031 Fix unknown command on empty lines (#16867) 2020-02-16 01:10:20 -06:00
Giuliano Zaro
199a1ba0e5 Move SAMD51 Temperature timer to RTC (#16868) 2020-02-15 22:45:52 -06:00
Scott Lahteine
4360142bd1 Defer updated ADC 2020-02-15 22:37:16 -06:00
Scott Lahteine
ddce1c6ef2 Show '*' for zero 'stst' flag 2020-02-15 22:35:28 -06:00
Scott Lahteine
72fae2faa5 Require TMCStepper 0.6.2 2020-02-15 22:35:28 -06:00
Scott Lahteine
64a81f887a EXPERIMENTAL integrated BABYSTEPPING (#16829) 2020-02-15 21:42:28 -06:00
Scott Lahteine
64b96f3908 Double ADC read frequency (#16864) 2020-02-15 19:10:46 -06:00
thinkyhead
52a1268089 [cron] Bump distribution date (2020-02-16) 2020-02-16 00:04:09 +00:00
Scott Lahteine
5584da388c Conceal float rounding errors on display
Fix #16866
2020-02-15 02:55:41 -06:00
Scott Lahteine
efdaf940a5 Fix byte-to-percent display
Fixes #16866
2020-02-15 02:37:13 -06:00
Scott Lahteine
71ec89a112 Fix mftest -b and -u. Add --help. 2020-02-15 01:47:15 -06:00
Scott Lahteine
1087e318e5 Fix a BORG compile warning 2020-02-15 01:47:15 -06:00
thinkyhead
150237f712 [cron] Bump distribution date (2020-02-15) 2020-02-15 00:03:59 +00:00
George Fu
63dd0f249d Fysetc S6 pins / LCD updates (#16830) 2020-02-14 07:18:57 -06:00
Scott Lahteine
0b984519c3 Clean up stepper and babystep (#16857) 2020-02-14 05:14:37 -06:00
Scott Lahteine
073e4443e8 Optimize "Dismiss" string 2020-02-14 00:05:06 -06:00
Scott Lahteine
00ba053c90 Clean up host actions code (#16856) 2020-02-13 23:39:27 -06:00
Giuliano Zaro
ff0c931e47 Add RAMPS 1.4.4 to AGCM4 (#16606) 2020-02-13 23:28:18 -06:00
vivian-ng
a16f3baecc Add ESPAsyncTCP to lib_ignore (#16844) 2020-02-13 23:22:52 -06:00
Scott Lahteine
49a66bc4cc Fix ESP32 warning, specify supported version 2020-02-13 19:22:13 -06:00
Scott Lahteine
f3f692adf7 Don't assert safe homing for delta/scara 2020-02-13 19:22:13 -06:00
Robby Candra
af84e362cc Remove unused queue.stopped_N (#16850) 2020-02-13 18:59:32 -06:00
Gaston Dombiak
082117c4bb Ping the job timer in M140 (#16849) 2020-02-13 18:43:47 -06:00
Giuliano Zaro
0e17d10bf3 Fix G-code line parsing (#16840) 2020-02-13 18:30:47 -06:00
thinkyhead
68077149e2 [cron] Bump distribution date (2020-02-14) 2020-02-14 00:04:13 +00:00
thinkyhead
62d7d49719 [cron] Bump distribution date (2020-02-13) 2020-02-13 00:03:34 +00:00
Scott Lahteine
1d8d91afc6 No limit needed on this raise
Remove an extraneous limit from #16811.
2020-02-12 14:57:11 -06:00
Robby Candra
a83ad2d9d4 Define MarlinSerial instances for DGUS (#16841) 2020-02-11 20:30:20 -06:00
thinkyhead
0306c1bb0c [cron] Bump distribution date (2020-02-12) 2020-02-12 00:03:54 +00:00
Giuliano Zaro
4a733796bd Prevent pin glitches on out commutation (#16835)
Better for switching from pulled input to output and also set real output (with no input enabled).
2020-02-11 10:43:28 -06:00
Scott Lahteine
0fd0554b5f Simplify old safe homing sanity check 2020-02-11 10:07:45 -06:00
Scott Lahteine
fa6e7cb733 Function-style critical section macros 2020-02-11 09:37:04 -06:00
Scott Lahteine
7b02a62da8 Fix up tests 2020-02-11 09:37:04 -06:00
Scott Lahteine
189c101793 Use prior babystep delay method (#16833) 2020-02-11 08:52:11 -06:00
Scott Lahteine
1c556cd90d Recommend Z Safe Homing
Co-Authored-By: Vertabreaker <opyrus@hotmail.com>
2020-02-11 07:40:37 -06:00
Scott Lahteine
e442663e2a No Z sensorless req'd if homing with probe
Fixes #16674
2020-02-11 04:15:25 -06:00
Scott Lahteine
71539bcbeb Undo driver type auto-assignment for now
Good general concept but needs more time to develop and group with a stepper suite.
2020-02-11 02:32:01 -06:00
Giuliano Zaro
d5790e09a5 Update SAMD51 EEPROM repo link (#16832) 2020-02-11 02:05:58 -06:00
thinkyhead
b26f7fca3f [cron] Bump distribution date (2020-02-11) 2020-02-11 00:04:03 +00:00
Scott Lahteine
2836834d7e Unify step pulse timing of ISR / babystep (#16813) 2020-02-10 16:58:21 -06:00
darksiah
d8b2726fd3 Fix MKS Robin Nano platformio.ini entry (#16826) 2020-02-10 16:49:36 -06:00
proferabg
3f87f912c5 Enable hotend / bed PID separately in ExtUI (#16827) 2020-02-10 16:48:22 -06:00
Scott Lahteine
dd6a7ca197 Fix out-of-order M0 after SD printing
Fixes #14774

Co-Authored-By: tol2cj <tol2cj@users.noreply.github.com>
2020-02-10 16:36:31 -06:00
Scott Lahteine
fa4a6cdb5c Fix out-of-order M0 after SD printing
Fixes #14774

Co-Authored-By: tol2cj <tol2cj@users.noreply.github.com>
2020-02-10 16:33:40 -06:00
Scott Lahteine
3bef7a4450 Add g-code quoted strings, improve stream code (#16818) 2020-02-10 14:52:15 -06:00
Daniel Mazurkiewicz
e561f744fa Update MKS BASE and v1.6 pins (#16806) 2020-02-10 14:12:11 -06:00
Scott Lahteine
0b45493557 Add a caution to drivers.h 2020-02-09 21:58:12 -06:00
Scott Lahteine
18a7276909 Revert "Coolstep for TMC2130, 2209, 5130, 5160"
Reverting #16790 as not ready for primetime.
2020-02-09 21:22:26 -06:00
Scott Lahteine
28b48fc9bb Revert change to AXIS_DRIVER_TYPE_X2
- Revisit this to figure out why it breaks
2020-02-09 20:49:55 -06:00
Scott Lahteine
10b4fa91eb Add mftest -b (auto-build) and -u (upload)
- Implement the equivalent of auto-build for the shell environment by using the MOTHERBOARD setting to look up the env: entries.
2020-02-09 20:48:20 -06:00
Scott Lahteine
a33d08928a Tweak LPC1768 upload py script 2020-02-09 20:48:20 -06:00
thinkyhead
15e6ee6c7c [cron] Bump distribution date (2020-02-10) 2020-02-10 00:03:46 +00:00
InsanityAutomation
a9549f7a08 Add PID, probe offsets to ExtUI (#16792) 2020-02-09 12:22:53 -06:00
InsanityAutomation
cc1ff27256 Bump config version to 020004 (#16816) 2020-02-09 12:15:02 -06:00
Scott Lahteine
0ce83dee95 Show print time with PRINTER_EVENT_LEDS 2020-02-09 11:37:43 -06:00
Scott Lahteine
38873596ec Tweak parser warning 2020-02-09 11:37:43 -06:00
Scott Lahteine
ffcbba4447 Move MSG_MARLIN 2020-02-09 11:37:43 -06:00
Scott Lahteine
b9b07387d7 Minor HAL cleanup 2020-02-09 11:12:38 -06:00
Giuliano Zaro
90e2c42031 Adafruit Grand Central M4 fixes (#16812) 2020-02-09 09:57:22 -06:00
InsanityAutomation
84b6e11bd5 Better probe fail handling (#16811) 2020-02-09 07:46:38 -06:00
Fabio Santos
894762259b Coolstep for TMC2130, 2209, 5130, 5160 (#16790) 2020-02-08 21:01:57 -06:00
thinkyhead
f0cbc85a07 [cron] Bump distribution date (2020-02-09) 2020-02-09 00:03:30 +00:00
Scott Lahteine
130e36d766 Tweak ABL logging, document probing 2020-02-08 17:47:54 -06:00
Scott Lahteine
5d3cfbdc9b Add .editorconfig file 2020-02-08 17:43:25 -06:00
Scott Lahteine
f55abfeb95 Clean up Makefle indentation 2020-02-08 17:43:00 -06:00
thinkyhead
38bf5523e1 [cron] Bump distribution date (2020-02-08) 2020-02-08 00:02:22 +00:00
thinkyhead
12b3807a7f [cron] Bump distribution date (2020-02-07) 2020-02-07 00:02:48 +00:00
Robert Stein
3a3429b1ef Fix probe with multi-endstops (#16793) 2020-02-06 15:28:46 -06:00
Robby Candra
86812432f3 Remove extraneous Serial init (#16794) 2020-02-06 14:11:49 -06:00
Tanguy Pruvot
54aff83179 G26: Allow to set retraction for UBL mesh test (#16511) 2020-02-05 20:33:39 -06:00
Bob Kuhn
78fea4a9ca Split up MKS_RUMBA32 into two variants (#16781) 2020-02-05 20:28:28 -06:00
thinkyhead
bb68eaa69e [cron] Bump distribution date (2020-02-06) 2020-02-06 00:02:49 +00:00
Scott Lahteine
62b9d7dc73 Direct link to version configs 2020-02-05 00:47:24 -06:00
Scott Lahteine
00d71ff0eb Direct download link for configs 2020-02-05 00:45:43 -06:00
thisiskeithb
9b4192cdd0 Add MKS Base 1.6 board (#16783) 2020-02-04 23:21:05 -06:00
thinkyhead
0ebd2f44d4 [cron] Bump distribution date (2020-02-05) 2020-02-05 00:02:59 +00:00
Scott Lahteine
f312ddfa4f More updates for 8 extruders, REPEAT 2020-02-04 12:37:20 -06:00
Scott Lahteine
d83382eb55 Add "PR Bad Target" workflow action 2020-02-04 09:41:26 -06:00
Scott Lahteine
793939a365 Upgrade an ifdef 2020-02-04 08:46:37 -06:00
Scott Lahteine
7bf2190f03 Fix CALIBRATION_GCODE pin handling 2020-02-04 08:32:43 -06:00
Scott Lahteine
081ef46e76 Fix Arduino IDE compile for DUE
Fixes #16767
2020-02-04 08:32:20 -06:00
Scott Lahteine
15b6ad41bc Fix E stepper stays on bug
Fixes #16753
2020-02-04 02:39:37 -06:00
Bob Kuhn
0268c1d02c STM32duino - Use SDIO for onboard SD (#16756) 2020-02-04 01:24:11 -06:00
felixstorm
38a9706e16 Keep secure credentials in a separate config file (#16773) 2020-02-03 23:29:01 -06:00
InsanityAutomation
62d9e3f50e Force T0 in UBL G29 on all multi-hotend setups (#16774) 2020-02-03 20:58:44 -06:00
Scott Lahteine
3ded99b894 [cron] Bump distribution date 2020-02-03 19:53:30 -06:00
Scott Lahteine
4c76314c26 Scheduled action to bump the date on bugfix-2.0.x 2020-02-03 19:31:41 -06:00
felixstorm
f1dbfaf706 Fix warning for ESP32 (#16771) 2020-02-03 18:36:51 -06:00
ellensp
7d4fa9d504 Fix LCD Z Move character LCD display line (#16772) 2020-02-03 18:35:06 -06:00
Scott Lahteine
64ab254f26 Use a different Configurations branch for CI 2020-02-03 18:11:52 -06:00
Scott Lahteine
ff78f79762 Use a different Configurations branch for CI 2020-02-03 18:06:04 -06:00
Scott Lahteine
202840e750 Tweak mfqp script 2020-02-03 08:33:35 -06:00
Scott Lahteine
bfad23d3e2 (c) 2020 2020-02-03 08:00:57 -06:00
Scott Lahteine
7f9c62437e Corner Leveling: Add inset for each side (#16759) 2020-02-03 00:00:35 -06:00
Scott Lahteine
72b4d91d2e Add Z_AFTER_HOMING to raise Z more in G28 (#16755) 2020-02-02 00:02:30 -06:00
Scott Lahteine
ee6003be87 Revert breaking change to _FAN_PWM macro 2020-02-01 23:07:20 -06:00
Scott Lahteine
4716dac874 Apply REPEAT, RREPEAT, and loop macros (#16757) 2020-02-01 21:00:53 -06:00
Scott Lahteine
0e72c315a0 Minor string storage optimization 2020-02-01 20:29:31 -06:00
Scott Lahteine
4937519d51 Fix LPC build with USE_WATCHDOG off 2020-02-01 20:29:31 -06:00
Scott Lahteine
63469ed8f7 Add EXP labels to SKR pins 2020-02-01 19:06:32 -06:00
Scott Lahteine
22556a7bbf More 8-extruder fixups 2020-02-01 15:19:58 -06:00
Scott Lahteine
c4cbc54484 Suppress a compile warning 2020-02-01 10:38:07 -06:00
Scott Lahteine
7a4758a6a2 Fix RGB / Neopixel white color bug
See #16752
2020-02-01 10:11:36 -06:00
Scott Lahteine
995a9238b3 Probe singleton patch
Followup to #16751
2020-02-01 07:57:10 -06:00
Scott Lahteine
5296af94d2 Drop obsolete SD special char handling
See #14035
2020-02-01 06:49:56 -06:00
Scott Lahteine
0d342bac51 Fix CURRENT_STEP_DOWN compile error 2020-02-01 06:27:17 -06:00
Acenotass
832d33ce9d Update Russian language (#16750) 2020-02-01 04:53:18 -06:00
Jason Smith
c3cab37d7e Fix Temperature::over_autostart_threshold (#16749) 2020-02-01 04:51:57 -06:00
InsanityAutomation
e58d1bf974 G34 automatic point assignment (#16473) 2020-02-01 04:50:44 -06:00
Scott Lahteine
90b6324563 Encapsulate probe as singleton class (#16751) 2020-02-01 04:21:36 -06:00
Scott Lahteine
43d3463d5d Misc cleanup, whitespace 2020-02-01 03:50:42 -06:00
Scott Lahteine
e64b7a3ab2 Clean up i2c encoder, sanitize serial 2020-02-01 00:57:14 -06:00
Scott Lahteine
1af05797d7 Improve mfadd helper script
- Use the original branch name if none is supplied
- Set the remote tracking to the source
- Accept User/Branch or User:Branch syntax
2020-02-01 00:46:22 -06:00
Jason Smith
9a8de23858 Consistent M112 with Emergency Parser (#16747) 2020-01-31 23:08:37 -06:00
Jason Smith
5b3d968634 Option for Trigorilla 1.4 with add-on endstops board (#16737) 2020-01-31 21:51:59 -06:00
rebel1
300b81bfcb Fix BTT SKR 1.4 extra endstop pins (#16738) 2020-01-31 21:46:02 -06:00
Acenotass
0a6ae664bd Update Russian language (#16745) 2020-01-31 21:43:44 -06:00
Scott Lahteine
c4df5cf9a6 Include macros for delta ABC 2020-01-31 04:40:33 -06:00
Scott Lahteine
e6a7be922b Version 2.0.3 2020-01-31 04:24:05 -06:00
Scott Lahteine
1525c2530e Merge commit 'dabf3939209fd8ea7f6a6327d764c16743aa22aa' into look_at_201 2020-01-31 04:23:45 -06:00
Scott Lahteine
016e4c0193 Version 2.0.2 2020-01-31 04:22:34 -06:00
Scott Lahteine
be642610ae Merge commit '8bd6b60a0141fa892984f2d5b61f06eadbbf9a5f' into look_at_201 2020-01-31 04:22:09 -06:00
Scott Lahteine
02f61832c0 Add sanity-check for new Advanced Pause option
Followup to #16372
2020-01-30 23:24:40 -06:00
thinkyhead
dabf393920 [cron] Bump distribution date (2020-01-31) 2020-01-31 00:06:46 +00:00
Artur Petrzak
e4679c1b78 (21) PT100 for MCUs with 3.3v logic (#16731) 2020-01-30 18:00:37 -06:00
Scott Lahteine
62f52ebb3a Fix up, improve endstop pin auto-assignment
Followup for #16723
2020-01-30 14:09:33 -06:00
Scott Lahteine
e8e25b80d1 Extend RX/TX pins for up to 8 extruders 2020-01-30 13:29:19 -06:00
Robert Stein
2822c0890a Set up DIAG endstops for BTT SKR 1.4 / 1.4 Turbo (#16727) 2020-01-30 13:17:15 -06:00
Alexander Gavrilenko
c45d6b2017 Simultaneous use of rotary encoder and touch buttons (#16729) 2020-01-30 12:29:30 -06:00
felixstorm
8d4dd88bf9 Fix compile error in SdVolume on ESP32 (#16728) 2020-01-30 12:22:42 -06:00
Scott Lahteine
3c9464eea4 Tweak G60/G61 slots 2020-01-30 03:25:40 -06:00
Scott Lahteine
5b12627e14 Auto assign DIAG pins for multi-endstop (#16723) 2020-01-30 03:24:57 -06:00
Scott Lahteine
9caf5c05e7 Refactor heater watch, job timer auto-start (#16725) 2020-01-30 03:24:43 -06:00
Scott Lahteine
50889c0f94 Move L64XX index_to_axis to progmem (#16697) 2020-01-30 03:24:23 -06:00
chgi
99b6a132bc Fix G60/G61 slots > 8 and compile error (#16715) 2020-01-30 03:18:45 -06:00
Radek Pietruszewski
e6a675e6ec Fix missing string for M48 build (#16708) 2020-01-30 03:13:31 -06:00
Mauro
1bc6509d02 Support for E4d@BOX mainboard (#16716) 2020-01-30 03:06:17 -06:00
Neskik
1db9d9f76f Fix probe temp calibration (#16718) 2020-01-30 03:00:38 -06:00
0r31
8737c35ded Fix HAS_FAN macro (#16717) 2020-01-29 22:48:26 -06:00
Scott Lahteine
e8ed4329ea Cleanup of old includes, add comments 2020-01-29 22:41:18 -06:00
thinkyhead
a5f72330fb [cron] Bump distribution date (2020-01-30) 2020-01-30 00:06:48 +00:00
InsanityAutomation
9bb8176d34 Fix Toolchange (!no_move) return to status (#16699) 2020-01-29 00:06:06 -06:00
thinkyhead
9b45f342ee [cron] Bump distribution date (2020-01-29) 2020-01-29 00:07:02 +00:00
felixstorm
e4eaf32b4d Prevent SD access from resetting ESP32 (#16690) 2020-01-27 18:16:43 -06:00
thinkyhead
0c3cae59d9 [cron] Bump distribution date (2020-01-28) 2020-01-28 00:06:59 +00:00
Jason Smith
131acf304b Fix Manual Bed Leveling with multiple extruders (#16688) 2020-01-27 15:57:21 -06:00
Scott Lahteine
8bd6b60a01 Remove extraneous G60/G61 lines 2020-01-27 15:40:25 -06:00
Hans007a
e2eef1256a G60/G61 Position Save/Restore (#16557) 2020-01-26 23:19:05 -06:00
Robby Candra
a0a93e35ae Fix serial port redirection (index ≠ port num) (#16687) 2020-01-26 22:46:26 -06:00
Scott Lahteine
2325bede8a Fix Trigorilla 1.4 limit switches
See #16612
2020-01-26 21:08:55 -06:00
Scott Lahteine
56cd747c8b Rename some temperature members 2020-01-26 21:08:55 -06:00
Robby Candra
48098b1675 Preserve CWD for write/remove file (#16667) 2020-01-26 18:34:17 -06:00
thinkyhead
f6a6704b66 [cron] Bump distribution date (2020-01-27) 2020-01-27 00:06:35 +00:00
Scott Lahteine
5e3e8fcdb9 Fix PID F menu label 2020-01-26 17:07:18 -06:00
ellensp
0949c0f326 SKR 1.3 sensorless endstops hack (#16659) 2020-01-26 03:49:11 -06:00
Giuliano Zaro
81f31efaee Fix Spanish (swapped BLTouch strings) (#16637) 2020-01-26 03:34:58 -06:00
ellensp
c49e987b1e Fix M43 timer report on AVR (#16645) 2020-01-26 03:33:35 -06:00
Roman Moravčík
3572fa22a0 Update Slovak language (#16646) 2020-01-26 03:27:08 -06:00
Scott Lahteine
1d1dc8e339 More 8 extruder defines 2020-01-26 03:24:54 -06:00
Scott Lahteine
bbfbcb8a5d Clean up PID language defines 2020-01-26 03:24:54 -06:00
Jason Smith
44d400db83 Fix HOMING_BACKOFF_MM for DELTA (#16657) 2020-01-26 03:16:03 -06:00
ellensp
4a71285c34 Fix Serial defines for M43 on AVR (#16649) 2020-01-26 03:05:34 -06:00
Luc
6357619ab2 Add ESP3DLib idletask entry point (#16658) 2020-01-26 01:11:30 -06:00
0r31
e3611ad209 Fix MKS Base + Digipot compile error (#16636) 2020-01-26 01:08:40 -06:00
Jason Smith
95d5a0c480 Fix DELTA_CALIBRATION_MENU recursive call (#16656) 2020-01-26 00:02:06 -06:00
thinkyhead
838a420e27 [cron] Bump distribution date (2020-01-26) 2020-01-26 00:06:19 +00:00
yangwenxiong
248b7dfa59 BigTreeTech GTR V1.0 / Support 8 extruders, heaters, temp sensors, fans (#16595) 2020-01-25 02:13:39 -06:00
Bob Kuhn
0d166f9c7d Duet Smart Effector support (#16641) 2020-01-25 02:00:51 -06:00
Scott Lahteine
86c18ea6e0 Bring configs and drivers.h up to date 2020-01-24 23:17:52 -06:00
Scott Lahteine
b7a67f6f74 Extra debugging for leveling on/off 2020-01-24 23:17:49 -06:00
Scott Lahteine
1c042bbaea Convert chars only for enabled languages 2020-01-24 15:12:04 -06:00
thinkyhead
899db41a5c [cron] Bump distribution date (2020-01-24) 2020-01-24 00:07:21 +00:00
Artur Petrzak
2ef6b86ccd Enable use of latest TMCStepper on MKS Robin Nano (#16652) 2020-01-22 21:52:16 -06:00
thinkyhead
342f65eb8e [cron] Bump distribution date (2020-01-23) 2020-01-23 00:07:18 +00:00
Scott Lahteine
0eae26a7be Tweak mfpub stashing 2020-01-22 01:54:31 -06:00
thinkyhead
fd346c6cd1 [cron] Bump distribution date (2020-01-22) 2020-01-22 00:07:17 +00:00
Scott Lahteine
d3a8a81756 Update mfdoc, mfpub 2020-01-21 05:21:49 -06:00
Ryan
b7f86bffd5 Arc segment radius scaling (#16551) 2020-01-21 02:53:26 -06:00
InsanityAutomation
79810b7fcb G12 defaults per tool. Event G-code for post-toolchange (#16554) 2020-01-21 02:51:23 -06:00
Scott Lahteine
84c874c53b Tweak some config spacing 2020-01-21 02:43:34 -06:00
MaukCC
04d64351a2 Add HMS434 V15 ATSAM board (#16620) 2020-01-21 01:10:31 -06:00
Tanguy Pruvot
c8ac908db2 Release UI on G26 priming timeout (#16449) 2020-01-21 01:05:55 -06:00
0r31
b57ef4b261 Override for LPC1768 u8g/digipot I2C master ID (#16622) 2020-01-20 20:09:16 -06:00
Bob Kuhn
1a5cbc9052 Fix STM401/4xx/STM32F7xx timers, STEVAL_3DP001V1 warning (#16621) 2020-01-20 18:33:36 -06:00
thinkyhead
f36225c3e0 [cron] Bump distribution date (2020-01-21) 2020-01-21 00:07:07 +00:00
InsanityAutomation
97b5a5f469 Provide methods for M420 + MBL (#16602) 2020-01-20 01:44:36 -06:00
Bob Kuhn
a1f5245e27 L64xx M906 Fix status variable, formatting (#16597) 2020-01-20 01:15:00 -06:00
Giuliano Zaro
ef8f829513 Fix CHAMBER_MAXTEMP security margin (#16600) 2020-01-20 00:44:51 -06:00
InsanityAutomation
d9cdb4ae19 Move steps/mm out of slim menus (#16603) 2020-01-20 00:43:19 -06:00
0r31
451062553e LPC1768: Allow I2C master channel override (#16584) 2020-01-19 23:59:06 -06:00
InsanityAutomation
0fcf2b1110 Quad Z stepper support (#16277) 2020-01-19 23:35:07 -06:00
0r31
f36f084465 Fix Greek language string (#16601) 2020-01-19 23:03:19 -06:00
Bob Kuhn
f6468f0af3 STEVAL_3DP001V1: Easier Serial2 (for WIFI interface) (#16599) 2020-01-19 22:27:20 -06:00
Jason Smith
439e73d79c AVR sanity check for MONITOR_DRIVER_STATUS with SW Serial (#16421) 2020-01-19 22:25:38 -06:00
ellensp
0547d9d651 Reset shutdown timer on M85 (#16587) 2020-01-19 22:24:12 -06:00
thisiskeithb
3b34fbd4c4 Update BTT002 pins (#16591) 2020-01-19 22:21:32 -06:00
George Fu
a05a65e7d2 Update FYSETC S6 Peripheral Pins (#16593) 2020-01-19 22:21:09 -06:00
Giuliano Zaro
aec211fc80 SAMD51: ADC for probe temperature compensation (#16596) 2020-01-19 22:17:08 -06:00
Bob Kuhn
1084068a3e Simplify a drivers.h macro (#16589) 2020-01-19 20:59:47 -06:00
Scott Lahteine
e9ae585647 Patch for _STEP_INIT 2020-01-19 20:50:33 -06:00
Scott Lahteine
dda76e50a9 Use bool in pin compare 2020-01-19 20:05:53 -06:00
Scott Lahteine
37849969ad Function-like macros 2020-01-19 20:01:22 -06:00
Scott Lahteine
707349d492 Updates for L64XX 2020-01-19 19:53:12 -06:00
Scott Lahteine
f6a6839a82 Simplify TMC monitor code 2020-01-19 19:29:30 -06:00
Scott Lahteine
79c2f05e7d Fix M112 with Emergency Parser 2020-01-19 19:00:24 -06:00
thinkyhead
4dca6d50c0 [cron] Bump distribution date (2020-01-20) 2020-01-20 00:06:48 +00:00
thinkyhead
23fc81f1af [cron] Bump distribution date (2020-01-19) 2020-01-19 00:07:06 +00:00
Scott Lahteine
d035bfb1a9 Allow RRW Keypad with any LCD 2020-01-18 14:48:24 -06:00
thinkyhead
80400ab3f8 [cron] Bump distribution date (2020-01-18) 2020-01-18 00:04:25 +00:00
tompe-proj
a338dce83f PINDA v2 temperature sensor / compensation (#16293) 2020-01-17 17:16:45 -06:00
George Fu
4108c5d01f Update FYSETC S6 pins (#16559) 2020-01-17 13:16:05 -06:00
Scott Lahteine
9520e5121c More CI test updates 2020-01-17 03:21:31 -06:00
vivian-ng
e94f782f51 Shared SPI sanity check (#16581) 2020-01-17 02:54:22 -06:00
Vertabreaker
6d1f6a9516 Adjust GTM32 build flags (#16582) 2020-01-17 02:46:50 -06:00
Scott Lahteine
a578749622 Clean up HAL ADC, old test scripts 2020-01-17 02:44:01 -06:00
Bob-the-Kuhn
0d0dfba203 STM32 soft SPI. STEVAL_3DP001V1 SD read. M906 tweaks. (#16579) 2020-01-17 02:44:01 -06:00
thinkyhead
91a399ae7f [cron] Bump distribution date (2020-01-17) 2020-01-17 00:06:39 +00:00
felixstorm
2b9eb4437b ESP32 HAL: Fix random pauses during prints (#16548) 2020-01-16 05:57:14 -06:00
ellensp
5bd66241df Fix TOUCH_UI_FTDI_EVE bugs (#16540) 2020-01-16 05:50:00 -06:00
Scott Lahteine
1bb1ce7475 Move macros to stepper/indirection 2020-01-16 05:25:16 -06:00
Jason Smith
c305c2cc6b Fix some warnings, Melzi pins 2020-01-15 19:57:16 -06:00
Vertabreaker
b310047ded Fix GTM32 environment (to prevent a crash) 2020-01-15 19:25:36 -06:00
dagorel
bda4957f9b Fix I2C address of MCP4728 on LPC176x (#16578) 2020-01-15 19:15:54 -06:00
Pascal de Bruijn
f10d3564e1 STM32 RODATA LENGTH (#16580) 2020-01-15 19:13:28 -06:00
thinkyhead
bc483b2354 [cron] Bump distribution date (2020-01-16) 2020-01-16 00:08:10 +00:00
Dennis
2d7f94cae1 Adjustable ADC debounce delay (#16264) 2020-01-15 18:06:03 -06:00
gjdodd
7481563bd9 Nikon IR support for time lapse photos (#16539) 2020-01-15 17:59:41 -06:00
Scott Lahteine
bd550bb45a Get test configs from GitHub 2020-01-15 01:27:32 -06:00
Scott Lahteine
b419ca254b Fix typo 2020-01-15 01:27:32 -06:00
thisiskeithb
7eed008e8e Use Flash EEPROM on BTT002 (#16558) 2020-01-15 01:27:32 -06:00
Bob Kuhn
53dfeed6c0 Steval_3DP001V1 timers, analog inputs, etc. (#16565) 2020-01-14 23:19:13 -06:00
Lino Barreca
ef513ef7fb Fix build error with unsupported reset flags (#16562) 2020-01-14 23:19:13 -06:00
Scott Lahteine
7b304cee16 Move configurations to a separate repo 2020-01-14 19:11:47 -06:00
Scott Lahteine
ea7363a8f4 Update more configs 2020-01-14 18:48:29 -06:00
thinkyhead
8e1a21cf53 [cron] Bump distribution date (2020-01-15) 2020-01-15 00:08:21 +00:00
Jason Smith
fc773c2784 Fix Fysetc S6 FLASH_PAGE_SIZE and test build (#16560) 2020-01-14 15:36:47 -06:00
Scott Lahteine
bfe4ceedd1 Bring MP_SCARA config up to date 2020-01-14 14:55:47 -06:00
InsanityAutomation
ffd8b595d1 Fix PLR cancel with ExtUI (#16556) 2020-01-13 20:52:24 -06:00
Scott Lahteine
1457e40208 Make lcd_power_loss_recovery_cancel exportable 2020-01-13 20:25:12 -06:00
Bob Kuhn
1ad53cee1f Improved STMicro L64XX stepper driver support (#16452) 2020-01-13 18:47:30 -06:00
thinkyhead
53f1e5ff5b [cron] Bump distribution date (2020-01-14) 2020-01-14 00:08:54 +00:00
Scott Lahteine
0e6ef65aec Clean up whitespace 2020-01-13 16:56:56 -06:00
Scott Lahteine
ee17051933 Version 2.0.1 2020-01-13 16:49:49 -06:00
Bob Kuhn
c4ffe74d71 Add SERVO, TONE timers to variant for better STEVAL_3DP001V1 support (#16538) 2020-01-13 00:26:17 -06:00
David Klasinc
55b2af9464 Fix Linux upload path detection (#16514) 2020-01-13 00:23:55 -06:00
Vertabreaker
b4ee420a37 Geeetech G2Pro configuration (#16553) 2020-01-13 00:20:17 -06:00
Scott Lahteine
f926351fa8 Power options formatting 2020-01-13 00:15:24 -06:00
Vertabreaker
51f2733b7f Add GTM32 (STM32F103VET6) environment (#16454) 2020-01-12 22:27:58 -06:00
thinkyhead
fc4a42bbdc [cron] Bump distribution date (2020-01-13) 2020-01-13 00:08:17 +00:00
Scott Lahteine
89ccd463d7 Update auto_build.py paths for Atom/Sublime 2020-01-11 19:28:41 -06:00
Scott Lahteine
473d640e88 Restore test_builds action to bugfix 2020-01-11 18:38:47 -06:00
thinkyhead
57499291d3 [cron] Bump distribution date (2020-01-12) 2020-01-12 00:10:02 +00:00
Ryan V1
56e51efeea Use RECIPROCAL macro (not _RECIP) (#16530) 2020-01-11 17:16:16 -06:00
Jason Smith
d22eb261cf Fix probeless delta build (#16537) 2020-01-11 17:14:33 -06:00
FlyingSamson
fbf2f36cae Only constrain motion on homed axes (#16533)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-01-11 17:06:52 -06:00
Scott Lahteine
536778812f Migrate actions to default (2.0.x) branch 2020-01-10 18:16:52 -06:00
thinkyhead
e8941d2bd8 [cron] Bump distribution date (2020-01-11) 2020-01-11 00:08:42 +00:00
Luc
d854c8fa5f ESP3d integration for ESP32 (#16515) 2020-01-10 17:22:41 -06:00
Giuliano Zaro
e9a97127f7 Update Italian language (#16527) 2020-01-10 16:19:52 -06:00
Giuliano Zaro
0391e5bcc7 Prevent Z misaligment on tool change (#16518) 2020-01-10 16:12:21 -06:00
thinkyhead
d02a867424 [cron] Bump distribution date (2020-01-10) 2020-01-10 20:47:56 +00:00
Acenotass
2d820e6204 Update Russian language (#16522) 2020-01-10 13:06:02 -06:00
Tanguy Pruvot
f9f7697b96 Fix Probe Offset XY edit items (et Français) (#16523) 2020-01-10 13:04:59 -06:00
InsanityAutomation
409d7378d9 Add Probe Offsets menu (#16444) 2020-01-10 00:47:38 -06:00
ellensp
669fe74096 Fix compile error w/out LCD (#16502) 2020-01-09 04:51:41 -06:00
Jamie
36d08f8ad3 Add ARC_SEGMENTS_PER_SEC for finer G2/G3 arcs (#16510) 2020-01-09 04:48:00 -06:00
Mehdi Beyk Mohamadi
8a7661df89 Correct ESP32 CPU speed in README (#16472) 2020-01-09 04:16:51 -06:00
Scott Lahteine
6e658a7c04 Code style and comment tweaks 2020-01-08 20:00:26 -06:00
Scott Lahteine
95046c9047 Extend SERIAL_CHAR to take multiple arguments 2020-01-08 18:36:47 -06:00
thisiskeithb
5beca89412 Add menu item Tune > Advance K (#16488) 2020-01-08 17:43:36 -06:00
Scott Lahteine
5ac9d9754e Update workflow skip condition 2020-01-08 17:40:53 -06:00
meponderR
5e7943f19f Fix LCD for Tevo Tornado (#16474) 2020-01-08 16:32:08 -06:00
Alejandro Aguilera
5a5e1d0401 Fix Change Filament menu item with runout (#16485) 2020-01-08 16:03:23 -06:00
dagorel
a88b91b3ed Provide some missing Arduino macros (#16497) 2020-01-07 21:56:47 -06:00
Lino Barreca
5c4c052fd7 Fix SKR Pro BLTouch conflicting timers (#16499) 2020-01-07 21:54:26 -06:00
Vertabreaker
d26c32375e Fix EEPROM array size bug (#16475) 2020-01-07 21:49:27 -06:00
ellensp
994c695862 Fix MKS_SGEN sanity check (#16501) 2020-01-07 21:47:45 -06:00
Scott Lahteine
f154e94981 Move auto_build.py to 'vscode' folder 2020-01-07 19:38:15 -06:00
Tanguy Pruvot
b7f8163291 Update U20 config to help UBL toggle (#16471) 2020-01-05 02:54:15 -06:00
ManuelMcLure
675295692b Fix unused var warning (#16467) 2020-01-05 02:52:38 -06:00
Tanguy Pruvot
d1e55a2d1d Remove extra UBL map edit menu item (#16451) 2020-01-05 02:25:03 -06:00
Vertabreaker
5e1f0e5e90 Followup to EEPROM patch (#16470) 2020-01-05 02:19:50 -06:00
Tanguy Pruvot
bdcccee203 Improve French language (UBL) (#16453) 2020-01-05 02:09:27 -06:00
Justin
d70dad6807 Fix permyriad progress bar (#16460) 2020-01-05 02:08:24 -06:00
Acenotass
93e35880ce Update Russian language (#16461) 2020-01-05 02:04:28 -06:00
Jamie
9b970cf12f Add option to invert joystick axes (#16466) 2020-01-05 02:01:05 -06:00
Jamie
022b6b9067 Fix M115 cap with EXTRUDERS == 0 (#16459) 2020-01-05 01:54:30 -06:00
Jamie
fc07b0ea30 Fix EEPROM error with EXTRUDERS == 0 (#16464) 2020-01-05 01:54:30 -06:00
Scott Lahteine
a484adcb30 Update git helper usage 2020-01-05 01:54:30 -06:00
Scott Lahteine
31679640c0 Skip build tests on forks 2020-01-05 01:54:30 -06:00
Scott Lahteine
3469a0a1a0 Update maintainer funding links 2020-01-05 01:54:30 -06:00
Scott Lahteine
38c0f800d6 Action to check PRs 2020-01-05 01:54:30 -06:00
Scott Lahteine
57e37b6c24 Fix daily date bump action 2020-01-05 00:59:10 -06:00
Lino Barreca
07509febcd Fix serials available on SKR Pro 1.1 (#16439) 2020-01-03 21:01:42 -06:00
George Fu
e593da1c23 Update and fix DGUS (#16317) 2020-01-03 21:00:44 -06:00
greppp
7f87a044cd Fix Ender-2 display pins, add BTN_ENC (#16349) 2020-01-03 20:44:16 -06:00
Vertabreaker
b841b9bd01 Add example configs. Expand custom menu. (#16286)
- Anet E10
- Geeetech D200
- Geeetech M201
- JGAurora Magic
- MakerFarm Pegasus 12
2020-01-03 20:37:22 -06:00
George Fu
ceeba58dc9 FYSETC F6 v1.4 board support (#16321) 2020-01-03 20:29:25 -06:00
yedey
a49c6608c9 Fixed Creality CR-20 Pro configuration example (#16332) 2020-01-03 20:18:35 -06:00
thisiskeithb
9903bc8d36 Add EVNOVO (Artillery) Genius config (#16320) 2020-01-03 20:17:20 -06:00
Scott Lahteine
aa4db785f2 MSG_WATCH => MSG_INFO_SCREEN 2020-01-03 19:50:55 -06:00
Scott Lahteine
00e27503ce Use a default monitor_speed of 250000 2020-01-03 19:50:55 -06:00
Scott Lahteine
f7e3a5ad85 Temporary CI fix for STM32 2020-01-03 19:31:16 -06:00
Jason Smith
3cade6245e Fix MIN_PROBE_EDGE bug in default ABL G29 (#16367) 2020-01-03 17:46:26 -06:00
ellensp
d7aee3b7b6 Pins debugging AVR serial pins (#16437) 2020-01-03 17:40:56 -06:00
thisiskeithb
64fdc4f24b BTT002: Add runout, PLR, and RGB pins (#16442) 2020-01-03 17:38:15 -06:00
Acenotass
295aa3d60d Update Russian language (#16440) 2020-01-03 17:35:08 -06:00
Scott Lahteine
1d0452c41e Standardize drivers.h values, add class indirection (#16448) 2020-01-03 17:11:36 -06:00
Tanguy Pruvot
96a5e64bb8 Improve JGAurora A1/A5S touch buttons (#16394) 2020-01-02 22:04:46 -06:00
Jason Smith
595e684658 Add Leapfrog Xeed 2015 support (#16400) 2020-01-02 22:04:13 -06:00
thisiskeithb
21dc07c40a Sidewinder X1 Config Updates (#16315) 2020-01-02 21:28:54 -06:00
Tanguy Pruvot
cda363a15e Touch UI: Fix UBL mesh value editing (#16432) 2020-01-02 21:26:03 -06:00
Walt Sorensen
9f44452834 Enable MULTI_NOZZLE_DUPLICATION for BIBO (#16435) 2020-01-02 21:17:52 -06:00
ellensp
7a50dbc00d Add motherboard BIGTREE_SKR_V1.4_TURBO (#16374) 2020-01-02 21:15:34 -06:00
thisiskeithb
3162d378ff Add Ender-5 leadscrew README (#16424) 2020-01-02 20:41:50 -06:00
InsanityAutomation
d129ac1b37 Z-offset edit precision based on value limits (#16425) 2020-01-02 20:40:40 -06:00
Tanguy Pruvot
1ea529b9c1 STM32F1: Fix misleading indent / nullptr on FSMC (#16431) 2020-01-02 20:19:07 -06:00
Acenotass
5ffabd56eb Update Russian language (#16426) 2020-01-02 20:17:08 -06:00
Dirk O. Kaar
d0e1166cce Fix Visual Micro "Arduino IDE for Visual Studio" support (#16418) 2020-01-02 19:01:38 -06:00
Scott Lahteine
5b75a018b7 Misc patches preceding DGUS PR 2020-01-02 17:59:38 -06:00
randellhodges
c75b560604 PWM pin not needed for Neopixel brightness / submenu (#16345) 2020-01-02 17:50:19 -06:00
Scott Lahteine
a2cda631d9 Clean up trailing whitespace 2020-01-02 16:33:50 -06:00
Jason Smith
a7b0b390cd Fix PrintrBoard build (ignore TMC libraries) (#16346)
(In future try to get Teensy processors better supported by `TMCStepper`.)
2020-01-01 22:14:14 -06:00
Jason Smith
9ff2d34bf8 Fix warnings in stepper.cpp (#16364) 2020-01-01 22:06:50 -06:00
Jason Smith
92ad973729 Fix some DOGM warnings (#16363) 2020-01-01 21:58:16 -06:00
rado79
0be8b22d3c Add FILAMENT_UNLOAD_PURGE_FEEDRATE (#16372) 2020-01-01 21:56:58 -06:00
Jason Smith
4e1f2f89f6 Refactor TMC-related macros and sanity checks (#16384) 2020-01-01 21:51:15 -06:00
Lino Barreca
ac32ed74b4 Return from loop() on non-AVR boards (#16390) 2020-01-01 21:13:43 -06:00
swilkens
89f9902053 Disable PIDTEMPBED for SKR Mini E3 (#16396) 2020-01-01 20:59:14 -06:00
Alexander Gavrilenko
c6f7ea9f22 MKS Robin ILI9328 TFT support (#16401) 2020-01-01 20:55:37 -06:00
Bob Kuhn
747b2b9bf4 Improve STEVAL_3DP001V1 and future STEVAL_* support (#16404) 2020-01-01 20:52:56 -06:00
Pascal de Bruijn
23bdc1556d Permit ENDSTOP_INTERRUPTS_FEATURE on more STM32 (#16412) 2020-01-01 20:41:35 -06:00
Dirk O. Kaar
ec03e46ffa Improve Renkforce configs (#16417) 2020-01-01 20:40:01 -06:00
Giuliano Zaro
47edbd9220 Fix min limit for acc, feed, jerk (#16416) 2020-01-01 20:38:33 -06:00
Scott Lahteine
00c83e9ca6 Update comments re: NOZZLE_AS_PROBE 2020-01-01 19:41:23 -06:00
Scott Lahteine
832321f55d Fix games menu back item, titles 2019-12-31 16:06:16 -06:00
Scott Lahteine
941a09b6ac Fix Max7219 with 256 or more cels 2019-12-31 16:04:29 -06:00
Scott Lahteine
16787c94af Update mfpub for current MarlinDocumentation 2019-12-28 17:45:10 -06:00
Scott Lahteine
28d83b42e1 Split up HAL items 2019-12-25 19:25:05 -06:00
Scott Lahteine
23c5266076 Update README with status badge, etc. 2019-12-25 15:06:36 -06:00
Scott Lahteine
0673f335e1 Merge remote-tracking branch 'upstream/bugfix-2.0.x' into 2.0.x 2019-12-24 00:05:04 -06:00
InsanityAutomation
1c9ccce520 Add NOZZLE_AS_PROBE (no probe offsets) (#15929) 2019-12-24 00:03:08 -06:00
thisiskeithb
9c021158e5 Sync SKR E3 configs (#16301) 2019-12-23 18:16:11 -06:00
petrzjunior
254d352fca Update Czech language (#16305) 2019-12-23 18:14:51 -06:00
Luu Lac
baa101253a MKS Robin 2 (STM32F407ZE) base support (#16270) 2019-12-22 18:16:08 -06:00
thisiskeithb
a333bba725 Add Rumba32 support for PIO (#16202) 2019-12-22 18:08:52 -06:00
ferengi82
2230ef6e09 MKS SGen-L pins EEBF or EFBF scheme (#16296) 2019-12-22 17:11:49 -06:00
Luc
24eaf2d7e0 Some ESP32 patches (#16297) 2019-12-22 16:11:17 -06:00
randellhodges
f4196d394b Flash leveling (for some STM32) (#16174) 2019-12-22 16:04:09 -06:00
randellhodges
ebdf8b6b1a Fix STM32 flush of TX (used by UBL) (#16197) 2019-12-22 03:08:17 -06:00
FLYmaker
59f9bb2120 Add FLYBOARD (STM32F407ZG) (#16257) 2019-12-22 03:05:30 -06:00
thisiskeithb
f339a39654 Add Ender-5 Pro config (#16221) 2019-12-21 20:02:40 -06:00
Luc
a3d88aebed Add MRR_ESPA/_ESPE (ESP32) boards (#16238) 2019-12-21 18:58:00 -06:00
Jason Smith
d5bc5547ee Step timing cleanup and rounding fix (#16258) 2019-12-21 18:36:25 -06:00
Tanguy Pruvot
f8065da48f Reset runout.ran_out on resume (#16230) 2019-12-21 18:35:35 -06:00
Scott Lahteine
127fb9860c Don't test certain changes 2019-12-21 03:37:49 -06:00
thisiskeithb
c5179cffb4 Add Tevo Nereus (w/ Robin Nano) config (#16207) 2019-12-21 03:24:40 -06:00
Jason Smith
0d8c81b2a6 Fix axis CS sanity check (#16271) 2019-12-20 22:05:42 -06:00
Markus Towara
856013cc0f Fix planner compile error (#16272) 2019-12-20 22:04:49 -06:00
randellhodges
0b6c2d893e Fix G34 with Z_DUAL_STEPPER_DRIVERS compile (#16274) 2019-12-20 22:03:37 -06:00
Vertabreaker
b6d857f1d6 Improve Anet A6 config (#16280) 2019-12-20 21:59:33 -06:00
Jason Smith
2e235aff03 Fix HAL_STM32 + Arduino IDE SoftwareSerial conflict (#16266) 2019-12-20 19:14:27 -06:00
Scott Lahteine
87992f3669 Use Github Actions for CI, date bump (#16269) 2019-12-20 19:11:53 -06:00
Scott Lahteine
64ebec50dc Move pins debug condition 2019-12-20 10:19:41 -06:00
Vertabreaker
e3b02757d3 Kossel Clear configuration (#16198) 2019-12-19 21:47:15 -06:00
Jeff Eberl
70325a6a0f Update test scripts to error on unknown (#16229) 2019-12-19 21:03:42 -06:00
Scott Lahteine
d81de7f521 Tweak sanity checks 2019-12-19 21:02:14 -06:00
Scott Lahteine
deff538909 Fix broken M100_dump_routine 2019-12-19 21:02:14 -06:00
Scott Lahteine
a9a78f2831 Followup for step timing (#16128) 2019-12-19 19:55:37 -06:00
Scott Lahteine
10f7bbee32 Use MYSERIAL0 (not SerialUSB) for Malyan LCD 2019-12-19 19:53:06 -06:00
Scott Lahteine
b49a0e39d5 HOME_USING_SPREADCYCLE is obsolete
Co-Authored-By: teemuatlut <teemu.mantykallio@live.fi>
2019-12-19 16:02:57 -06:00
Scott Lahteine
53f77dfadf Remove obsolete TMC2209 comment 2019-12-19 15:56:52 -06:00
Scott Lahteine
937dca4432 Followup to TMC2209 spreadcycle patch 2019-12-19 15:54:44 -06:00
BigTreeTech
bbe0ffb2fa BigTreeTech SKR v1.4 support (#16236) 2019-12-19 02:41:35 -06:00
Jason Smith
1bad8f1b17 Improve pulse timing and step reliability (#16128) 2019-12-19 02:38:48 -06:00
Mario Costa
5f06f42ccd Spindle/Laser pins for RADDS (#16119) 2019-12-19 02:37:07 -06:00
elementfoundry
e5edbf9d35 Allow TMC2209 to save/restore spreadCycle (#16153)
Co-Authored-By: teemuatlut <teemu.mantykallio@live.fi>
2019-12-19 02:23:54 -06:00
Scott Lahteine
865071a946 Tweak code formatting 2019-12-19 02:16:17 -06:00
salami738
329f5b4df9 Improve SKR mini E3 + Ender 3 settings (#16247) 2019-12-19 01:22:17 -06:00
Moshi Binyamini
dcdaa2025f Sanity-check Z_STEPPER_AUTO_ALIGN coordinates (#16231) 2019-12-19 00:59:01 -06:00
Scott Lahteine
0400783444 Tweak G34, fix a declaration 2019-12-19 00:42:39 -06:00
Scott Lahteine
768a1d2713 [cron] Bump distribution date 2019-12-19 00:39:55 -06:00
Scott Lahteine
711fb26ae5 Move AutoBuildMarlin to its own repo 2019-12-17 19:35:38 -06:00
Scott Lahteine
7f15968ce7 Add dev-2.1.x to 'mfinfo' script 2019-12-16 03:33:22 -06:00
Scott Lahteine
262ff9584c [cron] Bump distribution date 2019-12-16 00:00:04 -06:00
Scott Lahteine
af4c62b422 Update product links 2019-12-15 20:58:31 -06:00
Scott Lahteine
4a6f625f86 Tweak E180 config 2019-12-15 20:56:10 -06:00
Vertabreaker
e0c71344ed Define more FAN pins for GT2560 (#16235) 2019-12-15 20:28:55 -06:00
chzj333
42a336f8bc Update BTT002 platform (fixing SD init) (#16217) 2019-12-15 12:24:54 -06:00
Tanguy Pruvot
a0badf572e STM32 Touch UI timings, Longer onboard pullups (#16219) 2019-12-15 12:03:39 -06:00
thisiskeithb
a358b72ec8 Add SKR Mini E3 + Zonestar LCD warning (#16214) 2019-12-15 12:02:20 -06:00
danym21
6e8dcba698 Fix G28 debug line, M569 calls (#16213) 2019-12-15 12:00:00 -06:00
Luc
9d6b2ebf50 Improve ESP32 HAL (EEPROM, watchdog) (#16228) 2019-12-15 11:39:39 -06:00
thisiskeithb
dc8d8cb39c Fix MKS SGen-L SD detect pin (#16224) 2019-12-15 11:25:07 -06:00
Luu Lac
509e1ab053 TOUCH_MI_DEPLOY_XPOS fallback to X_MIN_POS (#16226) 2019-12-15 11:21:39 -06:00
Luu Lac
e9dadacf7b Fix bad #ifdef (#16227) 2019-12-15 11:16:36 -06:00
Scott Lahteine
6a514a1e8e Move status screen defines 2019-12-12 22:20:03 -06:00
Scott Lahteine
1ea78cdd69 Improve A20M config 2019-12-12 22:18:04 -06:00
Scott Lahteine
303ddb862a Tweak some config names 2019-12-12 22:18:04 -06:00
Scott Lahteine
f3d64b7115 Cardreader read/write open methods 2019-12-12 18:46:49 -06:00
Bo Herrmannsen
98382fcea5 Include Z in SCARA steps feedrate (#16193) 2019-12-12 17:13:49 -06:00
iain MacDonnell
629c039eed Update M503 MBL G29 report (#16199) 2019-12-12 16:54:54 -06:00
randellhodges
2a7f1091ce Fix compile error (macro substitution typo) (#16194) 2019-12-12 16:51:35 -06:00
Anders Sahlman
3d4aa015a8 Add MKS Robin Mini EEPROM defines (#16203) 2019-12-12 16:35:46 -06:00
Anders Sahlman
6b53431116 Flsun QQ-S example config (#16204) 2019-12-12 16:19:28 -06:00
Scott Lahteine
e45c4d6aa3 Fix RAMBo CNC test 2019-12-12 16:12:17 -06:00
InsanityAutomation
7b512742f4 Tweak ExtUI Probeless Babystepping (#16177) 2019-12-12 15:51:56 -06:00
ManuelMcLure
b065a60dd0 Onboard (always-on) pullups support (#16144) 2019-12-12 15:49:14 -06:00
Jeff Eberl
ae3504594c Add a CI test for RAMBo + CNC (#16126) 2019-12-11 02:28:16 -06:00
thisiskeithb
edc671edea Disable SD_CHECK_AND_RETRY in BTT E3 configs (#16143) 2019-12-11 02:22:35 -06:00
Tobias Schürg
50688f03fb Invert E dir of Geeetech A10 (#16149) 2019-12-11 02:19:59 -06:00
thisiskeithb
98814e1c47 MKS 12864 OLED pins for SGEN-L (#16188) 2019-12-11 02:18:21 -06:00
Tanguy Pruvot
23d1801022 Update BTT comments for USB/SD Composite (#16130) 2019-12-11 01:47:21 -06:00
André Kjellstrup
c2342c3528 Use error message !! hints (#16145) 2019-12-11 01:46:11 -06:00
MangaValk
96cf556139 Fix multiple servos with STM32 (#16151) 2019-12-11 01:44:05 -06:00
MS1987
31fdaea269 Add MKS Robin Pro, MKS Robin Lite3 (#16163) 2019-12-11 00:23:47 -06:00
Scott Lahteine
1c48817a47 [cron] Bump distribution date 2019-12-11 00:00:04 -06:00
Scott Lahteine
0d52eaa875 Superscript 3 for mm3 2019-12-10 23:45:39 -06:00
Tanguy Pruvot
5ebef425ce Update french (objects, retract...) 2019-12-10 23:45:39 -06:00
Giuliano Zaro
5dfa152ba2 Update Italian language (#16147) 2019-12-10 23:38:14 -06:00
dagorel
1c4f672eae Formalize DAC percent strings (#16176) 2019-12-10 23:37:25 -06:00
Anders Sahlman
1bcd47e65f Correct MKS Robin Mini pins (#16178) 2019-12-10 23:32:11 -06:00
Antti Andreimann
1465fc0632 Fix controller and SD on Robin Nano (#16187) 2019-12-10 23:29:33 -06:00
Scott Lahteine
07a61057ba [cron] Bump distribution date 2019-12-10 00:11:19 -06:00
Alain Martel
39fcb5b5f8 Update 3DFabXYZ settings (#16139) 2019-12-07 18:10:28 -06:00
Scott Lahteine
bb5717c5b3 [cron] Bump distribution date 2019-12-07 00:00:05 -06:00
Luu Lac
f3155af444 Update AZSMZ LCD link (#16106) 2019-12-06 01:35:06 -06:00
Tanguy Pruvot
ab61c09bff Improve touch buttons behavior (#16109) 2019-12-06 00:47:50 -06:00
thisiskeithb
a087a653cd Wanhao D6 uses TINYBOY2 (#16117) 2019-12-05 20:52:20 -06:00
Antti Andreimann
b65ab21733 Fix compile error with disabled PIDTEMP (#16108) 2019-12-05 20:51:41 -06:00
Jason Smith
37df0c1f22 Disable PRINTCOUNTER in SKR Mini E3 examples (#16110) 2019-12-05 20:49:06 -06:00
randellhodges
7f8ca85e69 STM32F1 Flash-based EEPROM fixes (#16118) 2019-12-05 20:48:11 -06:00
Scott Lahteine
f64649933f [cron] Bump distribution date 2019-12-04 01:57:33 -06:00
1511 changed files with 28528 additions and 678526 deletions

19
.editorconfig Normal file
View File

@@ -0,0 +1,19 @@
# editorconfig.org
root = true
[{*.patch,syntax_test_*}]
trim_trailing_whitespace = false
[{*.c,*.cpp,*.h}]
charset = utf-8
[{*.c,*.cpp,*.h,Makefile}]
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
[{*.py,*.conf,*.sublime-project}]
indent_style = tab
indent_size = 4

4
.github/FUNDING.yml vendored
View File

@@ -1 +1,3 @@
custom: http://www.thinkyhead.com/donate-to-marlin
github: [thinkyhead]
patreon: thinkyhead
custom: ["http://www.thinkyhead.com/donate-to-marlin"]

7
.github/workflows/bad-target.md vendored Normal file
View File

@@ -0,0 +1,7 @@
Thanks for your contribution! Unfortunately we can't accept PRs directed at release branches. We make patches to the bugfix branches and only later do we push them out as releases.
Please redo this PR starting with the `bugfix-2.0.x` branch and be careful to target `bugfix-2.0.x` when resubmitting the PR.
It may help to set your fork's default branch to `bugfix-2.0.x`.
See [this page](http://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions.

34
.github/workflows/bump-date.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
#
# bump-date.yml
# Bump the distribution date once per day
#
name: Bump Distribution Date
on:
schedule:
- cron: '0 0 * * *'
jobs:
bump_date:
runs-on: ubuntu-latest
steps:
- name: Check out bugfix-2.0.x
uses: actions/checkout@v2
with:
ref: bugfix-2.0.x
- name: Bump Distribution Date
run: |
# Inline Bump Script
[[ "$GITHUB_REPOSITORY" == "MarlinFirmware/Marlin" ]] || exit 0
DIST=$( date +"%Y-%m-%d" )
eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/src/inc/Version.h" && \
git config user.name "${GITHUB_ACTOR}" && \
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" && \
git add . && \
git commit -m "[cron] Bump distribution date ($DIST)" && \
git push

27
.github/workflows/check-pr.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
#
# comment-pr.yml
# Add a comment to any PR directed to a release branch
#
name: PR Bad Target
on:
pull_request:
branches:
- 1.0.x
- 1.1.x
- 2.0.x
jobs:
bad_target:
name: PR Bad Target
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: harupy/comment-on-pr@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
filename: bad-target.md

103
.github/workflows/test-builds.yml vendored Normal file
View File

@@ -0,0 +1,103 @@
#
# test-builds.yml
# Do test builds to catch compile errors
#
name: CI
on:
pull_request:
branches:
- bugfix-2.0.x
- dev-2.1.x
paths-ignore:
- config/**
- data/**
- docs/**
- '**/*.md'
jobs:
test_builds:
runs-on: ubuntu-latest
strategy:
matrix:
test-platform:
# Base Environments
- DUE
- esp32
- linux_native
- megaatmega2560
- teensy31
- teensy35
- SAMD51_grandcentral_m4
# Extended AVR Environments
- FYSETC_F6_13
- megaatmega1280
- rambo
- sanguino_atmega1284p
- sanguino_atmega644p
# Extended STM32 Environments
- STM32F103RC_bigtree
- STM32F103RC_bigtree_USB
- STM32F103RE_bigtree
- STM32F103RE_bigtree_USB
- STM32F103RC_fysetc
- jgaurora_a5s_a1
- STM32F103VE_longer
- STM32F407VE_black
- BIGTREE_SKR_PRO
- mks_robin
- ARMED
- FYSETC_S6
# Put lengthy tests last
- LPC1768
- LPC1769
# STM32 with non-STM framework. both broken for now. they should use HAL_STM32 which is working.
#- STM32F4
#- STM32F7
# Non-working environment tests
#- BIGTREE_BTT002
#- at90usb1286_cdc
#- at90usb1286_dfu
#- STM32F103CB_malyan
#- mks_robin_lite
#- mks_robin_mini
#- mks_robin_nano
steps:
- name: Select Python 3.7
uses: actions/setup-python@v1
with:
python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax.
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
- name: Install PlatformIO
run: |
pip install -U https://github.com/platformio/platformio-core/archive/master.zip
platformio update
- name: Check out the PR
uses: actions/checkout@v2
- name: Run ${{ matrix.test-platform }} Tests
run: |
# Inline tests script
[[ "$GITHUB_REPOSITORY" == "MarlinFirmware/Marlin" ]] || exit 0
chmod +x buildroot/bin/*
chmod +x buildroot/share/tests/*
export PATH=./buildroot/bin/:./buildroot/share/tests/:${PATH}
run_tests . ${{ matrix.test-platform }}

5
.gitignore vendored
View File

@@ -1,6 +1,6 @@
#
# Marlin 3D Printer Firmware
# Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
# Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
#
# Based on Sprinter and grbl.
# Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -146,6 +146,9 @@ Marlin/*/*/readme.txt
Marlin/*/*/*/readme.txt
Marlin/*/*/*/*/readme.txt
# Secure Credentials
Configuration_Secure.h
#Visual Studio
*.sln
*.vcxproj

View File

@@ -1,84 +0,0 @@
dist: bionic
sudo: false
language: python
python:
- "3.7"
notifications:
email: false
env:
# Base Environments
- TEST_PLATFORM="DUE"
- TEST_PLATFORM="esp32"
- TEST_PLATFORM="linux_native"
- TEST_PLATFORM="megaatmega2560"
- TEST_PLATFORM="teensy31"
- TEST_PLATFORM="teensy35"
# Extended AVR Environments
- TEST_PLATFORM="FYSETC_F6_13"
- TEST_PLATFORM="megaatmega1280"
- TEST_PLATFORM="rambo"
- TEST_PLATFORM="sanguino_atmega1284p"
- TEST_PLATFORM="sanguino_atmega644p"
# Extended STM32 Environments
- TEST_PLATFORM="STM32F103RC_bigtree"
- TEST_PLATFORM="STM32F103RC_bigtree_USB"
- TEST_PLATFORM="STM32F103RE_bigtree"
- TEST_PLATFORM="STM32F103RE_bigtree_USB"
- TEST_PLATFORM="STM32F103RC_fysetc"
- TEST_PLATFORM="jgaurora_a5s_a1"
- TEST_PLATFORM="STM32F103VE_longer"
- TEST_PLATFORM="STM32F407VE_black"
- TEST_PLATFORM="BIGTREE_SKR_PRO"
- TEST_PLATFORM="mks_robin"
- TEST_PLATFORM="ARMED"
# STM32 with non-STM framework. both broken for now. they should use HAL_STM32 which is working.
#- TEST_PLATFORM="STM32F4"
#- TEST_PLATFORM="STM32F7"
# Put lengthy tests last
- TEST_PLATFORM="LPC1768"
- TEST_PLATFORM="LPC1769"
# Non-working environment tests
#- TEST_PLATFORM="BIGTREE_BTT002" this board isn't released yet. we need pinout to be sure about what we do
#- TEST_PLATFORM="at90usb1286_cdc"
#- TEST_PLATFORM="at90usb1286_dfu"
#- TEST_PLATFORM="STM32F103CB_malyan"
#- TEST_PLATFORM="mks_robin_lite"
#- TEST_PLATFORM="mks_robin_mini"
#- TEST_PLATFORM="mks_robin_nano"
#- TEST_PLATFORM="SAMD51_grandcentral_m4"
before_install:
#
# Fetch the tag information for the current branch
- git fetch origin --tags
#
# Publish the buildroot script folder
- chmod +x ${TRAVIS_BUILD_DIR}/buildroot/bin/*
- chmod +x ${TRAVIS_BUILD_DIR}/buildroot/share/tests/*
- export PATH=${TRAVIS_BUILD_DIR}/buildroot/bin/:${TRAVIS_BUILD_DIR}/buildroot/share/tests/:${PATH}
install:
#- pip install -U platformio
- pip install -U https://github.com/platformio/platformio-core/archive/master.zip
before_script:
# Update PlatformIO packages
- platformio update
#
# Change current working directory to the build dir
- cd ${TRAVIS_BUILD_DIR}
#
# Generate custom version include
- generate_version ${TRAVIS_BUILD_DIR}/Marlin/
- cat ${TRAVIS_BUILD_DIR}/Marlin/Version.h
#
script:
- run_tests ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -36,7 +36,7 @@
* Advanced settings can be found in Configuration_adv.h
*
*/
#define CONFIGURATION_H_VERSION 020000
#define CONFIGURATION_H_VERSION 020004
//===========================================================================
//============================= Getting Started =============================
@@ -143,7 +143,7 @@
// @section extruder
// This defines the number of extruders
// :[1, 2, 3, 4, 5, 6]
// :[1, 2, 3, 4, 5, 6, 7, 8]
#define EXTRUDERS 1
// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
@@ -360,7 +360,8 @@
* -1 : thermocouple with AD595
* 0 : not used
* 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
* 331 : (3.3V scaled thermistor 1 table)
* 331 : (3.3V scaled thermistor 1 table for MEGA)
* 332 : (3.3V scaled thermistor 1 table for DUE)
* 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
* 3 : Mendel-parts thermistor (4.7k pullup)
* 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
@@ -378,7 +379,8 @@
* 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE"
* 15 : 100k thermistor calibration for JGAurora A5 hotend
* 18 : ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327
* 20 : Pt100 with circuit in the Ultimainboard V2.x
* 20 : Pt100 with circuit in the Ultimainboard V2.x with 5v excitation (AVR)
* 21 : Pt100 with circuit in the Ultimainboard V2.x with 3.3v excitation (STM32 \ LPC176x....)
* 201 : Pt100 with circuit in Overlord, similar to Ultimainboard V2.x
* 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
* 61 : 100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup
@@ -411,7 +413,10 @@
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_5 0
#define TEMP_SENSOR_6 0
#define TEMP_SENSOR_7 0
#define TEMP_SENSOR_BED 0
#define TEMP_SENSOR_PROBE 0
#define TEMP_SENSOR_CHAMBER 0
// Dummy thermistor constant temperature readings, for use with 998 and 999
@@ -439,6 +444,8 @@
#define HEATER_3_MINTEMP 5
#define HEATER_4_MINTEMP 5
#define HEATER_5_MINTEMP 5
#define HEATER_6_MINTEMP 5
#define HEATER_7_MINTEMP 5
#define BED_MINTEMP 5
// Above this temperature the heater will be switched off.
@@ -450,6 +457,8 @@
#define HEATER_3_MAXTEMP 275
#define HEATER_4_MAXTEMP 275
#define HEATER_5_MAXTEMP 275
#define HEATER_6_MAXTEMP 275
#define HEATER_7_MAXTEMP 275
#define BED_MAXTEMP 150
//===========================================================================
@@ -654,12 +663,13 @@
*
* A4988 is assumed for unspecified drivers.
*
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* Options: A4988, A5984, DRV8825, LV8729, L6470, L6474, POWERSTEP01,
* TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
*/
//#define X_DRIVER_TYPE A4988
//#define Y_DRIVER_TYPE A4988
@@ -668,12 +678,15 @@
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
//#define E0_DRIVER_TYPE A4988
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
@@ -855,6 +868,12 @@
*/
//#define FIX_MOUNTED_PROBE
/**
* Use the nozzle as the probe, as with a conductive
* nozzle system or a piezo-electric smart effector.
*/
//#define NOZZLE_AS_PROBE
/**
* Z Servo Probe, such as an endstop switch on a rotating arm.
*/
@@ -897,6 +916,13 @@
#define Z_PROBE_RETRACT_X X_MAX_POS
#endif
// Duet Smart Effector (for delta printers) - https://bit.ly/2ul5U7J
// When the pin is defined you can use M672 to set/reset the probe sensivity.
//#define DUET_SMART_EFFECTOR
#if ENABLED(DUET_SMART_EFFECTOR)
#define SMART_EFFECTOR_MOD_PIN -1 // Connect a GPIO pin to the Smart Effector MOD pin
#endif
//
// For Z_PROBE_ALLEN_KEY see the Delta example configurations.
//
@@ -923,7 +949,8 @@
*/
#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
// Certain types of probes need to stay away from edges
// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define MIN_PROBE_EDGE 10
// X and Y axis travel speed (mm/m) between probes
@@ -1033,15 +1060,19 @@
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false
#define INVERT_E6_DIR false
#define INVERT_E7_DIR false
// @section homing
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
//#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
// Be sure you have this distance over your Z_MAX_POS in case.
//#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
// Be sure to have this much clearance over your Z_MAX_POS to prevent grinding.
//#define Z_AFTER_HOMING 10 // (mm) Height to move to after homing Z
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
@@ -1203,6 +1234,7 @@
#define MESH_TEST_HOTEND_TEMP 205 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
#define MESH_TEST_BED_TEMP 60 // (°C) Default bed temperature for the G26 Mesh Validation Tool.
#define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool.
#define G26_RETRACT_MULTIPLIER 1.0 // G26 Q (retraction) used by default between mesh test elements.
#endif
#endif
@@ -1282,10 +1314,10 @@
//#define LEVEL_BED_CORNERS
#if ENABLED(LEVEL_BED_CORNERS)
#define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling
#define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Move nozzle up before moving between corners
#define LEVEL_CORNERS_HEIGHT 0.0 // (mm) Z height of nozzle at leveling points
//#define LEVEL_CENTER_TOO // Move to the center after the last corner
#define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
#define LEVEL_CORNERS_HEIGHT 0.0 // (mm) Z height of nozzle at leveling points
#define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Z height of nozzle between leveling points
//#define LEVEL_CENTER_TOO // Move to the center after the last corner
#endif
/**
@@ -1418,11 +1450,6 @@
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
//
// M100 Free Memory Watcher
//
//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage
//
// G20/G21 Inch mode support
//
@@ -1513,9 +1540,10 @@
// Default number of triangles
#define NOZZLE_CLEAN_TRIANGLES 3
// Specify positions as { X, Y, Z }
#define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1) }
#define NOZZLE_CLEAN_END_POINT { 100, 60, (Z_MIN_POS + 1) }
// Specify positions for each tool as { { X, Y, Z }, { X, Y, Z } }
// Dual hotend system may use { { -20, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) }, { 420, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) }}
#define NOZZLE_CLEAN_START_POINT { { 30, 30, (Z_MIN_POS + 1) } }
#define NOZZLE_CLEAN_END_POINT { { 100, 60, (Z_MIN_POS + 1) } }
// Circular pattern radius
#define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5
@@ -1769,7 +1797,7 @@
//
// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller
// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html
// https://www.aliexpress.com/item/32765887917.html
//
//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602
@@ -1936,20 +1964,26 @@
// FYSETC variant of the MINI12864 graphic controller with SD support
// https://wiki.fysetc.com/Mini12864_Panel/
//
//#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default
//#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on)
//#define FYSETC_MINI_12864_2_0 // Type A/B. Discreet RGB Backlight
//#define FYSETC_MINI_12864_2_1 // Type A/B. Neopixel RGB Backlight
//#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default
//#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on)
//#define FYSETC_MINI_12864_2_0 // Type A/B. Discreet RGB Backlight
//#define FYSETC_MINI_12864_2_1 // Type A/B. Neopixel RGB Backlight
//#define FYSETC_GENERIC_12864_1_1 // Larger display with basic ON/OFF backlight.
//
// Factory display for Creality CR-10
// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html
// https://www.aliexpress.com/item/32833148327.html
//
// This is RAMPS-compatible using a single 10-pin connector.
// (For CR-10 owners who want to replace the Melzi Creality board but retain the display)
//
//#define CR10_STOCKDISPLAY
//
// Ender-2 OEM display, a variant of the MKS_MINI_12864
//
//#define ENDER2_STOCKDISPLAY
//
// ANET and Tronxy Graphical Controller
//
@@ -1961,7 +1995,7 @@
//
// AZSMZ 12864 LCD with SD
// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html
// https://www.aliexpress.com/item/32837222770.html
//
//#define AZSMZ_12864
@@ -2018,9 +2052,11 @@
//=============================================================================
//
// DGUS Touch Display with DWIN OS
// DGUS Touch Display with DWIN OS. (Choose one.)
//
//#define DGUS_LCD
//#define DGUS_LCD_UI_ORIGIN
//#define DGUS_LCD_UI_FYSETC
//#define DGUS_LCD_UI_HIPRECY
//
// Touch-screen LCD for Malyan M200 printers

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -31,7 +31,7 @@
* Basic settings can be found in Configuration.h
*
*/
#define CONFIGURATION_ADV_H_VERSION 020000
#define CONFIGURATION_ADV_H_VERSION 020004
// @section temperature
@@ -78,6 +78,18 @@
#define HOTEND5_BETA 3950 // Beta value
#endif
#if TEMP_SENSOR_6 == 1000
#define HOTEND6_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor
#define HOTEND6_RESISTANCE_25C_OHMS 100000 // Resistance at 25C
#define HOTEND6_BETA 3950 // Beta value
#endif
#if TEMP_SENSOR_7 == 1000
#define HOTEND7_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor
#define HOTEND7_RESISTANCE_25C_OHMS 100000 // Resistance at 25C
#define HOTEND7_BETA 3950 // Beta value
#endif
#if TEMP_SENSOR_BED == 1000
#define BED_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor
#define BED_RESISTANCE_25C_OHMS 100000 // Resistance at 25C
@@ -165,28 +177,28 @@
* Thermal Protection parameters for the bed are just as above for hotends.
*/
#if ENABLED(THERMAL_PROTECTION_BED)
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
/**
* As described above, except for the bed (M140/M190/M303).
*/
#define WATCH_BED_TEMP_PERIOD 60 // Seconds
#define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius
#define WATCH_BED_TEMP_PERIOD 60 // Seconds
#define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius
#endif
/**
* Thermal Protection parameters for the heated chamber.
*/
#if ENABLED(THERMAL_PROTECTION_CHAMBER)
#define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds
#define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds
#define THERMAL_PROTECTION_CHAMBER_HYSTERESIS 2 // Degrees Celsius
/**
* Heated chamber watch settings (M141/M191).
*/
#define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds
#define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius
#define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds
#define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius
#endif
#if ENABLED(PIDTEMP)
@@ -368,7 +380,7 @@
* FAST_PWM_FAN_FREQUENCY [undefined by default]
* Set this to your desired frequency.
* If left undefined this defaults to F = F_CPU/(2*255*1)
* ie F = 31.4 Khz on 16 MHz microcontrollers or F = 39.2 KHz on 20 MHz microcontrollers
* i.e., F = 31.4kHz on 16MHz microcontrollers or F = 39.2kHz on 20MHz microcontrollers.
* These defaults are the same as with the old FAST_PWM_FAN implementation - no migration is required
* NOTE: Setting very low frequencies (< 10 Hz) may result in unexpected timer behavior.
*
@@ -479,7 +491,7 @@
//#define X_DUAL_ENDSTOPS
#if ENABLED(X_DUAL_ENDSTOPS)
#define X2_USE_ENDSTOP _XMAX_
#define X_DUAL_ENDSTOPS_ADJUSTMENT 0
#define X2_ENDSTOP_ADJUSTMENT 0
#endif
#endif
@@ -489,27 +501,28 @@
//#define Y_DUAL_ENDSTOPS
#if ENABLED(Y_DUAL_ENDSTOPS)
#define Y2_USE_ENDSTOP _YMAX_
#define Y_DUAL_ENDSTOPS_ADJUSTMENT 0
#define Y2_ENDSTOP_ADJUSTMENT 0
#endif
#endif
//#define Z_DUAL_STEPPER_DRIVERS
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
//#define Z_DUAL_ENDSTOPS
#if ENABLED(Z_DUAL_ENDSTOPS)
#define Z2_USE_ENDSTOP _XMAX_
#define Z_DUAL_ENDSTOPS_ADJUSTMENT 0
#endif
#endif
//
// For Z set the number of stepper drivers
//
#define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many
//#define Z_TRIPLE_STEPPER_DRIVERS
#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
//#define Z_TRIPLE_ENDSTOPS
#if ENABLED(Z_TRIPLE_ENDSTOPS)
#define Z2_USE_ENDSTOP _XMAX_
#define Z3_USE_ENDSTOP _YMAX_
#define Z_TRIPLE_ENDSTOPS_ADJUSTMENT2 0
#define Z_TRIPLE_ENDSTOPS_ADJUSTMENT3 0
#if NUM_Z_STEPPER_DRIVERS > 1
//#define Z_MULTI_ENDSTOPS
#if ENABLED(Z_MULTI_ENDSTOPS)
#define Z2_USE_ENDSTOP _XMAX_
#define Z2_ENDSTOP_ADJUSTMENT 0
#if NUM_Z_STEPPER_DRIVERS >= 3
#define Z3_USE_ENDSTOP _YMAX_
#define Z3_ENDSTOP_ADJUSTMENT 0
#endif
#if NUM_Z_STEPPER_DRIVERS >= 4
#define Z4_USE_ENDSTOP _ZMAX_
#define Z4_ENDSTOP_ADJUSTMENT 0
#endif
#endif
#endif
@@ -655,11 +668,37 @@
*/
//#define Z_STEPPER_AUTO_ALIGN
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
// Define probe X and Y positions for Z1, Z2 [, Z3]
#define Z_STEPPER_ALIGN_XY { { 10, 290 }, { 150, 10 }, { 290, 290 } }
// Define probe X and Y positions for Z1, Z2 [, Z3 [, Z4]]
// If not defined, probe limits will be used.
// Override with 'M422 S<index> X<pos> Y<pos>'
//#define Z_STEPPER_ALIGN_XY { { 10, 190 }, { 100, 10 }, { 190, 190 } }
/**
* Orientation for the automatically-calculated probe positions.
* Override Z stepper align points with 'M422 S<index> X<pos> Y<pos>'
*
* 2 Steppers: (0) (1)
* | | 2 |
* | 1 2 | |
* | | 1 |
*
* 3 Steppers: (0) (1) (2) (3)
* | 3 | 1 | 2 1 | 2 |
* | | 3 | | 3 |
* | 1 2 | 2 | 3 | 1 |
*
* 4 Steppers: (0) (1) (2) (3)
* | 4 3 | 1 4 | 2 1 | 3 2 |
* | | | | |
* | 1 2 | 2 3 | 3 4 | 4 1 |
*
*/
#ifndef Z_STEPPER_ALIGN_XY
//#define Z_STEPPERS_ORIENTATION 0
#endif
// Provide Z stepper positions for more rapid convergence in bed alignment.
// Currently requires triple stepper drivers.
// Requires triple stepper drivers (i.e., set NUM_Z_STEPPER_DRIVERS to 3)
//#define Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
// Define Stepper XY positions for Z1, Z2, Z3 corresponding to
@@ -667,23 +706,16 @@
// Define one position per Z stepper in stepper driver order.
#define Z_STEPPER_ALIGN_STEPPER_XY { { 210.7, 102.5 }, { 152.6, 220.0 }, { 94.5, 102.5 } }
#else
// Amplification factor. Used to scale the correction step up or down.
// In case the stepper (spindle) position is further out than the test point.
// Use a value > 1. NOTE: This may cause instability
#define Z_STEPPER_ALIGN_AMP 1.0
// Amplification factor. Used to scale the correction step up or down in case
// the stepper (spindle) position is farther out than the test point.
#define Z_STEPPER_ALIGN_AMP 1.0 // Use a value > 1.0 NOTE: This may cause instability!
#endif
// Set number of iterations to align
#define Z_STEPPER_ALIGN_ITERATIONS 3
// Enable to restore leveling setup after operation
#define RESTORE_LEVELING_AFTER_G34
// On a 300mm bed a 5% grade would give a misalignment of ~1.5cm
#define G34_MAX_GRADE 5 // (%) Maximum incline G34 will handle
// Stop criterion. If the accuracy is better than this stop iterating early
#define Z_STEPPER_ALIGN_ACC 0.02
#define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle
#define Z_STEPPER_ALIGN_ITERATIONS 5 // Number of iterations to apply during alignment
#define Z_STEPPER_ALIGN_ACC 0.02 // Stop iterating early if the accuracy is better than this
#define RESTORE_LEVELING_AFTER_G34 // Restore leveling after G34 is done?
#endif
// @section motion
@@ -806,10 +838,10 @@
// probing on a screwhead or hollow washer, probe near the edges.
//#define CALIBRATION_MEASURE_AT_TOP_EDGES
// Define pin which is read during calibration
// Define the pin to read during calibration
#ifndef CALIBRATION_PIN
#define CALIBRATION_PIN -1 // Override in pins.h or set to -1 to use your Z endstop
#define CALIBRATION_PIN_INVERTING false // Set to true to invert the pin
//#define CALIBRATION_PIN -1 // Define here to override the default pin
#define CALIBRATION_PIN_INVERTING false // Set to true to invert the custom pin
//#define CALIBRATION_PIN_PULLDOWN
#define CALIBRATION_PIN_PULLUP
#endif
@@ -1243,6 +1275,44 @@
#endif // HAS_GRAPHICAL_LCD
//
// Additional options for DGUS / DWIN displays
//
#if HAS_DGUS_LCD
#define DGUS_SERIAL_PORT 2
#define DGUS_BAUDRATE 115200
#define DGUS_RX_BUFFER_SIZE 128
#define DGUS_TX_BUFFER_SIZE 48
//#define DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR)
#define DGUS_UPDATE_INTERVAL_MS 500 // (ms) Interval between automatic screen updates
#define BOOTSCREEN_TIMEOUT 3000 // (ms) Duration to display the boot screen
#if EITHER(DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY)
#define DGUS_PRINT_FILENAME // Display the filename during printing
#define DGUS_PREHEAT_UI // Display a preheat screen during heatup
#if ENABLED(DGUS_LCD_UI_FYSETC)
//#define DUGS_UI_MOVE_DIS_OPTION // Disabled by default for UI_FYSETC
#else
#define DUGS_UI_MOVE_DIS_OPTION // Enabled by default for UI_HIPRECY
#endif
#define DGUS_FILAMENT_LOADUNLOAD
#if ENABLED(DGUS_FILAMENT_LOADUNLOAD)
#define DGUS_FILAMENT_PURGE_LENGTH 10
#define DGUS_FILAMENT_LOAD_LENGTH_PER_TIME 0.5 // (mm) Adjust in proportion to DGUS_UPDATE_INTERVAL_MS
#endif
#define DGUS_UI_WAITING // Show a "waiting" screen between some screens
#if ENABLED(DGUS_UI_WAITING)
#define DGUS_UI_WAITING_STATUS 10
#define DGUS_UI_WAITING_STATUS_PERIOD 8 // Increase to slower waiting status looping
#endif
#endif
#endif // HAS_DGUS_LCD
//
// Touch UI for the FTDI Embedded Video Engine (EVE)
//
@@ -1263,9 +1333,11 @@
//#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping
//#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping
//#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping
//#define S6_TFT_PINMAP // FYSETC S6 pin mapping
//#define OTHER_PIN_LAYOUT // Define pins manually below
#if ENABLED(OTHER_PIN_LAYOUT)
// The pins for CS and MOD_RESET (PD) must be chosen.
// Pins for CS and MOD_RESET (PD) must be chosen
#define CLCD_MOD_RESET 9
#define CLCD_SPI_CS 10
@@ -1341,6 +1413,13 @@
//#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan
#endif
//
// ADC Button Debounce
//
#if HAS_ADC_BUTTONS
#define ADC_BUTTON_DEBOUNCE_DELAY 16 // (ms) Increase if buttons bounce or repeat too fast
#endif
// @section safety
/**
@@ -1368,6 +1447,7 @@
*/
//#define BABYSTEPPING
#if ENABLED(BABYSTEPPING)
//#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR
//#define BABYSTEP_WITHOUT_HOMING
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
@@ -1438,7 +1518,8 @@
* Override MIN_PROBE_EDGE for each side of the build plate
* Useful to get probe points to exact positions on targets or
* to allow leveling to avoid plate clamps on only specific
* sides of the bed.
* sides of the bed. With NOZZLE_AS_PROBE negative values are
* allowed, to permit probing outside the bed.
*
* If you are replacing the prior *_PROBE_BED_POSITION options,
* LEFT and FRONT values in most cases will map directly over
@@ -1483,18 +1564,57 @@
#endif
/**
* Thermal Probe Compensation
* Probe measurements are adjusted to compensate for temperature distortion.
* Use G76 to calibrate this feature. Use M871 to set values manually.
* For a more detailed explanation of the process see G76_M871.cpp.
*/
#if HAS_BED_PROBE && TEMP_SENSOR_PROBE && TEMP_SENSOR_BED
// Enable thermal first layer compensation using bed and probe temperatures
#define PROBE_TEMP_COMPENSATION
// Add additional compensation depending on hotend temperature
// Note: this values cannot be calibrated and have to be set manually
#if ENABLED(PROBE_TEMP_COMPENSATION)
// Max temperature that can be reached by heated bed.
// This is required only for the calibration process.
#define PTC_MAX_BED_TEMP 110
// Park position to wait for probe cooldown
#define PTC_PARK_POS_X 0.0F
#define PTC_PARK_POS_Y 0.0F
#define PTC_PARK_POS_Z 100.0F
// Probe position to probe and wait for probe to reach target temperature
#define PTC_PROBE_POS_X 90.0F
#define PTC_PROBE_POS_Y 100.0F
// Enable additional compensation using hotend temperature
// Note: this values cannot be calibrated automatically but have to be set manually
//#define USE_TEMP_EXT_COMPENSATION
#endif
#endif
// @section extras
//
// G60/G61 Position Save and Return
//
//#define SAVED_POSITIONS 1 // Each saved position slot costs 12 bytes
//
// G2/G3 Arc Support
//
#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
#if ENABLED(ARC_SUPPORT)
#define MM_PER_ARC_SEGMENT 1 // Length of each arc segment
#define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle
#define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections
//#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles
//#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes
#define MM_PER_ARC_SEGMENT 1 // (mm) Length (or minimum length) of each arc segment
//#define ARC_SEGMENTS_PER_R 1 // Max segment length, MM_PER = Min
#define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle
//#define ARC_SEGMENTS_PER_SEC 50 // Use feedrate to choose segment length (with MM_PER_ARC_SEGMENT as the minimum)
#define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections
//#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles
//#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes
#endif
// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
@@ -1548,12 +1668,12 @@
/**
* Maximum stepping rate (in Hz) the stepper driver allows
* If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE)
* 500000 : Maximum for A4988 stepper driver
* 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver
* 200000 : Maximum for LV8729 stepper driver
* 150000 : Maximum for TB6600 stepper driver
* 15000 : Maximum for TB6560 stepper driver
* 5000000 : Maximum for TMC2xxx stepper drivers
* 1000000 : Maximum for LV8729 stepper driver
* 500000 : Maximum for A4988 stepper driver
* 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver
* 15000 : Maximum for TB6560 stepper driver
*
* Override the default value based on the driver type set in Configuration.h.
*/
@@ -1691,6 +1811,9 @@
// Z raise distance for tool-change, as needed for some extruders
#define TOOLCHANGE_ZRAISE 2 // (mm)
//#define TOOLCHANGE_NO_RETURN // Never return to the previous position on tool-change
#if ENABLED(TOOLCHANGE_NO_RETURN)
//#define EVENT_GCODE_AFTER_TOOLCHANGE "G12X" // G-code to run after tool-change is complete
#endif
// Retract and prime filament on tool-change
//#define TOOLCHANGE_FILAMENT_SWAP
@@ -1751,9 +1874,10 @@
//#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused.
// Filament Unload does a Retract, Delay, and Purge first:
#define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length.
#define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract.
#define FILAMENT_UNLOAD_PURGE_RETRACT 13 // (mm) Unload initial retract length.
#define FILAMENT_UNLOAD_PURGE_DELAY 5000 // (ms) Delay for the filament to cool after retract.
#define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged.
#define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload
#define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety.
#define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed.
@@ -1818,6 +1942,12 @@
#define Z3_MICROSTEPS 16
#endif
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
#define Z4_MAX_CURRENT 1000
#define Z4_SENSE_RESISTOR 91
#define Z4_MICROSTEPS 16
#endif
#if AXIS_DRIVER_TYPE_E0(TMC26X)
#define E0_MAX_CURRENT 1000
#define E0_SENSE_RESISTOR 91
@@ -1854,6 +1984,18 @@
#define E5_MICROSTEPS 16
#endif
#if AXIS_DRIVER_TYPE_E6(TMC26X)
#define E6_MAX_CURRENT 1000
#define E6_SENSE_RESISTOR 91
#define E6_MICROSTEPS 16
#endif
#if AXIS_DRIVER_TYPE_E7(TMC26X)
#define E7_MAX_CURRENT 1000
#define E7_SENSE_RESISTOR 91
#define E7_MICROSTEPS 16
#endif
#endif // TMC26X
// @section tmc_smart
@@ -1935,6 +2077,14 @@
#define Z3_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z4)
#define Z4_CURRENT 800
#define Z4_CURRENT_HOME Z4_CURRENT
#define Z4_MICROSTEPS 16
#define Z4_RSENSE 0.11
#define Z4_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 800
#define E0_MICROSTEPS 16
@@ -1977,6 +2127,20 @@
#define E5_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E6)
#define E6_CURRENT 800
#define E6_MICROSTEPS 16
#define E6_RSENSE 0.11
#define E6_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E7)
#define E7_CURRENT 800
#define E7_MICROSTEPS 16
#define E7_RSENSE 0.11
#define E7_CHAIN_POS -1
#endif
/**
* Override default SPI pins for TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160 drivers here.
* The default pins can be found in your board's pins file.
@@ -1994,6 +2158,8 @@
//#define E3_CS_PIN -1
//#define E4_CS_PIN -1
//#define E5_CS_PIN -1
//#define E6_CS_PIN -1
//#define E7_CS_PIN -1
/**
* Software option for SPI driven drivers (TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160).
@@ -2024,12 +2190,15 @@
#define Y2_SLAVE_ADDRESS 0
#define Z2_SLAVE_ADDRESS 0
#define Z3_SLAVE_ADDRESS 0
#define Z4_SLAVE_ADDRESS 0
#define E0_SLAVE_ADDRESS 0
#define E1_SLAVE_ADDRESS 0
#define E2_SLAVE_ADDRESS 0
#define E3_SLAVE_ADDRESS 0
#define E4_SLAVE_ADDRESS 0
#define E5_SLAVE_ADDRESS 0
#define E6_SLAVE_ADDRESS 0
#define E7_SLAVE_ADDRESS 0
/**
* Software enable
@@ -2099,12 +2268,15 @@
#define Z_HYBRID_THRESHOLD 3
#define Z2_HYBRID_THRESHOLD 3
#define Z3_HYBRID_THRESHOLD 3
#define Z4_HYBRID_THRESHOLD 3
#define E0_HYBRID_THRESHOLD 30
#define E1_HYBRID_THRESHOLD 30
#define E2_HYBRID_THRESHOLD 30
#define E3_HYBRID_THRESHOLD 30
#define E4_HYBRID_THRESHOLD 30
#define E5_HYBRID_THRESHOLD 30
#define E6_HYBRID_THRESHOLD 30
#define E7_HYBRID_THRESHOLD 30
/**
* Use StallGuard2 to home / probe X, Y, Z.
@@ -2128,8 +2300,6 @@
*
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
* homing and adds a guard period for endstop triggering.
*
* TMC2209 requires STEALTHCHOP enabled for SENSORLESS_HOMING
*/
//#define SENSORLESS_HOMING // StallGuard capable drivers only
@@ -2148,7 +2318,6 @@
#define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY
#endif
@@ -2179,12 +2348,12 @@
#endif // HAS_TRINAMIC
// @section L6470
// @section L64XX
/**
* L6470 Stepper Driver options
* L64XX Stepper Driver options
*
* Arduino-L6470 library (0.7.0 or higher) is required for this stepper driver.
* Arduino-L6470 library (0.8.0 or higher) is required.
* https://github.com/ameyer/Arduino-L6470
*
* Requires the following to be defined in your pins_YOUR_BOARD file
@@ -2192,114 +2361,160 @@
* L6470_CHAIN_MISO_PIN
* L6470_CHAIN_MOSI_PIN
* L6470_CHAIN_SS_PIN
* L6470_RESET_CHAIN_PIN (optional)
* ENABLE_RESET_L64XX_CHIPS(Q) where Q is 1 to enable and 0 to reset
*/
#if HAS_DRIVER(L6470)
#if HAS_L64XX
//#define L6470_CHITCHAT // Display additional status info
#if AXIS_DRIVER_TYPE_X(L6470)
#define X_MICROSTEPS 128 // Number of microsteps (VALID: 1, 2, 4, 8, 16, 32, 128)
#define X_OVERCURRENT 2000 // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
#define X_STALLCURRENT 1500 // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) - 4A max - rounds down)
#define X_MAX_VOLTAGE 127 // 0-255, Maximum effective voltage seen by stepper
#define X_CHAIN_POS -1 // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
#if AXIS_IS_L64XX(X)
#define X_MICROSTEPS 128 // Number of microsteps (VALID: 1, 2, 4, 8, 16, 32, 128) - L6474 max is 16
#define X_OVERCURRENT 2000 // (mA) Current where the driver detects an over current
// L6470 & L6474 - VALID: 375 x (1 - 16) - 6A max - rounds down
// POWERSTEP01: VALID: 1000 x (1 - 32) - 32A max - rounds down
#define X_STALLCURRENT 1500 // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) - 4A max - rounds down)
// L6470 & L6474 - VALID: 31.25 * (1-128) - 4A max - rounds down
// POWERSTEP01: VALID: 200 x (1 - 32) - 6.4A max - rounds down
// L6474 - STALLCURRENT setting is used to set the nominal (TVAL) current
#define X_MAX_VOLTAGE 127 // 0-255, Maximum effective voltage seen by stepper - not used by L6474
#define X_CHAIN_POS -1 // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
#define X_SLEW_RATE 1 // 0-3, Slew 0 is slowest, 3 is fastest
#endif
#if AXIS_DRIVER_TYPE_X2(L6470)
#if AXIS_IS_L64XX(X2)
#define X2_MICROSTEPS 128
#define X2_OVERCURRENT 2000
#define X2_STALLCURRENT 1500
#define X2_MAX_VOLTAGE 127
#define X2_CHAIN_POS -1
#define X2_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_Y(L6470)
#if AXIS_IS_L64XX(Y)
#define Y_MICROSTEPS 128
#define Y_OVERCURRENT 2000
#define Y_STALLCURRENT 1500
#define Y_MAX_VOLTAGE 127
#define Y_CHAIN_POS -1
#define Y_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_Y2(L6470)
#if AXIS_IS_L64XX(Y2)
#define Y2_MICROSTEPS 128
#define Y2_OVERCURRENT 2000
#define Y2_STALLCURRENT 1500
#define Y2_MAX_VOLTAGE 127
#define Y2_CHAIN_POS -1
#define Y2_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_Z(L6470)
#if AXIS_IS_L64XX(Z)
#define Z_MICROSTEPS 128
#define Z_OVERCURRENT 2000
#define Z_STALLCURRENT 1500
#define Z_MAX_VOLTAGE 127
#define Z_CHAIN_POS -1
#define Z_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_Z2(L6470)
#if AXIS_IS_L64XX(Z2)
#define Z2_MICROSTEPS 128
#define Z2_OVERCURRENT 2000
#define Z2_STALLCURRENT 1500
#define Z2_MAX_VOLTAGE 127
#define Z2_CHAIN_POS -1
#define Z2_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_Z3(L6470)
#if AXIS_IS_L64XX(Z3)
#define Z3_MICROSTEPS 128
#define Z3_OVERCURRENT 2000
#define Z3_STALLCURRENT 1500
#define Z3_MAX_VOLTAGE 127
#define Z3_CHAIN_POS -1
#define Z3_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_E0(L6470)
#if AXIS_IS_L64XX(Z4)
#define Z4_MICROSTEPS 128
#define Z4_OVERCURRENT 2000
#define Z4_STALLCURRENT 1500
#define Z4_MAX_VOLTAGE 127
#define Z4_CHAIN_POS -1
#define Z4_SLEW_RATE 1
#endif
#if AXIS_IS_L64XX(E0)
#define E0_MICROSTEPS 128
#define E0_OVERCURRENT 2000
#define E0_STALLCURRENT 1500
#define E0_MAX_VOLTAGE 127
#define E0_CHAIN_POS -1
#define E0_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_E1(L6470)
#if AXIS_IS_L64XX(E1)
#define E1_MICROSTEPS 128
#define E1_OVERCURRENT 2000
#define E1_STALLCURRENT 1500
#define E1_MAX_VOLTAGE 127
#define E1_CHAIN_POS -1
#define E1_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_E2(L6470)
#if AXIS_IS_L64XX(E2)
#define E2_MICROSTEPS 128
#define E2_OVERCURRENT 2000
#define E2_STALLCURRENT 1500
#define E2_MAX_VOLTAGE 127
#define E2_CHAIN_POS -1
#define E2_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_E3(L6470)
#if AXIS_IS_L64XX(E3)
#define E3_MICROSTEPS 128
#define E3_OVERCURRENT 2000
#define E3_STALLCURRENT 1500
#define E3_MAX_VOLTAGE 127
#define E3_CHAIN_POS -1
#define E3_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_E4(L6470)
#if AXIS_IS_L64XX(E4)
#define E4_MICROSTEPS 128
#define E4_OVERCURRENT 2000
#define E4_STALLCURRENT 1500
#define E4_MAX_VOLTAGE 127
#define E4_CHAIN_POS -1
#define E4_SLEW_RATE 1
#endif
#if AXIS_DRIVER_TYPE_E5(L6470)
#if AXIS_IS_L64XX(E5)
#define E5_MICROSTEPS 128
#define E5_OVERCURRENT 2000
#define E5_STALLCURRENT 1500
#define E5_MAX_VOLTAGE 127
#define E5_CHAIN_POS -1
#define E5_SLEW_RATE 1
#endif
#if AXIS_IS_L64XX(E6)
#define E6_MICROSTEPS 128
#define E6_OVERCURRENT 2000
#define E6_STALLCURRENT 1500
#define E6_MAX_VOLTAGE 127
#define E6_CHAIN_POS -1
#define E6_SLEW_RATE 1
#endif
#if AXIS_IS_L64XX(E7)
#define E7_MICROSTEPS 128
#define E7_OVERCURRENT 2000
#define E7_STALLCURRENT 1500
#define E7_MAX_VOLTAGE 127
#define E7_CHAIN_POS -1
#define E7_SLEW_RATE 1
#endif
/**
@@ -2311,7 +2526,7 @@
* I not present or I0 or I1 - X, Y, Z or E0
* I2 - X2, Y2, Z2 or E1
* I3 - Z3 or E3
* I4 - E4
* I4 - Z4 or E4
* I5 - E5
* M916 - Increase drive level until get thermal warning
* M917 - Find minimum current thresholds
@@ -2325,7 +2540,15 @@
//#define L6470_STOP_ON_ERROR
#endif
#endif // L6470
#endif // HAS_L64XX
// @section i2cbus
//
// I2C Master ID for LPC176x LCD and Digital Current control
// Does not apply to other peripherals based on the Wire library.
//
//#define I2C_MASTER_ID 1 // Set a value from 0 to 2
/**
* TWI/I2C BUS
@@ -2355,10 +2578,10 @@
* echo:i2c-reply: from:99 bytes:5 data:hello
*/
// @section i2cbus
//#define EXPERIMENTAL_I2CBUS
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
#if ENABLED(EXPERIMENTAL_I2CBUS)
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
#endif
// @section extras
@@ -2387,6 +2610,20 @@
// Duration to hold the switch or keep CHDK_PIN high
//#define PHOTO_SWITCH_MS 50 // (ms) (M240 D)
/**
* PHOTO_PULSES_US may need adjustment depending on board and camera model.
* Pin must be running at 48.4kHz.
* Be sure to use a PHOTOGRAPH_PIN which can rise and fall quick enough.
* (e.g., MKS SBase temp sensor pin was too slow, so used P1.23 on J8.)
*
* Example pulse data for Nikon: https://bit.ly/2FKD0Aq
* IR Wiring: https://git.io/JvJf7
*/
//#define PHOTO_PULSES_US { 2000, 27850, 400, 1580, 400, 3580, 400 } // (µs) Durations for each 48.4kHz oscillation
#ifdef PHOTO_PULSES_US
#define PHOTO_PULSE_DELAY_US 13 // (µs) Approximate duration of each HIGH and LOW pulse in the oscillation
#endif
#endif
/**
@@ -2550,6 +2787,10 @@
*/
#define FASTER_GCODE_PARSER
#if ENABLED(FASTER_GCODE_PARSER)
//#define GCODE_QUOTED_STRINGS // Support for quoted string parameters
#endif
/**
* CNC G-code options
* Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
@@ -2726,7 +2967,11 @@
#define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2
#define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2
// Use M119 to find reasonable values after connecting your hardware:
//#define INVERT_JOY_X // Enable if X direction is reversed
//#define INVERT_JOY_Y // Enable if Y direction is reversed
//#define INVERT_JOY_Z // Enable if Z direction is reversed
// Use M119 with JOYSTICK_DEBUG to find reasonable values after connecting:
#define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max
#define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 }
#define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 }
@@ -2781,12 +3026,23 @@
/**
* WiFi Support (Espressif ESP32 WiFi)
*/
//#define WIFISUPPORT
#if ENABLED(WIFISUPPORT)
#define WIFI_SSID "Wifi SSID"
#define WIFI_PWD "Wifi Password"
//#define WEBSUPPORT // Start a webserver with auto-discovery
//#define OTASUPPORT // Support over-the-air firmware updates
//#define WIFISUPPORT // Marlin embedded WiFi managenent
//#define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib)
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)
//#define WEBSUPPORT // Start a webserver (which may include auto-discovery)
//#define OTASUPPORT // Support over-the-air firmware updates
//#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host
/**
* To set a default WiFi SSID / Password, create a file called Configuration_Secure.h with
* the following defines, customized for your network. This specific file is excluded via
* .gitignore to prevent it from accidentally leaking to the public.
*
* #define WIFI_SSID "WiFi SSID"
* #define WIFI_PWD "WiFi Password"
*/
//#include "Configuration_Secure.h" // External file with WiFi SSID / Password
#endif
/**
@@ -2858,9 +3114,14 @@
// @section develop
/**
* M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
*/
//
// M100 Free Memory Watcher to debug memory usage
//
//#define M100_FREE_MEMORY_WATCHER
//
// M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe
//
//#define PINS_DEBUGGING
// Enable Marlin dev mode which adds some special commands

View File

@@ -180,88 +180,93 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1105)
else ifeq ($(HARDWARE_MOTHERBOARD),1106)
# MKS v1.5 with Allegro A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1107)
# MKS BASE 1.0 with Heroic HR4982 stepper drivers
# MKS v1.6 with Allegro A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1108)
# MKS GEN v1.3 or 1.4
# MKS BASE 1.0 with Heroic HR4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1109)
# MKS GEN L
# MKS GEN v1.3 or 1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1110)
# zrib V2.0 control board (Chinese knock off RAMPS replica)
# MKS GEN L
else ifeq ($(HARDWARE_MOTHERBOARD),1111)
# Bigtreetech or BIQU KFB2.0
# zrib V2.0 control board (Chinese knock off RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1112)
# Felix 2.0+ Electronics Board (RAMPS like)
# BigTreeTech or BIQU KFB2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1113)
# Invent-A-Part RigidBoard
# Felix 2.0+ Electronics Board (RAMPS like)
else ifeq ($(HARDWARE_MOTHERBOARD),1114)
# Invent-A-Part RigidBoard V2
# Invent-A-Part RigidBoard
else ifeq ($(HARDWARE_MOTHERBOARD),1115)
# Sainsmart 2-in-1 board
# Invent-A-Part RigidBoard V2
else ifeq ($(HARDWARE_MOTHERBOARD),1116)
# Ultimaker
# Sainsmart 2-in-1 board
else ifeq ($(HARDWARE_MOTHERBOARD),1117)
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
# Ultimaker
else ifeq ($(HARDWARE_MOTHERBOARD),1118)
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
else ifeq ($(HARDWARE_MOTHERBOARD),1119)
MCU ?= atmega1280
# Azteeg X3
else ifeq ($(HARDWARE_MOTHERBOARD),1119)
# Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1120)
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
# Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1121)
# Rumba
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
else ifeq ($(HARDWARE_MOTHERBOARD),1122)
# Raise3D Rumba
# Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1123)
# Rapide Lite RL200 Rumba
# Raise3D Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1124)
# Formbot T-Rex 2 Plus
# Rapide Lite RL200 Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1125)
# Formbot T-Rex 3
# Formbot T-Rex 2 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1126)
# Formbot Raptor
# Formbot T-Rex 3
else ifeq ($(HARDWARE_MOTHERBOARD),1127)
# Formbot Raptor 2
# Formbot Raptor
else ifeq ($(HARDWARE_MOTHERBOARD),1128)
# bq ZUM Mega 3D
# Formbot Raptor 2
else ifeq ($(HARDWARE_MOTHERBOARD),1129)
# MakeBoard Mini v2.1.2 is a control board sold by MicroMake
# bq ZUM Mega 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1130)
# TriGorilla Anycubic version 1.3 based on RAMPS EFB
# MakeBoard Mini v2.1.2 is a control board sold by MicroMake
else ifeq ($(HARDWARE_MOTHERBOARD),1131)
# TriGorilla Anycubic version 1.4 based on RAMPS EFB
# TriGorilla Anycubic version 1.3 based on RAMPS EFB
else ifeq ($(HARDWARE_MOTHERBOARD),1132)
# TriGorilla Anycubic version 1.4 Rev 1.1
# TriGorilla Anycubic version 1.4 based on RAMPS EFB
else ifeq ($(HARDWARE_MOTHERBOARD),1133)
# Creality: Ender-4, CR-8
# TriGorilla Anycubic version 1.4 Rev 1.1
else ifeq ($(HARDWARE_MOTHERBOARD),1134)
# Creality: CR10S, CR20, CR-X
# Creality: Ender-4, CR-8
else ifeq ($(HARDWARE_MOTHERBOARD),1135)
# Dagoma F5
# Creality: CR10S, CR20, CR-X
else ifeq ($(HARDWARE_MOTHERBOARD),1136)
# FYSETC F6
# Dagoma F5
else ifeq ($(HARDWARE_MOTHERBOARD),1137)
# Duplicator i3 Plus
# FYSETC F6 1.3
else ifeq ($(HARDWARE_MOTHERBOARD),1138)
# VORON
# FYSETC F6 1.5
else ifeq ($(HARDWARE_MOTHERBOARD),1139)
# TRONXY V3 1.0
# Duplicator i3 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1140)
# Z-Bolt X Series
# VORON
else ifeq ($(HARDWARE_MOTHERBOARD),1141)
# TT OSCAR
# TRONXY V3 1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1142)
# Overlord/Overlord Pro
# Z-Bolt X Series
else ifeq ($(HARDWARE_MOTHERBOARD),1143)
# ADIMLab Gantry v1
# TT OSCAR
else ifeq ($(HARDWARE_MOTHERBOARD),1144)
# ADIMLab Gantry v2
# Overlord/Overlord Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1145)
# BIQU Tango V1
# ADIMLab Gantry v1
else ifeq ($(HARDWARE_MOTHERBOARD),1146)
# MKS GEN L V2
# ADIMLab Gantry v2
else ifeq ($(HARDWARE_MOTHERBOARD),1147)
# BIQU Tango V1
else ifeq ($(HARDWARE_MOTHERBOARD),1148)
# MKS GEN L V2
else ifeq ($(HARDWARE_MOTHERBOARD),1149)
#
# RAMBo and derivatives
@@ -784,11 +789,11 @@ sym: $(BUILD_DIR)/$(TARGET).sym
# Do not try to reset an Arduino if it's not one
upload: $(BUILD_DIR)/$(TARGET).hex
ifeq (${AVRDUDE_PROGRAMMER}, arduino)
stty hup < $(UPLOAD_PORT); true
stty hup < $(UPLOAD_PORT); true
endif
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
ifeq (${AVRDUDE_PROGRAMMER}, arduino)
stty -hup < $(UPLOAD_PORT); true
stty -hup < $(UPLOAD_PORT); true
endif
# Display size of file.
@@ -796,10 +801,10 @@ HEXSIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex
ELFSIZE = $(SIZE) $(SIZE_FLAGS) $(BUILD_DIR)/$(TARGET).elf; \
$(SIZE) $(BUILD_DIR)/$(TARGET).elf
sizebefore:
$P if [ -f $(BUILD_DIR)/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(HEXSIZE); echo; fi
$P if [ -f $(BUILD_DIR)/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(HEXSIZE); echo; fi
sizeafter: build
$P if [ -f $(BUILD_DIR)/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
$P if [ -f $(BUILD_DIR)/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
@@ -811,71 +816,71 @@ COFFCONVERT=$(OBJCOPY) --debugging \
coff: $(BUILD_DIR)/$(TARGET).elf
$(COFFCONVERT) -O coff-avr $(BUILD_DIR)/$(TARGET).elf $(TARGET).cof
$(COFFCONVERT) -O coff-avr $(BUILD_DIR)/$(TARGET).elf $(TARGET).cof
extcoff: $(TARGET).elf
$(COFFCONVERT) -O coff-ext-avr $(BUILD_DIR)/$(TARGET).elf $(TARGET).cof
$(COFFCONVERT) -O coff-ext-avr $(BUILD_DIR)/$(TARGET).elf $(TARGET).cof
.SUFFIXES: .elf .hex .eep .lss .sym .bin
.PRECIOUS: .o
.elf.hex:
$(Pecho) " COPY $@"
$P $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
$(Pecho) " COPY $@"
$P $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
.elf.bin:
$(Pecho) " COPY $@"
$P $(OBJCOPY) -O binary -R .eeprom $< $@
$(Pecho) " COPY $@"
$P $(OBJCOPY) -O binary -R .eeprom $< $@
.elf.eep:
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
.elf.lss:
$(OBJDUMP) -h -S $< > $@
$(OBJDUMP) -h -S $< > $@
# Create a symbol table from ELF output file.
.elf.sym:
$(NM) -n $< > $@
$(NM) -n $< > $@
# Link: create ELF output file from library.
$(BUILD_DIR)/$(TARGET).elf: $(OBJ) Configuration.h
$(Pecho) " CXX $@"
$P $(CC) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX)
$(Pecho) " CXX $@"
$P $(CC) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX)
# Object files that were found in "src" will be stored in $(BUILD_DIR)
# in directories that mirror the structure of "src"
$(BUILD_DIR)/%.o: %.c Configuration.h Configuration_adv.h $(MAKEFILE)
$(Pecho) " CC $<"
$P $(CC) -MMD -c $(ALL_CFLAGS) $(CWARN) $< -o $@
$(Pecho) " CC $<"
$P $(CC) -MMD -c $(ALL_CFLAGS) $(CWARN) $< -o $@
$(BUILD_DIR)/%.o: %.cpp Configuration.h Configuration_adv.h $(MAKEFILE)
$(Pecho) " CXX $<"
$P $(CXX) -MMD -c $(ALL_CXXFLAGS) $(CXXWARN) $< -o $@
$(Pecho) " CXX $<"
$P $(CXX) -MMD -c $(ALL_CXXFLAGS) $(CXXWARN) $< -o $@
# Object files for Arduino libs will be created in $(BUILD_DIR)/arduino
$(BUILD_DIR)/arduino/%.o: %.c Configuration.h Configuration_adv.h $(MAKEFILE)
$(Pecho) " CC $<"
$P $(CC) -MMD -c $(ALL_CFLAGS) $(LIBWARN) $< -o $@
$(Pecho) " CC $<"
$P $(CC) -MMD -c $(ALL_CFLAGS) $(LIBWARN) $< -o $@
$(BUILD_DIR)/arduino/%.o: %.cpp Configuration.h Configuration_adv.h $(MAKEFILE)
$(Pecho) " CXX $<"
$P $(CXX) -MMD -c $(ALL_CXXFLAGS) $(LIBWARN) $< -o $@
$(Pecho) " CXX $<"
$P $(CXX) -MMD -c $(ALL_CXXFLAGS) $(LIBWARN) $< -o $@
$(BUILD_DIR)/arduino/%.o: %.S $(MAKEFILE)
$(Pecho) " CXX $<"
$P $(CXX) -MMD -c $(ALL_ASFLAGS) $< -o $@
$(Pecho) " CXX $<"
$P $(CXX) -MMD -c $(ALL_ASFLAGS) $< -o $@
# Target: clean project.
clean:
$(Pecho) " RMDIR $(BUILD_DIR)/"
$P rm -rf $(BUILD_DIR)
$(Pecho) " RMDIR $(BUILD_DIR)/"
$P rm -rf $(BUILD_DIR)
.PHONY: all build elf hex eep lss sym program coff extcoff clean depend sizebefore sizeafter

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -28,7 +28,7 @@
/**
* Marlin release version identifier
*/
//#define SHORT_BUILD_VERSION "2.0.x"
//#define SHORT_BUILD_VERSION "2.0.4.2"
/**
* Verbose version identifier which should contain a reference to the location
@@ -41,7 +41,7 @@
* here we define this default string as the date where the latest release
* version was tagged.
*/
//#define STRING_DISTRIBUTION_DATE "2019-07-10"
//#define STRING_DISTRIBUTION_DATE "2020-01-31"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* This program is free software: you can redistribute it and/or modify
@@ -53,8 +53,8 @@
//#define analogInputToDigitalPin(IO) IO
#ifndef CRITICAL_SECTION_START
#define CRITICAL_SECTION_START unsigned char _sreg = SREG; cli()
#define CRITICAL_SECTION_END SREG = _sreg
#define CRITICAL_SECTION_START() unsigned char _sreg = SREG; cli()
#define CRITICAL_SECTION_END() SREG = _sreg
#endif
#define ISRS_ENABLED() TEST(SREG, SREG_I)
#define ENABLE_ISRS() sei()
@@ -91,24 +91,37 @@ typedef int8_t pin_t;
#define NUM_SERIAL 1
#else
#if !WITHIN(SERIAL_PORT, -1, 3)
#error "SERIAL_PORT must be from -1 to 3"
#error "SERIAL_PORT must be from -1 to 3. Please update your configuration."
#endif
#define MYSERIAL0 customizedSerial1
#ifdef SERIAL_PORT_2
#if !WITHIN(SERIAL_PORT_2, -1, 3)
#error "SERIAL_PORT_2 must be from -1 to 3"
#error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration."
#elif SERIAL_PORT_2 == SERIAL_PORT
#error "SERIAL_PORT_2 must be different than SERIAL_PORT"
#error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration."
#endif
#define NUM_SERIAL 2
#define MYSERIAL1 customizedSerial2
#define NUM_SERIAL 2
#else
#define NUM_SERIAL 1
#endif
#endif
#ifdef DGUS_SERIAL_PORT
#if !WITHIN(DGUS_SERIAL_PORT, -1, 3)
#error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration."
#elif DGUS_SERIAL_PORT == SERIAL_PORT
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration."
#elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration."
#endif
#define DGUS_SERIAL internalDgusSerial
#define DGUS_SERIAL_GET_TX_BUFFER_FREE DGUS_SERIAL.get_tx_buffer_free
#endif
// ------------------------
// Public functions
// ------------------------
@@ -345,9 +358,9 @@ void TIMER0_COMPB_vect_bottom()
// ADC
#ifdef DIDR2
#define HAL_ANALOG_SELECT(pin) do{ if (pin < 8) SBI(DIDR0, pin); else SBI(DIDR2, pin & 0x07); }while(0)
#define HAL_ANALOG_SELECT(ind) do{ if (ind < 8) SBI(DIDR0, ind); else SBI(DIDR2, ind & 0x07); }while(0)
#else
#define HAL_ANALOG_SELECT(pin) do{ SBI(DIDR0, pin); }while(0)
#define HAL_ANALOG_SELECT(ind) SBI(DIDR0, ind);
#endif
inline void HAL_adc_init() {
@@ -358,11 +371,11 @@ inline void HAL_adc_init() {
#endif
}
#define SET_ADMUX_ADCSRA(pin) ADMUX = _BV(REFS0) | (pin & 0x07); SBI(ADCSRA, ADSC)
#define SET_ADMUX_ADCSRA(ch) ADMUX = _BV(REFS0) | (ch & 0x07); SBI(ADCSRA, ADSC)
#ifdef MUX5
#define HAL_START_ADC(pin) if (pin > 7) ADCSRB = _BV(MUX5); else ADCSRB = 0; SET_ADMUX_ADCSRA(pin)
#define HAL_START_ADC(ch) if (ch > 7) ADCSRB = _BV(MUX5); else ADCSRB = 0; SET_ADMUX_ADCSRA(ch)
#else
#define HAL_START_ADC(pin) ADCSRB = 0; SET_ADMUX_ADCSRA(pin)
#define HAL_START_ADC(ch) ADCSRB = 0; SET_ADMUX_ADCSRA(ch)
#endif
#define HAL_ADC_RESOLUTION 10

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -41,7 +41,7 @@
#if !defined(USBCON) && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H))
#include "MarlinSerial.h"
#include "../../Marlin.h"
#include "../../MarlinCore.h"
template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_r MarlinSerial<Cfg>::rx_buffer = { 0, 0, { 0 } };
template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_t MarlinSerial<Cfg>::tx_buffer = { 0 };
@@ -757,6 +757,33 @@
#endif
#ifdef DGUS_SERIAL_PORT
template<typename Cfg>
typename MarlinSerial<Cfg>::ring_buffer_pos_t MarlinSerial<Cfg>::get_tx_buffer_free() {
const ring_buffer_pos_t t = tx_buffer.tail, // next byte to send.
h = tx_buffer.head; // next pos for queue.
int ret = t - h - 1;
if (ret < 0) ret += Cfg::TX_SIZE + 1;
return ret;
}
ISR(SERIAL_REGNAME(USART,DGUS_SERIAL_PORT,_RX_vect)) {
MarlinSerial<MarlinInternalSerialCfg<DGUS_SERIAL_PORT>>::store_rxd_char();
}
ISR(SERIAL_REGNAME(USART,DGUS_SERIAL_PORT,_UDRE_vect)) {
MarlinSerial<MarlinInternalSerialCfg<DGUS_SERIAL_PORT>>::_tx_udr_empty_irq();
}
// Preinstantiate
template class MarlinSerial<MarlinInternalSerialCfg<DGUS_SERIAL_PORT>>;
// Instantiate
MarlinSerial<MarlinInternalSerialCfg<DGUS_SERIAL_PORT>> internalDgusSerial;
#endif
// For AT90USB targets use the UART for BT interfacing
#if defined(USBCON) && ENABLED(BLUETOOTH)
HardwareSerial bluetoothSerial;

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -217,6 +217,9 @@
static ring_buffer_pos_t available();
static void write(const uint8_t c);
static void flushTX();
#ifdef DGUS_SERIAL_PORT
static ring_buffer_pos_t get_tx_buffer_free();
#endif
FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; }
FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; }
@@ -292,6 +295,23 @@
extern MarlinSerial<MarlinInternalSerialCfg<INTERNAL_SERIAL_PORT>> internalSerial;
#endif
#ifdef DGUS_SERIAL_PORT
template <uint8_t serial>
struct MarlinInternalSerialCfg {
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = 128;
static constexpr unsigned int TX_SIZE = 48;
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = false;
static constexpr bool DROPPED_RX = false;
static constexpr bool RX_OVERRUNS = bDGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS;
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
};
extern MarlinSerial<MarlinInternalSerialCfg<DGUS_SERIAL_PORT>> internalDgusSerial;
#endif
// Use the UART for Bluetooth in AT90USB configurations
#if defined(USBCON) && ENABLED(BLUETOOTH)
extern HardwareSerial bluetoothSerial;

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -232,6 +232,22 @@ void setup_endstop_interrupts() {
pciSetup(Z3_MIN_PIN);
#endif
#endif
#if HAS_Z4_MAX
#if (digitalPinToInterrupt(Z4_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z4_MAX_PIN), "Z4_MAX_PIN is not interrupt-capable");
pciSetup(Z4_MAX_PIN);
#endif
#endif
#if HAS_Z4_MIN
#if (digitalPinToInterrupt(Z4_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z4_MIN_PIN), "Z4_MIN_PIN is not interrupt-capable");
pciSetup(Z4_MIN_PIN);
#endif
#endif
#if HAS_Z_MIN_PROBE_PIN
#if (digitalPinToInterrupt(Z_MIN_PROBE_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PROBE_PIN);

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -279,14 +279,25 @@ enum ClockSource2 : char {
*/
// Determine which harware PWMs are already in use
#define _PWM_CHK_FAN_B(P) (P == E0_AUTO_FAN_PIN || P == E1_AUTO_FAN_PIN || P == E2_AUTO_FAN_PIN || P == E3_AUTO_FAN_PIN || P == E4_AUTO_FAN_PIN || P == E5_AUTO_FAN_PIN || P == E6_AUTO_FAN_PIN || P == E7_AUTO_FAN_PIN || P == CHAMBER_AUTO_FAN_PIN)
#if PIN_EXISTS(CONTROLLER_FAN)
#define PWM_CHK_FAN_B(P) (P == CONTROLLER_FAN_PIN || P == E0_AUTO_FAN_PIN || P == E1_AUTO_FAN_PIN || P == E2_AUTO_FAN_PIN || P == E3_AUTO_FAN_PIN || P == E4_AUTO_FAN_PIN || P == E5_AUTO_FAN_PIN || P == CHAMBER_AUTO_FAN_PIN)
#define PWM_CHK_FAN_B(P) (_PWM_CHK_FAN_B(P) || P == CONTROLLER_FAN_PIN)
#else
#define PWM_CHK_FAN_B(P) (P == E0_AUTO_FAN_PIN || P == E1_AUTO_FAN_PIN || P == E2_AUTO_FAN_PIN || P == E3_AUTO_FAN_PIN || P == E4_AUTO_FAN_PIN || P == E5_AUTO_FAN_PIN || P == CHAMBER_AUTO_FAN_PIN)
#define PWM_CHK_FAN_B(P) _PWM_CHK_FAN_B(P)
#endif
#if ANY_PIN(FAN, FAN1, FAN2)
#if PIN_EXISTS(FAN2)
#if ANY_PIN(FAN, FAN1, FAN2, FAN3, FAN4, FAN5, FAN6, FAN7)
#if PIN_EXISTS(FAN7)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN || P == FAN5_PIN || P == FAN6_PIN || P == FAN7_PIN)
#elif PIN_EXISTS(FAN6)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN || P == FAN5_PIN || P == FAN6_PIN)
#elif PIN_EXISTS(FAN5)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN || P == FAN5_PIN)
#elif PIN_EXISTS(FAN4)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN)
#elif PIN_EXISTS(FAN3)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN)
#elif PIN_EXISTS(FAN2)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN)
#elif PIN_EXISTS(FAN1)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN)

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -39,7 +39,7 @@
* Checks for FAST PWM
*/
#if ENABLED(FAST_PWM_FAN) && (ENABLED(USE_OCR2A_AS_TOP) && defined(TCCR2))
#error "USE_OCR2A_AS_TOP does not apply to devices with a single output TIMER2"
#error "USE_OCR2A_AS_TOP does not apply to devices with a single output TIMER2"
#endif
/**
@@ -59,3 +59,7 @@
#if HAS_TRINAMIC && ENABLED(ENDSTOP_INTERRUPTS_FEATURE)
#error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."
#endif
#if HAS_TMC_SW_SERIAL && ENABLED(MONITOR_DRIVER_STATUS)
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
#endif

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -26,7 +26,10 @@
#define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS
#define AVR_ATmega2560_FAMILY_PLUS_70 MB(BQ_ZUM_MEGA_3D, MIGHTYBOARD_REVE, MINIRAMBO, SCOOVO_X9H)
#if AVR_AT90USB1286_FAMILY
// Working with Teensyduino extension so need to re-define some things
#include "pinsDebug_Teensyduino.h"
// Can't use the "digitalPinToPort" function from the Teensyduino type IDEs
@@ -35,7 +38,9 @@
#define digitalPinToBitMask_DEBUG(p) digitalPinToBitMask(p)
#define digitalPinToPort_DEBUG(p) digitalPinToPort_Teensy(p)
#define GET_PINMODE(pin) (*portModeRegister(pin) & digitalPinToBitMask_DEBUG(pin))
#elif AVR_ATmega2560_FAMILY_PLUS_70 // So we can access/display all the pins on boards using more than 70
#include "pinsDebug_plus_70.h"
#define digitalPinToTimer_DEBUG(p) digitalPinToTimer_plus_70(p)
#define digitalPinToBitMask_DEBUG(p) digitalPinToBitMask_plus_70(p)
@@ -43,11 +48,13 @@
bool GET_PINMODE(int8_t pin) {return *portModeRegister(digitalPinToPort_DEBUG(pin)) & digitalPinToBitMask_DEBUG(pin); }
#else
#define digitalPinToTimer_DEBUG(p) digitalPinToTimer(p)
#define digitalPinToBitMask_DEBUG(p) digitalPinToBitMask(p)
#define digitalPinToPort_DEBUG(p) digitalPinToPort(p)
bool GET_PINMODE(int8_t pin) {return *portModeRegister(digitalPinToPort_DEBUG(pin)) & digitalPinToBitMask_DEBUG(pin); }
#define GET_ARRAY_PIN(p) pgm_read_byte(&pin_array[p].pin)
#endif
#define VALID_PIN(pin) (pin >= 0 && pin < NUM_DIGITAL_PINS ? 1 : 0)
@@ -224,11 +231,10 @@ static void err_is_interrupt() { SERIAL_ECHOPGM(" compare interrupt enabled"
static void err_prob_interrupt() { SERIAL_ECHOPGM(" overflow interrupt enabled"); }
static void print_is_also_tied() { SERIAL_ECHOPGM(" is also tied to this pin"); SERIAL_ECHO_SP(14); }
void com_print(uint8_t N, uint8_t Z) {
inline void com_print(const uint8_t N, const uint8_t Z) {
const uint8_t *TCCRA = (uint8_t*)TCCR_A(N);
SERIAL_ECHOPGM(" COM");
SERIAL_CHAR('0' + N);
SERIAL_CHAR('A' + Z);
SERIAL_CHAR('0' + N, Z);
SERIAL_ECHOPAIR(": ", int((*TCCRA >> (6 - Z * 2)) & 0x03));
}
@@ -240,8 +246,7 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
if (N == 4) WGM |= ((*TCCRB & _BV(WGM_3)) >> 1);
SERIAL_ECHOPGM(" TIMER");
SERIAL_CHAR(T + '0');
SERIAL_CHAR(L);
SERIAL_CHAR(T + '0', L);
SERIAL_ECHO_SP(3);
if (N == 3) {

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -28,7 +28,7 @@
#include "watchdog.h"
#include "../../Marlin.h"
#include "../../MarlinCore.h"
// Initialize watchdog with 8s timeout, if possible. Otherwise, make it 4s.
void watchdog_init() {

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,3 +1,24 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* EEPROM emulation over flash with reduced wear
*

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* This program is free software: you can redistribute it and/or modify
@@ -94,8 +94,8 @@ int freeMemory() {
// ADC
// ------------------------
void HAL_adc_start_conversion(const uint8_t adc_pin) {
HAL_adc_result = analogRead(adc_pin);
void HAL_adc_start_conversion(const uint8_t ch) {
HAL_adc_result = analogRead(ch);
}
uint16_t HAL_adc_get_result() {

View File

@@ -1,7 +1,7 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
* Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com
*
@@ -56,8 +56,7 @@
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == SERIAL_PORT
#error "SERIAL_PORT_2 must be different from SERIAL_PORT. Please update your configuration."
#endif
#if SERIAL_PORT_2 == -1
#elif SERIAL_PORT_2 == -1
#define MYSERIAL1 customizedSerial2
#elif SERIAL_PORT_2 == 0
#define MYSERIAL1 Serial
@@ -75,6 +74,27 @@
#define NUM_SERIAL 1
#endif
#ifdef DGUS_SERIAL_PORT
#if DGUS_SERIAL_PORT == SERIAL_PORT
#error "DGUS_SERIAL_PORT must be different from SERIAL_PORT. Please update your configuration."
#elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration."
#elif DGUS_SERIAL_PORT == -1
#define DGUS_SERIAL internalDgusSerial
#elif DGUS_SERIAL_PORT == 0
#define DGUS_SERIAL Serial
#elif DGUS_SERIAL_PORT == 1
#define DGUS_SERIAL Serial1
#elif DGUS_SERIAL_PORT == 2
#define DGUS_SERIAL Serial2
#elif DGUS_SERIAL_PORT == 3
#define DGUS_SERIAL Serial3
#else
#error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration."
#endif
#endif
#include "MarlinSerial.h"
#include "MarlinSerialUSB.h"
@@ -99,8 +119,8 @@ typedef int8_t pin_t;
//
// Interrupts
//
#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq()
#define CRITICAL_SECTION_END if (!primask) __enable_irq()
#define CRITICAL_SECTION_START() uint32_t primask = __get_PRIMASK(); __disable_irq()
#define CRITICAL_SECTION_END() if (!primask) __enable_irq()
#define ISRS_ENABLED() (!__get_PRIMASK())
#define ENABLE_ISRS() __enable_irq()
#define DISABLE_ISRS() __disable_irq()
@@ -128,16 +148,16 @@ extern uint16_t HAL_adc_result; // result of last ADC conversion
#define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1)
#endif
#define HAL_ANALOG_SELECT(pin)
#define HAL_ANALOG_SELECT(ch)
inline void HAL_adc_init() {}//todo
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_START_ADC(ch) HAL_adc_start_conversion(ch)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
void HAL_adc_start_conversion(const uint8_t adc_pin);
void HAL_adc_start_conversion(const uint8_t ch);
uint16_t HAL_adc_get_result();
//

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -240,7 +240,7 @@
}
// all the others
static uint32_t spiDelayCyclesX4 = (F_CPU) / 1000000; // 4uS => 125khz
static uint32_t spiDelayCyclesX4 = (F_CPU) / 1000000; // 4µs => 125khz
static uint8_t spiTransferX(uint8_t b) { // using Mode 0
int bits = 8;

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -63,13 +63,13 @@ static pfnISR_Handler* get_relocated_table_addr() {
memcpy(&ram_tab, romtab, sizeof(ram_tab));
// Disable global interrupts
CRITICAL_SECTION_START;
CRITICAL_SECTION_START();
// Set the vector table base address to the SRAM copy
SCB->VTOR = (uint32_t)(&ram_tab);
// Reenable interrupts
CRITICAL_SECTION_END;
CRITICAL_SECTION_END();
// Return the address of the table
return (pfnISR_Handler*)(&ram_tab);
@@ -80,7 +80,7 @@ pfnISR_Handler install_isr(IRQn_Type irq, pfnISR_Handler newHandler) {
pfnISR_Handler *isrtab = get_relocated_table_addr();
// Disable global interrupts
CRITICAL_SECTION_START;
CRITICAL_SECTION_START();
// Get the original handler
pfnISR_Handler oldHandler = isrtab[irq + 16];
@@ -89,7 +89,7 @@ pfnISR_Handler install_isr(IRQn_Type irq, pfnISR_Handler newHandler) {
isrtab[irq + 16] = newHandler;
// Reenable interrupts
CRITICAL_SECTION_END;
CRITICAL_SECTION_END();
// Return the original one
return oldHandler;

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -31,7 +31,7 @@
#include "MarlinSerial.h"
#include "InterruptVectors.h"
#include "../../Marlin.h"
#include "../../MarlinCore.h"
template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_r MarlinSerial<Cfg>::rx_buffer = { 0, 0, { 0 } };
template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_t MarlinSerial<Cfg>::tx_buffer = { 0 };

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -63,7 +63,7 @@
#include <U8glib.h>
#include "../../../Marlin.h"
#include "../../../MarlinCore.h"
void spiBegin();
void spiInit(uint8_t spiRate);

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -77,6 +77,12 @@ void setup_endstop_interrupts() {
#if HAS_Z3_MIN
_ATTACH(Z3_MIN_PIN);
#endif
#if HAS_Z4_MAX
_ATTACH(Z4_MAX_PIN);
#endif
#if HAS_Z4_MIN
_ATTACH(Z4_MIN_PIN);
#endif
#if HAS_Z_MIN_PROBE_PIN
_ATTACH(Z_MIN_PROBE_PIN);
#endif

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -55,3 +55,7 @@
#if ENABLED(FAST_PWM_FAN)
#error "FAST_PWM_FAN is not yet implemented for this platform."
#endif
#if HAS_TMC_SW_SERIAL
#error "TMC220x Software Serial is not supported on this platform."
#endif

View File

@@ -1,7 +1,7 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
* Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com
* Copyright (c) 2016 Victor Perez victor_pv@hotmail.com

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,7 +1,7 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
* Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com
*

View File

@@ -1,7 +1,7 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -1479,7 +1479,7 @@ static void udd_ctrl_in_sent(void)
// The IN data don't must be written in endpoint 0 DPRAM during
// a next setup reception in same endpoint 0 DPRAM.
// Thereby, an OUT ZLP reception must check before IN data write
// and if no OUT ZLP is recevied the data must be written quickly (800us)
// and if no OUT ZLP is received the data must be written quickly (800µs)
// before an eventually ZLP OUT and SETUP reception
flags = cpu_irq_save();
if (Is_udd_out_received(0)) {

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -23,7 +23,7 @@
#ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h"
#include "../../Marlin.h"
#include "../../MarlinCore.h"
#include "watchdog.h"
// Override Arduino runtime to either config or disable the watchdog

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -27,13 +27,10 @@
#include <rom/rtc.h>
#include <driver/adc.h>
#include <esp_adc_cal.h>
#include <HardwareSerial.h>
#include "../../inc/MarlinConfigPre.h"
#if EITHER(EEPROM_SETTINGS, WEBSUPPORT)
#include "spiffs.h"
#endif
#if ENABLED(WIFISUPPORT)
#include <ESPAsyncWebServer.h>
#include "wifi.h"
@@ -41,6 +38,7 @@
#include "ota.h"
#endif
#if ENABLED(WEBSUPPORT)
#include "spiffs.h"
#include "web.h"
#endif
#endif
@@ -78,31 +76,66 @@ volatile int numPWMUsed = 0,
// Public functions
// ------------------------
void HAL_init() {
i2s_init();
}
#if ENABLED(WIFI_CUSTOM_COMMAND)
bool wifi_custom_command(char * const command_ptr) {
#if ENABLED(ESP3D_WIFISUPPORT)
return esp3dlib.parse(command_ptr);
#else
UNUSED(command_ptr);
return false;
#endif
}
#endif
void HAL_init() { i2s_init(); }
void HAL_init_board() {
#if EITHER(EEPROM_SETTINGS, WEBSUPPORT)
spiffs_init();
#endif
#if ENABLED(WIFISUPPORT)
#if ENABLED(ESP3D_WIFISUPPORT)
esp3dlib.init();
#elif ENABLED(WIFISUPPORT)
wifi_init();
#if ENABLED(OTASUPPORT)
OTA_init();
#endif
#if ENABLED(WEBSUPPORT)
spiffs_init();
web_init();
#endif
server.begin();
#endif
// ESP32 uses a GPIO matrix that allows pins to be assigned to hardware serial ports.
// The following code initializes hardware Serial1 and Serial2 to use user-defined pins
// if they have been defined.
#if defined(HARDWARE_SERIAL1_RX) && defined(HARDWARE_SERIAL1_TX)
HardwareSerial Serial1(1);
#ifdef TMC_BAUD_RATE // use TMC_BAUD_RATE for Serial1 if defined
Serial1.begin(TMC_BAUD_RATE, SERIAL_8N1, HARDWARE_SERIAL1_RX, HARDWARE_SERIAL1_TX);
#else // use default BAUDRATE if TMC_BAUD_RATE not defined
Serial1.begin(BAUDRATE, SERIAL_8N1, HARDWARE_SERIAL1_RX, HARDWARE_SERIAL1_TX);
#endif
#endif
#if defined(HARDWARE_SERIAL2_RX) && defined(HARDWARE_SERIAL2_TX)
HardwareSerial Serial2(2);
#ifdef TMC_BAUD_RATE // use TMC_BAUD_RATE for Serial1 if defined
Serial2.begin(TMC_BAUD_RATE, SERIAL_8N1, HARDWARE_SERIAL2_RX, HARDWARE_SERIAL2_TX);
#else // use default BAUDRATE if TMC_BAUD_RATE not defined
Serial2.begin(BAUDRATE, SERIAL_8N1, HARDWARE_SERIAL2_RX, HARDWARE_SERIAL2_TX);
#endif
#endif
}
void HAL_idletask() {
#if ENABLED(OTASUPPORT)
#if BOTH(WIFISUPPORT, OTASUPPORT)
OTA_handle();
#endif
#if ENABLED(ESP3D_WIFISUPPORT)
esp3dlib.idletask();
#endif
}
void HAL_clear_reset_source() { }
@@ -161,6 +194,12 @@ void HAL_adc_init() {
#if HAS_TEMP_ADC_5
adc1_set_attenuation(get_channel(TEMP_5_PIN), ADC_ATTEN_11db);
#endif
#if HAS_TEMP_ADC_6
adc2_set_attenuation(get_channel(TEMP_6_PIN), ADC_ATTEN_11db);
#endif
#if HAS_TEMP_ADC_7
adc3_set_attenuation(get_channel(TEMP_7_PIN), ADC_ATTEN_11db);
#endif
#if HAS_HEATED_BED
adc1_set_attenuation(get_channel(TEMP_BED_PIN), ADC_ATTEN_11db);
#endif
@@ -183,7 +222,7 @@ void HAL_adc_init() {
}
}
void HAL_adc_start_conversion(uint8_t adc_pin) {
void HAL_adc_start_conversion(const uint8_t adc_pin) {
const adc1_channel_t chan = get_channel(adc_pin);
uint32_t mv;
esp_adc_cal_get_voltage((adc_channel_t)chan, &characteristics[attenuations[chan]], &mv);

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* This program is free software: you can redistribute it and/or modify
@@ -36,7 +36,14 @@
#include "timers.h"
#include "WebSocketSerial.h"
#if ENABLED(WIFISUPPORT)
#include "WebSocketSerial.h"
#endif
#if ENABLED(ESP3D_WIFISUPPORT)
#include "esp3dlib.h"
#endif
#include "FlushableHardwareSerial.h"
// ------------------------
@@ -47,20 +54,23 @@ extern portMUX_TYPE spinlock;
#define MYSERIAL0 flushableSerial
#if ENABLED(WIFISUPPORT)
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)
#if ENABLED(ESP3D_WIFISUPPORT)
#define MYSERIAL1 Serial2Socket
#else
#define MYSERIAL1 webSocketSerial
#endif
#define NUM_SERIAL 2
#define MYSERIAL1 webSocketSerial
#else
#define NUM_SERIAL 1
#endif
#define CRITICAL_SECTION_START portENTER_CRITICAL(&spinlock)
#define CRITICAL_SECTION_END portEXIT_CRITICAL(&spinlock)
#define CRITICAL_SECTION_START() portENTER_CRITICAL(&spinlock)
#define CRITICAL_SECTION_END() portEXIT_CRITICAL(&spinlock)
#define ISRS_ENABLED() (spinlock.owner == portMUX_FREE_VAL)
#define ENABLE_ISRS() if (spinlock.owner != portMUX_FREE_VAL) portEXIT_CRITICAL(&spinlock)
#define DISABLE_ISRS() portENTER_CRITICAL(&spinlock)
// Fix bug in pgm_read_ptr
#undef pgm_read_ptr
#define pgm_read_ptr(addr) (*(addr))
@@ -115,7 +125,7 @@ void HAL_adc_init();
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
void HAL_adc_start_conversion(uint8_t adc_pin);
void HAL_adc_start_conversion(const uint8_t adc_pin);
#define GET_PIN_MAP_PIN(index) index
#define GET_PIN_MAP_INDEX(pin) pin
@@ -127,3 +137,44 @@ void HAL_adc_start_conversion(uint8_t adc_pin);
void HAL_idletask();
void HAL_init();
void HAL_init_board();
//
// Delay in cycles (used by DELAY_NS / DELAY_US)
//
FORCE_INLINE static void DELAY_CYCLES(uint32_t x) {
unsigned long start, ccount, stop;
/**
* It's important to care for race conditions (and overflows) here.
* Race condition example: If `stop` calculates to being close to the upper boundary of
* `uint32_t` and if at the same time a longer loop interruption kicks in (e.g. due to other
* FreeRTOS tasks or interrupts), `ccount` might overflow (and therefore be below `stop` again)
* without the loop ever being able to notice that `ccount` had already been above `stop` once
* (and that therefore the number of cycles to delay has already passed).
* As DELAY_CYCLES (through DELAY_NS / DELAY_US) is used by software SPI bit banging to drive
* LCDs and therefore might be called very, very often, this seemingly improbable situation did
* actually happen in reality. It resulted in apparently random print pauses of ~17.9 seconds
* (0x100000000 / 240 MHz) or multiples thereof, essentially ruining the current print by causing
* large blobs of filament.
*/
__asm__ __volatile__ ( "rsr %0, ccount" : "=a" (start) );
stop = start + x;
ccount = start;
if (stop >= start) {
// no overflow, so only loop while in between start and stop:
// 0x00000000 -----------------start****stop-- 0xffffffff
while (ccount >= start && ccount < stop) {
__asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) );
}
}
else {
// stop did overflow, so only loop while outside of stop and start:
// 0x00000000 **stop-------------------start** 0xffffffff
while (ccount >= start || ccount < stop) {
__asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) );
}
}
}

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -37,7 +37,7 @@ Servo::Servo() {
int8_t Servo::attach(const int inPin) {
if (channel >= CHANNEL_MAX_NUM) return -1;
if (pin > 0) pin = inPin;
if (inPin > 0) pin = inPin;
ledcSetup(channel, 50, 16); // channel X, 50 Hz, 16-bit depth
ledcAttachPin(pin, channel);

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -25,14 +25,16 @@
#include <Stream.h>
#ifndef RX_BUFFER_SIZE
#define RX_BUFFER_SIZE 128
#endif
#ifndef TX_BUFFER_SIZE
#define TX_BUFFER_SIZE 32
#endif
#if TX_BUFFER_SIZE <= 0
#error "TX_BUFFER_SIZE is required for the WebSocket."
#if ENABLED(WIFISUPPORT)
#ifndef RX_BUFFER_SIZE
#define RX_BUFFER_SIZE 128
#endif
#if TX_BUFFER_SIZE <= 0
#error "TX_BUFFER_SIZE is required for the WebSocket."
#endif
#endif
typedef uint16_t ring_buffer_pos_t;

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -72,6 +72,12 @@ void setup_endstop_interrupts() {
#if HAS_Z3_MIN
_ATTACH(Z3_MIN_PIN);
#endif
#if HAS_Z4_MAX
_ATTACH(Z4_MAX_PIN);
#endif
#if HAS_Z4_MIN
_ATTACH(Z4_MIN_PIN);
#endif
#if HAS_Z_MIN_PROBE_PIN
_ATTACH(Z_MIN_PROBE_PIN);
#endif

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -153,8 +153,8 @@ void stepperTask(void* parameter) {
remaining--;
}
else {
Stepper::stepper_pulse_phase_isr();
remaining = Stepper::stepper_block_phase_isr();
Stepper::pulse_phase_isr();
remaining = Stepper::block_phase_isr();
}
}
}
@@ -177,7 +177,7 @@ int i2s_init() {
*
* fwclk = fbclk / 32
*
* for fwclk = 250kHz (4uS pulse time)
* for fwclk = 250kHz (4µS pulse time)
* N = 10
* M = 20
*/
@@ -308,7 +308,7 @@ int i2s_init() {
esp_intr_enable(i2s_isr_handle);
// Create the task that will feed the buffer
xTaskCreate(stepperTask, "StepperTask", 10000, nullptr, 1, nullptr);
xTaskCreatePinnedToCore(stepperTask, "StepperTask", 10000, nullptr, 1, nullptr, CONFIG_ARDUINO_RUNNING_CORE); // run I2S stepper task on same core as rest of Marlin
// Route the i2s pins to the appropriate GPIO
gpio_matrix_out_check(I2S_DATA, I2S0O_DATA_OUT23_IDX, 0, 0);

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -28,3 +28,11 @@
#if ENABLED(FAST_PWM_FAN)
#error "FAST_PWM_FAN is not yet implemented for this platform."
#endif
#if HAS_TMC_SW_SERIAL
#error "TMC220x Software Serial is not supported on this platform."
#endif
#if BOTH(WIFISUPPORT, ESP3D_WIFISUPPORT)
#error "Only enable one WiFi option, either WIFISUPPORT or ESP3D_WIFISUPPORT."
#endif

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* This program is free software: you can redistribute it and/or modify
@@ -21,7 +21,7 @@
#include "../../inc/MarlinConfigPre.h"
#if ENABLED(OTASUPPORT)
#if BOTH(WIFISUPPORT, OTASUPPORT)
#include <WiFi.h>
#include <ESPmDNS.h>
@@ -67,6 +67,5 @@ void OTA_handle() {
ArduinoOTA.handle();
}
#endif // OTASUPPORT
#endif // WIFISUPPORT && OTASUPPORT
#endif // ARDUINO_ARCH_ESP32

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,63 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifdef ARDUINO_ARCH_ESP32
#include "../../inc/MarlinConfig.h"
#if ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION)
#include "../shared/persistent_store_api.h"
#include "EEPROM.h"
#define EEPROM_SIZE 4096
bool PersistentStore::access_start() {
return EEPROM.begin(EEPROM_SIZE);
}
bool PersistentStore::access_finish() {
EEPROM.end();
return true;
}
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
for (size_t i = 0; i < size; i++) {
EEPROM.write(pos++, value[i]);
crc16(crc, &value[i], 1);
}
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
for (size_t i = 0; i < size; i++) {
uint8_t c = EEPROM.read(pos++);
if (writing) value[i] = c;
crc16(crc, &c, 1);
}
return false;
}
size_t PersistentStore::capacity() { return EEPROM_SIZE; }
#endif // EEPROM_SETTINGS
#endif // ARDUINO_ARCH_ESP32

View File

@@ -1,106 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifdef ARDUINO_ARCH_ESP32
#include "../../inc/MarlinConfig.h"
#if ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION)
#include "../shared/persistent_store_api.h"
#include <SPIFFS.h>
#include <FS.h>
#include "spiffs.h"
#define HAL_ESP32_EEPROM_SIZE 4096
#define HAL_ESP32_EEPROM_FILE_PATH "/eeprom.dat"
File eeprom_file;
bool PersistentStore::access_start() {
if (spiffs_initialized) {
eeprom_file = SPIFFS.open(HAL_ESP32_EEPROM_FILE_PATH, "r+");
size_t file_size = eeprom_file.size();
if (file_size < HAL_ESP32_EEPROM_SIZE) {
SERIAL_ECHO_MSG("SPIFFS EEPROM settings file " HAL_ESP32_EEPROM_FILE_PATH " is too small or did not exist, expanding.");
SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(" file size: ", file_size, ", required size: ", HAL_ESP32_EEPROM_SIZE);
// mode r+ does not allow to expand the file (at least on ESP32 SPIFFS9, so we close, reopen "a", append, close, reopen "r+"
eeprom_file.close();
eeprom_file = SPIFFS.open(HAL_ESP32_EEPROM_FILE_PATH, "a");
for (size_t i = eeprom_file.size(); i < HAL_ESP32_EEPROM_SIZE; i++)
eeprom_file.write(0xFF);
eeprom_file.close();
eeprom_file = SPIFFS.open(HAL_ESP32_EEPROM_FILE_PATH, "r+");
file_size = eeprom_file.size();
if (file_size < HAL_ESP32_EEPROM_SIZE) {
SERIAL_ERROR_MSG("Failed to expand " HAL_ESP32_EEPROM_FILE_PATH " to required size. SPIFFS partition full?");
SERIAL_ERROR_START(); SERIAL_ECHOLNPAIR(" file size: ", file_size, ", required size: ", HAL_ESP32_EEPROM_SIZE);
SERIAL_ERROR_START(); SERIAL_ECHOLNPAIR(" SPIFFS used bytes: ", SPIFFS.usedBytes(), ", total bytes: ", SPIFFS.totalBytes());
}
}
return true;
}
return false;
}
bool PersistentStore::access_finish() {
eeprom_file.close();
return true;
}
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
if (!eeprom_file.seek(pos)) return true; // return true for any error
if (eeprom_file.write(value, size) != size) return true;
crc16(crc, value, size);
pos += size;
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
if (!eeprom_file.seek(pos)) return true; // return true for any error
if (writing) {
if (eeprom_file.read(value, size) != size) return true;
crc16(crc, value, size);
}
else {
uint8_t tmp[size];
if (eeprom_file.read(tmp, size) != size) return true;
crc16(crc, tmp, size);
}
pos += size;
return false;
}
size_t PersistentStore::capacity() { return HAL_ESP32_EEPROM_SIZE; }
#endif // EEPROM_SETTINGS
#endif // ARDUINO_ARCH_ESP32

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

View File

@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

Some files were not shown because too many files have changed in this diff Show More