Compare commits

...

290 Commits

Author SHA1 Message Date
Scott Lahteine
015c4e6fbd Version 2.0.5.3 2020-03-31 14:44:14 -05:00
Scott Lahteine
0f9a14dfda Merge latest patches 2020-03-31 14:43:42 -05:00
Scott Lahteine
e7f020f3f2 Shorten some internal pin names 2020-03-31 14:43:01 -05:00
Marcio T
d83ad6f321 Improve / fix FTDI EVE Touch UI (#17338)
- Fix timeout and debugging string
- Fix check for whether `LCD_TIMEOUT_TO_STATUS` is valid
- Fix incorrect debugging message
- Make capitalization of callbacks consistent.
- Allow Touch UI to use hardware SPI on Einsy boards
- Move print stats to About Printer page.
- More generic about screen with GPL license.
- Add missing handler for power loss event
- Less code duplication on status screen and main/advanced menu; more legible
- Reorganize advanced and main menu to add more features
- Hide home Z button when using Z_SAFE_HOMING
- Fix compilation errors when certain features enabled
- Fix missing labels in UI
- Improve color scheme
- Add new preheat menus
- Fix incorrect rendering of Marlin logo on boot
- Add Level X Axis and Auto calibrate buttons
2020-03-31 14:22:04 -05:00
Tanguy Pruvot
c759729478 STM32F1: Restore M43 build support (#17336) 2020-03-31 14:13:20 -05:00
Eric Ptak
ac0a7f2281 Fix Fysetc stm32flash usage (#17331) 2020-03-31 13:59:08 -05:00
Scott Lahteine
e0e87ca19a Fix last arc segment
Co-Authored-By: ellensp <ellensp@hotmail.com>
2020-03-31 12:50:48 -05:00
Scott Lahteine
528907cb16 Additional TERN macros 2020-03-31 12:50:48 -05:00
Scott Lahteine
96ab16a9dd Pulldown for all FastIO headers
Co-Authored-By: borsegbr <borsegbr@users.noreply.github.com>
2020-03-31 12:37:22 -05:00
thinkyhead
0ea26d538b [cron] Bump distribution date (2020-03-31) 2020-03-31 00:03:22 +00:00
thinkyhead
747a4bb623 [cron] Bump distribution date (2020-03-30) 2020-03-30 00:03:19 +00:00
Scott Lahteine
9b886c2ad4 Load balance some tests 2020-03-29 18:14:15 -05:00
Scott Lahteine
223aa5cc4e No unscaled_e_move for CNC 2020-03-29 17:20:26 -05:00
Scott Lahteine
d029a09810 Minor HAL cleanup 2020-03-29 17:14:23 -05:00
Scott Lahteine
765a9f3471 do_pause_e_move => unscaled_e_move 2020-03-29 16:26:55 -05:00
Scott Lahteine
fc11e72174 Fix extra unskew call
Fixes #17264
2020-03-29 16:11:03 -05:00
thisiskeithb
add34aa286 Fix STM32F1 USB Composite Dependency
Co-authored-by: Lord-Quake <Lord-Quake@users.noreply.github.com>
2020-03-29 13:55:14 -05:00
oscarsan1
b35dc5f0b4 Fix Trigorilla 1.4 missing spaces 2020-03-29 13:46:03 -05:00
thinkyhead
fc74c6a7b6 [cron] Bump distribution date (2020-03-29) 2020-03-29 00:03:23 +00:00
Roxy-3D
2f7e5cf7dd Fix typo... 2020-03-28 09:53:04 -05:00
Scott Lahteine
747b964295 Clean up user-wait, SD completion (#17315) 2020-03-28 03:18:53 -05:00
Scott Lahteine
a84990961a Simplify TWIBus debug 2020-03-28 01:20:15 -05:00
Scott Lahteine
53fe572bbd Limited backlash editing with Core kinematics (#17281) 2020-03-27 22:00:27 -05:00
InsanityAutomation
de648bfdc1 Add Funmat HT V4.0 board support (#17305)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-03-27 21:08:47 -05:00
thinkyhead
e71b25a555 [cron] Bump distribution date (2020-03-28) 2020-03-28 00:03:16 +00:00
Mathias Rasmussen
8752fbd92c Store case light brightness in EEPROM (#17307) 2020-03-27 17:38:28 -05:00
InsanityAutomation
bed41af868 Fix Stepper PWM menu (#17298) 2020-03-27 17:30:17 -05:00
Giuliano Zaro
129b270628 QSPI EEPROM for SAMD51 (#17292) 2020-03-27 17:29:17 -05:00
InsanityAutomation
3655e240f5 Fix SD finished ExtUI / host action (#17285) 2020-03-27 16:06:39 -05:00
thinkyhead
98ef161bfe [cron] Bump distribution date (2020-03-27) 2020-03-27 00:03:27 +00:00
Scott Lahteine
54a12ee1d6 Tweak eeprom storage type 2020-03-25 21:07:08 -05:00
Scott Lahteine
d6a4c3079d Tweak ui.finish_status 2020-03-25 21:07:08 -05:00
Giuliano Zaro
8122468a36 Update Italian language (#17293) 2020-03-25 21:05:36 -05:00
Acenotass
5c150c0c94 Update Russian language (#17290) 2020-03-25 21:04:57 -05:00
Scott Lahteine
5ec1a8bb2b Fix M0 unused var warning 2020-03-25 20:27:21 -05:00
Scott Lahteine
dd6781217a motion.cpp: HAS_DIST_MM_ARG 2020-03-25 19:21:48 -05:00
Scott Lahteine
0175189c34 Allow G2_PWM to be slimmer 2020-03-25 19:18:42 -05:00
Scott Lahteine
adb6334ba0 Use "dist" instead of "delta" for clarity 2020-03-25 19:18:42 -05:00
thinkyhead
4dea020050 [cron] Bump distribution date (2020-03-26) 2020-03-26 00:03:54 +00:00
Scott Lahteine
c86ee574ec Drop old comment 2020-03-25 15:11:12 -05:00
Scott Lahteine
f2ed18d150 M303 followup
- Put 'D' before other params for clean exit.
- Use serial on/off for debug status.
2020-03-25 15:08:52 -05:00
Roxy-3D
1986e1cdf8 Allow PID_DEBUG to be turned on and off (#17284)
M303 D will now toggle activation of PID_DEBUG output.   This allows the debug capability to be built into the firmware, but turned on and off as needed.
2020-03-24 19:38:09 -05:00
thinkyhead
0aeee64cca [cron] Bump distribution date (2020-03-25) 2020-03-25 00:03:18 +00:00
Roxy-3D
075a86b076 Update LCD timing on Formbot T-Rex 2+ machines
The code is slightly more optimized than it used to be and this has caused the setup and hold times on the Formbot T-Rex 2+ machines to be insufficient.   This change gives sufficient margin and the LCD Display is clean again.
2020-03-24 17:15:03 -05:00
Scott Lahteine
7124b2164d Version 2.0.5.2 2020-03-24 17:11:59 -05:00
Scott Lahteine
efc19260a7 Merge patches from bugfix-2.0.x 2020-03-24 17:10:53 -05:00
Roxy-3D
5d515c3a2f Adjust for timing shift on Max7219 displays on AVR's
Something has shifted.   The previous timing delays on the Max7219 debug displays is too tight without this correction.
I suspect something has been optimized and roughly 50ns of needed setup and hold time has disappeared.
This corrects the issue and the display results are clean again.
2020-03-24 17:08:31 -05:00
Scott Lahteine
68face848a Sanity check CONTROLLERFAN_SECS 2020-03-24 16:41:21 -05:00
Scott Lahteine
7455bb09b3 Add SoftwareSerialM for MKS Robin (#17207) 2020-03-24 16:14:30 -05:00
ellensp
41e944da00 Fix Emergency Parser on DUE (#17276)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-03-24 15:14:52 -05:00
MarkMan0
4113481c4e Fix limits on acceleration editing (#17280) 2020-03-24 15:13:37 -05:00
mkpfalz
3260228009 Sanity-check CORE backlash axes (#17279)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-03-24 14:08:55 -05:00
rado79
bef9b9b07e Delay after homing_backoff for CoreXY sensorless homing (#17273) 2020-03-23 20:32:36 -05:00
thinkyhead
edd6f6c5f2 [cron] Bump distribution date (2020-03-24) 2020-03-24 00:03:08 +00:00
Scott Lahteine
c87d73045b Fix extra M114 output line
Fixes #17255
2020-03-23 18:31:26 -05:00
George Fu
e3ebbe25e0 DGUS updates (#17260) 2020-03-23 18:00:22 -05:00
ellensp
cd4060a99c Add USB serial support to SERIAL_PORT_2 on DUE (#17245)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-03-23 17:55:21 -05:00
Scott Lahteine
adb7a88428 Fix an unused var warning 2020-03-23 17:35:43 -05:00
Scott Lahteine
580d314fbe Skip impossible PWM sanity-checks 2020-03-23 17:35:43 -05:00
Scott Lahteine
fe154fa5de Fix CONTROLLER_FAN options compile 2020-03-23 17:35:43 -05:00
RasmusAaen
717c216851 Fix Copymaster Y_MAX pin (#17267) 2020-03-23 17:34:38 -05:00
thinkyhead
27c281eec3 [cron] Bump distribution date (2020-03-23) 2020-03-23 00:03:08 +00:00
Scott Lahteine
e7a9f17371 Tweak serial port descriptions 2020-03-21 23:38:44 -05:00
Scott Lahteine
2460a3dfbb Fix custom version file include 2020-03-21 23:34:19 -05:00
Scott Lahteine
2c325c2a7d Format some pins files 2020-03-21 21:18:46 -05:00
Scott Lahteine
9340a33980 Add a pins formatting script 2020-03-21 21:18:46 -05:00
Scott Lahteine
e62b52da99 Use pin/port names for CHITU pins 2020-03-21 21:18:46 -05:00
Scott Lahteine
7988e31f5e whitespace 2020-03-21 21:16:15 -05:00
Scott Lahteine
1674df00b1 Stay at v0.91 of USBComposite for STM32F1 2020-03-21 20:56:14 -05:00
thinkyhead
29874b21b6 [cron] Bump distribution date (2020-03-22) 2020-03-22 00:03:15 +00:00
Scott Lahteine
04cea864bc Split up STM32 pins files (#17212) 2020-03-20 23:45:00 -05:00
thinkyhead
3151856e98 [cron] Bump distribution date (2020-03-21) 2020-03-21 00:03:28 +00:00
thinkyhead
1738c13bc2 [cron] Bump distribution date (2020-03-20) 2020-03-20 00:03:07 +00:00
George Fu
71db5c1605 Fix FYSETC mini 12864 init / glitches (#17209) 2020-03-19 14:11:55 -05:00
thinkyhead
14daf1ee5e [cron] Bump distribution date (2020-03-19) 2020-03-19 00:03:40 +00:00
InsanityAutomation
84dec5da10 Add M42 M, improve M43 (#17173) 2020-03-18 16:12:51 -05:00
Scott Lahteine
de45ac41ad Implement CONTROLLER_FAN_USE_Z_ONLY
Followup to #17149
2020-03-18 14:36:40 -05:00
Erkan Colak
83eec683c9 New Controller Fan options and M710 gcode (#17149) 2020-03-18 13:41:12 -05:00
Scott Lahteine
abea6d5787 Tweak some lambdas 2020-03-18 10:33:15 -05:00
thinkyhead
252178fe62 [cron] Bump distribution date (2020-03-18) 2020-03-18 00:04:28 +00:00
RasmusAaen
c768605bde Add Copymaster3D board (#17188) 2020-03-17 15:25:10 -05:00
Joe Prints
1f5824247f More decimal places for babystep / Z probe offset (#17195) 2020-03-17 15:12:52 -05:00
Scott Lahteine
e8205af6fb Apply HAS_TMC_UART to pins files 2020-03-17 15:06:01 -05:00
Karl Andersson
e5dcab8fd2 ARMED support for TMC UART, probe temp (#17186) 2020-03-17 15:05:12 -05:00
ellensp
40922c7da7 Fix MKS SBASE 1.6 E1 heater pin (#17191) 2020-03-17 14:51:57 -05:00
thinkyhead
c1672220fd [cron] Bump distribution date (2020-03-17) 2020-03-17 00:04:33 +00:00
Scott Lahteine
d37bfa3b4e Version 2.0.5.1 Release 2020-03-16 17:52:41 -05:00
Scott Lahteine
129b1bb8d4 Merge nightly patches 2020-03-16 17:50:43 -05:00
Scott Lahteine
f6e80d576d Fix Z_MIN_PROBE_PIN on SKR 1.4 (#17187) 2020-03-16 17:49:33 -05:00
Scott Lahteine
b14c933171 LPC1768 EEPROM fallback to flash, add overrides (#17184) 2020-03-16 15:59:05 -05:00
Pascal de Bruijn
2fc0df1b39 Shorter LCD remaining time to prevent overlap (#17181) 2020-03-16 14:11:55 -05:00
thinkyhead
a662079cbc [cron] Bump distribution date (2020-03-16) 2020-03-16 00:04:45 +00:00
InsanityAutomation
775a4294fc Configurable SLOWDOWN divisor (#17171) 2020-03-15 18:29:18 -05:00
Giuliano Zaro
3b987dfcec Fix G34 Z lower, extra "BLTOUCH" debug line (#17175) 2020-03-15 18:23:24 -05:00
Scott Lahteine
c39873759f Fix Z after ABL Bilinear G29 with fade
Co-Authored-By: Alan T <interstellarmisfit@users.noreply.github.com>
2020-03-15 18:18:38 -05:00
Karl Andersson
85187290a7 Fix incorrect type on ubl_storage_slot (#17170) 2020-03-15 18:03:10 -05:00
Scott Lahteine
695e014075 Do later mounting of LCD-based SD 2020-03-14 19:24:35 -05:00
Scott Lahteine
090a90a036 Add EEPROM_BOOT_SILENT option 2020-03-14 19:24:35 -05:00
Scott Lahteine
095a1123c1 Add a global machine state 2020-03-14 19:24:35 -05:00
Scott Lahteine
41ffe9851d Fix LCD progress bar
Fixes #17162
2020-03-14 19:24:33 -05:00
thinkyhead
5c1970a229 [cron] Bump distribution date (2020-03-15) 2020-03-15 00:04:39 +00:00
Roxy-3D
9f85165101 Allow Tool Offset adjustments to have another digit of precision
Some of the items in the Tool Offset Adjustment menu (in particular, the Z Offset!!!) were only adjustable with .1mm accuracy.
This is not enough.    So the edit menu is switched to float52 to fix the issue.
2020-03-14 18:12:29 -05:00
Scott Lahteine
8dbbcfd382 Version 2.0.5 Release 2020-03-14 00:49:12 -05:00
Scott Lahteine
fa48fbb9b8 Merge bugfix-2.0.x into 2.0.x 2020-03-14 00:35:11 -05:00
Scott Lahteine
8b2d55e345 Config version 020005 2020-03-13 23:22:46 -05:00
InsanityAutomation
cee07f3f6b Quad Z leveling, G34 (R)ecalculate (#17122) 2020-03-13 23:22:04 -05:00
Scott Lahteine
118bd2f8b2 Apply loop shorthand macros (#17159) 2020-03-13 23:18:16 -05:00
Scott Lahteine
a96be32fae Fix G26 corrupted position 2020-03-13 19:27:02 -05:00
thinkyhead
983a8cee45 [cron] Bump distribution date (2020-03-14) 2020-03-14 00:04:00 +00:00
Scott Lahteine
6bead0c1b0 Shorter paths to HAL, ExtUI (#17156) 2020-03-13 16:29:29 -05:00
Scott Lahteine
ad980a72f7 M0 Q preserve status 2020-03-13 14:42:42 -05:00
Scott Lahteine
7ec45f4382 Fix end of short (auto0.g) prints 2020-03-13 13:59:17 -05:00
Scott Lahteine
81b0548518 Fix Emergency Parser stuck state 2020-03-13 13:59:17 -05:00
Erkan Colak
aa32c47fb5 Shorten German BLTouch menu item names (#17151) 2020-03-13 12:34:03 -05:00
nick-diel
7070ea0b49 Add OnPidTuning event to Malyan LCD (#17143)
All ExtUI LCDs need to keep up with ExtUI API changes.
2020-03-12 19:48:33 -05:00
Scott Lahteine
59cb1466b7 Fix DUGS / DGUS typo 2020-03-12 19:30:18 -05:00
Jason Smith
9c759e5f74 Fix BAUD_RATE_GCODE, etc. (#17135) 2020-03-12 19:26:09 -05:00
Jason Smith
4e96a014a8 Use arduinoststm32 3.x for FYSETC S6 (#17131) 2020-03-12 19:20:22 -05:00
thinkyhead
8c11ecaf73 [cron] Bump distribution date (2020-03-13) 2020-03-13 00:04:16 +00:00
thinkyhead
1f55986ed2 [cron] Bump distribution date (2020-03-12) 2020-03-12 00:04:11 +00:00
Scott Lahteine
318a16637b Fix M810 macro multiple use
Fixes #17125
2020-03-11 17:15:39 -05:00
BigTreeTech
8bad6e11e2 Fix STM32 _WRITE macro parameter (#17121) 2020-03-11 16:42:28 -05:00
Scott Lahteine
112245ee48 More explicit EEPROM types (#17127) 2020-03-11 16:41:18 -05:00
Scott Lahteine
924fa6045c Non-const REMEMBER needed for RESTORE 2020-03-11 15:25:16 -05:00
Daniel Kreuzhofer (@danieldotnet)
f29d6f802f Revert Anet 1.x envs change (#17120) 2020-03-11 15:08:47 -05:00
George Fu
201c991cfa Fix and update DGUS displays (#17072) 2020-03-11 03:40:30 -05:00
Jamie
23c5701178 Apply soft limits to joystick jogging (#17114) 2020-03-10 22:59:49 -05:00
Scott Lahteine
eb6c992bfb Announce SD file open
Requested in #17110
2020-03-10 22:54:19 -05:00
Gurmeet Athwal
bd44f041e8 M220 print FR percentage (#17101) 2020-03-10 20:13:59 -05:00
Daniel Kreuzhofer (@danieldotnet)
d78fbce827 Fix pio environments for Anet 1.x (#17109) 2020-03-10 20:04:44 -05:00
jufimu12
627aa8db2d Fix G34, add HOME_AFTER_G34 option (#17108)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-03-10 20:00:26 -05:00
Scott Lahteine
e7004550c4 Tweaks to finishSDPrinting (#17082) 2020-03-10 19:42:57 -05:00
thinkyhead
a31b7339cd [cron] Bump distribution date (2020-03-11) 2020-03-11 00:04:19 +00:00
Scott Lahteine
4e3a793f1e Fix broken enqueue_P 2020-03-10 18:28:49 -05:00
Scott Lahteine
9bff67bc74 Always look for PLR file, but more quickly 2020-03-10 17:07:14 -05:00
Vert
8bbcbc528c Fix Z4 stepper indirection macros (#17107) 2020-03-10 15:57:10 -05:00
Scott Lahteine
8f66dbfcd5 SD_DETECT_INVERTED => SD_DETECT_STATE (#17112) 2020-03-10 15:43:06 -05:00
thinkyhead
8799f8bfdb [cron] Bump distribution date (2020-03-10) 2020-03-10 00:04:08 +00:00
Scott Lahteine
972d1bf5b4 Ensure welcome message 2020-03-09 18:19:37 -05:00
Scott Lahteine
b5530775c9 Add debug logging for setup() 2020-03-09 17:46:49 -05:00
Scott Lahteine
13118dbd8d Additional numtostr functions 2020-03-09 17:46:49 -05:00
Scott Lahteine
0f39386d9b Make BOOTSCREEN_TIMEOUT generally available 2020-03-09 17:46:49 -05:00
Scott Lahteine
7674befa47 DOGM SPI delay is less common 2020-03-09 17:46:49 -05:00
Scott Lahteine
b579f5dc99 Move 'last_pause_state' closer to usage 2020-03-09 17:46:49 -05:00
thinkyhead
7f490c08da [cron] Bump distribution date (2020-03-09) 2020-03-09 00:04:03 +00:00
Scott Lahteine
982197b162 Fixes for Z4 axis, CS pins (#17097) 2020-03-08 16:31:37 -05:00
MangaValk
57f488738b [ToolChanger] Lock the current tool at power-up (#17093) 2020-03-08 16:13:41 -05:00
Scott Lahteine
b21edce943 More general SD_DETECT_INVERTED override 2020-03-08 14:47:16 -05:00
Scott Lahteine
2a71e4f336 Revert that wack backoff 2020-03-07 23:10:56 -06:00
Scott Lahteine
64d092935b More useful ENABLED / DISABLED macros (#17054) 2020-03-07 22:20:41 -06:00
thinkyhead
5eb6fb1c2f [cron] Bump distribution date (2020-03-08) 2020-03-08 00:04:21 +00:00
Scott Lahteine
20f93404a7 Add / correct comments 2020-03-07 02:16:17 -06:00
Scott Lahteine
3db784f3c7 More pins debugging cleanup 2020-03-07 02:15:05 -06:00
Scott Lahteine
7b9eb233cb Emergency Parser dumb terminal compatibility 2020-03-07 02:15:05 -06:00
Scott Lahteine
c99773bae0 Max7219 suspend/resume 2020-03-07 01:18:26 -06:00
Scott Lahteine
8ff25a9566 Max7219 init last 2020-03-07 00:16:44 -06:00
Scott Lahteine
e9f451bffe Pins debug followup 2020-03-06 21:59:20 -06:00
thinkyhead
3b14158979 [cron] Bump distribution date (2020-03-07) 2020-03-07 00:04:33 +00:00
Scott Lahteine
913de024a9 Change PID dummy value to NAN
Fixes #17078
2020-03-06 13:55:27 -06:00
Scott Lahteine
1da49d0ac5 Non-blocking Max7219 test pattern 2020-03-06 13:19:38 -06:00
Scott Lahteine
ca4423ed2a Clean up pins debugging 2020-03-06 13:14:22 -06:00
Scott Lahteine
6cd99e6a77 Add pins to the pins debug list 2020-03-06 13:14:22 -06:00
Scott Lahteine
6d18f715e4 Fix M0/M1 message string 2020-03-06 13:14:22 -06:00
thinkyhead
459a0dae29 [cron] Bump distribution date (2020-03-06) 2020-03-06 00:04:16 +00:00
Scott Lahteine
3a72b0fd41 Update Chinese (TW) language (#17071) 2020-03-05 15:39:49 -06:00
Scott Lahteine
f0248c9ed9 Update Turkish language (#17070) 2020-03-05 15:37:02 -06:00
Scott Lahteine
c0801e900d Define Z_MIN_PROBE_PIN for Cohesion 3D Remix 2020-03-05 15:10:46 -06:00
Scott Lahteine
5a6daa7c54 Fix CI test for SENSORLESS_PROBING 2020-03-05 15:07:48 -06:00
Scott Lahteine
e3da86fb45 Fix SKR test for ONBOARD SD 2020-03-05 13:37:09 -06:00
Scott Lahteine
0578e9b16e Move SENSORLESS_PROBING to the probes section
Fixes a bug with HAS_BED_PROBE not being set before use.
2020-03-05 11:05:11 -06:00
thinkyhead
7e58739a1f [cron] Bump distribution date (2020-03-05) 2020-03-05 00:04:13 +00:00
Scott Lahteine
631addbbb4 SAMD51 SoftwareSerial (#17041) 2020-03-04 13:15:32 -06:00
Scott Lahteine
d4ac78535c Allow Z_STOP_PIN override on SKR 1.4 (#17063) 2020-03-04 13:12:48 -06:00
Scott Lahteine
70863fbd55 Avoid name conflict with 'UART' 2020-03-04 12:50:58 -06:00
Scott Lahteine
7709261ea9 Move shared code to wait_for_bed_heating 2020-03-04 12:50:57 -06:00
thinkyhead
ab1863ac48 [cron] Bump distribution date (2020-03-04) 2020-03-04 00:04:06 +00:00
Scott Lahteine
72b63e9520 Fix TEMP_PROBE_PIN for SKR 1.4
Co-Authored-By: Anthrix <anthrix@users.noreply.github.com>
2020-03-03 14:53:22 -06:00
George Fu
a698bfdc2a Update FYSETC S6 pins/variants (#17056) 2020-03-03 14:30:09 -06:00
thisiskeithb
efc739a880 Use BED_MAXTEMP for PTC_MAX_BED_TEMP (#17061) 2020-03-03 14:22:28 -06:00
Scott Lahteine
fd1af0189e mftest: Set machine name 2020-03-03 14:21:07 -06:00
Scott Lahteine
83a60f15ff Fix EEPROM compile errors 2020-03-03 14:21:07 -06:00
Scott Lahteine
c083728e4c General code cleanup 2020-03-03 14:20:37 -06:00
Scott Lahteine
5e28b0f471 Minor EEPROM cleanup 2020-03-02 21:56:21 -06:00
Scott Lahteine
3a07b4412d Asynchronous M114 and (R)ealtime position option (#17032) 2020-03-02 21:52:53 -06:00
Scott Lahteine
5171e9da93 No more direct G28 calls 2020-03-02 21:01:58 -06:00
Scott Lahteine
af62d7f937 Fix MMU test 2020-03-02 19:18:00 -06:00
thinkyhead
12d05e4835 [cron] Bump distribution date (2020-03-03) 2020-03-03 00:04:10 +00:00
Scott Lahteine
07e22d1d65 Neopixel on LPC uses GPIO toggling 2020-03-02 17:20:01 -06:00
Scott Lahteine
d3e232d1c1 Add single extruder LIN_ADVANCE test 2020-03-02 17:11:41 -06:00
Scott Lahteine
646599d0d9 Finish M900 updates 2020-03-02 17:10:51 -06:00
Scott Lahteine
eb4d5120bf Keep name around for old configs 2020-03-02 16:23:17 -06:00
thisiskeithb
e0c0173f73 Fix nested comment warning (#17045) 2020-03-02 16:08:26 -06:00
InsanityAutomation
552f7a91d0 Default on/off for Power Loss Recovery (#17051) 2020-03-02 16:07:53 -06:00
jufimu12
ad4a9eb73a Fix G34 probing range/error bug (#17052) 2020-03-02 13:35:02 -06:00
Scott Lahteine
5aa528781f Fix ambiguous type
Co-Authored-By: Andrew Kroll <xxxajk@gmail.com>
2020-03-02 13:23:07 -06:00
ellensp
af23c0480e Don't define 'valptr' if unused (#17048) 2020-03-02 13:17:52 -06:00
ellensp
624ab24a5c Suppress thisItemNr warning (#17049) 2020-03-02 13:14:08 -06:00
Jason Smith
66334820ca Add TMC micro-steps sanity check (#17044)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-03-02 13:13:04 -06:00
Scott Lahteine
2c4e054e9a Fix fastio pin comment 2020-03-02 13:11:30 -06:00
Scott Lahteine
49c5f614c6 Minor motion style changes 2020-03-02 12:54:18 -06:00
Scott Lahteine
6b5347ee39 Improved M900 2020-03-02 12:05:00 -06:00
Scott Lahteine
b1a50d54e2 HAS_TRINAMIC => HAS_TRINAMIC_CONFIG 2020-03-02 12:04:36 -06:00
Scott Lahteine
736521a3f1 Balance mega tests, shorten some env names 2020-03-01 21:20:22 -06:00
Scott Lahteine
870a1f753a Fix undefined STATUS_CHAMBER_WIDTH 2020-03-01 21:19:50 -06:00
Jason Smith
cc822bf70f Fix some 8 extruders issues, GTR build (#17043) 2020-03-01 21:19:02 -06:00
Jason Smith
5da6819277 Fix build issues with REPRAPWORLD_KEYPAD (#17038)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-03-01 19:54:22 -06:00
Scott Lahteine
362c9ae79a Clean up use of extra_xyjerk 2020-03-01 19:23:48 -06:00
thinkyhead
ac93df43cd [cron] Bump distribution date (2020-03-02) 2020-03-02 00:04:18 +00:00
ellensp
4b256a6fa8 Revert FYSETC Mini encoder change (#17040)
Reverting #17010
2020-03-01 17:59:00 -06:00
Jason Smith
45fae55929 Fix SKR nested comment warning (#17037) 2020-03-01 17:39:00 -06:00
Jason Smith
4a3fcd0bf9 Fix three extruder with auto-fan build (#17035) 2020-03-01 17:37:16 -06:00
Scott Lahteine
edd1b76a9a Fix set_current_from_steppers_for_axis(E_AXIS) bug 2020-03-01 14:36:21 -06:00
Scott Lahteine
c4db8e49a7 XYZ_CHAR macro 2020-03-01 14:36:06 -06:00
Scott Lahteine
3473b21710 Move millis_t includes 2020-03-01 09:50:53 -06:00
Scott Lahteine
5e9a10dbae Use PSTR for common labels 2020-03-01 08:39:47 -06:00
Scott Lahteine
f7d663c7db Improvements for MarlinMesh.scad 2020-03-01 05:58:26 -06:00
thinkyhead
1d609d2bbd [cron] Bump distribution date (2020-03-01) 2020-03-01 00:04:02 +00:00
Vert
6c9ca1bec2 Clarify GT2560 common pins (#17021) 2020-02-29 04:35:10 -06:00
Scott Lahteine
730804289c Catch more LPC1768 pin conflicts (#17019) 2020-02-29 04:14:40 -06:00
ManuelMcLure
39c34e4992 Use ADC resolution in AD595/8495 calculation (#17018)
Fixes thermocouple reading on LP1768 (which uses 12-bit resolution).
2020-02-28 23:28:17 -06:00
thinkyhead
b946530ef6 [cron] Bump distribution date (2020-02-29) 2020-02-29 00:03:54 +00:00
ellensp
9b145c7c73 Reverse encoder for FYSETC Mini 12864 2.1 + SKR 1.3 (#17010) 2020-02-28 12:26:54 -06:00
jufimu12
ac755fce82 Fix G34 "Decreasing accuracy" bug (#17013)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-02-28 11:42:51 -06:00
Scott Lahteine
97e87d8262 Fix G76 reachable test (#17005) 2020-02-27 22:47:44 -06:00
Anders Sahlman
c669420134 Pass along sanity_check for (G33) probing (#17006) 2020-02-27 19:58:35 -06:00
thinkyhead
f8497b8171 [cron] Bump distribution date (2020-02-28) 2020-02-28 00:03:53 +00:00
Scott Lahteine
bfbd976c09 General G76 cleanup 2020-02-27 07:53:24 -06:00
Scott Lahteine
a75a25cd7c Replace direct call to G28(true) 2020-02-27 07:48:34 -06:00
Scott Lahteine
4f55723527 RUMBA has 3 E plugs 2020-02-27 07:48:02 -06:00
Scott Lahteine
77b82d300a Add idle_no_sleep 2020-02-27 06:45:33 -06:00
Scott Lahteine
e5d39063a2 Cleanups for PTC 2020-02-27 06:45:23 -06:00
Scott Lahteine
be62ab2d02 Move reachable test to Probe class 2020-02-27 06:16:33 -06:00
Scott Lahteine
d6e767e36b Version 2.0.4.4 Release 2020-02-27 04:15:00 -06:00
Scott Lahteine
b29aae6c0c Merge 'bugfix-2.0.x' into 2.0.x 2020-02-27 04:14:33 -06:00
Roman Moravčík
9f8ee31144 Update Slovak language (#17002) 2020-02-27 03:38:46 -06:00
Makoto Schoppert
8164cac797 Fix planner.cpp compile (#16996) 2020-02-27 03:29:44 -06:00
thinkyhead
a80eda41bc [cron] Bump distribution date (2020-02-27) 2020-02-27 00:03:42 +00:00
Scott Lahteine
bafe8d920a Handle print completed LED event in M0 2020-02-26 12:02:54 -06:00
Scott Lahteine
633b716a3a Define DIAG pins for MKS SGen-L 2020-02-26 11:35:07 -06:00
Scott Lahteine
832951ec44 Case-insensitive g-code option (#16932) 2020-02-26 09:23:55 -06:00
Scott Lahteine
18b875dc9f Allow print recovery after parking 2020-02-26 08:16:46 -06:00
Scott Lahteine
6fd7f4fe1b Fix unified status bed temp display 2020-02-26 08:09:57 -06:00
Scott Lahteine
263a7beeb5 More extra travel jerk changes
Co-Authored-By: josedpedroso <josedpedroso@users.noreply.github.com>
2020-02-26 07:24:36 -06:00
Scott Lahteine
6913a4dfa8 Prevent park_point compile error 2020-02-26 07:10:35 -06:00
Scott Lahteine
025c50cc6d Quick-homing sensorless back-off (#16872) 2020-02-26 06:50:13 -06:00
Scott Lahteine
02cce7d4b4 Add TRAVEL_EXTRA_XYJERK option
See #16949

Co-Authored-By: josedpedroso <josedpedroso@users.noreply.github.com>
2020-02-26 06:43:07 -06:00
Scott Lahteine
0a7e7a6fa5 Allow servo features in combination (#16960) 2020-02-26 06:26:54 -06:00
Scott Lahteine
daa32013b1 Sanity check for LPC serial pin conflict (#16981) 2020-02-26 06:26:30 -06:00
Scott Lahteine
ec1b86d9cb Serial strings in macros 2020-02-26 05:38:33 -06:00
Scott Lahteine
cf597e2bb1 Allow weird probe values in G33 2020-02-26 05:33:57 -06:00
ellensp
e76f2ed4cb Fix Trinamic pulse rate auto-assignment (#16966) 2020-02-26 04:34:21 -06:00
Scott Lahteine
b5c2190b38 String optimize followup 2020-02-26 04:32:40 -06:00
InsanityAutomation
28008aced0 Correct SKR expansion port pins (#16974) 2020-02-26 04:18:34 -06:00
ellensp
70af080813 Add LPC1768 Serial ports for pinsDebug (#16980) 2020-02-26 04:12:53 -06:00
Scott Lahteine
5ebba4b19f More serial strings 2020-02-26 04:11:12 -06:00
InsanityAutomation
cdcd45d651 Set LCD status for EEPROM errors (#16977) 2020-02-26 03:04:02 -06:00
Scott Lahteine
e78f607ef3 Use a STR_ prefix for non-translated strings 2020-02-26 03:02:03 -06:00
Scott Lahteine
6b9a17be16 Language: "failsafe" => "Defaults" 2020-02-26 02:03:47 -06:00
InsanityAutomation
4250a98908 Toolchange improvements (#16979) 2020-02-26 00:12:14 -06:00
InsanityAutomation
ba4f49f4a2 Fix GTR10 overlapping defines (#16976) 2020-02-25 22:56:52 -06:00
Scott Lahteine
5b438fb20d HAS_SDCARD_CONNECTION is more obsolete 2020-02-25 22:30:30 -06:00
Scott Lahteine
5071fe82ab Ensure proper SD print completion (#16967) 2020-02-25 22:18:14 -06:00
thinkyhead
91cff02596 [cron] Bump distribution date (2020-02-26) 2020-02-26 00:03:52 +00:00
Scott Lahteine
454cbcce51 Fix the wait loop in M0 / M1 2020-02-25 12:20:54 -06:00
InsanityAutomation
6bfae5de6f Fix SKR 1.4 Turbo SD_DETECT_PIN (#16955) 2020-02-25 03:17:08 -06:00
InsanityAutomation
3e685777a8 Fix LCD cutter/bed icons overlapping (#16956) 2020-02-25 03:07:36 -06:00
Giuliano Zaro
d13b153230 Update Italian language (#16947) 2020-02-25 03:05:58 -06:00
InsanityAutomation
3a6f776c4b Update POWER_LOSS_PIN comment (#16957) 2020-02-24 23:51:10 -06:00
thinkyhead
ca305b03b7 [cron] Bump distribution date (2020-02-25) 2020-02-25 00:04:00 +00:00
Scott Lahteine
1955eea1b8 Version 2.0.4.3 Release 2020-02-24 11:01:52 -06:00
Scott Lahteine
42fa9fc570 Fix card_eof error 2020-02-24 11:01:52 -06:00
Marcio T
130d0395d0 Restore tabs in Makefile (#16944) 2020-02-24 11:01:52 -06:00
Marcio T
c5f1ff9ee1 Allow Z_SAFE_HOMING_POINT outside bed (#16945) 2020-02-24 11:01:52 -06:00
Scott Lahteine
9040394e8e Fix card_eof error 2020-02-24 11:00:01 -06:00
Marcio T
955ce393df Restore tabs in Makefile (#16944) 2020-02-24 10:42:12 -06:00
Marcio T
92278a45ed Allow Z_SAFE_HOMING_POINT outside bed (#16945) 2020-02-24 10:40:12 -06:00
Scott Lahteine
089cc68a04 Merge nightly patches 2020-02-24 06:12:15 -06:00
Scott Lahteine
a254354e68 BS_TOTAL_AXIS => BS_TOTAL_IND 2020-02-24 06:11:43 -06:00
Scott Lahteine
5e197df89a Fix Babystepping loop (again) 2020-02-24 05:48:42 -06:00
Scott Lahteine
8ba5ef8cae "Init. Media" => "Attach Media" 2020-02-24 05:33:23 -06:00
Scott Lahteine
9a51f29efa Simplified E_AXIS_HAS macro 2020-02-23 23:55:56 -06:00
Jason Smith
ebd2bcc177 Fix AXIS_HAS_SW_SERIAL 2020-02-23 21:59:31 -06:00
thinkyhead
9717b3044f [cron] Bump distribution date (2020-02-24) 2020-02-24 00:03:56 +00:00
Jason Smith
2bcc2ec7d1 Reduce default TMC baudrate to 57600 with Software Serial (#16930) 2020-02-23 07:48:56 -06:00
Giuliano Zaro
529d57bddf Sync Italian language (#16935) 2020-02-23 07:47:30 -06:00
Scott Lahteine
0ba18848af Allow USE_GCODE_SUBCODES for debugging 2020-02-22 22:50:03 -06:00
Scott Lahteine
b2328d089a Allow LCD_PIXEL_WIDTH/HEIGHT override 2020-02-22 21:36:21 -06:00
Scott Lahteine
29ec868c4b Commit last SD line before fileHasFinished 2020-02-22 20:46:52 -06:00
Scott Lahteine
1d431fe8d2 Suppress "packed member" warning 2020-02-22 19:28:24 -06:00
Scott Lahteine
2b759b9e8d Suppress "packed member" warning 2020-02-22 19:26:52 -06:00
1030 changed files with 21238 additions and 18514 deletions

View File

@@ -29,7 +29,7 @@ jobs:
- DUE
- esp32
- linux_native
- megaatmega2560
- mega2560
- teensy31
- teensy35
- SAMD51_grandcentral_m4
@@ -37,22 +37,23 @@ jobs:
# Extended AVR Environments
- FYSETC_F6_13
- megaatmega1280
- mega1280
- rambo
- sanguino_atmega1284p
- sanguino_atmega644p
- sanguino1284p
- sanguino644p
# Extended STM32 Environments
- STM32F103RC_bigtree
- STM32F103RC_bigtree_USB
- STM32F103RE_bigtree
- STM32F103RE_bigtree_USB
- STM32F103RC_btt
- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RC_fysetc
- jgaurora_a5s_a1
- STM32F103VE_longer
- STM32F407VE_black
- BIGTREE_SKR_PRO
- BIGTREE_GTR_V1_0
- mks_robin
- ARMED
- FYSETC_S6

View File

@@ -36,7 +36,7 @@
* Advanced settings can be found in Configuration_adv.h
*
*/
#define CONFIGURATION_H_VERSION 020004
#define CONFIGURATION_H_VERSION 020005
//===========================================================================
//============================= Getting Started =============================
@@ -99,6 +99,7 @@
/**
* Select the serial port on the board to use for communication with the host.
* This allows the connection of wireless adapters (for instance) to non-default port pins.
* Serial port -1 is the USB emulated serial port, if available.
* Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
*
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
@@ -107,9 +108,6 @@
/**
* Select a secondary serial port on the board to use for communication with the host.
* This allows the connection of wireless adapters (for instance) to non-default port pins.
* Serial port -1 is the USB emulated serial port, if available.
*
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
//#define SERIAL_PORT_2 -1
@@ -363,6 +361,7 @@
* 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)
* 202 : 200k thermistor - Copymaster 3D
* 3 : Mendel-parts thermistor (4.7k pullup)
* 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
* 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup)
@@ -474,7 +473,7 @@
#if ENABLED(PIDTEMP)
//#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM)
//#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM)
//#define PID_DEBUG // Sends debug data to the serial port.
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
//#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
@@ -784,6 +783,8 @@
#define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.3
//#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
//#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
#if ENABLED(LIMITED_JERK_EDITING)
#define MAX_JERK_EDIT_VALUES { 20, 20, 0.6, 10 } // ...or, set your own edit limits
@@ -923,6 +924,14 @@
#define SMART_EFFECTOR_MOD_PIN -1 // Connect a GPIO pin to the Smart Effector MOD pin
#endif
/**
* Use StallGuard2 to probe the bed with the nozzle.
* Requires stallGuard-capable Trinamic stepper drivers.
* CAUTION: This can damage machines with Z lead screws.
* Take extreme care when setting up this feature.
*/
//#define SENSORLESS_PROBING
//
// For Z_PROBE_ALLEN_KEY see the Delta example configurations.
//
@@ -1436,6 +1445,7 @@
//#define EEPROM_SETTINGS // Persistent storage with M500 and M501
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
#define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
#if ENABLED(EEPROM_SETTINGS)
//#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
#endif

View File

@@ -31,7 +31,7 @@
* Basic settings can be found in Configuration.h
*
*/
#define CONFIGURATION_ADV_H_VERSION 020004
#define CONFIGURATION_ADV_H_VERSION 020005
// @section temperature
@@ -276,8 +276,10 @@
#define AUTOTEMP_OLDWEIGHT 0.98
#endif
// Show extra position information with 'M114 D'
//#define M114_DETAIL
// Extra options for the M114 "Current Position" report
//#define M114_DETAIL // Use 'M114` for details to check planner calculations
//#define M114_REALTIME // Real current position based on forward kinematics
//#define M114_LEGACY // M114 used to synchronize on every call. Enable if needed.
// Show Temperature ADC value
// Enable for M105 to include ADC values read from temperature sensors.
@@ -336,15 +338,22 @@
* Controller Fan
* To cool down the stepper drivers and MOSFETs.
*
* The fan will turn on automatically whenever any stepper is enabled
* and turn off after a set period after all steppers are turned off.
* The fan turns on automatically whenever any driver is enabled and turns
* off (or reduces to idle speed) shortly after drivers are turned off.
*
*/
//#define USE_CONTROLLER_FAN
#if ENABLED(USE_CONTROLLER_FAN)
//#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan
#define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled
#define CONTROLLERFAN_SPEED 255 // 255 == full speed
//#define CONTROLLERFAN_SPEED_Z_ONLY 127 // Reduce noise on machines that keep Z enabled
//#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan
//#define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered
#define CONTROLLERFAN_SPEED_MIN 0 // (0-255) Minimum speed. (If set below this value the fan is turned off.)
#define CONTROLLERFAN_SPEED_ACTIVE 255 // (0-255) Active speed, used when any motor is enabled
#define CONTROLLERFAN_SPEED_IDLE 0 // (0-255) Idle speed, used when motors are disabled
#define CONTROLLERFAN_IDLE_TIME 60 // (seconds) Extra time to keep the fan running after disabling motors
//#define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings
#if ENABLED(CONTROLLER_FAN_EDITABLE)
#define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu
#endif
#endif
// When first starting the main fan, run it at full speed for the
@@ -716,6 +725,9 @@
#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?
// After G34, re-home Z (G28 Z) or just calculate it from the last probe heights?
// Re-homing might be more precise in reproducing the actual 'G28 Z' homing height, especially on an uneven bed.
#define HOME_AFTER_G34
#endif
// @section motion
@@ -748,8 +760,12 @@
// Minimum time that a segment needs to take if the buffer is emptied
#define DEFAULT_MINSEGMENTTIME 20000 // (ms)
// If defined the movements slow down when the look ahead buffer is only half full
// Slow down the machine if the look ahead buffer is (by default) half full.
// Increase the slowdown divisor for larger buffer sizes.
#define SLOWDOWN
#if ENABLED(SLOWDOWN)
#define SLOWDOWN_DIVISOR 2
#endif
// Frequency limit
// See nophead's blog for more info
@@ -990,7 +1006,11 @@
// Show the E position (filament used) during printing
//#define LCD_SHOW_E_TOTAL
#if HAS_GRAPHICAL_LCD && HAS_PRINT_PROGRESS
#if ENABLED(SHOW_BOOTSCREEN)
#define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s)
#endif
#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
//#define SHOW_REMAINING_TIME // Display estimated time to completion
#if ENABLED(SHOW_REMAINING_TIME)
@@ -999,7 +1019,7 @@
#endif
#endif
#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS
#if HAS_CHARACTER_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
#if ENABLED(LCD_PROGRESS_BAR)
#define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar
@@ -1012,12 +1032,9 @@
#if ENABLED(SDSUPPORT)
// Some RAMPS and other boards don't detect when an SD card is inserted. You can work
// around this by connecting a push button or single throw switch to the pin defined
// as SD_DETECT_PIN in your board's pins definitions.
// This setting should be disabled unless you are using a push button, pulling the pin to ground.
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
#define SD_DETECT_INVERTED
// The standard SD detect circuit reads LOW when media is inserted and HIGH when empty.
// Enable this option and set to HIGH if your SD cards are incorrectly detected.
//#define SD_DETECT_STATE HIGH
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place.
@@ -1032,6 +1049,10 @@
#define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27")
#if ENABLED(PRINTER_EVENT_LEDS)
#define PE_LEDS_COMPLETED_TIME (30*60) // (seconds) Time to keep the LED "done" color before restoring normal illumination
#endif
/**
* Continue after Power-Loss (Creality3D)
*
@@ -1039,12 +1060,16 @@
* during SD printing. If the recovery file is found at boot time, present
* an option on the LCD screen to continue the print from the last-known
* point in the file.
*
* If the machine reboots when resuming a print you may need to replace or
* reformat the SD card. (Bad sectors delay startup triggering the watchdog.)
*/
//#define POWER_LOSS_RECOVERY
#if ENABLED(POWER_LOSS_RECOVERY)
#define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
//#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss
//#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS)
//#define POWER_LOSS_PIN 44 // Pin to detect power loss
//#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module.
//#define POWER_LOSS_STATE HIGH // State of pin indicating power loss
//#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate
//#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume
@@ -1172,18 +1197,16 @@
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define BINARY_FILE_TRANSFER
#if HAS_SDCARD_CONNECTION
/**
* Set this option to one of the following (or the board's defaults apply):
*
* LCD - Use the SD drive in the external LCD controller.
* ONBOARD - Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.)
* CUSTOM_CABLE - Use a custom cable to access the SD (as defined in a pins file).
*
* :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ]
*/
//#define SDCARD_CONNECTION LCD
#endif
/**
* Set this option to one of the following (or the board's defaults apply):
*
* LCD - Use the SD drive in the external LCD controller.
* ONBOARD - Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.)
* CUSTOM_CABLE - Use a custom cable to access the SD (as defined in a pins file).
*
* :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ]
*/
//#define SDCARD_CONNECTION LCD
#endif // SDSUPPORT
@@ -1223,10 +1246,6 @@
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
//#define USE_SMALL_INFOFONT
// Enable this option and reduce the value to optimize screen updates.
// The normal delay is 10µs. Use the lowest value that still gives a reliable display.
//#define DOGM_SPI_DELAY_US 5
// Swap the CW/CCW indicators in the graphics overlay
//#define OVERLAY_GFX_REVERSE
@@ -1243,6 +1262,10 @@
* This will prevent position updates from being displayed.
*/
#if ENABLED(U8GLIB_ST7920)
// Enable this option and reduce the value to optimize screen updates.
// The normal delay is 10µs. Use the lowest value that still gives a reliable display.
//#define DOGM_SPI_DELAY_US 5
//#define LIGHTWEIGHT_UI
#if ENABLED(LIGHTWEIGHT_UI)
#define STATUS_EXPIRE_SECONDS 20
@@ -1260,6 +1283,7 @@
#define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating
#define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating
#define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating
//#define STATUS_CUTTER_ANIM // Use a second bitmap to indicate spindle / laser active
//#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap
//#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap
//#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames
@@ -1279,7 +1303,7 @@
// Additional options for DGUS / DWIN displays
//
#if HAS_DGUS_LCD
#define DGUS_SERIAL_PORT 2
#define DGUS_SERIAL_PORT 3
#define DGUS_BAUDRATE 115200
#define DGUS_RX_BUFFER_SIZE 128
@@ -1287,16 +1311,15 @@
//#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
//#define DGUS_UI_MOVE_DIS_OPTION // Disabled by default for UI_FYSETC
#else
#define DUGS_UI_MOVE_DIS_OPTION // Enabled by default for UI_HIPRECY
#define DGUS_UI_MOVE_DIS_OPTION // Enabled by default for UI_HIPRECY
#endif
#define DGUS_FILAMENT_LOADUNLOAD
@@ -1579,7 +1602,7 @@
#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
#define PTC_MAX_BED_TEMP BED_MAXTEMP
// Park position to wait for probe cooldown
#define PTC_PARK_POS_X 0.0F
@@ -2016,7 +2039,7 @@
* TMCStepper library is required to use TMC stepper drivers.
* https://github.com/teemuatlut/TMCStepper
*/
#if HAS_TRINAMIC
#if HAS_TRINAMIC_CONFIG
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
@@ -2303,14 +2326,6 @@
*/
//#define SENSORLESS_HOMING // StallGuard capable drivers only
/**
* Use StallGuard2 to probe the bed with the nozzle.
*
* CAUTION: This could cause damage to machines that use a lead screw or threaded rod
* to move the Z axis. Take extreme care when attempting to enable this feature.
*/
//#define SENSORLESS_PROBING // StallGuard capable drivers only
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
// TMC2209: 0...255. TMC2130: -64...63
#define X_STALL_SENSITIVITY 8
@@ -2346,7 +2361,7 @@
*/
#define TMC_ADV() { }
#endif // HAS_TRINAMIC
#endif // HAS_TRINAMIC_CONFIG
// @section L64XX
@@ -2791,6 +2806,8 @@
//#define GCODE_QUOTED_STRINGS // Support for quoted string parameters
#endif
//#define GCODE_CASE_INSENSITIVE // Accept G-code sent to the firmware in lowercase
/**
* CNC G-code options
* Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
@@ -2990,7 +3007,7 @@
#define MAX7219_LOAD_PIN 44
//#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix
#define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral)
#define MAX7219_INIT_TEST 2 // Test pattern at startup: 0=none, 1=sweep, 2=spiral
#define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain.
#define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°)
// connector at: right=0 bottom=-90 top=90 left=180

View File

@@ -267,6 +267,8 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1147)
else ifeq ($(HARDWARE_MOTHERBOARD),1148)
# MKS GEN L V2
else ifeq ($(HARDWARE_MOTHERBOARD),1149)
# Copymaster 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1150)
#
# RAMBo and derivatives
@@ -789,11 +791,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.
@@ -801,10 +803,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.
@@ -816,71 +818,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

@@ -28,7 +28,7 @@
/**
* Marlin release version identifier
*/
//#define SHORT_BUILD_VERSION "2.0.4.2"
//#define SHORT_BUILD_VERSION "2.0.5.3"
/**
* Verbose version identifier which should contain a reference to the location

View File

@@ -197,7 +197,7 @@ void spiBegin() {
// output pin high - like sending 0xFF
WRITE(MOSI_PIN, HIGH);
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, HIGH);
nop; // adjust so SCK is nice
@@ -224,7 +224,7 @@ void spiBegin() {
void spiSend(uint8_t data) {
// no interrupts during byte send - about 8µs
cli();
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, LOW);
WRITE(MOSI_PIN, data & 0x80);
data <<= 1;

View File

@@ -55,7 +55,7 @@
// A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() asm volatile("": : :"memory");
#include "../../feature/emergency_parser.h"
#include "../../feature/e_parser.h"
// "Atomically" read the RX head index value without disabling interrupts:
// This MUST be called with RX interrupts enabled, and CAN'T be called
@@ -682,7 +682,7 @@
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
for (uint8_t i = 0; i < digits; ++i) rounding *= 0.1;
LOOP_L_N(i, digits) rounding *= 0.1;
number += rounding;
// Extract the integer part of the number and print it

View File

@@ -31,10 +31,10 @@
* Templatized 01 October 2018 by Eduardo José Tagle to allow multiple instances
*/
#include "../shared/MarlinSerial.h"
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
#endif
@@ -261,12 +261,12 @@
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE;
static constexpr bool XONOFF = bSERIAL_XON_XOFF;
static constexpr bool EMERGENCYPARSER = bEMERGENCY_PARSER;
static constexpr bool DROPPED_RX = bSERIAL_STATS_DROPPED_RX;
static constexpr bool RX_OVERRUNS = bSERIAL_STATS_RX_BUFFER_OVERRUNS;
static constexpr bool RX_FRAMING_ERRORS = bSERIAL_STATS_RX_FRAMING_ERRORS;
static constexpr bool MAX_RX_QUEUED = bSERIAL_STATS_MAX_RX_QUEUED;
static constexpr bool XONOFF = ENABLED(SERIAL_XON_XOFF);
static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = ENABLED(SERIAL_STATS_DROPPED_RX);
static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
@@ -304,7 +304,7 @@
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_OVERRUNS = HAS_DGUS_LCD && ENABLED(DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
};

View File

@@ -25,7 +25,7 @@
#if EITHER(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
#include "../shared/persistent_store_api.h"
#include "../shared/eeprom_api.h"
bool PersistentStore::access_start() { return true; }
bool PersistentStore::access_finish() { return true; }
@@ -39,7 +39,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
if (v != eeprom_read_byte(p)) {
eeprom_write_byte(p, v);
if (eeprom_read_byte(p) != v) {
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
}
}

View File

@@ -167,7 +167,7 @@ void set_pwm_frequency(const pin_t pin, int f_desired) {
uint16_t prescaler[] = { 0, 1, 8, /*TIMER2 ONLY*/32, 64, /*TIMER2 ONLY*/128, 256, 1024 };
// loop over prescaler values
for (uint8_t i = 1; i < 8; i++) {
LOOP_S_L_N(i, 1, 8) {
uint16_t res_temp_fast = 255, res_temp_phase_correct = 255;
if (timer.n == 2) {
// No resolution calculation for TIMER2 unless enabled USE_OCR2A_AS_TOP

View File

@@ -98,9 +98,9 @@
#define SET_INPUT(IO) _SET_INPUT(IO)
#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _WRITE(IO, HIGH); }while(0)
#define SET_INPUT_PULLDOWN SET_INPUT
#define SET_OUTPUT(IO) _SET_OUTPUT(IO)
#define SET_PWM(IO) SET_OUTPUT(IO)
#define SET_PWM SET_OUTPUT
#define IS_INPUT(IO) _IS_INPUT(IO)
#define IS_OUTPUT(IO) _IS_OUTPUT(IO)

View File

@@ -26,7 +26,7 @@
*
* Hardware Pin : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 | 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
* Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
* Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 72 75 76 77 74 xx xx xx xx xx
* Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 73 75 76 77 74 xx xx xx xx xx
*/
#include "../fastio.h"

View File

@@ -56,7 +56,7 @@
/**
* The Trinamic library includes SoftwareSerial.h, leading to a compile error.
*/
#if HAS_TRINAMIC && ENABLED(ENDSTOP_INTERRUPTS_FEATURE)
#if HAS_TRINAMIC_CONFIG && ENABLED(ENDSTOP_INTERRUPTS_FEATURE)
#error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."
#endif

View File

@@ -70,12 +70,12 @@
void PRINT_ARRAY_NAME(uint8_t x) {
char *name_mem_pointer = (char*)pgm_read_ptr(&pin_array[x].name);
for (uint8_t y = 0; y < MAX_NAME_LENGTH; y++) {
LOOP_L_N(y, MAX_NAME_LENGTH) {
char temp_char = pgm_read_byte(name_mem_pointer + y);
if (temp_char != 0)
SERIAL_CHAR(temp_char);
else {
for (uint8_t i = 0; i < MAX_NAME_LENGTH - y; i++) SERIAL_CHAR(' ');
LOOP_L_N(i, MAX_NAME_LENGTH - y) SERIAL_CHAR(' ');
break;
}
}

View File

@@ -88,7 +88,7 @@ void u8g_spiSend_sw_AVR_mode_0(uint8_t val) {
volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock;
U8G_ATOMIC_START();
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
if (val & 0x80)
*outData |= bitData;
else
@@ -108,7 +108,7 @@ void u8g_spiSend_sw_AVR_mode_3(uint8_t val) {
volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock;
U8G_ATOMIC_START();
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
*outClock &= bitNotClock;
if (val & 0x80)
*outData |= bitData;

View File

@@ -62,7 +62,7 @@ void watchdog_init() {
#if ENABLED(WATCHDOG_RESET_MANUAL)
ISR(WDT_vect) {
sei(); // With the interrupt driven serial we need to allow interrupts.
SERIAL_ERROR_MSG(MSG_WATCHDOG_FIRED);
SERIAL_ERROR_MSG(STR_WATCHDOG_FIRED);
minkill(); // interrupt-safe final kill and infinite loop
}
#endif

View File

@@ -54,10 +54,10 @@
#include "../../inc/MarlinConfig.h"
#if ENABLED(EEPROM_SETTINGS) && NONE(I2C_EEPROM, SPI_EEPROM)
#if ENABLED(FLASH_EEPROM_EMULATION)
#include "../shared/Marduino.h"
#include "../shared/persistent_store_api.h"
#include "../shared/eeprom_api.h"
#define EEPROMSize 4096
#define PagesPerGroup 128
@@ -1016,5 +1016,5 @@ void eeprom_flush() {
ee_Flush();
}
#endif // EEPROM_SETTINGS && (!I2C_EEPROM && !SPI_EEPROM)
#endif // FLASH_EEPROM_EMULATION
#endif // ARDUINO_ARCH_AVR

View File

@@ -39,7 +39,7 @@
#include <stdint.h>
// Define MYSERIAL0/1 before MarlinSerial includes!
#if SERIAL_PORT == -1
#if SERIAL_PORT == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL0 customizedSerial1
#elif SERIAL_PORT == 0
#define MYSERIAL0 Serial
@@ -56,7 +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."
#elif SERIAL_PORT_2 == -1
#elif SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL1 customizedSerial2
#elif SERIAL_PORT_2 == 0
#define MYSERIAL1 Serial
@@ -94,7 +94,6 @@
#endif
#endif
#include "MarlinSerial.h"
#include "MarlinSerialUSB.h"

View File

@@ -45,7 +45,7 @@ template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_pos_t MarlinSeria
// A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() asm volatile("": : :"memory");
#include "../../feature/emergency_parser.h"
#include "../../feature/e_parser.h"
// (called with RX interrupts disabled)
template<typename Cfg>
@@ -606,7 +606,7 @@ void MarlinSerial<Cfg>::printFloat(double number, uint8_t digits) {
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
for (uint8_t i = 0; i < digits; ++i) rounding *= 0.1;
LOOP_L_N(i, digits) rounding *= 0.1;
number += rounding;
// Extract the integer part of the number and print it
@@ -629,23 +629,13 @@ void MarlinSerial<Cfg>::printFloat(double number, uint8_t digits) {
// If not using the USB port as serial port
#if SERIAL_PORT >= 0
// Preinstantiate
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>;
// Instantiate
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1; // Instantiate
#endif
#ifdef SERIAL_PORT_2
// Preinstantiate
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>;
// Instantiate
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2; // Instantiate
#endif
#endif // ARDUINO_ARCH_SAM

View File

@@ -27,10 +27,10 @@
* Based on MarlinSerial for AVR, copyright (c) 2006 Nicholas Zambetti. All right reserved.
*/
#include "../shared/MarlinSerial.h"
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#define DEC 10
#define HEX 16
#define OCT 8
@@ -163,22 +163,18 @@ struct MarlinSerialCfg {
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE;
static constexpr bool XONOFF = bSERIAL_XON_XOFF;
static constexpr bool EMERGENCYPARSER = bEMERGENCY_PARSER;
static constexpr bool DROPPED_RX = bSERIAL_STATS_DROPPED_RX;
static constexpr bool RX_OVERRUNS = bSERIAL_STATS_RX_BUFFER_OVERRUNS;
static constexpr bool RX_FRAMING_ERRORS = bSERIAL_STATS_RX_FRAMING_ERRORS;
static constexpr bool MAX_RX_QUEUED = bSERIAL_STATS_MAX_RX_QUEUED;
static constexpr bool XONOFF = ENABLED(SERIAL_XON_XOFF);
static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = ENABLED(SERIAL_STATS_DROPPED_RX);
static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
#if SERIAL_PORT >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
#endif // SERIAL_PORT >= 0
#ifdef SERIAL_PORT_2
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#endif
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#endif

View File

@@ -29,12 +29,12 @@
#include "../../inc/MarlinConfig.h"
#if SERIAL_PORT == -1
#if HAS_USB_SERIAL
#include "MarlinSerialUSB.h"
#if ENABLED(EMERGENCY_PARSER)
#include "../../feature/emergency_parser.h"
#include "../../feature/e_parser.h"
#endif
// Imports from Atmel USB Stack/CDC implementation
@@ -259,7 +259,7 @@ void MarlinSerialUSB::printFloat(double number, uint8_t digits) {
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
for (uint8_t i = 0; i < digits; ++i)
LOOP_L_N(i, digits)
rounding *= 0.1;
number += rounding;
@@ -283,8 +283,12 @@ void MarlinSerialUSB::printFloat(double number, uint8_t digits) {
}
// Preinstantiate
MarlinSerialUSB customizedSerial1;
#endif // SERIAL_PORT == -1
#if SERIAL_PORT == -1
MarlinSerialUSB customizedSerial1;
#endif
#if SERIAL_PORT_2 == -1
MarlinSerialUSB customizedSerial2;
#endif
#endif // HAS_USB_SERIAL
#endif // ARDUINO_ARCH_SAM

View File

@@ -28,7 +28,7 @@
#include "../../inc/MarlinConfig.h"
#if SERIAL_PORT == -1
#if HAS_USB_SERIAL
#include <WString.h>
@@ -88,6 +88,12 @@ private:
static void printFloat(double, uint8_t);
};
extern MarlinSerialUSB customizedSerial1;
#if SERIAL_PORT == -1
extern MarlinSerialUSB customizedSerial1;
#endif
#endif // SERIAL_PORT == -1
#if SERIAL_PORT_2 == -1
extern MarlinSerialUSB customizedSerial2;
#endif
#endif // HAS_USB_SERIAL

View File

@@ -80,7 +80,7 @@ Pio *SCK_pPio, *MOSI_pPio;
uint32_t SCK_dwMask, MOSI_dwMask;
void u8g_spiSend_sw_DUE_mode_0(uint8_t val) { // 3MHz
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
if (val & 0x80)
MOSI_pPio->PIO_SODR = MOSI_dwMask;
else
@@ -94,7 +94,7 @@ void u8g_spiSend_sw_DUE_mode_0(uint8_t val) { // 3MHz
}
void u8g_spiSend_sw_DUE_mode_3(uint8_t val) { // 3.5MHz
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
SCK_pPio->PIO_CODR = SCK_dwMask;
DELAY_NS(50);
if (val & 0x80)

View File

@@ -27,9 +27,9 @@
#if ENABLED(EEPROM_SETTINGS)
#include "../../inc/MarlinConfig.h"
#include "../shared/persistent_store_api.h"
#include "../shared/eeprom_api.h"
#if !defined(E2END) && NONE(I2C_EEPROM, SPI_EEPROM)
#if !defined(E2END) && ENABLED(FLASH_EEPROM_EMULATION)
#define E2END 0xFFF // Default to Flash emulated EEPROM size (EepromEmulation_Due.cpp)
#endif
@@ -38,7 +38,7 @@ extern void eeprom_flush();
bool PersistentStore::access_start() { return true; }
bool PersistentStore::access_finish() {
#if NONE(I2C_EEPROM, SPI_EEPROM)
#if ENABLED(FLASH_EEPROM_EMULATION)
eeprom_flush();
#endif
return true;
@@ -54,7 +54,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
eeprom_write_byte(p, v);
delay(2);
if (eeprom_read_byte(p) != v) {
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
}
}

View File

@@ -166,7 +166,7 @@
// Set pin as output (wrapper) - reads the pin and sets the output to that value
#define SET_OUTPUT(IO) _SET_OUTPUT(IO)
// Set pin as PWM
#define SET_PWM(IO) SET_OUTPUT(IO)
#define SET_PWM SET_OUTPUT
// Check if pin is an input
#define IS_INPUT(IO) ((digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) == 0)

View File

@@ -0,0 +1,206 @@
/**
* 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/>.
*
*/
/**
* The PWM module is only used to generate interrupts at specified times. It
* is NOT used to directly toggle pins. The ISR writes to the pin assigned to
* that interrupt.
*
* All PWMs use the same repetition rate. The G2 needs about 10KHz min in order to
* not have obvious ripple on the Vref signals.
*
* The data structures are setup to minimize the computation done by the ISR which
* minimizes ISR execution time. Execution times are 0.8 to 1.1 microseconds.
*
* FIve PWM interrupt sources are used. Channel 0 sets the base period. All Vref
* signals are set active when this counter overflows and resets to zero. The compare
* values in channels 1-4 are set to give the desired duty cycle for that Vref pin.
* When counter 0 matches the compare value then that channel generates an interrupt.
* The ISR checks the source of the interrupt and sets the corresponding pin inactive.
*
* Some jitter in the Vref signal is OK so the interrupt priority is left at its default value.
*/
#include "../../../inc/MarlinConfig.h"
#if MB(PRINTRBOARD_G2)
#include "G2_PWM.h"
#if PIN_EXISTS(MOTOR_CURRENT_PWM_X)
#define G2_PWM_X 1
#else
#define G2_PWM_X 0
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Y)
#define G2_PWM_Y 1
#else
#define G2_PWM_Y 0
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
#define G2_PWM_Z 1
#else
#define G2_PWM_Z 0
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
#define G2_PWM_E 1
#else
#define G2_PWM_E 0
#endif
#define G2_MASK_X(V) (G2_PWM_X * (V))
#define G2_MASK_Y(V) (G2_PWM_Y * (V))
#define G2_MASK_Z(V) (G2_PWM_Z * (V))
#define G2_MASK_E(V) (G2_PWM_E * (V))
volatile uint32_t *SODR_A = &PIOA->PIO_SODR,
*SODR_B = &PIOB->PIO_SODR,
*CODR_A = &PIOA->PIO_CODR,
*CODR_B = &PIOB->PIO_CODR;
PWM_map ISR_table[NUM_PWMS] = PWM_MAP_INIT;
void Stepper::digipot_init() {
#if PIN_EXISTS(MOTOR_CURRENT_PWM_X)
OUT_WRITE(MOTOR_CURRENT_PWM_X_PIN, 0); // init pins
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Y)
OUT_WRITE(MOTOR_CURRENT_PWM_Y_PIN, 0);
#endif
#if G2_PWM_Z
OUT_WRITE(MOTOR_CURRENT_PWM_Z_PIN, 0);
#endif
#if G2_PWM_E
OUT_WRITE(MOTOR_CURRENT_PWM_E_PIN, 0);
#endif
#define WPKEY (0x50574D << 8) // “PWM” in ASCII
#define WPCMD_DIS_SW 0 // command to disable Write Protect SW
#define WPRG_ALL (PWM_WPCR_WPRG0 | PWM_WPCR_WPRG1 | PWM_WPCR_WPRG2 | PWM_WPCR_WPRG3 | PWM_WPCR_WPRG4 | PWM_WPCR_WPRG5) // all Write Protect Groups
#define PWM_CLOCK_F F_CPU / 1000000UL // set clock to 1MHz
PMC->PMC_PCER1 = PMC_PCER1_PID36; // enable PWM controller clock (disabled on power up)
PWM->PWM_WPCR = WPKEY | WPRG_ALL | WPCMD_DIS_SW; // enable setting of all PWM registers
PWM->PWM_CLK = PWM_CLOCK_F; // enable CLK_A and set it to 1MHz, leave CLK_B disabled
PWM->PWM_CH_NUM[0].PWM_CMR = 0b1011; // set channel 0 to Clock A input & to left aligned
if (G2_PWM_X) PWM->PWM_CH_NUM[1].PWM_CMR = 0b1011; // set channel 1 to Clock A input & to left aligned
if (G2_PWM_Y) PWM->PWM_CH_NUM[2].PWM_CMR = 0b1011; // set channel 2 to Clock A input & to left aligned
if (G2_PWM_Z) PWM->PWM_CH_NUM[3].PWM_CMR = 0b1011; // set channel 3 to Clock A input & to left aligned
if (G2_PWM_E) PWM->PWM_CH_NUM[4].PWM_CMR = 0b1011; // set channel 4 to Clock A input & to left aligned
PWM->PWM_CH_NUM[0].PWM_CPRD = PWM_PERIOD_US; // set channel 0 Period
PWM->PWM_IER2 = PWM_IER1_CHID0; // generate interrupt when counter0 overflows
PWM->PWM_IER2 = PWM_IER2_CMPM0
| G2_MASK_X(PWM_IER2_CMPM1)
| G2_MASK_Y(PWM_IER2_CMPM2)
| G2_MASK_Z(PWM_IER2_CMPM3)
| G2_MASK_E(PWM_IER2_CMPM4)
; // generate interrupt on compare event
if (G2_PWM_X) PWM->PWM_CMP[1].PWM_CMPV = 0x010000000LL | G2_VREF_COUNT(G2_VREF(motor_current_setting[0])); // interrupt when counter0 == CMPV - used to set Motor 1 PWM inactive
if (G2_PWM_Y) PWM->PWM_CMP[2].PWM_CMPV = 0x010000000LL | G2_VREF_COUNT(G2_VREF(motor_current_setting[0])); // interrupt when counter0 == CMPV - used to set Motor 2 PWM inactive
if (G2_PWM_Z) PWM->PWM_CMP[3].PWM_CMPV = 0x010000000LL | G2_VREF_COUNT(G2_VREF(motor_current_setting[1])); // interrupt when counter0 == CMPV - used to set Motor 3 PWM inactive
if (G2_PWM_E) PWM->PWM_CMP[4].PWM_CMPV = 0x010000000LL | G2_VREF_COUNT(G2_VREF(motor_current_setting[2])); // interrupt when counter0 == CMPV - used to set Motor 4 PWM inactive
if (G2_PWM_X) PWM->PWM_CMP[1].PWM_CMPM = 0x0001; // enable compare event
if (G2_PWM_Y) PWM->PWM_CMP[2].PWM_CMPM = 0x0001; // enable compare event
if (G2_PWM_Z) PWM->PWM_CMP[3].PWM_CMPM = 0x0001; // enable compare event
if (G2_PWM_E) PWM->PWM_CMP[4].PWM_CMPM = 0x0001; // enable compare event
PWM->PWM_SCM = PWM_SCM_UPDM_MODE0 | PWM_SCM_SYNC0
| G2_MASK_X(PWM_SCM_SYNC1)
| G2_MASK_Y(PWM_SCM_SYNC2)
| G2_MASK_Z(PWM_SCM_SYNC3)
| G2_MASK_E(PWM_SCM_SYNC4)
; // sync 1-4 with 0, use mode 0 for updates
PWM->PWM_ENA = PWM_ENA_CHID0
| G2_MASK_X(PWM_ENA_CHID1)
| G2_MASK_Y(PWM_ENA_CHID2)
| G2_MASK_Z(PWM_ENA_CHID3)
| G2_MASK_E(PWM_ENA_CHID4)
; // enable channels used by G2
PWM->PWM_IER1 = PWM_IER1_CHID0
| G2_MASK_X(PWM_IER1_CHID1)
| G2_MASK_Y(PWM_IER1_CHID2)
| G2_MASK_Z(PWM_IER1_CHID3)
| G2_MASK_E(PWM_IER1_CHID4)
; // enable interrupts for channels used by G2
NVIC_EnableIRQ(PWM_IRQn); // Enable interrupt handler
NVIC_SetPriority(PWM_IRQn, NVIC_EncodePriority(0, 10, 0)); // normal priority for PWM module (can stand some jitter on the Vref signals)
}
void Stepper::digipot_current(const uint8_t driver, const int16_t current) {
if (!(PWM->PWM_CH_NUM[0].PWM_CPRD == PWM_PERIOD_US)) digipot_init(); // Init PWM system if needed
switch (driver) {
case 0:
if (G2_PWM_X) PWM->PWM_CMP[1].PWM_CMPVUPD = 0x010000000LL | G2_VREF_COUNT(G2_VREF(current)); // update X & Y
if (G2_PWM_Y) PWM->PWM_CMP[2].PWM_CMPVUPD = 0x010000000LL | G2_VREF_COUNT(G2_VREF(current));
if (G2_PWM_X) PWM->PWM_CMP[1].PWM_CMPMUPD = 0x0001; // enable compare event
if (G2_PWM_Y) PWM->PWM_CMP[2].PWM_CMPMUPD = 0x0001; // enable compare event
if (G2_PWM_X || G2_PWM_Y) PWM->PWM_SCUC = PWM_SCUC_UPDULOCK; // tell the PWM controller to update the values on the next cycle
break;
case 1:
if (G2_PWM_Z) {
PWM->PWM_CMP[3].PWM_CMPVUPD = 0x010000000LL | G2_VREF_COUNT(G2_VREF(current)); // update Z
PWM->PWM_CMP[3].PWM_CMPMUPD = 0x0001; // enable compare event
PWM->PWM_SCUC = PWM_SCUC_UPDULOCK; // tell the PWM controller to update the values on the next cycle
}
break;
default:
if (G2_PWM_E) {
PWM->PWM_CMP[4].PWM_CMPVUPD = 0x010000000LL | G2_VREF_COUNT(G2_VREF(current)); // update E
PWM->PWM_CMP[4].PWM_CMPMUPD = 0x0001; // enable compare event
PWM->PWM_SCUC = PWM_SCUC_UPDULOCK; // tell the PWM controller to update the values on the next cycle
}
break;
}
}
volatile uint32_t PWM_ISR1_STATUS, PWM_ISR2_STATUS;
void PWM_Handler() {
PWM_ISR1_STATUS = PWM->PWM_ISR1;
PWM_ISR2_STATUS = PWM->PWM_ISR2;
if (PWM_ISR1_STATUS & PWM_IER1_CHID0) { // CHAN_0 interrupt
if (G2_PWM_X) *ISR_table[0].set_register = ISR_table[0].write_mask; // set X to active
if (G2_PWM_Y) *ISR_table[1].set_register = ISR_table[1].write_mask; // set Y to active
if (G2_PWM_Z) *ISR_table[2].set_register = ISR_table[2].write_mask; // set Z to active
if (G2_PWM_E) *ISR_table[3].set_register = ISR_table[3].write_mask; // set E to active
}
else {
if (G2_PWM_X && (PWM_ISR2_STATUS & PWM_IER2_CMPM1)) *ISR_table[0].clr_register = ISR_table[0].write_mask; // set X to inactive
if (G2_PWM_Y && (PWM_ISR2_STATUS & PWM_IER2_CMPM2)) *ISR_table[1].clr_register = ISR_table[1].write_mask; // set Y to inactive
if (G2_PWM_Z && (PWM_ISR2_STATUS & PWM_IER2_CMPM3)) *ISR_table[2].clr_register = ISR_table[2].write_mask; // set Z to inactive
if (G2_PWM_E && (PWM_ISR2_STATUS & PWM_IER2_CMPM4)) *ISR_table[3].clr_register = ISR_table[3].write_mask; // set E to inactive
}
return;
}
#endif // PRINTRBOARD_G2

View File

@@ -63,7 +63,7 @@ extern PWM_map ISR_table[NUM_PWMS];
extern uint32_t motor_current_setting[3];
#define IR_BIT(p) (WITHIN(p, 0, 3) ? (p) : (p) + 4)
#define COPY_ACTIVE_TABLE() do{ for (uint8_t i = 0; i < 6 ; i++) work_table[i] = active_table[i]; }while(0)
#define COPY_ACTIVE_TABLE() do{ LOOP_L_N(i, 6) work_table[i] = active_table[i]; }while(0)
#define PWM_MR0 19999 // base repetition rate minus one count - 20mS
#define PWM_PR 24 // prescaler value - prescaler divide by 24 + 1 - 1 MHz output

View File

@@ -20,3 +20,9 @@
*
*/
#pragma once
#if USE_FALLBACK_EEPROM
#undef SRAM_EEPROM_EMULATION
#undef SDCARD_EEPROM_EMULATION
#define FLASH_EEPROM_EMULATION
#endif

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