Compare commits

..

2111 Commits

Author SHA1 Message Date
InsanityAutomation 0af3ce598d Initial commit 2019-12-31 20:49:28 -05: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
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
ManuelMcLure 68da497f35 Remove debug_out.h '#pragma once' (again) (#16098) 2019-12-04 01:29:02 -06:00
thisiskeithb afd865d8dd Melzi has a 1284 (#16090) 2019-12-04 01:26:27 -06:00
Vertabreaker 0832a60db3 EXP3D Imprimante Multifonction (#16079) 2019-12-03 06:52:38 -06:00
ellensp cb4cd76086 Fix TMC_SW_MOSI for BTT_SKR_MINI_V1.1 (#16081) 2019-12-03 06:44:36 -06:00
Scott Lahteine 54f75ebbfe Rename platform, part 2 2019-12-03 06:42:49 -06:00
Scott Lahteine 454984376c Rename platform, part 1 2019-12-03 06:42:35 -06:00
Vertabreaker 0369929ffc Geeetech A10D & PI3A PRO configs (#16074) 2019-12-03 03:22:55 -06:00
Scott Lahteine 6134bff81b Expand environments in platformio.ini 2019-12-02 21:19:23 -06:00
Scott Lahteine b2c670fd94 [cron] Bump distribution date 2019-12-02 00:00:04 -06:00
Vertabreaker 530e92e653 Geeetech: Add E180, clean up A30 (#16072) 2019-12-01 22:41:28 -06:00
Scott Lahteine cb7817093f More serial macro cleanup 2019-12-01 22:23:36 -06:00
Scott Lahteine 9114a14eca Fix commas in EEPROM code 2019-12-01 21:59:58 -06:00
Vertabreaker 3874f4a097 Geeetech A30 / GTM32 support (#16071) 2019-12-01 21:25:45 -06:00
Luu Lac 01e4b0c067 Add Laser / Spindle bitmap for LCD (#16068) 2019-12-01 21:20:15 -06:00
Scott Lahteine bdd0517a5b Tweak test labels 2019-12-01 21:12:38 -06:00
Scott Lahteine 3dc49fd1c6 Split up hotend / bed drawing 2019-12-01 20:52:59 -06:00
Chris Pepper 849ac80e90 Fix megaatmega2560 test (#16069) 2019-12-02 02:08:25 +00:00
InsanityAutomation 7126a5e5a7 Add Host Prompt Notification Method (#15942) 2019-12-01 17:39:28 -06:00
ManuelMcLure c061656659 Use PSU powerup delay for all powerups (#16065) 2019-12-01 17:36:49 -06:00
Scott Lahteine 25a7ceabdb Fix missing step_current_down semicolons 2019-12-01 17:30:22 -06:00
Scott Lahteine 9b6d2da9bf Fix debug out macros 2019-12-01 17:28:18 -06:00
Felicia Hummel 709d037b8e Fysetc S6 PWM pins descriptions, fix servo timer (#16057) 2019-12-01 13:48:55 -06:00
Scott Lahteine 102c9595f2 Restore STM32F103RE environment 2019-12-01 13:42:00 -06:00
Scott Lahteine 4718b8ad02 Add _P variants to debug_out 2019-12-01 13:32:32 -06:00
Gustavo Alvarez efc3873149 Reorder F103RE environments (#16054) 2019-12-01 13:17:45 -06:00
Felicia Hummel 6c2438deae Fix PSU_POWERUP_DELAY compile error (#16064) 2019-12-01 12:55:28 -06:00
brian park b258cc85bf Mostly Printed SCARA (MPSCARA) support (#15573) 2019-11-30 08:57:34 -06:00
hammerhead2k2 19f840a9b5 BTT SKR 1.3 pins for Anet Full Graphics LCD (#16047) 2019-11-30 08:21:54 -06:00
Scott Lahteine 83a4e8559c Followup to "optimize common strings" 2019-11-30 08:18:23 -06:00
InsanityAutomation b24b0f385f Add ExtUI Flow Rate method (#16048) 2019-11-30 07:23:53 -06:00
Felicia Hummel 690ed531b6 Configurable PSU power-on delay (#16050) 2019-11-30 07:17:24 -06:00
Scott Lahteine 27943f9e31 Multiple axis TMC OTPW step down (#16044) 2019-11-30 06:59:44 -06:00
Scott Lahteine 1ee648ecd2 Followup to "optimize common strings" 2019-11-30 06:55:32 -06:00
InsanityAutomation 6b4166e67f Add Modix Big 60 configs (#16049) 2019-11-30 06:47:56 -06:00
Scott Lahteine 0138c0b55b [cron] Bump distribution date 2019-11-30 00:00:04 -06:00
Scott Lahteine 8431af2bff Add -fmerge-all-constants flag 2019-11-29 22:56:59 -06:00
Scott Lahteine f83bc0aa13 Optimize common strings
Saves 128 bytes in testing with `mftest mega 1 -y`
2019-11-29 22:54:42 -06:00
Scott Lahteine 4d8e7cdb30 Update SKR mini configs 2019-11-29 20:07:17 -06:00
Scott Lahteine 2d74c2042a Clean up whitespace, GTM32 pins 2019-11-29 20:05:32 -06:00
Chris Pepper e585c37d7d Fix #16038 2019-11-29 16:44:11 +00:00
Vertabreaker 1803f672f8 Pins for GTM32 board variants (#16020) 2019-11-29 07:12:49 -06:00
Vertabreaker 74e5199808 A20, A10T, A20T example configs (#16019) 2019-11-29 07:11:43 -06:00
BigTreeTech 441ee3e53f Add 'M114 E' to get E position (M114_DETAIL) (#16026) 2019-11-29 06:53:32 -06:00
Chris Pepper a63491e6eb Sanity check ADC pins and FAST_PWM_FAN with Servos (#16038) 2019-11-29 06:52:28 -06:00
Björn Wedi 3a88cfd992 Simplify platformio.ini with 'extends' (#16035)
- Add [env] with default settings
- Use 'extends' to shrink similar env entries
2019-11-29 05:05:46 -06:00
Bob 0f2ee414db Update thermistornames.h (#16027) 2019-11-29 02:06:11 -06:00
Scott Lahteine 0f14e0e978 [cron] Bump distribution date 2019-11-29 00:00:06 -06:00
Bob 5a98c83eef Use MAX6675 SPI pins for MAX31865 over SPI pins (#16024) 2019-11-27 01:45:03 -06:00
Jason Smith 752a1e76ab Float ABL mesh boundaries, no probe position rounding (#16018) 2019-11-27 01:29:25 -06:00
Jason Smith ce9a4afe95 Better ST7920 timings for FYSETC S6 (#16022) 2019-11-27 01:26:21 -06:00
thisiskeithb e0df35e6b5 Enable Filament Change on BTT SKR E3 boards (#16023) 2019-11-27 01:21:59 -06:00
Scott Lahteine 289c5dcccb Fix boot screen sanity check 2019-11-27 01:10:23 -06:00
Scott Lahteine 98f83dc756 Add comments to G29 2019-11-27 01:05:22 -06:00
Dirk O. Kaar 0550f30790 Renkforce configuration updates (#16017) 2019-11-26 20:22:17 -06:00
Scott Lahteine 077eeaa0f4 Fix mixing extruder feedrate (#15905) 2019-11-26 18:03:59 -06:00
Vertabreaker 12417d087b E2 pins for GT 2560 v3 (#16016) 2019-11-26 17:43:27 -06:00
timeburn a5a143f944 Include host_actions.h in G34 (#16014) 2019-11-26 16:38:41 -06:00
George Fu cf1e19d167 Fysetc S6 support (#15850) 2019-11-26 16:15:03 -06:00
Dirk O. Kaar 1cea1687f3 Renkforce RF100 (V1), V2, XL, and XL Plus (#15695) 2019-11-26 14:06:23 -06:00
thisiskeithb f786cc5145 Revert default BTT STM32F103 environment (#16006) 2019-11-26 04:28:13 -06:00
madmattco 049e8d5963 Add VAKE / VAKE403D support (#15631) 2019-11-26 04:00:59 -06:00
Heilig Benedek 993802c404 Fix Ender 2 display SCK, BTN_ENC pins (#15997) 2019-11-26 03:48:21 -06:00
haschtl ff6518c0a8 Add PID_FAN_SCALING option (#15585) 2019-11-26 03:34:43 -06:00
lukasmatena 8ccfdaca02 Add M220 B/R with PRUSA_MMU2 (#15739) 2019-11-26 03:34:18 -06:00
Bob e7519c50b6 Include MAX31865 library (#15969) 2019-11-26 03:23:51 -06:00
Chris Pepper c1aac3a0c9 Fix delta_mm.e with zero extruders (#15996) 2019-11-26 02:58:17 -06:00
Marcio T 43d0391d82 Fix Touch UI message strings (#16004) 2019-11-26 02:56:25 -06:00
Robby Candra fc9f8d27eb Fix Progress / Remaining display on DOGM (#16005) 2019-11-26 02:55:22 -06:00
Jason Smith d0282e5ba8 Allow slop in position_is_reachable for delta (#16003) 2019-11-26 02:53:28 -06:00
Scott Lahteine 1d150e41b6 Reduce MMU2 code, add test 2019-11-26 02:15:31 -06:00
Robby Candra 55595d444d Use LCD_WIDTH for indexed string (#15979) 2019-11-24 19:06:23 -06:00
InsanityAutomation 2142beb2e5 Fix UI compile error in UBL (#15981) 2019-11-24 17:04:19 -06:00
Jason Smith c497a491f4 Fix a PID_EXTRUSION_SCALING menu item (#15988) 2019-11-24 17:01:14 -06:00
Scott Lahteine b11551c767 Touch UI updates for Cocoa Press (#15986) 2019-11-24 06:08:05 -06:00
Scott Lahteine 441e822fb3 LULZBOT_TOUCH_UI => TOUCH_UI_FTDI_EVE 2019-11-23 17:04:17 -06:00
Scott Lahteine 47c19aa2b3 Clean up probe accessors 2019-11-23 17:02:04 -06:00
pfillion42 4a5dee6356 (SKR 1.3) Assign DIAG pins for homing dir (#15972) 2019-11-23 16:20:13 -06:00
Denis Semenov 0fcd1f4a49 Fix HAS_CLASSIC_E_JERK and related issues (#15968) 2019-11-23 15:56:07 -06:00
Chris Pepper 48e264e4e1 Update platformio.ini (env:LPC176x) (#15971) 2019-11-23 18:43:12 +00:00
Scott Lahteine 8f09d2e790 Add STM32F103RE_bigtree to Auto Build 2019-11-22 16:47:31 -06:00
Gustavo Alvarez b2a275891c Support RET6 in BTT SKR Mini (#15957) 2019-11-21 05:09:01 -06:00
Scott Lahteine bdd366b97c Update sensor -5 label 2019-11-21 04:57:57 -06:00
Scott Lahteine 20964ca7dc Bring configs up to date 2019-11-21 04:48:18 -06:00
Jason Smith b904ba0f29 Improve Delta probing / calibration (#15887) 2019-11-21 03:26:00 -06:00
Jason Smith 4ede13e36a Fix G29 for updated meshCount type (#15960) 2019-11-21 03:19:56 -06:00
Bob 751cd1f533 MAX31865 temperature sensor (#15930) 2019-11-21 03:15:10 -06:00
Scott Lahteine 4cffee3ca3 Drop obsolete setting 2019-11-20 23:57:13 -06:00
Scott Lahteine 47e4e5f1db Update thermocouple comments 2019-11-20 23:51:51 -06:00
Roman Moravčík 5681017d0c Update Slovak language (#15953) 2019-11-20 17:41:14 -06:00
BigTreeTech ab8b24fdba Power Loss Recovery with a UPS (#15943) 2019-11-20 17:40:21 -06:00
Scott Lahteine ab9f0f2c4f Followup to meshCount patch 2019-11-20 04:57:04 -06:00
InsanityAutomation e81b946f06 Better singlenozzle stored fan speed menus (#15921) 2019-11-20 00:14:56 -06:00
thisiskeithb 967f951789 SKR Mini E3 1.0/1.2 configs (#15941) 2019-11-20 00:12:57 -06:00
Daniel Negut a3229b30ec Add Zonestar/Anet LCD for SKR mini E3 (#15931) 2019-11-20 00:06:26 -06:00
InsanityAutomation 798f34abcd Float XY probe offset followup (probe edge) (#15928) 2019-11-19 23:29:52 -06:00
Giuliano Zaro 31e329f143 Update Italian language (#15925) 2019-11-19 23:27:53 -06:00
Jason Smith 9906e96ffb Allow UBL G29 J1 with PAUSE_BEFORE_DEPLOY_STOW (#15934) 2019-11-19 23:26:38 -06:00
Evgeny-SPB 7116a8645c G34 logic / typo fix (#15938) 2019-11-19 23:25:07 -06:00
Jason Smith 2dab109baa Update Anycubic Kossel config (#15935) 2019-11-19 23:23:25 -06:00
Giuliano Zaro aa89bb71f9 Fix MMU2 compile error (#15923) 2019-11-19 23:22:02 -06:00
TheAssassin 814d908a8a Ender-2 LCD on BTT SKR E3 (#15924) 2019-11-19 23:21:27 -06:00
InsanityAutomation 4d4e692c81 Match onMeshUpdate() index sign (#15920) 2019-11-19 23:16:43 -06:00
Luu Lac 4d9a5fef3b Update Vietnamese language (#15940) 2019-11-19 21:08:47 -06:00
swilkens e9bd6ef9fe TMCStepper 0.6.x is now Marlin-compatible (#15950) 2019-11-19 21:06:11 -06:00
Scott Lahteine 865055e07a [cron] Bump distribution date 2019-11-18 00:00:08 -06:00
Scott Lahteine 2bd6dc02d6 [cron] Bump distribution date 2019-11-17 00:00:06 -06:00
Robby Candra 40bbe58371 Use lcd_uint_t in lcd_put_u8str_ind_P (#15909) 2019-11-16 16:37:21 -06:00
Scott Lahteine d33ca3d058 Only TMCStepper 0.5.x is certified 2019-11-15 17:53:48 -06:00
Roxy-3D f19fa64e98 Eliminate multiple settings to extruder_duplication_enabled in G28
If the IDEX mode was previously set (via GCode or the LCD Panel) to a duplication mode...   It was lost after a G28 due to this redundant setting of 'extruder_duplication_enabled'. 

It is very important to the various use cases of IDEX machines that extruder_duplication_enabled is preserved across a G28.   The reason is this allows a person to use the LCD Panel to put the machine into a duplication mode, and then send a 'normal' part file to the printer and get two parts out of the process.
2019-11-15 15:42:01 -06:00
thisiskeithb 0f57818f2d Support 512K "RCT6" in BTT SKR Mini (#15890) 2019-11-15 02:51:26 -06:00
Scott Lahteine aa93e1f21a Update TMC_ADV examples 2019-11-15 02:15:10 -06:00
Scott Lahteine 27cb4db80e Reduced string storage using tokens (#15593) 2019-11-14 20:30:30 -06:00
Lino Barreca d1d143781e SKR-PRO: Fix FAN0 PWM speed with Heater2 (#15889) 2019-11-14 05:23:24 -06:00
Lino Barreca bd321d4b7c Don't compile STM32 SoftwareSerial unless STM32 (#15894) 2019-11-14 05:21:23 -06:00
Scott Lahteine ac2d7ab14c Fix timers.h include 2019-11-14 04:47:53 -06:00
Tanguy Pruvot 94e18ce324 STM32F1: Remove extra py imports (#15898) 2019-11-14 04:24:55 -06:00
Scott Lahteine a022defe06 [cron] Bump distribution date 2019-11-14 00:00:12 -06:00
Scott Lahteine 227951a4ec Tweak platformio.ini alignment 2019-11-13 04:29:23 -06:00
Scott Lahteine 3f4636e916 "nozzle_to_probe_offset" is obsolete 2019-11-13 03:07:54 -06:00
Scott Lahteine 602ca5dea6 No USE_M73_REMAINING_TIME without LCD_SET_PROGRESS_MANUALLY 2019-11-13 02:07:17 -06:00
Robby Candra fcfde7c2f5 Only assign CS/RX/TX on extra axes with SPI/UART (#15886) 2019-11-13 02:03:34 -06:00
Scott Lahteine a4709ba765 Store unscaled PID values in EEPROM (#15884) 2019-11-13 01:47:46 -06:00
Scott Lahteine 7e9c846ec3 Modify comment for unlimited E steppers 2019-11-13 01:45:50 -06:00
Jason Smith 9fd35c84ce SoftwareSerialM for SKR STM32F1 boards (#15875) 2019-11-12 22:16:54 -06:00
Chris Pepper 8e7d1004cf Update LPC176x platform version 2019-11-13 03:59:10 +00:00
Jamie 32028902c3 Use max feedrate for joystick motion (#15870) 2019-11-12 21:01:04 -06:00
Giuliano Zaro bb93ea1be4 [SAMD51] Activate ADCs oversampled 12bits (#15874) 2019-11-12 20:59:17 -06:00
Roman Moravčík e110f5abce M73 R : Set Remaining Time (#15549) 2019-11-12 19:36:54 -06:00
Lino Barreca ac71cdc265 New HardwareTimer for STM32 5.7.0 (#15655) 2019-11-12 19:23:02 -06:00
Chris Pepper 4762dfe797 Fix lpc u8g i2c (#15876) 2019-11-12 01:59:36 +00:00
Chris Pepper af61f37b65 Update lpc176x requirements (#15869) 2019-11-11 03:25:56 +00:00
ManuelMcLure b9703fdf36 Ensure TMC + LIN_ADVANCE pulse length (#15807) 2019-11-10 19:04:28 -06:00
Scott Lahteine 5e5045c4ee Touch UI finishing touches 2019-11-10 18:52:53 -06:00
Marcio Teixeira 5639b8ca20 Touch UI fixes for Cocoa Press (#15847) 2019-11-10 18:49:41 -06:00
danym21 28e1614c2e Add Sensorless Homing current (#15690) 2019-11-10 18:45:06 -06:00
Chris Pepper 86d0bc1af5 Update lpc176x framework version requirement (#15868) 2019-11-10 23:30:28 +00:00
LinFor 48b7a1e66e Allow non-zero "fan off" PWM value (#15709) 2019-11-10 16:33:56 -06:00
Jason Smith 770adcfa15 Raise Z before homing X/Y on unknown Z (#15859) 2019-11-10 16:21:20 -06:00
Scott Lahteine 624336f453 Fix up Megatronics 3.2 test 2019-11-10 16:19:57 -06:00
ellensp 7b29c60c46 Fix compile with chamber enabled (#15862) 2019-11-10 16:15:08 -06:00
Scott Lahteine 534f2d69c1 [cron] Bump distribution date 2019-11-10 00:00:04 -06:00
Jademalo 37874a6472 Fix E0_SERIAL_RX_PIN typo (#15841) 2019-11-09 22:51:20 -06:00
Marcelo Cerri b9d351899a Update SKR mini E3 1.2 Filament Runout pin (#15843) 2019-11-09 22:49:33 -06:00
Scott Lahteine 7010f92c4b Board-based LCD delays 2019-11-09 22:33:38 -06:00
Scott Lahteine 6e0bcb80a2 Tweak mega tests 2019-11-09 22:33:38 -06:00
Ivan Kravets 4ff708cb3a STM32 PIO: Override default LD Script using LINKFLAGS build scope (#15853) 2019-11-09 21:34:12 -06:00
Scott Lahteine 9ca25118d0 Whitespace cleanup 2019-11-09 21:17:52 -06:00
Jason Smith b3f81eead5 Fix/improve TURBO_BACK_MENU_ITEM (#15856) 2019-11-09 19:27:30 -06:00
Scott Lahteine 776632c503 Add and apply REPEAT macro (#15829) 2019-11-09 17:59:04 -06:00
Scott Lahteine 8061836e74 Fix Lulzbot tag 30: "Heaters Off" 2019-11-08 03:57:34 -06:00
Scott Lahteine 249f600ceb [cron] Bump distribution date 2019-11-08 00:00:03 -06:00
Marvin Sinister 8d157a4520 Fix MKS MINI12864 on SKR 1.3 (#15836) 2019-11-07 19:39:08 -06:00
Luu Lac ed6bbe012b Fix incomplete 'Homing XYZ' screen draw (#15830) 2019-11-07 19:14:02 -06:00
AnHardt 4db68d704f Update Display Throttling (#15837) 2019-11-07 19:04:19 -06:00
Scott Lahteine bb5b1e19b0 Function-style stepper macros 2019-11-07 17:14:36 -06:00
thisiskeithb 47805e18f8 Makefile catch-up (#15823) 2019-11-07 02:14:40 -06:00
Scott Lahteine 0be9fdb455 Move single-use to lambdas 2019-11-07 00:28:33 -06:00
Scott Lahteine 84ce3a6bea LCD corner screen handler lambda 2019-11-07 00:24:16 -06:00
Scott Lahteine 711703dcd1 [cron] Bump distribution date 2019-11-07 00:00:06 -06:00
LinFor a84e3d1b80 Use native ADC resolution where possible (#15719) 2019-11-06 17:49:17 -06:00
Miroslav Šustek 9201197878 Fix SKR E3 board BLTOUCH + SPEAKER timer conflict (#15781) 2019-11-06 17:34:29 -06:00
Jason Smith 814a2eaf8f Allow TMC baud rate override (#15773) 2019-11-06 17:08:12 -06:00
teemuatlut d9b0b964be Fix TMC2208 HW Serial constructor (#15782) 2019-11-06 16:57:48 -06:00
Tanguy Pruvot d13573c9cd STM32F1: restore latest ststm32 version (#15776) 2019-11-06 16:56:35 -06:00
Axel 786617e375 Fix RAMPS + VIKI i2c (#15811) 2019-11-06 16:52:28 -06:00
Scott Lahteine e6dfc991ae Patch tabs, heater led tests 2019-11-06 16:28:36 -06:00
Scott Lahteine a89f4703df Tweak permissions 2019-11-06 16:10:14 -06:00
Roman Moravčík 41b5d720e2 Fix filament Change heading on LCD (#15783) 2019-11-06 15:58:06 -06:00
Luu Lac 4ee3502c8f Fix "confused intellisense" (#15817) 2019-11-06 15:54:09 -06:00
Scott Lahteine f5b5b9e8ec Bring filament menu up to speed 2019-11-05 17:16:12 -06:00
ellensp f088c6a850 Add MKS_GEN_L_V2 controller support (#15793) 2019-11-04 16:31:27 -06:00
aleknest cf87d3c700 More compatible uint8_t for Experimental i2c Bus buffer (#15788) 2019-11-04 16:28:16 -06:00
Scott Lahteine e9805a0bcb Go to previous menu on object cancel 2019-11-04 16:13:10 -06:00
Scott Lahteine 51fd226a4d Unconfuse intellisense 2019-11-04 15:40:56 -06:00
Scott Lahteine d80ef43c19 Followup to es int patch 2019-11-04 15:40:45 -06:00
Giuliano Zaro 35cd545106 Use prior endstop pin-to-interrupt macros (#15771) 2019-11-04 15:24:41 -06:00
Jason Smith 1fe0646d25 Use modified SoftwareSerialM which works with SKR Pro (#15796) 2019-11-04 15:17:42 -06:00
Scott Lahteine 328ddda654 Clean up whitespace 2019-11-04 13:23:26 -06:00
Scott Lahteine 55991962be Patch extra axis MS pins for debugging 2019-11-04 12:28:10 -06:00
Chris Pepper b9116d4050 LPC176x Framework update (#15722)
Changes required for compatibility with framework-arduino-lpc176x 0.2.0
2019-11-03 02:34:09 +00:00
Scott Lahteine 15f94e5ee5 Add NUL_STR global 2019-11-02 07:31:07 -05:00
Scott Lahteine ea3217cd46 Move 'draw' methods into Menu Item classes (#15760) 2019-11-02 07:28:20 -05:00
ManuelMcLure 76b861d759 Fix kill screen with null string (#15747) 2019-11-02 07:13:42 -05:00
Robby Candra 7360e9343a Minor DOGM status screen fix (#15746) 2019-11-02 07:04:31 -05:00
Robby Candra bdb452ed81 Fix missing % on DOGM Status Screen (#15748) 2019-11-02 07:01:50 -05:00
Giuliano Zaro 65ef774e8d Fix mega Port J endstop interrupts (#15758) 2019-11-02 06:59:38 -05:00
Scott Lahteine a920b10483 Fix true/false redefined warnings 2019-11-02 06:04:28 -05:00
Scott Lahteine ed8f1ca9cf Revert Cortex delay for now 2019-11-02 04:12:18 -05:00
Scott Lahteine ca6d00b862 Save some string flash 2019-11-02 00:48:05 -05:00
Scott Lahteine 23d21dd81c Tweak lambdas 2019-11-02 00:05:23 -05:00
Scott Lahteine a7d7f36871 [cron] Bump distribution date 2019-11-02 00:00:05 -05:00
Scott Lahteine a5df89eef7 Add HAL_IWDG_MODULE_ENABLED to generic F4/F7 2019-11-01 22:08:33 -05:00
Scott Lahteine 93db4f4535 Tweak backtrace.cpp include 2019-11-01 22:08:33 -05:00
Scott Lahteine f0d952d33a Cortex M3-M7 can use DWT->CYCCNT (#15762)
Suggested by Alex Kenis at https://youtu.be/ZfyPcdhQnAA?t=502
2019-11-01 22:07:51 -05:00
Scott Lahteine ad28da7eb4 Patch ABL G29 loop
Followup to e3ddf6e81a
2019-11-01 15:39:05 -05:00
Scott Lahteine 288af0ddf6 Whitespace 2019-11-01 15:39:05 -05:00
Scott Lahteine e7d9db284e Followup to M240 patch 2019-10-31 17:27:19 -05:00
Raúl Lázaro Sánchez 7c60853219 Fix blocking delay in Photo G-code M240 (#15728) 2019-10-31 17:14:11 -05:00
The-Force c6f694a247 Power Loss Recovery for volumetric extrusion (#15734) 2019-10-31 14:09:37 -05:00
Scott Lahteine 4e6e02bc3e Include pause.h for M701-702 2019-10-31 13:18:50 -05:00
Scott Lahteine e3ddf6e81a Fix meshCount signed-ness 2019-10-31 13:18:50 -05:00
Scott Lahteine 899e0fcdbb [cron] Bump distribution date 2019-10-31 00:00:07 -05:00
Scott Lahteine 35b1149d96 Patch es int tests for Arduino 1.8.10 2019-10-30 15:52:02 -05:00
Scott Lahteine c80eda073f M119 => report_states 2019-10-30 15:24:10 -05:00
LinFor 7d24f152d8 Fix a typo breaking the build (#15726) 2019-10-30 15:10:08 -05:00
Scott Lahteine 61225e685d Abort SD followup 2019-10-29 17:04:49 -05:00
Scott Lahteine d5c1c72a76 Tweak CW/CCW bitmaps 2019-10-29 16:53:07 -05:00
Scott Lahteine aaf018e5a0 Language changes 2019-10-29 16:20:35 -05:00
Scott Lahteine 583fc4ee2a Move abortSDPrinting with others 2019-10-29 16:00:28 -05:00
Scott Lahteine 55c3929359 Group AVRx4 boards together 2019-10-29 15:59:25 -05:00
Scott Lahteine c5713b5e98 Clean Endstops::event_handler 2019-10-29 15:58:26 -05:00
Scott Lahteine be498d6280 [cron] Bump distribution date 2019-10-29 00:00:05 -05:00
Aurawin b09b469dd5 Add BIQU TANGO V1 support (#15682) 2019-10-28 18:21:59 -05:00
studiodyne 319e2b5760 Fan menus fix. FR cosmetic change. (#15714) 2019-10-28 16:49:31 -05:00
studiodyne f139642e0f XY/Z Babystep Multiplicators (#15691) 2019-10-28 16:44:17 -05:00
thisiskeithb abb44cf564 No boot-screen on Sidewinder X1 TFT28 (#15706) 2019-10-28 16:33:44 -05:00
Scott Lahteine ade76e53de Fix A10M/A20M mixer display
Co-Authored-By: 3Dangel <3dangel@users.noreply.github.com>
2019-10-28 16:26:54 -05:00
InsanityAutomation cc4d3a215e Fix ExtUI UBL method calls (#15704) 2019-10-28 15:50:27 -05:00
InsanityAutomation d4f5821cd6 Fix 3-point sanity check (#15696) 2019-10-28 15:46:59 -05:00
Scott Lahteine 9aff30da0c Confirm object cancellation (#15660) 2019-10-27 19:50:21 -05:00
Scott Lahteine 78899fc241 Followup to E Total 2019-10-27 18:40:33 -05:00
Scott Lahteine 7a342ecb93 Show Total E during print (#15703) 2019-10-27 17:49:27 -05:00
Scott Lahteine 0f8c3ed29a Prevent extra "too long/cold" errors 2019-10-27 17:40:07 -05:00
Scott Lahteine 9720d21301 Clean up trailing whitespace 2019-10-27 15:32:29 -05:00
Scott Lahteine c2cec563dc Followup to Cancel Objects 2019-10-27 15:26:24 -05:00
Scott Lahteine 9e8021d6a4 Fix pins debug of CS/MS pins 2019-10-26 18:46:39 -05:00
Scott Lahteine e7b22a0ed4 Use 5.4.3 for STM32F407VE_black 2019-10-26 16:50:12 -05:00
Scott Lahteine ab0fe1a7dd Tweak G29 faux point 2019-10-26 14:41:54 -05:00
Scott Lahteine 4fc000fe90 Disable broken platforms for now 2019-10-26 14:41:54 -05:00
Scott Lahteine e0f68cda1e Use ststm32 5.6.0 for now 2019-10-26 14:41:54 -05:00
thisiskeithb 5d4e309dd3 CR-10/S/Mini & Ender-5 default TMC RMS currents (#15666) 2019-10-26 13:13:08 -05:00
Giuliano Zaro 6fd13879ae Update Italian language (#15676) 2019-10-26 12:54:59 -05:00
Scott Lahteine 600429a067 Cancel Objects followup 2019-10-25 20:08:45 -05:00
Roman Moravčík e690471739 Print startup message after print statistics are loaded (#15664) 2019-10-25 19:46:56 -05:00
Scott Lahteine 732bf89878 Get 'cancelable' for gcode.cpp 2019-10-25 19:38:23 -05:00
Tanguy Pruvot c58cc113dd MKS Robin: restore the TFT v2.0 support (ST7789V) (#15675) 2019-10-25 19:30:43 -05:00
Scott Lahteine 014b739bac Fix M486 int parameters 2019-10-25 19:19:33 -05:00
Scott Lahteine f8ad15fde8 Rename BOARD_STM32F4 to fix use with MB() 2019-10-25 18:12:29 -05:00
J.C. Nelson 167ecd8620 Chitu board support (e.g., Tronxy X5s) (#15493) 2019-10-25 17:11:25 -05:00
Scott Lahteine 408751d5e0 Fix CANCEL_OBJECTS missing include 2019-10-25 15:45:55 -05:00
Evgeny Zyatkov 12a244f24f Fix #endif typo (#15661) 2019-10-25 12:27:23 -05:00
Scott Lahteine f12285015a [cron] Bump distribution date 2019-10-25 12:18:21 -05:00
Scott Lahteine 93f0012959 Cancel Objects - As seen at ERRF2019 (#15590) 2019-10-24 15:35:40 -05:00
Marcio T f6a799c7b3 Allow compile under Windows Subsystem for Linux (#15606) 2019-10-24 14:57:20 -05:00
InsanityAutomation 82fb046013 Allow suicide pin inverting (#15586) 2019-10-24 14:07:28 -05:00
Scott Lahteine 2a7e1d459f Option to rotate Percent, (E)lapsed, and (R)emaining time (#15578) 2019-10-24 14:00:59 -05:00
Scott Lahteine 464d98d178 Short time prefixes, no percent prefix 2019-10-24 14:00:32 -05:00
Scott Lahteine ccf61eca84 Fix diplay elaspsed 2019-10-24 13:48:27 -05:00
Scott Lahteine ff4301a422 Update status_screen_DOGM.cpp 2019-10-24 13:42:02 -05:00
Scott Lahteine 326d5b84e7 Update status_screen_DOGM.cpp 2019-10-24 13:39:32 -05:00
Scott Lahteine 5edd5d1e1f Clean up 2019-10-24 13:38:39 -05:00
Jacob Jordan 9895e6d766 Only use slow homing speed where applicable (#15640) 2019-10-24 13:14:45 -05:00
InsanityAutomation b3d7d33faf Fix CUSTOM_VERSION_FILE has_include (#15635) 2019-10-24 13:07:29 -05:00
Robby Candra cf8541a7a7 Fix G92.9 (thus PLR Z position) (#15625) 2019-10-24 13:05:50 -05:00
Scott Lahteine cd3ec5a77b Add error-check to M422 2019-10-24 12:59:50 -05:00
Tanguy Pruvot 0737b1aecf env: SKRmini can't use STLink (#15645) 2019-10-24 12:30:10 -05:00
Timm e02b06672c Increase MMU2 serial buffer size with USB serial (#15646) 2019-10-24 12:28:41 -05:00
Giuliano Zaro 0f5d457252 Allow redundant temp sensor with SINGLENOZZLE (#15650) 2019-10-24 12:23:06 -05:00
Daniel Callander 475041656c Reset position_shift on G28 (#15653) 2019-10-24 12:20:09 -05:00
Bo Herrmannsen 04a55c9188 Fix LPC176x build script for Python 3 (#15637)
Co-Authored-By: Sven Holzmann <powerprobot@users.noreply.github.com>
2019-10-24 12:16:02 -05:00
milkpirate 6bcd4eb12d Fix M420 (UBL) undefined variables (#15621) 2019-10-24 12:07:17 -05:00
Luu Lac efeb6efe77 Set pullup on BTN_BACK pin (#15654) 2019-10-24 12:04:45 -05:00
Evgeny-SPB b7db91c46d Fix apply_rotation function (#15636) 2019-10-24 12:02:27 -05:00
Luu Lac 0b0b822671 Add note: TMC2209 requires stealthChop for Sensorless Homing (#15658) 2019-10-24 11:58:37 -05:00
Scott Lahteine 77f500b857 Fix LPC1769 test 2019-10-24 11:55:48 -05:00
Roxy-3D 3642a12fc1 fix parameter order of mark, marked and unmark
The parameter order was wrong on mark(), marked() and unmark().    

This was breaking the G26 Mesh Validation algorithm.
2019-10-23 11:34:24 -05:00
Scott Lahteine af214ff121 Fix up PSU_CONTROL checks 2019-10-22 16:16:12 -05:00
Scott Lahteine 62b875f918 Fix PLR condition saving retract 2019-10-22 16:16:12 -05:00
Robby Candra 2c42526763 FIx Estimation String Pos 2019-10-22 10:02:27 +07:00
Robby Candra d64ab63026 Fix Estimation String Macro 2019-10-22 08:16:29 +07:00
Scott Lahteine f00b48f9a8 Expand encoder value range 2019-10-21 18:56:24 -05:00
Scott Lahteine 160c8be191 Fix BABYSTEP_DISPLAY_TOTAL output 2019-10-21 13:53:19 -05:00
Scott Lahteine 7aaa8bc8bd Bring WDi3 example up to date 2019-10-21 13:33:40 -05:00
Robby Candra 52a8bbefcf Make sure estimate time = 0 not displayed 2019-10-20 23:44:05 +07:00
Robby Candra 6241bcf0c8 Fix Progress at the end of print. 2019-10-20 06:06:48 +07:00
Evgeny Zyatkov 9470554f63 Fix DUE HAL serial defines (#15594) 2019-10-19 12:30:38 -05:00
Robby Candra f368c14a61 Fix Probe Manually Grid (#15598) 2019-10-19 12:29:50 -05:00
Scott Lahteine f2ce4a25a3 Fix host_response_handler debug 2019-10-18 16:47:13 -05:00
Chris Pepper 11f1392026 Fix Python3 (Windows) compatibility (#15597) 2019-10-18 21:15:26 +01:00
Scott Lahteine 725ec68faa [cron] Bump distribution date 2019-10-18 00:00:04 -05:00
Robby Candra 16ae9ee88b Update Configuration_adv 2019-10-17 05:37:22 +07:00
Robby Candra 9b88c3e79b DOGM Progress Display, option to disable display rotation 2019-10-17 05:26:09 +07:00
Scott Lahteine 0652f19673 Fix M420 for moved probe methods 2019-10-16 15:56:34 -05:00
Scott Lahteine bb381e22b2 Fix left-shift warning 2019-10-16 15:42:46 -05:00
Bo Herrmannsen 0d7736d663 Enable M191 (#15531) 2019-10-16 15:02:37 -05:00
Antti Andreimann 40de135d4d Fix CUSTOM_USER_MENU_TITLE non-translated string (#15575) 2019-10-16 13:53:12 -05:00
Francois Rainville dd0c5de4c7 Provide LONG_FILENAME_LENGTH for headers (#15582) 2019-10-16 13:51:18 -05:00
Jason Smith 832cb7e1ac Z_STEPPER_AUTO_ALIGN — To align with Z stepper points (#15195) 2019-10-16 13:39:58 -05:00
Robby Candra 7af99d03d3 Don't show prefix if no elapsed time 2019-10-16 16:25:52 +07:00
Robby Candra bf850827f7 Fix Progress Display 2019-10-16 16:18:20 +07:00
Scott Lahteine e0e406dbcc [cron] Bump distribution date 2019-10-16 00:00:03 -05:00
InsanityAutomation b2eda1af2f Fix typo in G34 configuration (#15572) 2019-10-15 17:22:13 -05:00
Scott Lahteine 0ff57c640c Fix compile warning 2019-10-15 17:13:07 -05:00
Scott Lahteine 3949d246df Fix ESP32 name conflict 2019-10-15 17:13:07 -05:00
Scott Lahteine b7b303f4bf Spindle/Laser power in planner blocks (#14437) 2019-10-15 16:10:20 -05:00
Jason Smith 53abfdc2c3 Fix BLTOUCH and FAN PWM conflicts on SKR E3 boards (#15547) 2019-10-15 14:18:46 -05:00
Slawomir Ciunczyk 8668571bee Update Polish language (#15569) 2019-10-15 13:36:17 -05:00
Scott Lahteine faacfe13c2 Tweak M105 layout 2019-10-15 13:35:13 -05:00
Antti Andreimann d47f29bd4c Give a dummy response to M105 with zero thermistors (#15568) 2019-10-15 13:30:52 -05:00
Piotr fe4c69b64a Poll *all* enabled endstop pins (#15525) 2019-10-15 13:28:04 -05:00
Tanguy Pruvot 93097af0ed U20: update config, ts, serial, jerk, limited edit values... (#15524) 2019-10-15 12:35:53 -05:00
Slawomir Ciunczyk 99f983d066 Update Polish language (#15541) 2019-10-15 12:34:18 -05:00
InsanityAutomation 0074d63962 Vendor version override (#14189)
Co-Authored-By: InsanityAutomation <insanityautomation@users.noreply.github.com>
2019-10-15 12:32:44 -05:00
Scott Lahteine 7622973a31 Fix elapsed time overflow warning 2019-10-15 11:47:24 -05:00
Scott Lahteine d57a668097 Update Spanish Translation (#15556) 2019-10-15 11:38:57 -05:00
Markus Towara 437978d349 Bring SPI_SENSORLESS code up to date (#15560) 2019-10-15 11:34:45 -05:00
Tanguy Pruvot a988f9304d reduce the required size with uint16_t modifiers 2019-10-14 20:11:59 +02:00
Tanguy Pruvot 21867c7fef elapsed time overflow warning fix
tried to fix it with snprintf in libs/duration_t.h but its worst... :/
2019-10-14 20:00:59 +02:00
sL1pKn07 d37bd33c31 Update Spanish Translation 2019-10-14 16:02:54 +02:00
Roman Moravčík b4f82d1081 Update Slovak language (#15527) 2019-10-13 17:35:38 -05:00
Tanguy Pruvot f06602ff7e Fix MKS Robin python script (for Travis CI) (#15523) 2019-10-13 17:34:31 -05:00
Tanguy Pruvot ee20f21a24 Fix undefined max in multi-language (#15521) 2019-10-13 18:31:28 -04:00
Giuliano Zaro 7714152013 Update Italian language (#15533) 2019-10-13 17:28:03 -05:00
Bo Herrmannsen 5ad9257df4 Fix DUE HAL serial defines (#15536) 2019-10-13 17:06:15 -05:00
Krystian Booker 62aa137548 Fixed pid_autotune_menu made pid_label accessible (#15551) 2019-10-13 16:46:06 -05:00
Roxy-3D 37550e9d98 Allow 3-digit LCD Display of value
The LCD Display shows 3 digits of precision, not 4.   
So change the bounding value to something more rational.
2019-10-13 14:34:51 -05:00
Roxy-3D 05eed72b69 Allow LCD Menu to adjust Junction Deviation lower
Allow LCD Menu to adjust Junction Deviation lower than .01.   Some machines currently have a JUNCTION_DEVIATION_MM value as low as .005 mm.     In the case of non-Linear-Advance machines...   The upper limit is raised to .5 mm.

Probably more thought needs to be given to the Linear Advance case.   It maybe it doesn't need a special case and should just use the same bounds as the non-Linear Advance case.
2019-10-12 17:36:43 -05:00
Gustavo Alvarez df09532a9c Reassign FIL_RUNOUT_PIN for ReARM boards (#15519)
Reassign FIL_RUNOUT_PIN from P1_18 to P1_19

P1_18 is connected to a buffer in order to output 5V making it unsuitable for input.
2019-10-12 21:02:20 +01:00
Roxy-3D 59378db7de Eliminate clutter in Formbot T-Rex 3 Configuration.h file
The extra clutter was making the Junction Deviation patch script calculate the wrong value.
(The script wasn't smart enough to see the extra lines were commented out and used the wrong values in the calculation.)

All fixed now with a JUNCTION_DEVIATION_MM calculated at .017
2019-10-11 17:11:24 -05:00
Roxy-3D c8e348731f Correct Junction Deviation value for Formbot Raptors
Re-apply the formula .4 * V^2 / Default_Acceleration to work correctly in Raptor configuration.h file.
(The problem is there are multiple XJerk and YJerk values declared based on the step sticks used on the printer.)
This change should provide correct values for all setups.
2019-10-11 16:52:47 -05:00
Roxy-3D 7a1fa2177c Eliminate multiple DEFAULT_ACCELERATION declarations.
Re-calculate and fix the Junction Deviation value using correct DEFAULT_ACCELERATION number.
2019-10-11 16:31:24 -05:00
Haxk20 1df90aaf0e Followup to num2str update (#15518) 2019-10-11 08:45:15 -05:00
Matthew Piercey ac8083588b Add config for Wanhao Duplicator i3 v2.1 2019-10-11 00:59:58 -05:00
Robby Candra e79666a82b Followup to "Fix G2/G3 rounding" (#15510) 2019-10-10 21:16:37 -05:00
LinFor b20d5a7cc6 Estimate Remaining Time (graphical display) (#15497) 2019-10-10 21:03:33 -05:00
Scott Lahteine 5641adb01b Clean up stray tabs 2019-10-10 20:16:16 -05:00
Ed Williams d8aeeb8ff6 Fix G2/G3 rounding error (#15507) 2019-10-10 19:50:08 -05:00
Roxy-3D 2cf35267c4 Set Junction Deviation value from Jerk and Default Acceleration (#15509)
Formula: `0.4 * sq(min(xjerk, yjerk)) / (default accel)`
2019-10-10 19:44:15 -05:00
Robby Candra 6f60838736 Fix PAUSE_MODE_CHANGE_FILAMENT menu item (#15501) 2019-10-10 19:39:32 -05:00
Robby Candra ac466ecf74 Change Junction Deviation to Classic Jerk (#15505) 2019-10-10 19:31:59 -05:00
Scott Lahteine 3664beec29 Don't refresh on status line changes 2019-10-10 19:29:17 -05:00
Scott Lahteine 13cf417a98 [cron] Bump distribution date 2019-10-10 00:00:04 -05:00
Scott Lahteine 541a9f2b85 Defer test of Lulzbot UI for now 2019-10-09 23:39:22 -05:00
ANMay-ru b119c14017 Clean up LCD print, align (#15498) 2019-10-09 20:41:44 -05:00
Jason Smith 46763efb75 Fix tool-change move with hotend offset (#15491) 2019-10-09 19:48:00 -05:00
Marcio Teixeira 6a865a6146 Multi-language support (#15453) 2019-10-09 19:46:10 -05:00
Marcio Teixeira dc14d4a13c Improvements and fixes to Lulzbot UI (#15490) 2019-10-09 19:44:49 -05:00
Scott Lahteine e6055dce76 Followup to position refactor 2019-10-08 22:08:05 -05:00
Scott Lahteine b4d48fdc91 Followup to #15481 2019-10-08 21:38:02 -05:00
Scott Lahteine af80653f3f Always report all PIDs in M503
Fix #14474
2019-10-08 21:07:19 -05:00
Scott Lahteine a525cc06c1 Add ARC_SUPPORT to DUE tests 2019-10-08 20:46:01 -05:00
Scott Lahteine 914605c89c gcc is forgiving of stray ; 2019-10-08 20:36:39 -05:00
Scott Lahteine 89490171ef Use "concatenatable" language codes 2019-10-08 20:17:23 -05:00
Scott Lahteine c0005e939c Enable junction deviation by default (#15481) 2019-10-08 19:42:18 -05:00
Scott Lahteine 1df6c7a46c Work around a compiler bug
See #15478
2019-10-08 19:27:03 -05:00
Scott Lahteine 5becda25c5 Followup to E renumbering 2019-10-08 17:37:17 -05:00
Scott Lahteine cb1cb72c76 Fix Move Z menu item 2019-10-08 17:24:40 -05:00
Luu Lac e34aa1ff8f Add A8, A8 Plus, A6 logos to configs (#15489)
Co-Authored-By: Leo <leo@nutz.de>
2019-10-08 15:33:24 -05:00
LinFor 58f81f8e7e Followup to progress override (#15488) 2019-10-08 15:24:14 -05:00
Scott Lahteine d45ab47139 [cron] Bump distribution date 2019-10-08 14:33:57 -05:00
Scott Lahteine 9dcccc11ba Fix extra condition 2019-10-07 22:36:49 -05:00
Scott Lahteine cc822c1a05 Use lambdas in menus, where possible (#15452) 2019-10-07 19:44:33 -05:00
Scott Lahteine cd791f1cba Move long tests to the end 2019-10-07 19:41:15 -05:00
Scott Lahteine 59508edf64 Suppress data[] array warning 2019-10-07 19:32:23 -05:00
Scott Lahteine e84389c976 Fix G2/G3 workspace plane parameters (#15475) 2019-10-07 17:09:20 -05:00
LinFor 19b7be067c Allow M73 to override SD position (#15449) 2019-10-07 16:38:58 -05:00
chzj333 d04561805b Support for BTT SKR Mini E3 v1.2 (#15476) 2019-10-07 15:45:11 -05:00
InsanityAutomation 71526fa5ce Fix ExtUI onMeshUpdate event (#15477) 2019-10-07 15:39:52 -05:00
Scott Lahteine 56595a4c9c Improve G2/G3 precision
See https://github.com/MarlinFirmware/Marlin/issues/14745#issuecomment-538781253
2019-10-07 00:03:17 -05:00
Scott Lahteine 211ff67440 Patch blocking and manual moves 2019-10-06 23:58:19 -05:00
Tanguy Pruvot c6ffa7f38d MKS Robin: SD pins not required (SDIO) (#15474) 2019-10-06 23:20:43 -05:00
Scott Lahteine 519cc1bc67 NUM_AXIS is now obsolete 2019-10-06 22:18:16 -05:00
Scott Lahteine 4134c6398a Update 'mftest' (local test build) script 2019-10-06 22:04:28 -05:00
Scott Lahteine 9188ce1a8d Add JOIN for simple append 2019-10-06 22:01:06 -05:00
Scott Lahteine 51ae13fc8c Compact MIN/MAXTEMP_ALL 2019-10-06 21:58:58 -05:00
Scott Lahteine 5449088a8e Fix Japanese language extra define 2019-10-06 21:58:58 -05:00
Me No Dev fc6a0937b8 Improve Malyan M200 integration (#15462) 2019-10-05 22:37:22 -05:00
Giuliano Zaro a1ad01e4ab Limit Case Light PWM (#15459) 2019-10-05 22:32:50 -05:00
Scott Lahteine f8498d8a52 GET_TEXTF => GET_TEXT_F 2019-10-05 20:47:28 -05:00
LinFor e854eb933d Allow pins overrides for SKR V1.3 (#15451) 2019-10-05 20:40:01 -05:00
Giuliano Zaro 8924c0f1ec AGCM4 link in README.md (#15461) 2019-10-05 20:36:20 -05:00
Jimmy Page 203d260a41 Update Japanese font and translation (#15470) 2019-10-05 20:35:20 -05:00
Daniel Andersen 0076e1e792 Fix CR10 Stock Display timing with SKR_PRO V1.1 (#15446) 2019-10-05 20:33:46 -05:00
Giuliano Zaro a3ec573984 Uniform fan speed & case light 2019-10-05 18:34:11 -05:00
Giuliano Zaro ff55601dc3 Update Italian language 2019-10-05 18:30:48 -05:00
Roman Moravčík b90dff020e Update Slovak language 2019-10-05 18:29:17 -05:00
Giuliano Zaro 43aba9f918 Fix compile errors & temp range 2019-10-05 18:27:03 -05:00
Scott Lahteine 1ac629f919 [cron] Bump distribution date 2019-10-05 00:00:09 -05:00
Luu Lac 5d81d7cefe if no HOTENDS 2019-10-04 16:18:18 -05:00
Tanguy Pruvot 895f64fbab Add missing MKS Robin TOUCH_CS_PIN (#15445) 2019-10-04 01:51:07 -05:00
Scott Lahteine b7dfbb6af5 [cron] Bump distribution date 2019-10-04 00:00:05 -05:00
Scott Lahteine c83c2a5022 Patch compile glitches 2019-10-03 15:37:13 -05:00
Scott Lahteine 6b945eb548 Show "FILAMENT CHANGE" during filament change 2019-10-03 07:45:52 -05:00
Scott Lahteine 0322348924 Handle runout in runout.cpp 2019-10-03 06:27:30 -05:00
Scott Lahteine 72d791a736 Standardize active/paused functions 2019-10-03 06:27:30 -05:00
Scott Lahteine 719615a6b6 Simplify edit menu items
The `edit` part of menu items displaying values is not needed. Menu edit types can be modeled on sub-menus.
2019-10-03 06:27:30 -05:00
Scott Lahteine 273cbe931e Aliases for common menu item types 2019-10-03 06:15:21 -05:00
tonokip df48ef6df3 Fix step timer on Archim1 (#15447) 2019-10-03 03:29:15 -05:00
Scott Lahteine acbe84c8ef [cron] Bump distribution date 2019-10-03 00:00:05 -05:00
Scott Lahteine b82c0978cc Patch up OPEN command in git scripts 2019-10-02 02:02:51 -05:00
Scott Lahteine d0ef7b6588 [cron] Bump distribution date 2019-10-02 00:00:04 -05:00
Scott Lahteine 1952982c01 Rearrange configs for export 2019-10-01 22:20:32 -05:00
Oliver Jean Eifler d52b908627 Fix coordinate size for G26 w/out arcs (#15443) 2019-10-01 20:02:27 -05:00
InsanityAutomation 438835f6a5 Configurable Max Accel, Max Feedrate, Max Jerk edit limits (#13929) 2019-10-01 19:59:48 -05:00
Scott Lahteine f9400b6a3c [cron] Bump distribution date 2019-10-01 00:00:05 -05:00
Scott Lahteine 7cd72de8bc General cleanup, style 2019-09-30 22:57:23 -05:00
Scott Lahteine 806d64e1bf X_SENSORLESS includes AXIS_HAS_STALLGUARD 2019-09-30 22:56:22 -05:00
Scott Lahteine e3fd0519b3 Reduce need for UNUSED 2019-09-30 22:56:22 -05:00
Marcio Teixeira e3ff27c95a Prevent duplication of PSTRs to save memory (#15435) 2019-09-30 22:53:34 -05:00
LinFor 98f614ddb1 Use MAX_BED_POWER instead of BANG_MAX to heat outside PID_FUNCTIONAL_RANGE (#15431) 2019-09-30 22:19:12 -05:00
Marcio Teixeira 087fe0e9d6 Improve and fix LULZBOT_TOUCH_UI (#15434)
- Add start print confirmation dialog box
- Fix incorrect text colors in UI
- Adjust bio printer UI
2019-09-30 22:15:48 -05:00
Timm b198f321c8 Add missing motion inline methods (#15433) 2019-09-30 19:57:22 -05:00
Giuliano Zaro 15efe8d839 Update Italian language (#15436) 2019-09-30 19:31:06 -05:00
Scott Lahteine 1e57c6e6e3 AutoBuild tweaks 2019-09-30 02:56:15 -05:00
Scott Lahteine a9c259c77a Patch PrintrboardG2 build (on spec) 2019-09-30 02:47:55 -05:00
DrDitto 55b8547f04 Simplify MKS_MINI_12864 init (move 5ms to u8g seq.) (#15428) 2019-09-30 02:11:58 -05:00
Scott Lahteine b7a9481e01 [cron] Bump distribution date 2019-09-30 00:00:04 -05:00
Scott Lahteine 139b7196a0 Watchdog cleanup (#15283) 2019-09-29 17:57:29 -05:00
Scott Lahteine 24706aedbd Fix Neopixel typos 2019-09-29 17:36:29 -05:00
Scott Lahteine d0dd1a387e Require a newer Neopixel 2019-09-29 17:31:06 -05:00
Scott Lahteine f307ff68f7 Multiply by float, not double 2019-09-29 17:25:27 -05:00
Scott Lahteine 74746c6573 Fix probe_offset EEPROM field test 2019-09-29 16:55:50 -05:00
Alex Somesan 10bbed7f69 Fix comma/semicolon typo (#15420) 2019-09-29 16:50:53 -05:00
Bob Kuhn 178dcd6fd8 SPI chaining with TMCStepper simplified interface (#15179) 2019-09-29 05:47:20 -05:00
Frederik Kemner 4564ad2920 Fix build if EXTRUDERS = 0 (#15417) 2019-09-29 04:32:24 -05:00
Scott Lahteine 50e4545255 Add custom types for position (#15204) 2019-09-29 04:25:39 -05:00
Tanguy Pruvot 43d6e9fa43 STM32F103.. reorganization, SKR mini fix (#15398) 2019-09-29 02:04:53 -05:00
Scott Lahteine 5e9898600b [cron] Bump distribution date 2019-09-29 00:00:07 -05:00
Scott Lahteine f2d93f61c3 Revert errant const 2019-09-28 23:52:54 -05:00
Scott Lahteine 7c5e6900e1 Tweak comment 2019-09-28 22:08:02 -05:00
Tim Moore 7e72768433 Info Menu: Runaway Watch state (#14827) 2019-09-28 21:53:40 -05:00
Scott Lahteine 81b9c7c6ee No motion constraint before homing
Sensible approach to soft endstops before the machine is homed.

Ref: https://github.com/MarlinFirmware/Marlin/pull/15027#issuecomment-533301094
Co-Authored-By: comps <comps@nomail.dom>
2019-09-28 21:35:49 -05:00
Christian ddded80ff3 Fix mixing for up to 6 steppers (#15374) 2019-09-28 19:12:23 -05:00
Scott Lahteine 8683d4abfd Improved list-oriented macros 2019-09-28 19:03:07 -05:00
InsanityAutomation 0ca6abce72 Add reporting to M290 (#15376) 2019-09-28 16:58:48 -05:00
InsanityAutomation e942b352c6 Fix Photograph Pin Sanity Check (#15406) 2019-09-28 16:18:23 -05:00
Ludy 41ea2d8c31 Fix auto-fan compile error (#15402) 2019-09-28 15:37:41 -05:00
InsanityAutomation be3c4a7930 Bring Raptor pins in parity with others (#15410) 2019-09-28 15:35:13 -05:00
Ludy f28f191ebf Trailing whitespace (#15403) 2019-09-28 15:32:37 -05:00
Ludy a628d77798 Fix compile error with 6 hot-ends (#15405) 2019-09-28 15:30:41 -05:00
Ludy 6509dc04f5 Fix German error (#15404) 2019-09-28 15:29:41 -05:00
Scott Lahteine 2277c6dffc Optimize SD card reader, sorting (#15395) 2019-09-28 15:28:05 -05:00
Scott Lahteine 1834d86df5 Fix sanity check typos 2019-09-28 15:26:21 -05:00
InsanityAutomation a6b0223eea Revive and improve DELTA probe bounds, LRFB options (#15372) 2019-09-28 01:19:11 -05:00
Maxim 1b9fc64d8a Add M997 support for SKR PRO 1.1 (#15394) 2019-09-28 00:54:30 -05:00
Scott Lahteine f57ce2b40a [cron] Bump distribution date 2019-09-28 00:00:04 -05:00
Scott Lahteine ebfdf740bc EZBoard only knows stock display 2019-09-27 22:08:13 -05:00
Jason Smith 5f18f5bb90 Require TMCStepper >= 0.5.0 in platformio.ini (#15382) 2019-09-27 19:18:12 -05:00
InsanityAutomation 5221e2d991 Restore Host Prompt Info (#15387) 2019-09-27 17:06:26 -05:00
Marcio Teixeira 02bbc51195 Keep C extension for now, restore (void) arg (#15380) 2019-09-27 14:02:35 -05:00
Giuliano Zaro a8aca59c04 Update Italian language (#15373) 2019-09-27 13:05:53 -05:00
Scott Lahteine 4c16661153 Use named styles in draw_menu_item_static 2019-09-27 04:45:01 -05:00
Scott Lahteine d683f98019 Return buffer in duration.toString 2019-09-27 04:45:01 -05:00
Scott Lahteine dc65788511 Shorthand for __VA_ARGS__ 2019-09-27 04:43:34 -05:00
Marcio Teixeira a18d16fb8b Do not implicitly concatenate localized strings (#15383) 2019-09-27 04:38:43 -05:00
Scott Lahteine 62e4e05a19 [cron] Bump distribution date 2019-09-27 00:00:04 -05:00
Berezovskyi Oleksandr c0d5b57cf9 Init i2c for all i2c EEPROM use (#15366) 2019-09-26 22:25:56 -05:00
Scott Lahteine 665e45e0ba Reduce string storage, use masking 'seen' 2019-09-26 04:30:55 -05:00
Scott Lahteine 455dabb183 Add a feedRate_t data type (#15349) 2019-09-26 01:28:09 -05:00
Scott Lahteine ee7558a622 Tweaks to Z fade behavior 2019-09-26 01:15:47 -05:00
Scott Lahteine 1f48eaf03a Change AutoBuild button order 2019-09-26 00:18:53 -05:00
Scott Lahteine d49d40f7b0 Home XYZ newline 2019-09-25 22:26:16 -05:00
Scott Lahteine b72fd7ea9c Supply 'super' for servo subclasses 2019-09-25 22:07:14 -05:00
Scott Lahteine b2e1f77f58 Fix extraneous "Home XYZ First" message 2019-09-25 21:57:20 -05:00
Scott Lahteine 9a209012b5 Improve M114_DETAIL comment 2019-09-25 20:29:29 -05:00
Scott Lahteine 39578a5919 Fix probe without leveling 2019-09-25 19:57:52 -05:00
Marcio Teixeira 8cbb5350ad Refactor joystick support in ExtUI (#15318) 2019-09-25 18:46:36 -05:00
DrDitto 04e4eb35be MKS_MINI, FYSETC RGB, backlight (#15334) 2019-09-25 18:41:04 -05:00
Scott Lahteine ddd9d9032a Fix option / string name conflict 2019-09-25 17:12:13 -05:00
Robby Candra c3f09e2b1b Set MAX_OVERSHOOT_PID_AUTOTUNE to 30 (#15257) 2019-09-25 09:43:00 -05:00
Jason Smith f98999ca20 Fix includes in RAMPS_DUO and RAMPS_SMART (#15321) 2019-09-25 09:42:03 -05:00
Dave Johnson f362dab7be Disable PIO extra_scripts for AT90USB (#15347) 2019-09-25 09:37:27 -05:00
Scott Lahteine 0b4aedf13e Less use of "this" 2019-09-25 09:29:58 -05:00
Scott Lahteine 661c3cfc99 Fix mesh bounds for MBL 2019-09-25 09:05:46 -05:00
Scott Lahteine 25c4c2f24e Fix bool in M851 2019-09-25 08:39:11 -05:00
Scott Lahteine da1bda493e Apply Marlin conventions to M851 2019-09-25 03:57:16 -05:00
InsanityAutomation e9cf46a9a5 M851 XY 3 point followup (incomplete) (#15361) 2019-09-25 02:43:41 -05:00
Jason Smith 66d0221077 Fix build with more than 2 Trinamic E steppers (#15329) 2019-09-25 02:30:07 -05:00
Robby Candra 9c288a682d Followup to probe_at_point change (#15342) 2019-09-25 02:29:10 -05:00
Marcio Teixeira 149e9b733e Simplified ExtUI language selection (#15359) 2019-09-25 01:25:21 -05:00
Jason Smith 53124ca6b7 Fix 32-bit crash due to fwretract_settings_t pack(1) (#15333) 2019-09-25 01:08:30 -05:00
Scott Lahteine bd6d144cdb [cron] Bump distribution date 2019-09-25 00:00:04 -05:00
Scott Lahteine 5288c399ce Patch probe offset name, defines 2019-09-24 23:39:23 -05:00
Scott Lahteine 4e8d9fe59b zprobe_offset => probe_offset 2019-09-24 23:36:09 -05:00
Scott Lahteine 3819f79945 Fix pid_output declaration 2019-09-24 22:32:13 -05:00
InsanityAutomation df1e51258a Add M851 X Y probe offsets (#15202) 2019-09-24 21:29:21 -05:00
Scott Lahteine ebc9a8a0b0 ExtUI patch followup 2019-09-24 20:21:31 -05:00
Marcio Teixeira 4ff59d178d LULZBOT_TOUCH_UI extended character set (#15301) 2019-09-24 18:49:40 -05:00
Scott Lahteine bd2b44c4ed Require newest TMCStepper 2019-09-24 18:00:06 -05:00
Marcio Teixeira bafcd084cc LULZBOT_TOUCH_UI performance/cosmetic fixes (#15319) 2019-09-24 17:46:00 -05:00
Bo Herrmannsen 6fc4d4c3b7 Disable ARC_SUPPORT on Tevo Tornado (#15358) 2019-09-24 17:30:56 -05:00
Jason Smith 9aaa056286 Fix SCARA build from Arduino IDE (#15317) 2019-09-24 17:29:25 -05:00
Scott Lahteine 48e2f90304 Improve TMC sanity checks 2019-09-24 17:20:39 -05:00
Scott Lahteine 07eb213046 [cron] Bump distribution date 2019-09-24 00:00:11 -05:00
Scott Lahteine 5e13fe989f Rename some feedrate-oriented functions 2019-09-23 22:36:41 -05:00
Scott Lahteine 938a49f989 Update DUE-tests 2019-09-23 19:16:40 -05:00
Scott Lahteine 9e7e8e229c [cron] Bump distribution date 2019-09-23 00:00:08 -05:00
Scott Lahteine 6c62732ae1 Handle no Timer 3C 2019-09-22 21:50:18 -05:00
Scott Lahteine f5092e92a4 Enhanced A20M config 2019-09-22 21:46:56 -05:00
Giuliano Zaro 4e5941fa57 AutoBuild compatibility with Python3 (#15331) 2019-09-22 15:38:07 -05:00
Scott Lahteine 7fc4f7b815 [cron] Bump distribution date 2019-09-21 00:00:13 -05:00
Scott Lahteine 97493dc62a AutoBuildMarlin re-use VSCode terminal 2019-09-20 23:35:23 -05:00
Scott Lahteine 13d725d24d Tweak debug messages 2019-09-20 23:35:22 -05:00
Scott Lahteine 58521fb0eb Force auto build output to top 2019-09-20 20:05:49 -05:00
Scott Lahteine ed2c2bcd17 Blend Auto Build icons 2019-09-20 19:49:09 -05:00
Scott Lahteine 7d7404157a Update AutoBuild README.md 2019-09-20 03:38:13 -05:00
Jason Smith 6ed2bf631d Fix FILAMENT_RUNOUT_SCRIPT without ADVANCED_PAUSE_FEATURE build (#15313) 2019-09-20 00:50:11 -05:00
Jason Smith 514223f960 Fix BACKLASH_COMPENSATION compiler issues (#15307) 2019-09-20 00:48:41 -05:00
Scott Lahteine 1452e41ead Auto Build fixes, updates (#15315)
Co-Authored-By: shitcreek <luulac85@gmail.com>
2019-09-20 00:45:03 -05:00
Scott Lahteine de78b61d35 [cron] Bump distribution date 2019-09-20 00:00:10 -05:00
InsanityAutomation 6a312fae80 Add before/after dir change delays (#15314) 2019-09-19 23:05:17 -05:00
Scott Lahteine f412267766 Fix "Auto Build window hidden behind" 2019-09-19 16:22:48 -05:00
Scott Lahteine 1803c27afb Fix macros for overloaded comparisons 2019-09-19 02:16:40 -05:00
Scott Lahteine 86e0b9eb05 [cron] Bump distribution date 2019-09-19 00:00:08 -05:00
Marcio Teixeira 7f117bfc60 EXTENSIBLE_UI Joystick support (#15303) 2019-09-18 19:35:03 -05:00
Evgeny Zyatkov 12e0581f24 SKR Pro Neopixel support (#15274) 2019-09-18 17:06:01 -05:00
Jason Smith 252f31b6f1 Fix/improve backoff feedrates (#15300) 2019-09-18 17:04:13 -05:00
Scott Lahteine bcf630d8d1 Clarify a sanity check 2019-09-18 16:43:30 -05:00
Scott Lahteine c44b5fd13a Try to fit logo by narrowing icons 2019-09-18 16:43:30 -05:00
Bas Stottelaar a7a5607c1b Clean up BIGTREE_BTT022 board definition (#15287) 2019-09-18 12:29:58 -05:00
Scott Lahteine d5a34afa56 Undefine pins only in debug list 2019-09-18 11:53:42 -05:00
Scott Lahteine 712aaa26d5 Use provided 'constrain' 2019-09-18 04:07:14 -05:00
Scott Lahteine 1a1375964f Drop unused G26 function 2019-09-18 04:07:14 -05:00
Scott Lahteine 4bb17a55ac Add Travis test for M425 2019-09-18 04:07:13 -05:00
Robby Candra 787d522036 LCD Size Defines (#15297) 2019-09-18 02:58:58 -05:00
Marcio Teixeira b590ae4875 LULZBOT_TOUCH_UI: Only use %S on AVR (#15292) 2019-09-18 02:33:26 -05:00
Scott Lahteine ce74e4b3e4 Undefine… redux 2019-09-18 00:28:26 -05:00
Scott Lahteine 356b582a9f [cron] Bump distribution date 2019-09-18 00:00:05 -05:00
Scott Lahteine b73744f9e7 Update ExtUI, add test under DUE (#15298) 2019-09-17 23:41:34 -05:00
Scott Lahteine b39ab3db37 Sanity-check for SD reprint 2019-09-17 23:34:14 -05:00
Scott Lahteine 34d521234d Undefine pins to reduce warnings 2019-09-17 23:34:14 -05:00
Scott Lahteine 73ac213cdd Fix FileList::isAtRootDir 2019-09-17 23:34:14 -05:00
Scott Lahteine b71a755a30 Add float suffix in G33 2019-09-17 23:30:27 -05:00
Scott Lahteine c353eaa146 Misc changes from struct refactor (#15289) 2019-09-17 18:16:28 -05:00
Bas Stottelaar c7acd5c45b Upgrade BigTrees to latest platform ststm32 (#15285) 2019-09-17 05:08:47 -05:00
Tanguy Pruvot 7c3d52cd6b HAL_DUE build fix (#15286) 2019-09-17 04:51:27 -05:00
Scott Lahteine 2405ccb7ef Patch use of UNUSED 2019-09-17 00:05:35 -05:00
Scott Lahteine 282c39e3d0 [cron] Bump distribution date 2019-09-17 00:00:06 -05:00
Tanguy Pruvot d277e93f4d Configurable TOUCH_BUTTONS repeat delays (#15245) 2019-09-16 21:32:55 -05:00
Scott Lahteine f01f0d1956 Drop C-style 'void' argument 2019-09-16 20:31:21 -05:00
Scott Lahteine 7d8c38693f Formatting 2019-09-16 20:31:21 -05:00
Scott Lahteine a06010e08a Macrofy attachInterrupt 2019-09-16 20:31:20 -05:00
Marcio Teixeira 4c00ddae56 Remove obsolete LULZBOT_TOUCH_UI code (#15284) 2019-09-16 19:45:05 -05:00
Scott Lahteine 6282655d77 Separate STM32F103R_bigtree_USB environment 2019-09-16 19:17:28 -05:00
Robby Candra 98233b1de0 Add root flag to CardReader (#15275) 2019-09-16 17:49:55 -05:00
Tanguy Pruvot eb1a368277 Fix Lerdge K typos (#15273) 2019-09-16 16:50:57 -05:00
Marcio Teixeira 7a569ad4d0 LULZBOT_TOUCH_UI fixes. Fix some warnings. (#15276) 2019-09-16 16:49:46 -05:00
Bas Stottelaar 847e4ced11 Fix M43 without watchdog (#15280) 2019-09-16 16:09:43 -05:00
Scott Lahteine 7e95ee9e4b Patch missing millis 2019-09-16 15:57:25 -05:00
Scott Lahteine d63e0f6d98 Pending refactor tweaks 2019-09-16 15:10:14 -05:00
Scott Lahteine 9c218381c5 [cron] Bump distribution date 2019-09-16 00:00:05 -05:00
J.C. Nelson 896162b722 Add pins for Lerdge X and K. (#15271) 2019-09-15 15:23:04 -05:00
Giuliano Zaro c96844fae2 [SAMD51] Remove RuRamps4D (#15264) 2019-09-15 14:17:20 -05:00
Tanguy Pruvot 02d400e413 STM32F1: Sync SPI changes from maple master (#15266) 2019-09-15 13:46:17 -05:00
Scott Lahteine 20fbb751f1 Tell externals it's Marlin 2019-09-15 03:12:44 -05:00
Scott Lahteine d5f5203880 Use "mount" as card verb 2019-09-15 03:12:44 -05:00
Tanguy Pruvot 2386c147ad Mount the SD card early (#15255) 2019-09-15 03:05:01 -05:00
Scott Lahteine c4090b1375 [cron] Bump distribution date 2019-09-15 00:00:05 -05:00
Scott Lahteine 85a7f8c5b4 Smaller animation example 2019-09-14 19:19:43 -05:00
Scott Lahteine 79635f8e94 Fix some debug out lines 2019-09-14 16:45:06 -05:00
Scott Lahteine 843a19102c Shorten an option description 2019-09-14 16:45:04 -05:00
Marcio Teixeira 18821f29d5 LULZBOT_TOUCH_UI: Localization, runtime language selection (#15249) 2019-09-14 06:51:49 -05:00
Tanguy Pruvot 15bea5043c Followup to SD menu optimization (#15252) 2019-09-14 06:42:28 -05:00
Evgeny Zyatkov 61e3f119f4 FYSETC_MINI_12864 pins for SKR PRO 1.1 (#15253) 2019-09-14 06:22:30 -05:00
Scott Lahteine 3d0ead7dcb Bring Configuration_adv.h up to date 2019-09-14 04:30:17 -05:00
Scott Lahteine 465c6d9230 Simpler Allen Key config. Fixes, cleanups from refactor (#15256) 2019-09-14 03:05:10 -05:00
Scott Lahteine ffb418b226 Move some SD comments 2019-09-14 02:31:47 -05:00
Robby Candra acd76e8609 Allow odd mm bed sizes (#15258) 2019-09-14 01:26:14 -05:00
Scott Lahteine bbbfb0015b [cron] Bump distribution date 2019-09-14 00:00:14 -05:00
Scott Lahteine ef8ce2e2e5 Allow TEMP_CHAMBER_PIN override 2019-09-13 18:45:59 -05:00
Scott Lahteine f9961ddebb Optimize SERIAL_ECHOPAIR_F 2019-09-13 08:47:41 -05:00
Frederik Kemner 3348a7d223 Fix Info Menu with EXTRUDERS==0 (#15230) 2019-09-13 01:36:44 -05:00
Tanguy Pruvot 2435c6082a STM32F1: AUTO_BED_LEVELING_UBL build fixes (#15240) 2019-09-13 01:33:33 -05:00
Scott Lahteine ae7ae89bb3 [cron] Bump distribution date 2019-09-13 00:00:04 -05:00
Robby Candra 3f129b6574 Touch Buttons variable repeat delay (#15236) 2019-09-12 22:14:24 -05:00
Tanguy Pruvot 5bf635cec2 STM32F1: Only include USBComposite if flagged (#15243) 2019-09-12 18:35:27 -05:00
Robby Candra 1ab3521351 Optimize Media Menu display/scrolling (#15233) 2019-09-12 18:06:07 -05:00
Tanguy Pruvot f1162243f6 STM32F1: No USBSerial without USB-serial bridge (#15242) 2019-09-12 17:59:31 -05:00
Scott Lahteine 832be5dd36 Cosmetic: Align Z_STEPPER_ALIGN values 2019-09-12 00:02:44 -05:00
Scott Lahteine 7cf1befbec [cron] Bump distribution date 2019-09-12 00:01:23 -05:00
Scott Lahteine 69bd636f22 More mega shortcuts in 'mftest' script 2019-09-11 20:51:42 -05:00
Scott Lahteine 1d574b0f6a Tweak config spaces 2019-09-11 17:32:54 -05:00
Tanguy Pruvot 3eacc3bfce french update, g26, usb (#15229)
french update for G26 and USB.
2019-09-11 14:36:39 -05:00
Gustavo Alvarez 2b628553d3 Update Spanish language (#15189) 2019-09-11 12:14:10 -05:00
reloxx13 05cd483413 STM32F1: Support M997 - Reset and begin flash (#15209) 2019-09-11 12:12:58 -05:00
Scott Lahteine f4b198a9f5 Fix G26 enable in tests 2019-09-11 08:17:00 -05:00
Scott Lahteine e3278f22f3 General formatting 2019-09-11 03:29:00 -05:00
Scott Lahteine f9992c5f33 Implausible 2019-09-11 02:52:14 -05:00
Scott Lahteine 3648bce886 Tweak NOZZLE_CLEAN_START_POINT spacing 2019-09-11 01:50:24 -05:00
Scott Lahteine 6091e6300a Fix G90, G91, M82, M83 rel/abs modes (#15218) 2019-09-11 01:29:33 -05:00
Scott Lahteine 41a3fbceac [cron] Bump distribution date 2019-09-11 00:00:04 -05:00
Marcio Teixeira 47d19bab40 Lulzbot ExtUI Western language support (#15208)
Fix #15134
2019-09-10 20:07:03 -05:00
Scott Lahteine c590e8ac05 Improve Power-loss Recovery (#15135) 2019-09-10 18:52:41 -05:00
Scott Lahteine 75927e17dd Filament Width Sensor singleton (#15191) 2019-09-10 18:48:58 -05:00
Scott Lahteine fe6ba4fd70 Tweak REMEMBER 2019-09-10 02:21:21 -05:00
Scott Lahteine 584c86bed1 More "zero extruders" changes (#15213) 2019-09-10 02:20:49 -05:00
Scott Lahteine 54abf3aeba [cron] Bump distribution date 2019-09-10 00:00:06 -05:00
InsanityAutomation dcc39421c5 Minor Pin Updates (#15214) 2019-09-09 23:58:57 -05:00
thisiskeithb 66338ed515 CR-10 Stock Display for SKR Mini 1.1 (#15215) 2019-09-09 23:56:02 -05:00
Scott Lahteine ff482a3247 M114 detail in more tests 2019-09-09 18:04:25 -05:00
Scott Lahteine f055f7c535 Add emergency_parser.h dependency 2019-09-09 18:04:25 -05:00
Scott Lahteine 841c8ce0d9 Remove PROMPT_INFO / PROMPT_GCODE_INFO (#15210) 2019-09-09 15:43:06 -05:00
Ludy 3c3a956a17 Fix compiling error BIGTREE_SKR_MINI (#15197)
Let's get STM32F1 working again!
2019-09-09 10:34:54 -05:00
Scott Lahteine 565a0e11ed Prevent 'current' name conflict, if needed 2019-09-09 03:17:11 -05:00
Scott Lahteine 4f5e197c80 Move bezier curve test 2019-09-09 00:27:53 -05:00
Scott Lahteine 713157f712 Move L6470 enum 2019-09-09 00:27:53 -05:00
Scott Lahteine 5949c24afc [cron] Bump distribution date 2019-09-09 00:00:05 -05:00
Scott Lahteine dbea6f0022 STM32F1 USB cdc/msc composite device (#15180)
Co-Authored-By: bigtreetech <38851044+bigtreetech@users.noreply.github.com>
2019-09-08 02:28:22 -05:00
Luu Lac 8bca3fcf2c Display chamber with HAS_TEMP_CHAMBER (#15194) 2019-09-08 02:20:18 -05:00
Roman Moravčík ca0f47985b Update Slovak language (#15187) 2019-09-08 01:47:36 -05:00
InsanityAutomation 0693767efa ExtUI Pause/Stop on all Pause/Stop (#15188) 2019-09-08 01:47:07 -05:00
Scott Lahteine 1c3a1ab2c6 Use _MIN over MIN 2019-09-08 01:02:15 -05:00
Lucio Tarantino 8ac52aedff M118 multiserial support (#15176) 2019-09-08 00:57:59 -05:00
Jamie dbee0e9c54 Analog joystick jogging control (#14648) 2019-09-08 00:55:34 -05:00
Ludy 068c303742 More translatable LCD strings (#15190) 2019-09-08 00:15:25 -05:00
Tanguy Pruvot ec3f29a33a Fix linux_native long to int32 warnings (#15192) 2019-09-07 20:30:47 -05:00
ManuelMcLure eed7c2fe2f Fix 'echo:' in TMC parameters M503 report (#15193) 2019-09-07 20:29:38 -05:00
Ludy 6172cd2528 CHAMBER integration to GLCD (#14981) 2019-09-07 04:52:57 -05:00
Scott Lahteine 94948d3dcb Compact some sanity conditions 2019-09-06 19:03:04 -05:00
Scott Lahteine 14573cb823 Update some configs 2019-09-06 18:24:40 -05:00
Scott Lahteine a3052da703 Move manual move to lcd section 2019-09-06 18:24:39 -05:00
AnHardt b7b0021b5c Fix Thermistor 75 (#15181) 2019-09-06 16:23:27 -05:00
Scott Lahteine 94d3153fb6 Remove obsolete TMC_USE_CHAIN 2019-09-06 15:48:08 -05:00
Scott Lahteine ca1a3476cb [cron] Bump distribution date 2019-09-06 00:00:04 -05:00
Scott Lahteine 91c3b8e3ca Reformat ADC cases 2019-09-05 20:02:31 -05:00
Scott Lahteine 4cdf7a1b93 Add ADC helpers to temp_info_t 2019-09-05 19:48:52 -05:00
Scott Lahteine 72876d9045 Clean up u8g defines 2019-09-05 17:09:24 -05:00
Scott Lahteine 8d036e94bf Combine channel-based SPI headers 2019-09-05 17:09:24 -05:00
Scott Lahteine 70b3f4ded5 Pins error message 2019-09-05 15:44:13 -05:00
Ludy 01fd3f904f Drop extra include (#15171) 2019-09-05 13:21:06 -05:00
Tanguy Pruvot 50e1bf57b9 Fix RRD/CR10 LCD on STM32F1/F4 (#15172) 2019-09-05 13:20:03 -05:00
Scott Lahteine 18dd5cb46a Config comment patch 2019-09-05 01:48:12 -05:00
Scott Lahteine bf3cd8e5aa Tweak var names 2019-09-05 01:40:09 -05:00
Scott Lahteine 37d3c7288f [cron] Bump distribution date 2019-09-05 00:00:04 -05:00
Scott Lahteine 7496e1cd67 whitespace 2019-09-04 21:55:41 -05:00
Scott Lahteine 060b360be3 Provide a good default contrast
In reference to #15139
2019-09-04 18:29:22 -05:00
kakou-fr 6b1c4dec46 Touch Mi: Add magnet Y position (#15166) 2019-09-04 18:09:12 -05:00
Tanguy Pruvot 85f0556118 Add XPT2046 calibration functions (#15140) 2019-09-04 17:32:20 -05:00
Scott Lahteine cff502c6d4 Tweak REPRAPWORLD_KEYPAD config comment 2019-09-04 17:23:38 -05:00
Giuliano Zaro 53af7cad0a SAMD51 include u8g library (#15165) 2019-09-04 17:00:30 -05:00
Ludy beffcd856b Update German language, (c) (#15164) 2019-09-04 16:59:26 -05:00
Karl Andersson 123ecfe613 Allow MINIMUM_STEPPER_PULSE override with LV8729 (#15162) 2019-09-04 16:57:13 -05:00
Scott Lahteine 2d2d9da9f2 Tweak u8g impl file includes 2019-09-04 14:52:22 -05:00
Scott Lahteine a07c4af393 Tweak animated draw call 2019-09-04 14:47:08 -05:00
Scott Lahteine 7ad5208267 Fix up boot screen code
Followup to #15125

Co-Authored-By: Ludy <ludy87@users.noreply.github.com>
2019-09-04 14:43:32 -05:00
Robby Candra 6b05d5d65d Allow TOUCH_BUTTONS to be swapped (#15100) 2019-09-04 13:13:05 -05:00
George Fu 8e044ea898 Fix up Fysetc configs, pins. Fix menu type float5. (#15157) 2019-09-04 13:06:23 -05:00
Jamie 293b890940 Apply soft limits to G2/G3 final target (#15156) 2019-09-04 13:02:30 -05:00
Scott Lahteine 2563e32aa3 Format FWRETRACT config comments 2019-09-04 12:48:50 -05:00
Scott Lahteine d9bbe0ff02 [cron] Bump distribution date 2019-09-04 00:00:03 -05:00
thisiskeithb d577b3c21e Fix MKS SGEN-L Pins (#15153) 2019-09-03 20:02:30 -05:00
AnHardt 89a2161cac MINIMUM_STEPPER_DIR_DELAY in LA (#15154)
Add missed MINIMUM_STEPPER_DIR_DELAY after dir change in LinearAdvance interrupt.
2019-09-03 20:01:51 -05:00
Scott Lahteine 75efa3cdac Reorganize HAL (#14832) 2019-09-02 19:49:58 -05:00
thisiskeithb cdd5056aba Increase MKS MINI 12864 default contrast (#15139) 2019-09-02 19:40:58 -05:00
Scott Lahteine c97c393c4a Fix "unqualified id" warning (#15144) 2019-09-02 19:35:05 -05:00
Scott Lahteine 12344085c0 Update temperature.cpp 2019-09-02 19:21:47 -05:00
Giuliano Zaro 12c595c61f SAMD51 LCD support (#15113) 2019-09-02 05:45:02 -05:00
Scott Lahteine 23bb40d0ea Fix MKS_MINI_12864 init
See #13550

Co-Authored-By: DrDitto <drditto@users.noreply.github.com>
2019-09-02 05:24:36 -05:00
Giuliano Zaro 9958f5e322 Home on G34 if steppers slept (#15127) 2019-09-02 02:44:48 -05:00
thisiskeithb 59152f2671 Flash-based EEPROM on SKR Mini E3 DIP (#15128) 2019-09-02 02:42:11 -05:00
Tanguy Pruvot c9817105fb Update French language (#15129) 2019-09-02 02:40:33 -05:00
Giuliano Zaro e6a114b853 Update Italian language (#15130) 2019-09-02 02:39:40 -05:00
Tanguy Pruvot b97bb14a7a Full-featured Alfawise U20 config (#15131) 2019-09-02 02:37:50 -05:00
Gustavo Alvarez 54069823a0 Update Spanish language (#15132) 2019-09-02 02:36:32 -05:00
thisiskeithb f6505c8ee2 Fix Ender-3 Status Screen Y Offset (#15136) 2019-09-02 02:35:59 -05:00
Scott Lahteine 93dcc22aae Drop extra call to get_available_commands 2019-09-02 01:14:03 -05:00
Scott Lahteine 451a942e95 Suspend queue during wait_for_hotend 2019-09-02 01:14:03 -05:00
Scott Lahteine b4715b29bb [cron] Bump distribution date 2019-09-02 00:00:04 -05:00
Scott Lahteine 34b73426e5 Apply #ifdef/#ifndef where possible 2019-09-01 23:54:50 -05:00
Scott Lahteine 4078f2672e Apply shorthand option macros 2019-09-01 23:43:48 -05:00
Scott Lahteine a2e412c0ce Rename command buffer var 2019-09-01 20:43:31 -05:00
Tanguy Pruvot d59d9b5973 Alfawise - LK1/LK2/LK4 and BLTouch (#15118) 2019-09-01 04:10:35 -05:00
weakset ee240d21b9 Use Flash-based EEPROM on SKR mini-E3 (#15126) 2019-09-01 04:04:40 -05:00
Jason Smith be051c890f Fix Z_STEPPER_ALIGN_[XY] sanity error (#15124) 2019-09-01 04:00:20 -05:00
Tanguy Pruvot ee444d7d07 Fix SKRmini test required serial port(s) (#15117) 2019-08-31 21:10:50 -05:00
ETE-Design c8e096785f Gantry: Enable Filament Change (#15122) 2019-08-31 20:54:36 -05:00
Scott Lahteine 8778e12342 Fix some missed misspellings 2019-08-31 20:50:10 -05:00
thisiskeithb 2747ab7643 Ender-3 default TMC currents (#15115) 2019-08-31 20:46:10 -05:00
Scott Lahteine 586b334c2a Split up stepper indirection (#15111) 2019-08-31 19:44:45 -05:00
Scott Lahteine 87b16ed5f6 Bring Configuration.h up to date 2019-08-31 07:03:51 -05:00
Scott Lahteine 8fca85042b Patch early env rename 2019-08-31 07:00:44 -05:00
thisiskeithb 25cf7dee40 Disable Tevo Tarantula Pro PIDTEMPBED (#15089) 2019-08-31 01:40:52 -05:00
Scott Lahteine 66f1da762f Use 'ui.' where possible 2019-08-31 01:07:01 -05:00
Robby Candra 26fa08548c Add RGB565 Color Definitions for TFT (#15099) 2019-08-30 22:49:24 -05:00
Scott Lahteine 944920176f Add more platform Travis tests 2019-08-30 22:37:28 -05:00
Scott Lahteine 0f4d3e1bca Fix ESP32 "DISABLED" name conflict 2019-08-30 22:37:28 -05:00
Scott Lahteine 1eeef30097 A single generate_click lambda 2019-08-30 19:17:59 -05:00
Tanguy Pruvot c014f8dc78 Fix STM32F1 SPI warning (gcc 8.2.1) (#15104) 2019-08-30 18:15:04 -05:00
Tanguy Pruvot d068470e18 Prevent Linux min/max error (#15107) 2019-08-30 17:46:09 -05:00
Bob Kuhn ba91bca1eb TMC SPI daisy chain support (experimental) (#15081) 2019-08-30 17:39:45 -05:00
Scott Lahteine 0bcb64403c Revert _BV testing commit
This reverts commit 9223261ea9.
2019-08-30 16:11:16 -05:00
Scott Lahteine 05ef9b2f55 [cron] Bump distribution date 2019-08-30 14:44:39 -05:00
Scott Lahteine 2aef83ddcd Add a PlatformIO hook to alter CXXFLAGS 2019-08-29 18:06:24 -05:00
Scott Lahteine 23cffb2c21 Add an env to get the Include Tree 2019-08-29 18:06:24 -05:00
Scott Lahteine 9223261ea9 Only define _BV in Marduino.h 2019-08-29 18:06:24 -05:00
Scott Lahteine d25231aea8 Spacing, defined(), #include tweaks 2019-08-29 18:06:24 -05:00
Karl Andersson 7ebfae27e3 Fix HAL_STM32 SPI regression (#15093)
Reference: 0b47558
2019-08-29 17:00:01 -05:00
thisiskeithb f5a1fabd38 Clarify TMC2209 Sensitivity vs. Others (#15092) 2019-08-29 16:57:56 -05:00
Ludy 3f77d6a551 Fix expire_status warning (#15094) 2019-08-29 16:05:22 -05:00
Robby Candra 38983fdfa9 Add 'Back' Button for Touch TFT 320x240 (#15060) 2019-08-29 01:19:07 -05:00
Scott Lahteine 8196ced2de Leave LCD_PINS_Dn defined for other uses
Fix #14998
2019-08-29 00:57:20 -05:00
AlexandrZloy 0ebaea94be Add stallGuard threshold for X2 (#15042) 2019-08-29 00:15:31 -05:00
Scott Lahteine e1d65b8937 [cron] Bump distribution date 2019-08-29 00:00:03 -05:00
Tanguy Pruvot ca5da026d6 dogm: u8g prototypes cleanup (#15082) 2019-08-28 23:49:51 -05:00
Scott Lahteine a61c91ae9e Use 'bugfix' branch of U8glib-HAL 2019-08-28 21:39:18 -05:00
Scott Lahteine 1d8ad7cf71 Safe changes from HAL cleanup 2019-08-28 21:21:47 -05:00
Scott Lahteine 95963121b0 Patch a u8g include 2019-08-28 20:09:02 -05:00
Scott Lahteine 7b99c26e80 Fix FTDI_EVE_LIB platform includes 2019-08-28 19:56:02 -05:00
Scott Lahteine 3ac76f0489 Invariant Marlin bootscreen (#15057) 2019-08-28 07:40:18 -05:00
Scott Lahteine b2a4b6f34e Don't use board url as override 2019-08-28 04:44:40 -05:00
Scott Lahteine b8e4b993d6 Separate board website URL 2019-08-28 04:44:40 -05:00
Scott Lahteine 6341aefda3 Info menu tweak style 2019-08-28 04:43:42 -05:00
Marcio Teixeira 0f386d06a1 Followup fixes to ExtUI (#15068) 2019-08-28 04:23:13 -05:00
Luu Lac 081e4506ca Fix G53 as prefix, G28 with CNC_COORDINATE_SYSTEMS (#15069) 2019-08-28 04:20:28 -05:00
Robby Candra ca084dcfe8 Switch col vs row variable name (#15072) 2019-08-28 02:49:21 -05:00
Giuliano Zaro 604bdf0b43 Update Italian language (#15076) 2019-08-28 02:46:21 -05:00
InsanityAutomation b7796bcce6 Disable steppers on M112 (#15065)
And change verbiage to not refer to "Emergency Stop."
2019-08-28 00:51:01 -05:00
Scott Lahteine 318356b6bc [cron] Bump distribution date 2019-08-26 00:00:07 -05:00
Scott Lahteine d2f211c7e1 Gantry followup 2019-08-25 20:53:50 -05:00
ETE-Design 9d12788a9a ADIMLab Gantry - Spelling Correction (#15043) 2019-08-25 20:51:06 -05:00
thisiskeithb 1769f43226 Fix CR-10/10S/Mini/5S Bed Thermistor Types (#15040) 2019-08-25 04:47:02 -05:00
InsanityAutomation f218405c36 Fix ExtUI invalid speed, timer (#15031) 2019-08-25 04:46:02 -05:00
Daniel Callander 155765646e Add warning when trying to use JD with kinematic systems (#15032) 2019-08-25 04:43:53 -05:00
Scott Lahteine 7183a586d9 Add EZBOARD PT100 pin 2019-08-25 04:31:00 -05:00
Scott Lahteine c7825e6719 Contrast over 63 assume 255 max
This is closer to the prior behavior.
2019-08-25 04:31:00 -05:00
Tim Moore 1461ee4d36 Make LCD_CONTRAST_MAX >= _LCD_CONTRAST_INIT (#15046) 2019-08-25 04:25:07 -05:00
Scott Lahteine 9e9e578234 [cron] Bump distribution date 2019-08-25 00:00:03 -05:00
Tim Moore 8033bc87ea Turbo-back Info menu items (#15049) 2019-08-24 19:50:04 -05:00
Scott Lahteine d6a16525c2 New Language: Vietnamese (#13892) 2019-08-24 03:40:28 -05:00
Scott Lahteine f6b604ff49 Helper Script tweaks 2019-08-24 02:10:50 -05:00
Scott Lahteine 7fbf40c20c Add command-check to get-bdf2u8g.sh 2019-08-24 02:03:13 -05:00
Marcio Teixeira da601d5114 Update USB_FLASH_DRIVE_SUPPORT (#15021) 2019-08-24 01:47:19 -05:00
Scott Lahteine 20fc66f875 ADIMLab Granty v1 / v2 (#15017)
* # This is a combination of 18 commits.
# This is the 1st commit message:

Add Support for ADIMLab Granty

# The commit message #2 will be skipped:

# Update Configuration.h

# The commit message #3 will be skipped:

# Add files via upload
#
# Add Support for ADIMLab Granty

# The commit message #4 will be skipped:

# Create Configuration.h

# The commit message #5 will be skipped:

# Delete Configuration.h

# The commit message #6 will be skipped:

# Create Test.h

# The commit message #7 will be skipped:

# Add files via upload

# The commit message #8 will be skipped:

# Delete Test.h

# The commit message #9 will be skipped:

# Delete Configuration.h

# The commit message #10 will be skipped:

# Delete Configuration_adv.h

# The commit message #11 will be skipped:

# Add files via upload
#
# Add ADIMLab Pins

# The commit message #12 will be skipped:

# Add files via upload
#
# Add Bootscreen

# The commit message #13 will be skipped:

# Update Configuration.h
#
# Add Bootscreen

# The commit message #14 will be skipped:

# Update pins.h
#
# Add ADIMLab Board

# The commit message #15 will be skipped:

# Update boards.h
#
# Add ADIMLab Granty

# The commit message #16 will be skipped:

# Update Makefile
#
# Add ADIMLab Granty

# The commit message #17 will be skipped:

# Update boards.h

# The commit message #18 will be skipped:

# Update Makefile

* Add Support for ADIMLab Granty

* Optimize bootscreen

* Update Makefile

Updated Description

* Update boards.h

Updated Description

* Update pins_HJC2560C_REV2.h

Updated Description

* Update Configuration.h

Added Author + Custom_Machine_Name

* Create _Bootscreen.h

Add Bootscreen

* Add files via upload

Add ADIMLab Granty v1

* Update boards.h

Add ADIMLab Granty v1

* Update Makefile

Add ADIMLab Granty v1

* Update pins_HJC2560C_REV2.h

* Consolidate Granty configs

* config updates
2019-08-24 01:45:11 -05:00
Scott Lahteine 750256948e Apply #ifdef 2019-08-24 01:42:48 -05:00
Scott Lahteine d527c46481 Delta: Reduce default MIN_STEPS_PER_SEGMENT 2019-08-24 01:42:48 -05:00
BigTreeTech 848dd740ba Fix STM32F1 ADC read temperature error (#15026)
…after USB CDC connect.
2019-08-24 01:33:16 -05:00
Scott Lahteine 04a9962cb5 Fix: Contrast override in pins files
Move contrast handling to `Conditionals_post.h` so pins files can override the LCD defaults.
2019-08-24 00:58:05 -05:00
Scott Lahteine 334777c201 config updates 2019-08-24 00:24:48 -05:00
Scott Lahteine 8c73017a69 [cron] Bump distribution date 2019-08-24 00:00:04 -05:00
Scott Lahteine 62d2a65025 Consolidate Granty configs 2019-08-23 23:49:30 -05:00
Scott Lahteine 09ee5a5da1 Merge remote-tracking branch 'upstream/bugfix-2.0.x' into bf2_granty_fix_15017 2019-08-23 23:45:37 -05:00
Tim Moore efeea9bccf pca9632_buzz fix (#15020) 2019-08-23 22:30:11 -05:00
Marcio Teixeira e61e54acfd Fix TURBO_BACK_MENU_ITEM compile error (#15019) 2019-08-23 22:29:00 -05:00
Tanguy Pruvot 0a280f00c2 Flag unused variables without buzzer (#15016) 2019-08-23 22:21:30 -05:00
Scott Lahteine f2ad1ceb13 Update PT-BR 2019-08-23 21:13:14 -05:00
ManuelMcLure 9c87786464 Change default Re-ARM UART pin order (#15037) 2019-08-23 20:55:41 -05:00
Scott Lahteine fdef32ce77 Shorten Website URLs 2019-08-22 19:37:04 -05:00
Scott Lahteine 7924e0d819 Add print at position shortcuts 2019-08-22 19:37:04 -05:00
Scott Lahteine 5c0e5c599f Fix boot screen warning 2019-08-22 18:58:11 -05:00
Scott Lahteine dd6efe96e7 Restore documented M503 behavior 2019-08-22 18:58:11 -05:00
Scott Lahteine 6429b8bfb8 Fix EZBoard platform test 2019-08-22 17:38:32 -05:00
Tanguy Pruvot e604f76703 Enable contrast via LCD_CONTRAST_INIT (#15006) 2019-08-21 18:56:39 -05:00
ETE-Design 9d8e3d4d6f Update pins_HJC2560C_REV2.h 2019-08-21 17:38:08 +02:00
ETE-Design 2526e2d32e Update Makefile
Add ADIMLab Granty v1
2019-08-21 17:36:15 +02:00
ETE-Design d858f44b35 Update boards.h
Add ADIMLab Granty v1
2019-08-21 17:34:44 +02:00
ETE-Design c3d1671b6d Add files via upload
Add ADIMLab Granty v1
2019-08-21 17:30:17 +02:00
ETE-Design 778466a2ed Create _Bootscreen.h
Add Bootscreen
2019-08-21 17:29:25 +02:00
ETE-Design 42f35491e0 Update Configuration.h
Added Author + Custom_Machine_Name
2019-08-21 16:33:36 +02:00
ETE-Design 0309a5f3af Update pins_HJC2560C_REV2.h
Updated Description
2019-08-21 16:30:08 +02:00
ETE-Design 9434b81a82 Update boards.h
Updated Description
2019-08-21 16:27:45 +02:00
ETE-Design 6b35951e92 Update Makefile
Updated Description
2019-08-21 16:26:25 +02:00
Tanguy Pruvot 012f577bb0 STM32F1: Import (rogerclarkmelbourne) SPI class (#15002) 2019-08-21 06:22:23 -05:00
ETE-Design 4be98221f6 ADIMLab Granty pins/config (#14919) 2019-08-21 05:33:17 -05:00
Scott Lahteine 1fb3c4055d Optimize bootscreen 2019-08-21 05:30:33 -05:00
Scott Lahteine f7aac7a5b0 Add Support for ADIMLab Granty 2019-08-21 05:26:38 -05:00
ETE-Design de122c9bbe # This is a combination of 18 commits.
# This is the 1st commit message:

Add Support for ADIMLab Granty

# The commit message #2 will be skipped:

# Update Configuration.h

# The commit message #3 will be skipped:

# Add files via upload
#
# Add Support for ADIMLab Granty

# The commit message #4 will be skipped:

# Create Configuration.h

# The commit message #5 will be skipped:

# Delete Configuration.h

# The commit message #6 will be skipped:

# Create Test.h

# The commit message #7 will be skipped:

# Add files via upload

# The commit message #8 will be skipped:

# Delete Test.h

# The commit message #9 will be skipped:

# Delete Configuration.h

# The commit message #10 will be skipped:

# Delete Configuration_adv.h

# The commit message #11 will be skipped:

# Add files via upload
#
# Add ADIMLab Pins

# The commit message #12 will be skipped:

# Add files via upload
#
# Add Bootscreen

# The commit message #13 will be skipped:

# Update Configuration.h
#
# Add Bootscreen

# The commit message #14 will be skipped:

# Update pins.h
#
# Add ADIMLab Board

# The commit message #15 will be skipped:

# Update boards.h
#
# Add ADIMLab Granty

# The commit message #16 will be skipped:

# Update Makefile
#
# Add ADIMLab Granty

# The commit message #17 will be skipped:

# Update boards.h

# The commit message #18 will be skipped:

# Update Makefile
2019-08-21 05:25:00 -05:00
Scott Lahteine 4581957d93 Clean up some pins 2019-08-21 05:15:48 -05:00
Marcio Teixeira bd1ced14e7 LulzBot Touch UI Followup (#15007) 2019-08-21 04:48:05 -05:00
Scott Lahteine 8c2cfaa907 Fix BigTree_Btt002 build 2019-08-21 04:38:04 -05:00
Marcio Teixeira 69641f1420 Fix incompatible types error (#15009) 2019-08-21 04:15:37 -05:00
Marcio Teixeira 825c2c3dc4 Fix fan speed encoder scaling (#15010) 2019-08-21 03:49:43 -05:00
Scott Lahteine f1942f6ec0 [cron] Bump distribution date 2019-08-21 00:00:04 -05:00
Scott Lahteine 5e777601f3 Add TURBO_BACK_MENU_ITEM option (#14991) 2019-08-20 19:37:03 -05:00
Scott Lahteine 0cc524b84f Prevent BOARD_NAME conflict with env 2019-08-20 19:10:36 -05:00
InsanityAutomation 33f6d77281 Adjust homing backoff feedrate (#14972) 2019-08-20 03:44:52 -05:00
InsanityAutomation 5a7c0216f7 Misc. ExtUI fixes (#14971) 2019-08-20 03:44:17 -05:00
InsanityAutomation 6039893981 Creality pins updates (#14979) 2019-08-20 03:42:30 -05:00
MaukCC 8664b8e97b Adding HMS434 machine (#14931) 2019-08-20 03:40:48 -05:00
Scott Lahteine 5c6e82743e Followup to STM32F407 2019-08-20 03:11:34 -05:00
chzj333 0b47558a09 New board STM32F407 (#14994) 2019-08-20 03:05:12 -05:00
BigTreeTech bb4a252567 Fix Bigtreetech STM32F40x variants ADC (#14996) 2019-08-20 03:02:52 -05:00
Tim Moore 67f8ba6fed Allow pullup/downs on power loss pin (#14986) 2019-08-20 02:40:44 -05:00
thisiskeithb 19e21a8f10 Wanhao Duplicator i3 Mini config updates (#14908) 2019-08-20 02:38:31 -05:00
Ludy 05995d1fd6 Unify buzz methods as MarlinUI::buzz (#14803) 2019-08-20 02:01:37 -05:00
Scott Lahteine 29c12905f5 Minor HAL patches 2019-08-19 02:28:36 -05:00
Scott Lahteine 1432d44eed Patch circleci config 2019-08-19 01:30:36 -05:00
Scott Lahteine 94397dbdb4 [cron] Bump distribution date 2019-08-19 00:00:07 -05:00
Scott Lahteine 17cd1a4f26 Tweak TOUCH_MI_DEPLOY_XPOS block 2019-08-18 23:38:12 -05:00
Scott Lahteine dfcd437486 Base HAS_LCD_CONTRAST on display type 2019-08-18 23:38:12 -05:00
Scott Lahteine 3f678b0be5 Remove some extra F4 conditions 2019-08-18 23:37:25 -05:00
Scott Lahteine 4d1a662571 Fix STM32F7 STEPPER_ENABLE_PIN 2019-08-18 23:25:15 -05:00
Scott Lahteine 08434b3605 Add TMC26XStepper, not ignore 2019-08-18 23:05:14 -05:00
Tim Moore cd09e35f90 Remove extra M503 "M412" report (#14985) 2019-08-18 21:17:00 -05:00
InsanityAutomation c5be59ddfe Fix runout trigger on "inactive" sensor (#14990) 2019-08-18 21:11:33 -05:00
InsanityAutomation af5a7a2925 Add missing ExtUI user confirmation (#14992) 2019-08-18 21:03:26 -05:00
Robby Candra 33d54c0d5a Remove extra defines (#14983) 2019-08-18 21:00:20 -05:00
Scott Lahteine 403eefd272 Delete _Bootscreen.h 2019-08-18 20:18:58 -05:00
Scott Lahteine bc93ac53b5 Fix #define typo in configs 2019-08-18 19:51:55 -05:00
Scott Lahteine d2072f9ace Clean up PlatformIO lib_ignore (#14988)
Originally from #14832.

Users may need to delete platformio work folders before building.
2019-08-18 19:36:14 -05:00
Scott Lahteine c8e476ad60 Embed some items in HAS_LCD_MENU 2019-08-18 18:41:51 -05:00
Scott Lahteine 9a3ee3be53 [cron] Bump distribution date 2019-08-18 00:00:04 -05:00
Scott Lahteine 9d9e2deb9b Tweak UBL G29 status print 2019-08-17 20:15:10 -05:00
Robby Candra 823178c272 Use u8g int type for screen coordinates (#14965) 2019-08-17 19:58:38 -05:00
Ludy 6715fd159c Animated Marlin boot screen (#14961) 2019-08-17 18:40:01 -05:00
Scott Lahteine 9e49f154d8 [cron] Bump distribution date 2019-08-17 15:47:17 -05:00
Marcio Teixeira 8bdb3d9970 Add CONTROLLERFAN_SPEED_Z_ONLY (#14956) 2019-08-16 21:57:19 -05:00
AnHardt 587d4a6373 Repair display throttling (#14960) 2019-08-16 21:17:09 -05:00
J.C. Nelson fecf808d80 Fix lambda missing capture (#14969) 2019-08-16 21:15:27 -05:00
Bob Kuhn 66bfad3ced Fix missing U8glib.h include (#14966) 2019-08-16 20:06:32 -05:00
J.C. Nelson 1bcc5c98a9 MalyanLCD: Pause, resume, more ExtUI (#14852) 2019-08-16 20:02:35 -05:00
Scott Lahteine c3ff53a61c STM32 u8g defines
Suggested by https://github.com/MarlinFirmware/Marlin/issues/14742#issuecomment-515753814
2019-08-16 18:48:29 -05:00
Tim Moore 4575978a1f Fix auto power for chamber fan (#14922) 2019-08-16 18:42:24 -05:00
Marcio Teixeira 274934ad81 Add LULZBOT_TOUCH_UI (#14967) 2019-08-16 18:34:13 -05:00
Marcio Teixeira 179d6c4ed1 Add STARTUP_SCRIPT option. M17 parity with M18. (#14953) 2019-08-14 21:05:15 -05:00
Marcio Teixeira 36dfbaea8c Add missing function declaration (#14955) 2019-08-14 17:52:57 -05:00
Marcio Teixeira 263d7d37af "SD card" => "Media" (#14951) 2019-08-14 17:52:14 -05:00
Scott Lahteine 24ce8beb48 [cron] Bump distribution date 2019-08-14 00:00:11 -05:00
Tanguy Pruvot 4cc103958e Alfawise Flash EEPROM, Z Servo Probe (#14877) 2019-08-13 23:41:17 -05:00
Joseph Bozarth 0fbb26c28f M16 - Expected Printer Check (#14924) 2019-08-13 23:38:45 -05:00
Scott Lahteine a26b57a36d Minor pins cleanup 2019-08-13 19:40:08 -05:00
Acenotass 059f575d93 Update Russian language (#14940) 2019-08-13 19:19:44 -05:00
Timothy Hoogland a67830bf67 TH3D EZBoard is LPC1769 (#14936) 2019-08-13 00:03:42 -05:00
Tanguy Pruvot 03df3f4a88 Fix Python scripts unhandled quotes (#14926) 2019-08-12 19:50:34 -05:00
Tanguy Pruvot c6be989fca Store EEPROM config in flash (#14923)
Avoid confusion between the 2 possible SDs...
2019-08-12 19:48:46 -05:00
Marcio Teixeira 13d8dc0b79 Fix incorrect print stat in ExtUI (#14881) 2019-08-10 19:25:30 -05:00
Marcio Teixeira dc21e2e691 Increase XY nozzle offset range (#14882) 2019-08-10 19:24:41 -05:00
Marcio Teixeira fa533846a7 Bury easter egg deeper (#14883) 2019-08-10 19:23:37 -05:00
Giuliano Zaro af4bcb629a SAMD51 typo fix (#14885) 2019-08-10 19:22:48 -05:00
Ludy d7172a4558 Cleanup and conditions (#14886) 2019-08-10 19:22:18 -05:00
Johnny Eshak 03dbe16ccc Compiling M43 on invalid conversion (#14897) 2019-08-10 19:20:40 -05:00
Giuliano Zaro f085199f5b SAMD51: Some LCD pin fixes (#14915) 2019-08-10 19:19:52 -05:00
Giuliano Zaro d78086ccdc SAMD51: Neopixel pin mapping (#14913) 2019-08-10 19:18:32 -05:00
Eric Ptak 9c5086e6af [STM32F1] Simpler Flash EEPROM (#14829) 2019-08-10 19:14:31 -05:00
Tanguy Pruvot 0745d48993 Fix build with and without TOUCH_BUTTONS (#14912) 2019-08-10 18:22:11 -05:00
thisiskeithb e7aba49c49 Update PB5 to correct pin number (#14891) 2019-08-10 01:53:55 -05:00
thisiskeithb 5ea5d71258 Tevo Michelangelo config updates (#14895) 2019-08-10 01:52:26 -05:00
Tanguy Pruvot 5d2519ed50 Allow use of Fysetc SoftwareSerialM (#14893) 2019-08-10 01:45:36 -05:00
Robby Candra d2d71caa3b Clean up Touch pins. Better up/down touch response. (#14900) 2019-08-10 01:42:52 -05:00
Tanguy Pruvot 8cc0b4bf5e Revert "Edit STEPS_PER_MM integer only" (#14909)
This reverts commit 2d98bb39bd.
2019-08-10 00:58:21 -05:00
Giuliano Zaro 3129fd06f0 SAMD51: Update LCD pins (#14907) 2019-08-10 00:56:55 -05:00
Ludy 9479ec32f7 Fix Service Menu compile error (#14903) 2019-08-10 00:53:26 -05:00
Giuliano Zaro a7f1021265 Fix SPI_ENDSTOPS compile error (#14906) 2019-08-09 17:00:20 -05:00
Chris Pepper 2971b48a12 Use PlatformIO 4 default dir structure (#14879) 2019-08-08 08:29:33 -05:00
Scott Lahteine 9624c90cfb Remove HAL.h dependency in SoftwareSerial.h 2019-08-08 07:43:57 -05:00
Scott Lahteine a6f682d860 [cron] Bump distribution date 2019-08-08 06:39:53 -05:00
Scott Lahteine f3e4e6c68f Create FUNDING.yml 2019-08-08 06:07:11 -05:00
Scott Lahteine f9f20bb454 Allow py scripts to handle spaces in paths (#14876) 2019-08-08 05:38:24 -05:00
Fourmi eb3a3d249e Fix TouchMI probe movement (left side) (#14875) 2019-08-08 02:40:48 -05:00
Tanguy Pruvot 535018ef0e STM32F1: Dummy SoftwareSerial (as TMCStepper fallback) (#14861) 2019-08-08 02:25:52 -05:00
Ludy 528c9885f2 Fix wait_for_user + PAUSE_BEFORE_DEPLOY_STOW issue (#14831) 2019-08-08 01:52:20 -05:00
Scott Lahteine c8e30b6639 Fix code attempting to sprintf %f (#14869)
Arduino doesn't (always) support `float` formatting in strings. So either cast to `int` or use `dtostrf()` to fix these usages.
2019-08-08 01:51:37 -05:00
Giuliano Zaro 3e5620283e AGCM4 debug option (#14838) 2019-08-07 00:45:00 -05:00
Tanguy Pruvot 92c35d14a4 Non-fatal error from ps::access_start (#14845) 2019-08-07 00:43:00 -05:00
Scott Lahteine f13fbafe31 Tweak python string comparisons 2019-08-07 00:27:26 -05:00
Bob Kuhn 5873b0b032 [2.0.x] Autobuild formatting (#14857) 2019-08-06 23:33:07 -05:00
Tim Moore 77f637763c Overlord configs. Fix buzzer, redundant temp. (#14833) 2019-08-06 23:25:47 -05:00
Giuliano Zaro 535eeace5f Fix Bed, Chamber ADC condition (#14866) 2019-08-06 22:57:54 -05:00
Acenotass 3914bcfbb1 Russian correction (#14862) 2019-08-06 22:56:51 -05:00
InsanityAutomation 922b597f94 Fix Ender 3 chopper setting (24V) (#14851) 2019-08-06 22:56:04 -05:00
Tim Moore 0fa7d86918 Fix thermistor names (info menu) (#14860) 2019-08-06 22:54:18 -05:00
Tanguy Pruvot eecfcd124d Finish STM32F4 SD-based settings storage (#14844) 2019-08-06 22:53:11 -05:00
Scott Lahteine a0d782e46e STM32F7xx is gone 2019-08-06 04:58:58 -05:00
Scott Lahteine fd9f067a48 Robin FSMC / SPI pins 2019-08-06 04:57:49 -05:00
Scott Lahteine 4268c1f1a5 Tweak U20 config 2019-08-06 04:57:49 -05:00
Scott Lahteine 579e4396e2 Reduce STM32_F4_F7 pin warnings 2019-08-06 04:57:15 -05:00
Scott Lahteine fb579212ea Reduce unused function warnings 2019-08-06 04:56:17 -05:00
Scott Lahteine 1fe195926f Update configs with new sensorless options
Followup to #14044
2019-08-06 01:03:50 -05:00
Scott Lahteine fc39c925ca Grace period followup 2019-08-05 22:00:49 -05:00
Scott Lahteine a9c5d524bb Followup to MAX7219 / KILL_PIN patch
Co-Authored-By: Roxy-3D <roxy-3d@users.noreply.github.com>
2019-08-05 21:42:33 -05:00
Chris Pepper f499cecf0d Marlin Binary Protocol Mark II (#14817) 2019-08-05 20:41:53 -05:00
Robby Candra 5bc2fb022c THERMAL_PROTECTION_GRACE_PERIOD is obsolete (#14798) 2019-08-05 20:33:15 -05:00
Jason Smith 534c105a7a Fix 16-bit range check in TMenuItem::action_edit (#14834) 2019-08-05 20:02:29 -05:00
Acenotass 4af9908764 Update M48 command in the status line (#14816) 2019-08-05 20:01:40 -05:00
Scott Lahteine 8f0aedeead Reorder some language defines 2019-08-05 19:12:00 -05:00
Roxy-3D 6fdb0bec07 Resolve Kill pin & Max7219 Clock conflict on TREX-2+ 2019-08-05 14:36:50 -05:00
teemuatlut d4974ea719 TMC SPI Endstops and Improved Sensorless Homing (#14044) 2019-08-04 22:22:58 -05:00
Giuliano Zaro d493cafc4a Fix a memset pointer cast (#14823) 2019-08-04 22:06:36 -05:00
Scott Lahteine 4e58f9387a Onboard SD for MKS Robin
In response to #9771
2019-08-04 21:17:45 -05:00
Scott Lahteine 2d98bb39bd Edit STEPS_PER_MM integer only 2019-08-04 19:39:52 -05:00
Tim Moore e3660bca25 Overlord printer thermistor (#14815) 2019-08-03 20:57:56 -05:00
Scott Lahteine ab792d004c More PlatformIO aliases 2019-08-03 20:27:47 -05:00
George Fu f89eb8bf35 Fysetc Cheetah updates (#14800) 2019-08-03 18:12:35 -05:00
Tanguy Pruvot 4bd1e55093 STM32F1: Init EEPROM SPI pin modes (#14810) 2019-08-03 18:11:06 -05:00
Scott Lahteine 52a7a8cb26 Fix HOST_PROMPT_SUPPORT without LCD 2019-08-02 11:35:04 -05:00
Scott Lahteine 6285776943 Fewer Teensy 3.1/3.2 tests 2019-08-02 11:35:04 -05:00
Scott Lahteine 18c9182903 Match up write_data signatures 2019-08-02 11:09:07 -05:00
Scott Lahteine 2e27e3ba04 Patch up Teensy 3.1/3.2 pins, tests 2019-08-02 10:01:55 -05:00
Ludy 337361d588 Update German language, (c) (#14804) 2019-08-02 09:21:28 -05:00
Scott Lahteine 8119e511a1 Patch some (c) messages 2019-08-02 07:47:33 -05:00
yangwenxiong 6132cf900b STM32F4x SD-based settings storage (#14808) 2019-08-02 07:40:27 -05:00
Giuliano Zaro 21993b75f4 SAMD51 Servo class (#14781) 2019-08-02 07:37:41 -05:00
Tanguy Pruvot 8efa3455c2 STM32F1: Reduce binary by 2K by dropping full path asserts (#14807) 2019-08-02 07:28:38 -05:00
Scott Lahteine e85eca2630 HAL cleanup, Teensy 3.1 platform 2019-08-02 07:22:26 -05:00
Tim Moore 940c59d9da Overlord i2c LCD with LEDs and buzzer (#14801) 2019-08-02 06:19:45 -05:00
Scott Lahteine e1942715ce HAL_STM32F1_EEPROM_SIZE => HAL_EEPROM_SIZE 2019-08-02 06:18:36 -05:00
Scott Lahteine ee5e46b46b Patch PrintJobRecovery::filename 2019-08-02 05:21:55 -05:00
Scott Lahteine fd945d1070 More generic EEPROM data array name 2019-08-02 04:40:34 -05:00
Tanguy Pruvot 3334163e73 STM32F1: Align SD EEPROM data for SDIO (#14809) 2019-08-02 04:12:46 -05:00
Scott Lahteine 70ce4f5b36 Move job recovery filename 2019-08-02 02:24:15 -05:00
Scott Lahteine 9ac348ef7b SDPOWER => SDPOWER_PIN 2019-08-02 02:24:15 -05:00
Scott Lahteine 5e2582a31b Comment spacing 2019-08-02 02:24:15 -05:00
mekius 7682751646 Fix HOME_BACKOFF_MM type (#14805) 2019-08-01 20:32:45 -05:00
Robby Candra 96a1c6540e Use title case for menu items (#14806) 2019-08-01 20:31:58 -05:00
InsanityAutomation f59a7e8b07 Print/display ABL current probe point (#14788) 2019-08-01 20:11:26 -05:00
Tim Moore 3765e67434 Dreammaker Overlord pins (#14791) 2019-07-31 21:15:36 -05:00
InsanityAutomation 6f8b8c394d Homing backoff per-axis / delta Z (#14789) 2019-07-31 20:50:23 -05:00
Benjamin Reed 0c035c0a7a Fix 'pause_menu_response' compile error (#14792) 2019-07-31 17:21:25 -05:00
Tanguy Pruvot 3db1a80b4c Update French language (#14787) 2019-07-31 17:10:14 -05:00
Scott Lahteine f8b8cbfc53 Press the big red button on PlatformIO 4.0 2019-07-31 15:02:11 -05:00
Scott Lahteine c2b319360d Remove extra pragmas 2019-07-30 20:19:47 -05:00
Tanguy Pruvot 202d3ab3c9 Define STM32F1 GPIO for the preprocessor (#14785) 2019-07-30 18:58:03 -05:00
Eric Ptak fdbc733376 Return 'false' on EEPROM connection fail (#14776) 2019-07-30 17:43:45 -05:00
Robby Candra 128eed6b57 Option to reverse select direction/buttons (#14693) 2019-07-30 17:42:57 -05:00
Gustavo Alvarez 27952648cf Fix M122 column alignment (#14779) 2019-07-30 17:11:17 -05:00
Giuliano Zaro eb08aeab7d Update Italian language (#14782) 2019-07-30 17:09:01 -05:00
pinchies d98b9d54f1 JGAurora A5S & A1 touch support (#14768) 2019-07-30 17:08:11 -05:00
Scott Lahteine c1b99c43b6 [cron] Bump distribution date 2019-07-30 05:07:39 -05:00
InsanityAutomation 0b154c2d71 Enable runout sensor in EEPROM by default (#14771) 2019-07-30 05:01:56 -05:00
Scott Lahteine bc58e678bd More general FSMC display option 2019-07-30 04:25:55 -05:00
Scott Lahteine c942ca130f More general TOUCH_BUTTONS comment 2019-07-30 04:22:27 -05:00
Scott Lahteine e349b1c920 Bring some configs up to date 2019-07-30 04:22:27 -05:00
Acenotass 659d06d9b9 M48 menu item, result to status (#14772) 2019-07-30 02:31:14 -05:00
rafaljot e44fccf3d2 Add support for M575 (#14757) 2019-07-30 02:30:00 -05:00
MarcelMo f8aa52346f Configurable Z move distance (#14593) 2019-07-30 02:16:26 -05:00
Scott Lahteine 842466f4d9 Mixer patch, etc. 2019-07-29 22:20:28 -05:00
Scott Lahteine 1165c26ab4 Trailing whitespace 2019-07-29 19:46:54 -05:00
Scott Lahteine eae543adf3 Apply HAS_SPI_LCD as needed 2019-07-29 18:55:05 -05:00
Scott Lahteine 8837cd3b53 [cron] Bump distribution date 2019-07-29 18:46:40 -05:00
Marcio Teixeira eb7840dabb Match select item to encoder direction (#14673) 2019-07-29 00:02:42 -05:00
Scott Lahteine e5d73f68c8 HAL folder organization (#14763) 2019-07-28 23:55:24 -05:00
Marcio Teixeira eefe3f595a New options: Bootscreen as Info, game Easter-egg (#13829) 2019-07-28 22:47:20 -05:00
Scott Lahteine 180f9a4c22 Remove obsolete info menu includes 2019-07-28 20:20:33 -05:00
Ludy c4bb458763 BUZZ cleanup (#14760) 2019-07-28 19:14:50 -05:00
Scott Lahteine 6b02b89ab4 Update serial sub-unit descriptions 2019-07-28 17:38:37 -05:00
mikeshub 1579091c20 PID loop improvements (#14746)
* Fix macro evaluation in `temperature.cpp`
* Improve bed PID, PID debug output
* Add min PID power define
2019-07-28 15:50:25 -05:00
thisiskeithb e8e81d3609 Fix MKS Robin Lite pins include (#14755) 2019-07-28 14:56:05 -05:00
Giuliano Zaro 290466578f Adafruit Grand Central M4 (#14749) 2019-07-28 14:48:29 -05:00
Marcio Teixeira fec52e61ea Use shared memory space for game data (#14727) 2019-07-28 01:44:16 -05:00
Scott Lahteine 17abb94532 Whitespace patch 2019-07-28 01:29:23 -05:00
Ludy 97e9c95f47 Fix & clean up ExtUI (#14748) 2019-07-27 22:44:05 -05:00
Eric Ptak 59e97e5e52 FYSETC Cheetah 1.2 (#14723) 2019-07-27 21:21:54 -05:00
InsanityAutomation 2351592abf Overridable TMC serial pins, update TMC2209 docs (#14751) 2019-07-27 20:34:22 -05:00
thisiskeithb d74efd9d46 MKS Robin Lite/Lite2 Board Support (#14729) 2019-07-27 04:43:37 -05:00
Benjamin Reed 7084f3647a Flag to reduce Melzi binary size (#14730) 2019-07-27 04:36:22 -05:00
Marcio Teixeira 1c3df51f87 vsnprintf patch redux (#14725) 2019-07-27 04:34:49 -05:00
Bo Herrmannsen bf610d87f7 Fix a bad MKS SGen-L pin (#14735) 2019-07-27 04:18:49 -05:00
Fourmi d34364a086 Default TOUCH_MI_DEPLOY_XPOS to min X (#14736) 2019-07-26 21:57:13 -05:00
Ludy ead6bb267d Add Z3 SanityCheck, revert early sanity change (#14717) 2019-07-24 22:32:49 -05:00
Scott Lahteine a3dc1e461b Update M7219 comment, tweak parameter code 2019-07-24 21:09:51 -05:00
Chris Pepper b6095fd084 Reduce default LPC176x ADC lowpass filtering 2019-07-25 00:40:51 +01:00
Scott Lahteine 1088846cae Cosmetic updates from 14044 2019-07-24 01:52:36 -05:00
Scott Lahteine 05f4033a34 Prevent a name conflict in u8g impl file 2019-07-24 01:01:03 -05:00
Marcio Teixeira 585a8a96b4 Fix extraneous redefine of vsnprintf_P in Marduino.h (#14712) 2019-07-23 17:18:53 -05:00
Giuliano Zaro 7085781c71 Include configs in serial.h (#14714) 2019-07-23 16:40:54 -05:00
Marcio Teixeira 369fb2806d Fix compilation warnings, errors (#14704) 2019-07-22 20:08:54 -05:00
Scott Lahteine a589456a14 Tweak mark/range/quantity conditions 2019-07-22 07:16:42 -05:00
Scott Lahteine 601b2d9f51 Send slightly less data to Max7219 2019-07-22 07:16:42 -05:00
Scott Lahteine 79f49040f1 Patch some Max7219 comments 2019-07-22 07:14:07 -05:00
Eric Ptak a6bec53905 Fix FYSETC stm32flash usage (#14703) 2019-07-22 05:33:34 -05:00
Scott Lahteine 5c3ec6306f Max7219 side-by-side arrangement (#14702) 2019-07-22 05:22:21 -05:00
Scott Lahteine a7c41d28af Max7219 non-functional tweaks 2019-07-22 04:24:16 -05:00
Giuliano Zaro 1005f225f3 Remove unused defines, fix typo (#14699) 2019-07-21 21:44:03 -05:00
mikeshub d9303b2137 Fix MAX6675_SEPARATE_SPI boot loop (#14698) 2019-07-21 21:36:00 -05:00
Scott Lahteine f96d2a5b4a Update pins_STEVAL.h 2019-07-21 21:25:14 -05:00
Tanguy Pruvot dca0c3d02a Fix SPI comments, clean up U20 pins (#14700) 2019-07-21 20:23:41 -05:00
Scott Lahteine 7501e40e0b APB comment correction 2019-07-21 20:13:36 -05:00
InsanityAutomation dc6fa04f68 Fix single nozzle temp change, do slower extra prime (#14696) 2019-07-21 19:33:37 -05:00
Tim Moore e5aa453293 Add support for 2 Neopixel strips (#14667) 2019-07-20 23:14:09 -05:00
Scott Lahteine 6899ed2026 Update some platform includes 2019-07-20 22:20:09 -05:00
BigTreeTech a38b9da672 STM32F1 SPI1 bugfix (#14679) 2019-07-20 20:35:41 -05:00
reloxx13 5b2fd3ad86 Add Discord link to issue template (#14690) 2019-07-20 17:22:33 -05:00
Scott Lahteine 93adb7e944 Some comment patches 2019-07-20 16:46:59 -05:00
InsanityAutomation 9cd66f6f77 Fix missing include & condition (#14682) 2019-07-20 01:55:34 -05:00
Tanguy Pruvot 977cfa4494 Fix a few recent (STM32F1 DOGM, SPI) warnings (#14669) 2019-07-20 01:54:01 -05:00
Ludy 39e1726498 Comments, includes (#14671) 2019-07-20 01:41:34 -05:00
Ludy b714cfd4f0 MKS GEN v1.3/1.4 undef STAT_LED_*_PIN (#14644) 2019-07-19 06:12:57 -05:00
wookie666 00e2f6da8f Improve magnetic dock switching toolhead (#14663) 2019-07-19 06:07:26 -05:00
Robby Candra 71d8c6f742 Fix LCD sanity check (#14678) 2019-07-19 05:53:36 -05:00
Jamie a80b1e6d5f Fix broken Flattr link (#14677) 2019-07-19 00:09:32 -05:00
Scott Lahteine fd2bc3a212 [cron] Bump distribution date 2019-07-19 00:00:09 -05:00
Scott Lahteine 4cc83b6330 Allow THERMAL_PROTECTION_GRACE_PERIOD override
Co-Authored-By: MarcelMo <marcelmo@users.noreply.github.com>
2019-07-18 23:38:03 -05:00
Tanguy Pruvot f0be92259b PIO env, Travis test for STM32F407VE (#14674) 2019-07-18 22:38:03 -05:00
Scott Lahteine 1ea9a36d11 FYSETC BLTouch config and more (#14668) 2019-07-18 05:54:50 -05:00
Scott Lahteine 92e513e76e Trailing whitespace 2019-07-18 05:51:36 -05:00
Msq001 6920b7fe91 BigTreeTech SKR E3 DIP (#14638) 2019-07-18 05:43:49 -05:00
Karl Andersson d472934a70 FYSETC Mini 12864 for HAL_STM32 (#14639) 2019-07-18 05:42:16 -05:00
Scott Lahteine ec13aa0dc1 Misc. whitespace 2019-07-18 05:13:55 -05:00
Scott Lahteine 3d153486da Fysetc rename Part 2 2019-07-18 04:36:08 -05:00
Scott Lahteine 5c15f6f64b Fysetc rename Part 1 2019-07-18 04:34:58 -05:00
Scott Lahteine 68108789d0 Add'l toolchange syncs 2019-07-18 02:44:21 -05:00
Scott Lahteine fac0e63058 Clean up tool-change syncs (#14666) 2019-07-18 02:17:46 -05:00
Scott Lahteine 42b5ccafc9 Toss obsolete DEBUG_LEVELING_FEATURE tests 2019-07-17 20:26:48 -05:00
Marcio Teixeira ca4d6f4470 Fix compile error (bad return type) (#14660) 2019-07-17 19:49:26 -05:00
thisiskeithb 522df57a45 Tevo Michelangelo configuration (#14577) 2019-07-17 19:47:14 -05:00
Robby Candra c9aa68ef7a Encoder direction: Wrangle, Revert select screen change (#14628) 2019-07-17 19:41:15 -05:00
Chris Pepper 9e19f004d0 Update Travis to Ubuntu "Bionic" (#14664) 2019-07-17 19:12:40 -05:00
Marcio Teixeira 839255eed4 Fix for M504 changing filament runout value (#14661)
Fixes #14476
2019-07-17 19:11:45 -05:00
Scott Lahteine 305f277843 Drop old includes in serial.h 2019-07-17 05:49:20 -05:00
thisiskeithb 523feeee3c Tevo Tornado configuration (#14576) 2019-07-17 04:54:59 -05:00
Tanguy Pruvot 9dfa5ba3a5 XPT2046: Handle MKS touchscreen w/out PenIRQ pin (#14640) 2019-07-17 04:41:10 -05:00
Jason Smith f2c5740d06 Add 'E' argument to G34 to allow stowing between probes (#14533)
- Use the return value from probe_pt during `G34`
  Eliminate the assumption that probe_pt leaves current_position set to values relative to the probed points. This is not always true, depending on the raise_after argument.
- Add '`E`' argument to `G34` command allowing stowing between each probe.
2019-07-17 04:23:19 -05:00
Robby Candra 2c5436e315 Fix HOST_PROMPT_SUPPORT include in ExtUI API (#14650) 2019-07-17 04:23:19 -05:00
InsanityAutomation b8cc61262f Finish G12, update Nozzle::clean (#14642) 2019-07-17 04:23:19 -05:00
Marcio Teixeira 57ed063ba1 Fix unused variable warnings (#14643) 2019-07-17 03:16:10 -05:00
Scott Lahteine 06324df072 Apply some #ifndef 2019-07-17 03:14:44 -05:00
Marcio Teixeira 27c487bab7 Print progress enhancements (#14647) 2019-07-17 03:14:44 -05:00
Robby Candra ebb1a7dc1f Fix EXT_UI example onFilamentChange Parameter (#14649) 2019-07-17 03:05:23 -05:00
Scott Lahteine 5ccf8c2c33 Fix serial.h indents 2019-07-17 02:03:25 -05:00
Scott Lahteine ef2a2eb984 Temp tweak 2019-07-17 02:03:25 -05:00
Ludy abc9b52692 Update copyright in header, etc. (#14645) 2019-07-16 22:42:36 -05:00
Scott Lahteine 5535a047d7 [cron] Bump distribution date 2019-07-16 00:00:08 -05:00
Tanguy Pruvot bae8d0a4bd DOGM: Avoid white flash on TFT (re)init (#14631)
- Avoid white flash on TFT (re)init. Unlike Graphical LCD, the TFT init color may be full white if the backlight is on during init.

- Add a conditional for delayed backlight init which can be applied to any backlit display.
2019-07-15 17:36:16 -05:00
thisiskeithb 02859eb2b1 Remove Ender-3 README.md (#14632) 2019-07-15 17:19:19 -05:00
thisiskeithb 3d75490b6e Set correct Ender-5 bed size (#14633) 2019-07-15 17:18:27 -05:00
Scott Lahteine 93bc1b17f9 [cron] Bump distribution date 2019-07-15 00:00:08 -05:00
Simon Jouet f0de56a797 ESP32 HAL - Dynamic ADC attenuation (#14623) 2019-07-14 23:32:48 -05:00
Tanguy Pruvot 81d629bc47 Robin & Longer3D SPI TFT driver (#14595) 2019-07-14 18:16:26 -05:00
Tanguy Pruvot 45bde333d5 Initial Longer3D LK1/2 (Alfawise U20/U20+/U30) support (#14597) 2019-07-14 18:05:24 -05:00
Jeonghwan Noh 475ccfad62 Oscar (by Thinknthings of Korea) board support (#14574) 2019-07-14 15:36:03 -05:00
Scott Lahteine fdaa374490 Clean up pins self-checks 2019-07-14 15:34:14 -05:00
Scott Lahteine 77b4f23edc Update pins comments 2019-07-14 15:19:22 -05:00
Scott Lahteine 1204f2fca8 Fix some config spacing 2019-07-14 13:11:41 -05:00
Scott Lahteine d4be970c8b Update DOGLCD conditions 2019-07-14 13:10:13 -05:00
Scott Lahteine 39a5e3ca6e mftest: Fix multi-line commands 2019-07-14 13:09:16 -05:00
Scott Lahteine 74e1573b14 Update megaatmega2560-tests 2019-07-14 13:09:16 -05:00
Scott Lahteine 2d84bcb4cd Simplify, update LCD sanity-check 2019-07-14 13:09:16 -05:00
Scott Lahteine eaf1c0954e Update some precompiler tests 2019-07-14 13:09:16 -05:00
InsanityAutomation ce02c6cee2 Variable tool change purge (#14618) 2019-07-14 11:40:58 -05:00
Marcio Teixeira cbe4bf2ba8 Fix process_injected_command undefined behavior (#14602) 2019-07-14 10:12:48 -05:00
Ringel e139c1d9d9 Fix ESP32 i2s stream, add PWM to extended pins (#14592) 2019-07-14 10:08:14 -05:00
Msq001 21e1148d98 Remove upload_protocol "cmsis-dap" (#14606) 2019-07-14 09:43:38 -05:00
Marcio Teixeira a49478cefa Fix STATUS_MESSAGE_SCROLLING in LIGHTWEIGHT_UI (#14603) 2019-07-14 09:39:03 -05:00
thisiskeithb bcbd2ff21c Fix Ender-5 Z axis settings (#14605) 2019-07-14 09:32:43 -05:00
InsanityAutomation d2f20803ba Allow nozzle clean with limited Axis (#14619) 2019-07-14 06:58:53 -05:00
Ludy 6dcb85927a Update German language, &c. (#14613) 2019-07-14 04:34:55 -05:00
Robby Candra e96468566d Fix Z_PROBE_END_SCRIPT in ABL (#14621) 2019-07-14 04:28:38 -05:00
Scott Lahteine a85cd042d8 [cron] Bump distribution date 2019-07-14 00:00:09 -05:00
Scott Lahteine 91bb0f5439 [cron] Bump distribution date 2019-07-13 00:00:09 -05:00
Scott Lahteine b2b7c583eb Pins cleanup 2019-07-12 23:07:52 -05:00
Karl Andersson 82cafc9b19 pins_ARMED overrides STM32 defines (#14587) 2019-07-12 06:06:04 -05:00
Giuliano Zaro 65a2903aab Upgrade Travis CI to Python 3.7 (#14588) 2019-07-12 05:59:14 -05:00
Scott Lahteine d3add3c34f Init servo macro, j/b 2019-07-12 04:53:50 -05:00
InsanityAutomation f1eaed7e98 Only init servo pins used for servos (#14589) 2019-07-12 04:30:15 -05:00
scotthsl 19b24a349c Fix M412 without HOST_ACTION_COMMANDS (#14591) 2019-07-12 04:23:33 -05:00
Giuliano Zaro 4a5f135c5d PIO 4 strict parser fix (1 => chain) (#14586) 2019-07-12 04:20:34 -05:00
Scott Lahteine 89964ec30d [cron] Bump distribution date 2019-07-12 00:00:08 -05:00
Giuliano Zaro cd36809c06 Fix STM32F7 compile error (#14583) 2019-07-11 15:23:53 -05:00
Scott Lahteine 3cd9a92dcc Use REVERSE_ENCODER_DIRECTION in do_select_screen 2019-07-11 15:17:26 -05:00
Scott Lahteine 80c6f98d2f Fix nested _draw_chamber_status
Co-Authored-By: alexscarbro <alexscarbro@users.noreply.github.com>
2019-07-11 14:51:26 -05:00
Scott Lahteine b0d8ba3894 Fix ANIM_CHAMBER
Co-Authored-By: alexscarbro <alexscarbro@users.noreply.github.com>
2019-07-11 14:36:02 -05:00
Ludy 70586d3a6c Update (c) comments (#14584) 2019-07-11 13:48:15 -05:00
Pavel4e5 8babf55b18 Init ADC keypad analog input (#14585) 2019-07-11 13:47:41 -05:00
Scott Lahteine 948c3f580b Clean up some LCD conditions 2019-07-11 06:11:19 -05:00
Scott Lahteine 3218c4b33f Shorten some config descriptions 2019-07-11 05:45:27 -05:00
Scott Lahteine 179095c387 Pins cleanup 2019-07-11 05:29:24 -05:00
thisiskeithb 42be684e69 Wanhao Duplicator i3 Mini support (#14559) 2019-07-11 04:36:51 -05:00
Scott Lahteine 340d827dc1 Fix mega/ subfolder pins
Followup to #14573
2019-07-11 02:59:02 -05:00
Scott Lahteine 7de605c5c3 Move pins files to subfolders #14573 2019-07-11 02:32:24 -05:00
Scott Lahteine e5a5273edb [cron] Bump distribution date 2019-07-11 00:00:10 -05:00
Scott Lahteine 98c6c6f1aa Combine STM32F4 and STM32F7 (#14566)
* Serial assert (needs work)

* Bring STM32F4/F7 together

* Tweaks to STM32 headers

* More general 'stm32_timer_t'

* Move vsnprintf_P to Marduino.h
2019-07-10 22:05:34 -05:00
Giuliano Zaro caa87d5fe1 SD2Card cleanup (#14571) 2019-07-10 22:04:16 -05:00
Scott Lahteine ad1c061e7b Bring STM32F4/F7 together 2019-07-10 07:07:04 -05:00
Scott Lahteine 4e479caf61 Fix mis-use of LIMIT 2019-07-10 07:07:04 -05:00
Scott Lahteine cf9ac4c847 Move vsnprintf_P to Marduino.h 2019-07-10 07:07:04 -05:00
Scott Lahteine f7de453da8 More general 'stm32_timer_t' 2019-07-10 07:07:04 -05:00
Scott Lahteine 828cc71847 Tweaks to STM32 headers 2019-07-10 07:07:04 -05:00
Scott Lahteine 94f2e82897 Serial assert (needs work) 2019-07-10 07:07:04 -05:00
Tanguy Pruvot 881e5a48bc Fix M43 warning, XL density timers (#14555) 2019-07-10 06:30:57 -05:00
Scott Lahteine d4c210f21b Fix and improve mftest 2019-07-10 05:56:01 -05:00
Scott Lahteine 44c8f29e47 More board name cleanup 2019-07-10 05:54:15 -05:00
Scott Lahteine ed0e6afacb Apply LIMIT macro 2019-07-10 03:35:39 -05:00
Scott Lahteine 9817976375 [cron] Bump distribution date 2019-07-10 00:00:08 -05:00
Ludy a7bb1fc322 Fix Dual X,Y,Z UART pins in relation to TMC2208/9 (#14554) 2019-07-09 22:52:48 -05:00
Scott Lahteine f990ebfb09 Tweak STM32F4/7 eeprom emulation (#14563) 2019-07-09 22:49:58 -05:00
Scott Lahteine 056efaba91 Clean up section comments 2019-07-09 22:34:21 -05:00
Scott Lahteine a23021b823 Add 'mfhelp' script
Not all scripts answer --help yet. This will be added to 'mfinfo' soon.
2019-07-09 21:40:20 -05:00
Scott Lahteine 5519054f50 Improve BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE (#13740) 2019-07-09 21:35:07 -05:00
Scott Lahteine 3ae3bf5d33 Get E2END from pins, fix Linux buffer 2019-07-09 21:32:13 -05:00
Scott Lahteine 01e8813286 EEPROM_EMULATED_WITH_SRAM => SRAM_EEPROM_EMULATION 2019-07-09 21:31:33 -05:00
Scott Lahteine cb60001784 Clean up BOARD_NAME in pins 2019-07-09 21:31:06 -05:00
Scott Lahteine c0e917ea83 DUE/usb should use platform min/max 2019-07-09 19:31:07 -05:00
gmarsh ab99a80793 GMARSH X6 board support (#14550) 2019-07-09 00:30:08 -05:00
Scott Lahteine 84d0bc5c17 OLED LCD section 2019-07-08 23:58:04 -05:00
Scott Lahteine a2ba0aaaac HAL include and other adjustments (#14525) 2019-07-08 23:42:29 -05:00
Emilio Moretti be37c38aa2 Fix Ender-2 LCD contrast
Changed the default to overcome the changes in:
5018fdacbe
This commit exposed a bug because the Ender-2 was using a MINIPANEL lcd
and getting default values that were too low, so the text was too weak.
However, the panel should be MKS_MINI_12864, since it
explicitly sets the correct contrast without relying in the defaults.
2019-07-08 23:14:04 -05:00
Ludy ba22857f93 Allow override of TMC_SW_* pins, etc. 2019-07-08 23:13:28 -05:00
Scott Lahteine 1a349c7522 Add HAS_TMC220x 2019-07-08 23:07:42 -05:00
Scott Lahteine 9821ec2afd Fix SKR Pro pins, STM32F1/4 sanity-check
Co-Authored-By: Msq001 <msq001@users.noreply.github.com>
2019-07-08 23:07:42 -05:00
Scott Lahteine 96d52649b8 mftest: Apply test changes and optionally build 2019-07-08 22:50:33 -05:00
Scott Lahteine 2b1c2a0db9 [cron] Bump distribution date 2019-07-08 00:00:11 -05:00
Tim Moore 8b81c0e88f LEDs to default on print completion (#14535) 2019-07-07 07:17:08 -05:00
Scott Lahteine e7307af42d [cron] Bump distribution date 2019-07-07 00:09:53 -05:00
Msq001 439e28783b BigTree SKR Pro V1.1 board support (#14523) 2019-07-06 21:52:17 -05:00
Ludy 3a75342508 Allow override of TMC_SW_* pins (#14528) 2019-07-06 21:25:48 -05:00
igorepi c1bb3278d4 Fix Russian grammar (#14527) 2019-07-06 21:24:57 -05:00
Ludy c0497234b9 SanityCheck Biqu SKR 1.1 => BigTree SKR 1.1 (#14526) 2019-07-06 21:24:10 -05:00
Roxy-3D cdf4ed87a1 Add back required precision for off printer mesh saves 2019-07-06 21:01:56 -05:00
Scott Lahteine 8916acf083 [cron] Bump distribution date 2019-07-06 00:00:09 -05:00
Tanguy Pruvot 8873c583d3 Prevent extra settings.load on boot (#14499) 2019-07-05 22:25:59 -05:00
Bob Kuhn dc02d0720d Pins Debugging for STM32 — NEEDS TESTING (#14309) 2019-07-05 22:08:06 -05:00
Tanguy Pruvot 052aa23efe STM32F1: ignore output check for analogWrite() (#14498) 2019-07-05 21:13:32 -05:00
Alexander Amelkin 7a42132002 GTM32 Pro pins updates (#14505) 2019-07-05 21:09:17 -05:00
thisiskeithb 10a71e332d Biqu SKR 1.1 => BigTree SKR 1.1 (#14514) 2019-07-05 20:57:08 -05:00
Vanessa Dannenberg 4fa8053638 RPW-Ultra thermistor table (#14517) 2019-07-05 20:37:05 -05:00
Ludy a210f80adc Sanity-check for CASE_LIGHT_PIN (#14518) 2019-07-05 20:18:43 -05:00
Scott Lahteine 253d0f9671 Some MIN/MAX rely on core 2019-07-05 20:07:48 -05:00
Scott Lahteine 535b70057e Oops. Don't undef MIN/MAX 2019-07-05 18:42:21 -05:00
Scott Lahteine 021c4ccf5f Fix SpindleLaser class
Fix #14465
2019-07-05 18:39:40 -05:00
Scott Lahteine fe02241044 NONE on combined options 2019-07-05 18:20:24 -05:00
Scott Lahteine 67e0238c89 Reduce type warnings 2019-07-05 18:20:24 -05:00
Scott Lahteine 750a16ad38 Fix MIN/MAX function collision with macros 2019-07-05 18:14:02 -05:00
Scott Lahteine b6546ea33a Add include guards to some headers 2019-07-05 04:02:08 -05:00
Scott Lahteine 8ff49d6b46 [cron] Bump distribution date 2019-07-05 03:48:50 -05:00
Scott Lahteine f69e02ef04 Update generate_version 2019-07-05 03:45:49 -05:00
Tanguy Pruvot 31450d9d6b M43: spi channels are not pins (#14502) 2019-07-05 02:03:01 -05:00
Roman Moravčík 9736a21de2 Update Slovak language (#14503) 2019-07-05 02:02:20 -05:00
Giuliano Zaro 2bf11da5ab Fix pin based on SOFT_SPI_CS (#14504) 2019-07-05 02:01:52 -05:00
Giuliano Zaro 66e16af29d SPI defines cleanup (#14506) 2019-07-05 01:59:37 -05:00
Tim Moore eb6dec03bd Simplify power supply naming logic (#14488)
Co-Authored-By: Tim Moore <tim.moore@lightbend.com>
Co-Authored-By: AnHardt <github@kitelab.de>
2019-07-05 01:58:34 -05:00
Scott Lahteine 44e4f853c8 Patch M_PI in Marduino.h 2019-07-04 19:58:08 -05:00
Scott Lahteine c6e6365e15 [cron] Bump distribution date 2019-07-04 15:56:02 -05:00
Roxy-3D 41b7f16ab8 Fix grammar of comment for G29 T command 2019-07-03 19:26:43 -05:00
Scott Lahteine ec4bfb0054 Fix LPC1768-tests labels 2019-07-03 19:11:59 -05:00
Scott Lahteine de462f2b8a Revert "Sort out settings.load with SD EEPROM emulation (#14458)"
This reverts commit 108d0df565.
2019-07-03 19:11:30 -05:00
Giuliano Zaro b7573c6e69 Remove unused WRITE_VAR, etc. (#14493) 2019-07-03 17:52:30 -05:00
GMagician 8be146642f Unused SPI PIN definitions 2019-07-03 17:49:55 -05:00
Scott Lahteine 6a2a10a154 Bump distribution date 2019-07-03 03:11:12 -05:00
Scott Lahteine 371969b531 Remove deprecated SCARA option 2019-07-03 02:43:33 -05:00
Scott Lahteine ae9232962e Use heater index defines 2019-07-02 23:29:43 -05:00
Scott Lahteine f7eeae8424 Indent a line 2019-07-02 21:34:40 -05:00
teemuatlut 8aad29fb6e Fix Prusa chopper timing preset 2019-07-02 20:51:33 -05:00
Scott Lahteine 1620738701 Home dir use < or > 2019-07-02 20:51:33 -05:00
Scott Lahteine 0f79fb9821 Generic stop pins (presume one endstop per axis end) 2019-07-02 20:30:26 -05:00
Scott Lahteine ce2b4bc20c Conditionals tweak 2019-07-02 20:30:26 -05:00
Ludy 3358caed14 Update German/Italian language (#14482) 2019-07-02 19:25:20 -05:00
Scott Lahteine 720bc7c00b Named indices for Temperature class (#14479) 2019-07-02 08:39:55 -05:00
Scott Lahteine 274809aced Bump distribution date 2019-07-02 05:54:06 -05:00
Scott Lahteine ff55088491 Fix Malyan LCD warnings 2019-07-02 04:36:02 -05:00
Scott Lahteine d4415dcf59 Fix analogWrite ambiguity 2019-07-02 04:36:02 -05:00
thisiskeithb d6265df962 115K baud for Ender-3 and -5 (#14471) 2019-07-02 03:14:01 -05:00
thisiskeithb c6f74ba887 TH3D EZBoard v1.0 (#14473) 2019-07-02 03:12:32 -05:00
Marcio Teixeira 16409eb233 Suppress more UNUSED warnings (#14466) 2019-07-01 20:42:38 -05:00
GMagician 82ecaa767e Remove unused code in M100
queue.buffer is in bss area, start_free_memory starts from heap then above of bss
2019-07-01 20:38:49 -05:00
GMagician 54358fbe28 Update Italian language 2019-07-01 20:37:59 -05:00
Scott Lahteine c28e08c849 Fix mintemp/maxtemp monitoring for thermocouples 2019-07-01 10:24:53 -05:00
Scott Lahteine de8fee6aea Clarify ExtUI command injection 2019-07-01 09:23:00 -05:00
Scott Lahteine 448d482d3c Update motherboard numbering (#14460) 2019-07-01 09:10:55 -05:00
Tanguy Pruvot 108d0df565 Sort out settings.load with SD EEPROM emulation (#14458) 2019-07-01 09:10:17 -05:00
Scott Lahteine 18e396b102 Update motherboard numbering 2019-07-01 07:06:38 -05:00
Msq001 c9be936d4a BigTreeTech SKR Mini E3 (#14457) 2019-07-01 07:06:25 -05:00
Aliaksei Kvitsinski 2f932a11b3 Park heads with electromagnet (#14023) 2019-07-01 05:55:23 -05:00
Scott Lahteine fb9d30673f platformio.ini compatible with PIO 3.x 2019-07-01 05:40:15 -05:00
Tanguy Pruvot ca7f56e60b Add 0.025mm Manual Move for Z (#14456) 2019-07-01 03:17:50 -05:00
Scott Lahteine 56c4a96180 Bump distribution date 2019-07-01 01:21:31 -05:00
thisiskeithb 4b9f6d531b Add links to Junction Deviation heading (#14272) 2019-07-01 01:17:53 -05:00
Scott Lahteine ced30b1054 Update ExtUI sanity checks 2019-07-01 00:50:22 -05:00
Scott Lahteine 10b85be405 status_message_level => alert_level 2019-07-01 00:47:08 -05:00
Tanguy Pruvot 24655a6bf3 Touch-MI Menu and Manual Deploy option (#14290) 2019-06-30 23:55:27 -05:00
Ludy dab2f0c89c Mask unused var, update (c) comments (#14455) 2019-06-30 22:29:33 -05:00
Ludy 0ca64a0ea3 Fix compile error with Z_PROBE_END_SCRIPT (#14447) 2019-06-29 23:20:49 -05:00
Scott Lahteine d16954dc88 Make KEEPALIVE_STATE a scoped auto-restore (#14446) 2019-06-29 22:49:50 -05:00
Tanguy Pruvot 19aafb9050 Fix STM32F1 motor shocks (stepper timer issue) (#14030) 2019-06-29 04:39:38 -05:00
Scott Lahteine 6550a222aa env_default => default_envs 2019-06-29 04:04:25 -05:00
Scott Lahteine 3ea073ace6 Slight reduction in serial.h file size 2019-06-29 04:04:25 -05:00
thisiskeithb 6978bb5ea5 Fix MKS Robin Nano FAN_PIN (#14444) 2019-06-29 02:11:26 -05:00
m0oml 688c53220d Creality3D CR-20 configurations (#14262) 2019-06-29 02:06:22 -05:00
th33xitus fe2c710b39 Fix for Arduino Due + 12864 Full Graphic Display (#14181) 2019-06-29 01:37:02 -05:00
Phr3d13 34c8204d25 STM32F1 SD EEPROM Emulation Fixes (#14261) 2019-06-29 01:34:54 -05:00
Marcio Teixeira e6cf7860e8 Improve ExtUI, fix compiler errors, warnings (#14441) 2019-06-29 00:23:57 -05:00
Scott Lahteine 14fb683682 Update examples 2019-06-29 00:14:27 -05:00
Scott Lahteine e89a47c8b5 Bump distribution date 2019-06-29 00:13:59 -05:00
Scott Lahteine b615b492ba Update some HAL comments 2019-06-28 23:10:40 -05:00
Scott Lahteine f39d025a80 Update default/Configuration_adv.h 2019-06-28 23:10:12 -05:00
Scott Lahteine 49027721e9 Clean up some pinsDebug headers 2019-06-28 22:50:56 -05:00
thisiskeithb 7f05f5e002 Creality3D Ender-5 configuration (#14416) 2019-06-28 22:17:05 -05:00
Scott Lahteine c9a8db33c3 Fix scaledFanSpeed 2019-06-28 21:24:47 -05:00
Darsey Litzenberger 946f6bdeaa Disable leveling during G12 (#14385) 2019-06-28 19:23:42 -05:00
Scott Lahteine b3f42d2519 Update SD host config comment 2019-06-28 19:13:27 -05:00
Scott Lahteine 872e172bcd Remove bootscreen timeouts matching default 2019-06-28 19:13:27 -05:00
Roman Moravčík 77c67085bf Update Slovak language (#14433) 2019-06-28 18:57:43 -05:00
Giuliano Zaro 9174aa376f Update Italian language (#14440) 2019-06-28 18:56:10 -05:00
Giuliano Zaro 07c998afe5 Fix E2END on RURAMPS (#14438) 2019-06-28 18:55:17 -05:00
Giuliano Zaro a9445d557e Remove extra #if (#14439) 2019-06-28 18:54:22 -05:00
Scott Lahteine 4d5a1984e2 Simplified fan handling code 2019-06-28 18:50:32 -05:00
Scott Lahteine a8d68b7c8a Common method for scaled fan speed 2019-06-28 15:34:17 -05:00
Scott Lahteine 1a09c4dea5 Cutter class followup 2019-06-28 15:34:17 -05:00
Scott Lahteine 9da02d2114 Help syntax highlighting (Sublime, et. al.) 2019-06-28 15:04:17 -05:00
Martin ae9afb333e Remove fwretract planner.synchronize calls (#14432) 2019-06-28 13:33:47 -05:00
Scott Lahteine 93cd66ac11 Tweaky change from (C) to (c) 2019-06-27 23:58:16 -05:00
Scott Lahteine d7d80418ae Singleton for cutting tools (#14429) 2019-06-27 23:06:49 -05:00
Scott Lahteine 2fde1475cb Allow SD card sharing on SKR Mini 2019-06-27 22:30:13 -05:00
Scott Lahteine 7e16835c83 Use LCD conditionals in pins files (#14428) 2019-06-27 22:14:43 -05:00
thisiskeithb 8b63e3701f MKS Robin Nano board support (#14363) 2019-06-27 21:33:41 -05:00
Tim Moore 81209f5310 'M105 R' to report redundant temp sensor (#14324) 2019-06-27 21:29:52 -05:00
InsanityAutomation 39c0c2aebe Add TMCStepper libs to lib_ignore for Melzi (#14322) 2019-06-27 16:57:38 -05:00
Scott Lahteine 6664b90bbb Init servo pins in HAL_init (#14425) 2019-06-27 16:29:17 -05:00
Tim Moore 8ce84fa44f Add temperature-based auto power options (#14397) 2019-06-27 16:28:07 -05:00
Scott Lahteine 00cc1079af Add missing chamber auto fan options 2019-06-27 16:05:47 -05:00
InsanityAutomation ce656e2a26 Update G-code injection, sub-commands (#14418) 2019-06-27 15:07:45 -05:00
Scott Lahteine decfe3424f Helper script updates 2019-06-27 13:23:55 -05:00
InsanityAutomation b961251899 Add Z_PROBE_END_SCRIPT to UBL (#14419) 2019-06-27 13:00:55 -05:00
Scott Lahteine 2580104c8b Revert recent probe changes
- Revert "Fix FIX_MOUNTED_PROBE compile error (#14393)"
- Revert "Fix G28 with non-BLTouch probes (#14381)"
- Revert "Fix BLTOUCH deploy/stow in HS mode (#14352)"
- Revert "Apply needed BLTouch patch (#14233)"

Co-Authored-By: AnHardt <github@kitelab.de>
2019-06-26 05:33:43 -05:00
thisiskeithb cd302f9464 Add MKS SGen-L Board (#14411) 2019-06-26 04:17:06 -05:00
Andy Shaw 064177154c Update SD card connection / sharing options (#14325) 2019-06-26 03:55:57 -05:00
BigIronGuru 9f136a7c67 Low-priority homing in G34 (#14391) 2019-06-26 03:52:01 -05:00
Scott Lahteine 49627069a5 Shorthand for home-after-deactivate 2019-06-26 03:47:55 -05:00
J.C. Nelson 30a3db4f22 Fix Malyan M200 config and protocol (#14394) 2019-06-26 03:35:52 -05:00
oechslein 8c55bd5451 Update "StallGuard threshold" heading (#14395) 2019-06-26 03:33:07 -05:00
Scott Lahteine 98f3a3d5c3 Bump distribution date 2019-06-26 03:15:31 -05:00
Msq001 e3846ec7a1 SKR mini can use 128x64 LCD (#14388) 2019-06-26 01:12:41 -05:00
Eric Ptak 8934b32f1b Fysetc AIO II / Cheetah STM32F1 (#14407) 2019-06-26 00:40:29 -05:00
Marcio Teixeira 8e23e9b16c Fix FIX_MOUNTED_PROBE compile error (#14393) 2019-06-25 04:55:29 -05:00
Tanguy Pruvot 07dac315a9 Up-to-date STM32F1 README (#14386) 2019-06-24 03:44:26 -05:00
thisiskeithb a4aa3621c0 MKS Robin Mini Board Support (#14366) 2019-06-24 03:42:22 -05:00
Scott Lahteine cf762d2c73 Fix enqueueing bug 2019-06-23 23:02:07 -05:00
BigIronGuru 12d21e642f Update G34 for non-BLTouch probes (#14380) 2019-06-23 20:55:43 -05:00
BigIronGuru 5986194c36 Fix G28 with non-BLTouch probes (#14381) 2019-06-23 20:53:05 -05:00
InsanityAutomation aa0383a83b Enhance IDEX toolchange auto-return w/ no park, full control (#14117) 2019-06-23 20:00:48 -05:00
Scott Lahteine 3d9d72e8db Include order, spacing, etc. 2019-06-23 04:02:52 -05:00
mikeshub 1b1a4677f5 Fix LCD.h compilation error (#14377) 2019-06-22 21:08:30 -05:00
sjasonsmith 07b41a8c3f Include SOLENOID_PROBE in leveling report (#14344) 2019-06-22 17:54:37 -05:00
thisiskeithb 71b2700c3c Anycubic Trigorilla 1.4 Rev. 1.1 (#14357) 2019-06-22 17:53:45 -05:00
BigIronGuru f5afaaef5b Fix probe.cpp warning (#14367) 2019-06-22 17:27:33 -05:00
BigIronGuru def4bb987d Reset, stow BLTouch before mode change (#14368) 2019-06-22 17:26:02 -05:00
Scott Lahteine 78557076ff Add planner.synchronize to UBL G29 2019-06-22 17:23:29 -05:00
BigIronGuru 6578aa4e1b Apply minimum timing to BLTouch commands (#14369) 2019-06-22 17:20:19 -05:00
teemuatlut 2247bf1ba5 Add missing dedge init for TMC2209 (#14370) 2019-06-22 17:00:15 -05:00
mikeshub 1db7013e3b Fix and improve PID loops (#14373)
- Windup guarding was missing. The kludge in place of windup guard is removed. D term filter calculations are simplified to require fewer `float` calculations. Sign change for D term output to make debugging output clearer.
- Use "no overshoot" for bed PID tuning.
2019-06-22 16:52:56 -05:00
Scott Lahteine 17778d1c2a Fix M916-918 subcommands 2019-06-22 16:18:42 -05:00
Tanguy Pruvot be69ec5b32 Fix PLR/M43 warnings (#14333) 2019-06-22 00:48:47 -05:00
BigIronGuru 9c83135d40 Only home Z at the end of G34 (#14353) 2019-06-22 00:43:33 -05:00
InsanityAutomation 5df051fdee Fix Start SD Print bug (#14354)
Followup to the G-code parser injection update.
2019-06-22 00:37:21 -05:00
LinFor 0f6f5132c1 Fix variable conflict in ok_to_send (#14351) 2019-06-21 19:04:30 -05:00
MrMabulous c41b005f33 Add Extra Probing option, discarding outliers (#14338) 2019-06-21 19:02:26 -05:00
BigIronGuru 8f99d45045 Fix BLTOUCH deploy/stow in HS mode (#14352) 2019-06-21 18:55:27 -05:00
Tobias Frost eeaef2410a Support DGUS Display with DWIN OS (#13253) 2019-06-21 04:47:23 -05:00
Scott Lahteine bb0bcbaec0 Suppress compiler warning 2019-06-21 02:20:40 -05:00
Tanguy Pruvot 52383633e7 STM32F1: M43 PINS_DEBUGGING (#14072) 2019-06-21 01:20:17 -05:00
Karl Andersson 81d550754a Fix "UNUSED" redefined warning on HAL_STM32 (#14342) 2019-06-21 00:48:10 -05:00
Karl Andersson 4b365552db Fix Marduino SBI/CBI redefine (#14341) 2019-06-21 00:46:23 -05:00
InsanityAutomation a9acd2f497 G34 configurable angle limit (#14321) 2019-06-20 21:18:36 -05:00
Scott Lahteine a31cb910f5 Tweak some config spacing 2019-06-20 21:08:47 -05:00
Marcio Teixeira 49ea1c635a Fix missing dependencies (#14339) 2019-06-20 16:37:20 -05:00
thisiskeithb 19d4a9ab77 Tevo Tarantula Pro configurations (#14335) 2019-06-20 16:09:30 -05:00
Scott Lahteine 4df4c47994 Add TMC2209 support (#14249) 2019-06-20 15:47:50 -05:00
Tanguy Pruvot ed0c70f0a0 SKRmini followup - Fysetc config updates (#14327) 2019-06-20 05:49:27 -05:00
Scott Lahteine c461af2f3a Reverse encoder/menu in configs 2019-06-20 05:31:18 -05:00
Scott Lahteine dd06017f64 Bring configs up to date 2019-06-19 01:03:51 -05:00
Scott Lahteine 9131b11944 Games in Info menu, if enabled 2019-06-19 00:03:32 -05:00
Scott Lahteine 4c872a01f2 G-code queue singleton, front injection (#14236) 2019-06-19 00:00:19 -05:00
Tanguy Pruvot 75aeb41ab7 SKRmini support for Fysetc Mini Panel (#14319) 2019-06-18 19:34:16 -05:00
InsanityAutomation bf64dd4db6 Improve G34, M422 (Z alignment) (#14142) 2019-06-18 07:02:18 -05:00
Tanguy Pruvot 391250b04f STM32F1: Don't toggle EEPROM SPI SS (#14299) 2019-06-18 06:48:20 -05:00
Giuliano Zaro 27d30c1be8 Update Italian language (#14302) 2019-06-18 06:45:34 -05:00
Scott Lahteine 3f6424076b Update M524 description 2019-06-18 05:04:55 -05:00
Scott Lahteine cf3631226b Document G-code M290 2019-06-18 04:53:31 -05:00
Scott Lahteine c12b6ba760 Add Dagoma F5 to Makefile 2019-06-18 04:40:00 -05:00
3DSmitty 5b13abcacb Fix SPI_SD Outside of HAL_STM32F1 (#14306) 2019-06-18 02:38:18 -05:00
Bob Kuhn 089d12df16 Fix duplicate board IDs (#14310) 2019-06-18 02:26:13 -05:00
Tanguy Pruvot 5307f42917 Include STM32F1 HAL in main README.md (#14285) 2019-06-18 00:23:35 -05:00
Ludy 2290b269dc Unused variable (#14301) 2019-06-18 00:15:41 -05:00
Scott Lahteine 6b2d42434c Wrap main menu external declarations 2019-06-17 21:44:56 -05:00
thisiskeithb da5bdea324 Artillery X1 - Disable Linear Advance (#14311) 2019-06-17 20:36:09 -05:00
Scott Lahteine aacb904e1f Adjust some config comments 2019-06-17 20:22:07 -05:00
Scott Lahteine 651f3eeed0 Clean up trailing whitespace 2019-06-17 20:22:07 -05:00
Ludy 35aabd1834 Fix Spindle/Laser compile error (#14312) 2019-06-17 18:38:43 -05:00
Scott Lahteine 21f377d94a STM32F1: various small changes (#14313)
- init the led pin as output (like other HALs)
- reduce sdio dma priority to normal.. highest is never the best...
- allow fsmc only on compatible STM32F1 (like HAL fsmc)
- fsmc: remove an useless C style cast
2019-06-17 17:48:50 -05:00
sensei73 ce5f94c8f4 Fix Touch-MI sanity checks (#14316) 2019-06-17 17:46:14 -05:00
Tanguy Pruvot 287df7a61f STM32F1: various small changes
- init the led pin as output (like other HALs)
- reduce sdio dma priority to normal.. highest is never the best...
- allow fsmc only on compatible STM32F1 (like HAL fsmc)
- fsmc: remove an useless C style cast
2019-06-17 10:27:30 +02:00
3DSmitty 66d51272af Fix SPI, SD for BIGTREETECH SKR Mini (#14287) 2019-06-15 18:12:05 -05:00
Scott Lahteine 903863dcb6 Suppress some warnings 2019-06-15 17:47:59 -05:00
Scott Lahteine eb1c9113c2 Try to init SD with no detect pin 2019-06-15 15:36:48 -05:00
Scott Lahteine 9a56a88200 Use OUT_WRITE in SPI pin init 2019-06-15 15:36:43 -05:00
Scott Lahteine 24c23b60fa Use lambda, fix wrap pointer 2019-06-15 15:36:42 -05:00
Tanguy Pruvot 1aa60bce32 Travis CI: Update to Xenial (#14286)
(bionic doesn't include g++7 ppa)
2019-06-15 14:31:35 -05:00
pinchies 3021097888 Add JGAurora A5S and A1 (STM32F103ZET6) (#14291)
- Now compiles and works correctly with changes to HAL timers and watchdog.
- Does NOT include awesome work on touch screen function.
- Does have working LCD and SD-based EEPROM.
2019-06-15 14:28:22 -05:00
Ludy 6fb3db1633 Update German language (#14294) 2019-06-15 14:26:14 -05:00
Scott Lahteine a17f057daa Fix word wrapping on select screens 2019-06-15 14:06:23 -05:00
Tanguy Pruvot f2cfa408b7 Touch-MI probe by hotends.fr (#14101)
A simple Z probe using a magnet to deploy a probe. See https://youtu.be/E7Ik9PbKPl0 for the sensor description...
2019-06-14 22:19:48 -05:00
Scott Lahteine 26de051e92 HAL SPI pin init cleanup 2019-06-14 20:17:25 -05:00
Scott Lahteine cfb44e4a26 Sublime project - add settings 2019-06-14 20:17:25 -05:00
Scott Lahteine 9722038ad3 Ender 3 baud to match Creality3D 2019-06-14 00:44:49 -05:00
Scott Lahteine 50c9b33ed7 !ENABLED => DISABLED 2019-06-14 00:44:49 -05:00
teemuatlut 29afd11cbf Updates for TMC2660 init (#14245) 2019-06-13 23:16:10 -05:00
Scott Lahteine dfdbd1e75f Use TEST macro where possible 2019-06-13 20:59:12 -05:00
teemuatlut 12a270fd29 Fix TMC5160 and TMC2160 PWMCONF init 2019-06-13 20:57:12 -05:00
Scott Lahteine fc73a8b004 Add AXIS_HAS_SQUARE_WAVE shorthand 2019-06-13 20:57:12 -05:00
mb300sd bf8bfb5c66 Add Coolant Control M7/M8/M9 (#10745) 2019-06-13 18:43:11 -05:00
Aliaksei Kvitsinski 648a91bce8 Support for Z-Bold board (#14024) 2019-06-13 03:21:18 -05:00
MastS 18904c42f6 Fysetc LCD backlight timeout (#14265) 2019-06-12 21:59:39 -05:00
Scott Lahteine 8bc3b80176 Add MULTI_NOZZLE_DUPLICATION test 2019-06-12 20:06:25 -05:00
Scott Lahteine bc2ff9b41f Fix M605 bugs
Fixes #14191
2019-06-12 20:01:08 -05:00
Scott Lahteine f7792c0192 Group manual move options 2019-06-12 19:49:18 -05:00
Scott Lahteine 2a21a9a062 Update some configs 2019-06-12 19:48:41 -05:00
thisiskeithb f93c60a6f0 Bring Sidewinder X1 config up to date (#14271) 2019-06-12 19:44:39 -05:00
Tanguy Pruvot 7d1eafc80a STM32F1: C++14 for static_assert, etc. (#14278) 2019-06-12 18:44:32 -05:00
Msq001 26e7e33698 Fix bug in STM32F1 WRITE macro (#14275) 2019-06-12 06:30:24 -05:00
Scott Lahteine 04715e04ee Minor M100 cleanup 2019-06-12 06:14:40 -05:00
Scott Lahteine 356410dcfc Move crc16 function to libs 2019-06-12 06:14:39 -05:00
Scott Lahteine 2a96d4e23a Move number-to-string functions to libs 2019-06-11 07:51:47 -05:00
Scott Lahteine 1ef95013f0 Update Marlin.cpp includes, defines 2019-06-11 07:30:51 -05:00
Kaushik Vemparala c88d9ae282 Option to leave heaters set on SD abort (#14251) 2019-06-10 23:57:55 -05:00
thisiskeithb 892f0e75ea Initial EVNOVO (Artillery) Sidewinder X1 Configs (#14065) 2019-06-10 23:41:22 -05:00
Tanguy Pruvot 8cf5504a34 Redundant but faster recovery.enabled test (#14175) 2019-06-10 23:33:35 -05:00
Tanguy Pruvot c3e5225531 Add SPI EEPROM to STM32F1 (#14239) 2019-06-10 23:30:23 -05:00
felixstorm 9439fab7fd Fix ESP32 servos, platformio.ini, etc. (#14247) 2019-06-10 23:22:19 -05:00
Phr3d13 a373d3f557 Geeetech A10 example (#14250) 2019-06-10 22:06:04 -05:00
yangwenxiong b0a4ea79b8 BigTreeTech SKR Mini v1.1 (#14041) 2019-06-10 21:10:51 -05:00
Robby Candra f30b89953d runout.distance_mm LCD edit item (#14066) 2019-06-10 20:18:06 -05:00
mikeshub a3f034b95e FFCP updates. Update XY soft endstops on tool_change (#14125) 2019-06-10 18:01:42 -05:00
InsanityAutomation b7eeb5b13b Move BLTouch options to adv config (#14131)
Plus other BLTouch and menu enhancements.
2019-06-10 17:46:42 -05:00
Scott Lahteine 0ca2073625 ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED => SD_ABORT_ON_ENDSTOP_HIT 2019-06-10 17:28:35 -05:00
thisiskeithb 662e7da8a4 Fix USE_BIG_EDIT_FONT bug (#14252) 2019-06-09 19:37:14 -05:00
teemuatlut cccc51ee0e TMC Square Wave Stepping mode (#14195) 2019-06-09 05:08:05 -05:00
Scott Lahteine 80ce0d2bdb Whitespace cleanup 2019-06-08 06:40:44 -05:00
Scott Lahteine 455f0de817 Undefine sanity check tests when done 2019-06-08 06:29:28 -05:00
Robby Candra 7e07a3888b Fix PLR Z bug affecting Cartesians (#14230) 2019-06-08 05:27:58 -05:00
Robby Candra 5ca8d51e12 Ability to insert G-code in front of queue (#14229) 2019-06-08 05:23:53 -05:00
BigIronGuru 293018f76c Apply needed BLTouch patch (#14233) 2019-06-07 21:43:20 -05:00
Scott Lahteine ffb76b75d7 fix TMC2208 boot loop with SW UART (#14135)
Need stepper .begin() before calling susbequent .push()
2019-06-07 07:27:10 -05:00
InsanityAutomation 4138b1f9ae Option to disable Case Light brightness control (#14165) 2019-06-07 07:23:42 -05:00
Tanguy Pruvot 764f0d9c1c STM32F1: Servo "soft" PWM via timer interrupt (#14187) 2019-06-07 07:11:48 -05:00
InsanityAutomation 66e22d9f5a ExtUI Heated Chamber support (#14198) 2019-06-07 07:08:41 -05:00
InsanityAutomation fda8606388 Fix Travis test of Azteeg X3 Pro (#14235) 2019-06-07 03:07:38 -05:00
Scott Lahteine 950fd4aa4c Dagoma Disco Ultima pins, thermistor, config (#14223) 2019-06-05 22:32:35 -05:00
Scott Lahteine 9206c0e869 Use limit switch overrides 2019-06-05 22:27:06 -05:00
Scott Lahteine 34d2801bbe Rename pins file (2) 2019-06-05 21:41:58 -05:00
Scott Lahteine fa3b5fb059 Uppercase pins filename 2019-06-05 21:41:58 -05:00
Scott Lahteine 858b2fa21a Fix thermistor table 2019-06-05 21:39:39 -05:00
InsanityAutomation f6ec00d776 Update thermistor and working config 2019-06-04 20:25:00 -04:00
InsanityAutomation bbcb61e042 Initial Commit - Add board 2019-06-03 23:49:19 -04:00
Tanguy Pruvot e4260a41cb Fix a DEBUG_LEVELING_FEATURE string copy (#14200) 2019-05-31 18:52:11 -05:00
Ryan 9d9030a39c Fix Archim1 SD card (#14184) 2019-05-30 19:58:38 -05:00
InsanityAutomation 123e58d9c3 Heated Chamber for Graphical LCD (#14190) 2019-05-30 18:31:50 -05:00
Scott Lahteine 93ab16c6e4 Remove old mixing ISR comment 2019-05-30 17:05:16 -05:00
Scott Lahteine 6572848d7f Fix stepper timing bug 2019-05-30 16:58:53 -05:00
Bob Kuhn 688b54d66a DUE USB composite device field corrections (#14185) 2019-05-30 16:26:48 -05:00
InsanityAutomation f889cc6ea6 ExtUI parity with SPI LCDs (#14172) 2019-05-30 16:24:13 -05:00
Scott Lahteine 07021c85c8 Tweak timer16_Sequence_t 2019-05-30 16:09:37 -05:00
Roman Moravčík d70929f7c0 Update Slovak language (#14179) 2019-05-30 15:57:14 -05:00
Tanguy Pruvot e3a468f2cd STM32F1: FSMC only on chips with 100/144 pins (#14180) 2019-05-30 15:51:02 -05:00
Ludy 8e8e48f900 Fix links in templates, gcode.h (#14160) 2019-05-28 21:39:55 -05:00
InsanityAutomation 34ae76025e Clear Pausing message after M600 park (#14171) 2019-05-28 21:36:14 -05:00
Ludy bd494a6bd6 Update defines for patched temperature macros (#14161) 2019-05-28 17:43:31 -05:00
doggyfan e09d8811c1 Apply grace period to thermistor failure testing (#14167) 2019-05-28 15:36:03 -05:00
InsanityAutomation 0f04ba016f Adjust tool offset menus (#14153) 2019-05-27 21:29:08 -05:00
teemuatlut bf4a0db97f TMC LCD followup (#14134) 2019-05-27 21:24:20 -05:00
Scott Lahteine 6d92a0a33b Add 'ghpc' helper script 2019-05-27 21:06:43 -05:00
Minims 32afe1d102 Fix TOOLCHANGE_ZRAISE warning (#14156) 2019-05-27 19:51:29 -05:00
Robby Candra 5515f88452 Clarify SD longname string size (#14148) 2019-05-27 19:50:48 -05:00
Tanguy Pruvot 5f42d3a8b4 BLTouch French updates (#14137) 2019-05-27 01:02:35 -05:00
Scott Lahteine d3bb5b69ba Apply NOLESS/NOMORE 2019-05-26 20:55:00 -05:00
Scott Lahteine b315157053 Apply const to mcp4728 2019-05-26 20:54:24 -05:00
Scott Lahteine 3c179bbd47 Simpler G28 home axis conditions 2019-05-26 16:26:55 -05:00
Scott Lahteine 352734494b Reduce some M43 strings 2019-05-26 16:21:28 -05:00
Scott Lahteine b14cc0d7c5 Remove extra gcode. prefix 2019-05-26 16:18:45 -05:00
Scott Lahteine c6d39319de Fix some whitespace 2019-05-26 16:18:43 -05:00
InsanityAutomation 212860f090 Always change to Tool 0 on G29 (#14146) 2019-05-26 14:53:21 -05:00
Giuliano Zaro 7b838f31be DUE HAL cleanup (#14126) 2019-05-26 14:51:32 -05:00
Chris 36a0376c36 fix TMC2208 boot loop with SW UART
Need stepper .begin() before calling susbequent .push()
2019-05-26 13:07:12 +02:00
Robby Candra df7733425c Shorten pause message for 4 line LCD (#14097) 2019-05-26 02:33:52 -05:00
Scott Lahteine 605ec0a478 Fix thermistor table warning 2019-05-26 01:30:20 -05:00
doggyfan 90121047d9 Fix thermal protection with user thermistor (#14130) 2019-05-25 23:37:08 -05:00
Scott Lahteine 81cee05476 Update some env in pins.h 2019-05-25 23:17:50 -05:00
Scott Lahteine 47fd74a98d Clean up fast_pwm.cpp 2019-05-25 23:05:01 -05:00
Scott Lahteine 49229d97db Consistent _useTimerX tests 2019-05-25 23:05:01 -05:00
Scott Lahteine 8924389dfc Tweak servo µs macros 2019-05-25 22:33:51 -05:00
InsanityAutomation 49e83dd7c8 BLTouch V3.1 changes (#14104) 2019-05-25 21:56:47 -05:00
Scott Lahteine 14fe41f6b2 Update Z probe offset comment 2019-05-25 19:41:15 -05:00
Scott Lahteine f8bede6b5e Fix some HAL includes 2019-05-25 19:20:17 -05:00
Bryan 0ef5d667b6 Fixed M43 parameter bug (#14099) 2019-05-25 18:23:25 -05:00
teemuatlut 1c86fbc60b TMC updates, capture LCD changes (#14074) 2019-05-25 18:22:12 -05:00
felixstorm 74f44783ac ESP32 servo support (#14109) 2019-05-25 18:12:24 -05:00
felixstorm bc5a1fe562 Various fixes for ESP32 (#14102) 2019-05-25 17:06:00 -05:00
Giuliano Zaro e1bf34bdc9 Ruramps4d typo fix (#14096) 2019-05-25 16:41:08 -05:00
Scott Lahteine 7cce6b8d68 Bring configs up to date (MANUAL_FEEDRATE) 2019-05-25 16:31:13 -05:00
Scott Lahteine 1210b73530 Geeetech A10M/A20M example updates 2019-05-25 16:31:13 -05:00
Scott Lahteine beb2ed145e List AZTEEG_X5_MINI SPI pins
Followup to earlier commit
2019-05-25 16:20:07 -05:00
Scott Lahteine 44caf70917 Improve editing, fix some small value editing 2019-05-25 15:29:00 -05:00
Scott Lahteine 612eaa87bd Fix "back" items in some sub-menus 2019-05-25 15:28:52 -05:00
Scott Lahteine c5dc2e5a71 Update advanced BLTouch menu items 2019-05-25 15:26:25 -05:00
Scott Lahteine 48d1bd29cb Shift m before compare to 0 2019-05-25 15:22:15 -05:00
InsanityAutomation 9f69fbe5ee Move some menu items (#14118) 2019-05-25 15:16:00 -05:00
Scott Lahteine fc52c43a26 Some documentation updates 2019-05-24 16:30:44 -05:00
Tanguy Pruvot 24b1818245 Secure STM32F1 servo code and M280 detach (#14085) 2019-05-22 16:57:19 -05:00
Scott Lahteine a49919396a LPC1768 MarlinServo => libServo 2019-05-22 16:54:52 -05:00
Scott Lahteine 2b5046659a Tweak Marlin headers, comments 2019-05-22 16:54:52 -05:00
Scott Lahteine cc862a8213 Replace some functions with lambdas 2019-05-22 16:54:35 -05:00
Ludy fafd73a3af Update copyright in headers (#14092) 2019-05-22 16:24:13 -05:00
Giuliano Zaro 2298923a9b Update Italian language (#14095) 2019-05-22 16:23:41 -05:00
Ludy 41f61a12b8 Update German language (#14093) 2019-05-22 16:23:16 -05:00
doggyfan 594f6b14be Limit user thermistor to 999, fix thermistor table macro (#14080) 2019-05-21 21:31:05 -05:00
Giuliano Zaro a74aad3b4a Clean up HALs / FastIO (#14082) 2019-05-21 18:28:12 -05:00
Scott Lahteine 4ef364a073 Sanity check probe offsets must be integers 2019-05-21 17:16:21 -05:00
Ivan Kravets 610abd7b88 Declare "teensy" platform, add ststm32 dev/platform (#14070) 2019-05-20 22:02:17 -05:00
Scott Lahteine cfca07852a Backlash linker error workaround
Fix #14045
2019-05-20 21:52:56 -05:00
Scott Lahteine aeec9ef76b Update backlash code 2019-05-20 21:34:08 -05:00
Scott Lahteine 7b4c3bd92a Fix call to synchronize in lcd_pause_job 2019-05-19 15:51:45 -05:00
Scott Lahteine 9bf65eacaa Remove old adv config heading 2019-05-19 15:24:01 -05:00
Pavel4e5 3cd19a8ec0 Improve Zonestar keypad responsiveness (#14056) 2019-05-18 20:52:55 -05:00
Tanguy Pruvot 402f1f7307 STM32F1: STM32_HIGH_DENSITY is auto defined in HAL (#14057)
- Fix the `fsmc` and `sdio` units which required hard defines for use.
2019-05-18 20:45:22 -05:00
Tanguy Pruvot 87e7193259 Fix M226 sign warning (for most platforms) (#14049) 2019-05-18 16:15:48 -05:00
Tanguy Pruvot 256f810df2 Add open-drain output mode to STM32F1 FastIO (#14050)
- This mode is often used/preferred to drive printer boards' MOSFETs.
- Can generally boost the allowed output power (for hotbed,nozzle and fans).
2019-05-18 16:12:00 -05:00
Bob Kuhn 1dad6e754b Neopixel background LED option (#14025) 2019-05-18 02:36:37 -05:00
InsanityAutomation 84ac5b360b Fix ExtUI mesh functions (#14027) 2019-05-17 20:37:23 -05:00
Scott Lahteine 9b5f9dda0e Update analog pins labels 2019-05-17 20:22:25 -05:00
FanDjango 85fb33a060 BLTOUCH tweaks, new v3.1 command (#14015) 2019-05-17 19:10:18 -05:00
GUEST.it 62ef54cb81 UBL: Log and display G29 progress (#14036) 2019-05-17 19:02:21 -05:00
GUEST.it 7907eec04c Fix power loss recovery with SINGLENOZZLE (#14033) 2019-05-17 18:47:15 -05:00
Scott Lahteine efe651e749 Add THERMISTOR_NAME for 1000 2019-05-17 18:26:53 -05:00
Scott Lahteine 0b056970c6 Fix file.open in STM32 eeprom emu 2019-05-17 18:26:53 -05:00
InsanityAutomation 06f3273531 Fix DELTA pulse wait bug (#14028) 2019-05-17 16:16:56 -05:00
Marcio Teixeira 7ccbcf2eaa Fix TMC EEPROM regression (#14008)
Partially undo 15357af to ensure TMC code is initialized in the proper order.
2019-05-16 20:38:03 -05:00
Marcio Teixeira 9558962d59 Fix DUE HAL SW SPI compile error (#14005) 2019-05-16 20:36:19 -05:00
Martin Zeman 737d3d9283 Ender-3: Add feedrate for E manual move (#13996) 2019-05-16 20:34:01 -05:00
InsanityAutomation 07afe69cee Fix some bad AZTEEG_X5_MINI pins (#14011) 2019-05-16 20:33:00 -05:00
Chris Pepper 451ea996c9 [LPC176x] Fix switch fallthrough 2019-05-15 10:35:26 +01:00
Tanguy Pruvot d7b0369e39 STM32: Fix SD EEPROM emulation conflict (#14012) 2019-05-15 02:42:10 -05:00
Scott Lahteine 785c01f2bc Use US spelling of 'behavior' 2019-05-15 01:49:17 -05:00
Sam Lane 7f1e0c5670 Update EXTRA_LINADV_K with Marlin bit macros (#13993) 2019-05-15 01:07:07 -05:00
Bob Kuhn 48bd8899bd Cohesion 3D Remix: Onboard SD card, Fysetc LCD (#13991) 2019-05-15 00:59:57 -05:00
FanDjango dcaefc68a5 BLTouch.init should not deploy (#13988)
Low or unknown probe clearance on init (even at powerup) is a risk and therefore, a deploy should be avoided because dragging the pin is possible: A deploy goes into alarm if it can't extend fully and then the subsequent stow will fail.
2019-05-14 23:55:11 -05:00
Bob Kuhn 211563e533 Merge pull request #13985 from tpruvot/stm32_sdeeprom
STM32F1: fix sdcard filename conversion
2019-05-13 01:48:58 -05:00
Tanguy Pruvot 8075893352 STM32: fix sdcard filename conversion 2019-05-12 04:26:21 +02:00
chai-md 940ff8e7c8 Improve LV8729 stepping (#13776) 2019-05-11 19:02:19 -05:00
InsanityAutomation 991ee7552b Restore menu edit to 32bit value (#13976) 2019-05-11 18:44:35 -05:00
InsanityAutomation 3eee880967 Anet E16 example config (#13982) 2019-05-11 18:29:40 -05:00
Tanguy Pruvot 93dd097b1c Use E2END, if defined, for STM32F1 (SD) (#13981) 2019-05-11 18:22:31 -05:00
Tanguy Pruvot 3bf43b6c1e Re-enable STM32F1 Travis test (#13978) 2019-05-11 18:10:40 -05:00
Scott Lahteine 4e7187b926 Extended G-code syntax
- Parenthesized comments
- Multiple E values split by colons (RepRapFirmware)
2019-05-11 17:51:42 -05:00
InsanityAutomation 5108e4b6aa Cleaner EEPROM auto init (#13975) 2019-05-11 16:54:03 -05:00
Bob Kuhn 456a0ee76b Improve Due SW SPI, Fysetc sanity checks, &c. (#13939) 2019-05-11 16:51:39 -05:00
Robby Candra 7b78a20fb7 Fix: Debug Memory Dump size (#13957)
* Fix Memory Dump size

* Fix Compile error on Memory Dump
2019-05-11 11:44:39 -05:00
Scott Lahteine a613bcad2d Fix some spelling 2019-05-10 20:39:19 -05:00
Tanguy Pruvot 62b36d1b98 Fix STM32 timer warnings (#13946) 2019-05-10 20:00:21 -05:00
Giuliano Zaro f22c9a1ae1 Fix G-code parser with MMU2 (#13951) 2019-05-10 19:57:15 -05:00
Marcio Teixeira 746c38f4be Fix HAL_DUE multiple define error with graphical LCD (#13971) 2019-05-10 19:52:43 -05:00
Martin Zeman 529c111572 Fix A8 config author (#13974) 2019-05-10 19:46:32 -05:00
Bob Kuhn 75eca5c4f8 Fysetc pins updates for RAMPS and SKR 1.3 (#13963) 2019-05-10 19:29:28 -05:00
Martin Zeman 9cd9d39319 Add Anet A8 Plus example configuration (#13967) 2019-05-10 16:25:31 -05:00
Marcio Teixeira 227f29090d Add heater timeouts to ExtUI (#13970)
- Add local UI methods to get heater timeout state.
- Add methods to resume timed-out heaters.
- Re-enable heaters on UI temperature request.
- Make `ExtUI` show a dialog box if pause needs a button press after reheat.
2019-05-10 15:56:13 -05:00
Bob Kuhn fa3739aa23 M100: LPC1768 and DUE compatibility (#13962) 2019-05-09 21:57:44 -05:00
Scott Lahteine 88bedf3a57 Better label for mfadd 2019-05-09 19:28:41 -05:00
InsanityAutomation 3f758d9e00 Fix some edit items for 16-bit encoder (#13948) 2019-05-09 18:28:47 -05:00
GUEST.it beb9cc91f6 More fixes to Geeetech A10M/A20M standard config (#13958) 2019-05-09 18:23:26 -05:00
ManuelMcLure 51acbb2201 Prevent HOST_PROMPT_SUPPORT compile error (#13943) 2019-05-09 11:48:31 -05:00
Scott Lahteine ad4ffa1d2f Use C++ language supported 'nullptr' (#13944) 2019-05-09 11:45:55 -05:00
Tanguy Pruvot e53d7e5517 STM32: ADC warning fix (#13933) 2019-05-09 00:33:38 -05:00
GUEST.it 6b96eaa15b Fix E-steps/mm for Geeetech A10M/A20M (#13954) 2019-05-08 22:43:34 -05:00
Scott Lahteine 23ec650410 Consolidate Malyan LCD and ExtUI 2019-05-07 21:31:30 -05:00
InsanityAutomation 6811e2921b BLTouch v3 / 3DTouch Interoperability & performance (#13814) 2019-05-07 21:25:54 -05:00
Giuliano Zaro 40aff7e1f2 Remove extra MMU (non-12V) code (#13938)
`check_version` in state -5 should not be needed since it has already been called in state -4 and the tested build nr is only updated in state -4.
2019-05-07 21:02:08 -05:00
Scott Lahteine 059269d732 More python updates
Followup to #13931
2019-05-07 20:56:19 -05:00
Alexey Shvetsov af725c81e3 Convert py scripts for py2 and py3 compatibility (#13931) 2019-05-07 20:45:01 -05:00
Tanguy Pruvot 11adcf1ce3 Add'l PLR options, AVR strstr_P compat (#13880) 2019-05-07 20:38:40 -05:00
InsanityAutomation 5dcb25664f Option to Auto-Initialize EEPROM (#13935) 2019-05-07 16:30:31 -05:00
Ludy a504366138 Fix probe fan compiling error (#13930) 2019-05-07 14:14:12 -05:00
Tanguy Pruvot 24e956d168 Avoid int8_t underflow on filament runout (#13895) 2019-05-07 13:58:10 -05:00
Stephan 483822f3aa Fix some THERMAL_PROTECTION_CHAMBER issues (#13678) 2019-05-06 19:55:01 -05:00
doggyfan 23a8707ef1 Configurable Thermistor (#13888) 2019-05-06 18:51:06 -05:00
J.C. Nelson 172abc305b Malyan M200 core fixes (#13927) 2019-05-06 18:07:13 -05:00
Scott Lahteine a36782ac1d Define more u8g command macros 2019-05-06 17:26:34 -05:00
Scott Lahteine f9a50f451d Serial out cleanup 2019-05-06 17:26:34 -05:00
Scott Lahteine 9853331b34 Fix temp init, loosen ADC grace period 2019-05-05 22:55:03 -05:00
Tanguy Pruvot a4c24511f7 STM32: Fix Marduino SBI/CBI redefine (#13912) 2019-05-05 22:06:30 -05:00
Ludy c837e9250c Define tmc variables where needed (#13918) 2019-05-05 22:04:47 -05:00
Ludy f96eaad1ea Unused variable cleanup (#13917) 2019-05-05 22:01:04 -05:00
Ludy 421d526ba7 Update German language (#13915) 2019-05-05 22:00:19 -05:00
Giuliano Zaro b07360f32a Update Italian language (#13916) 2019-05-05 21:59:34 -05:00
Robby Candra 79955f0c89 Fix PLR file delete bug (#13860) 2019-05-04 23:30:47 -05:00
ManuelMcLure 09f1b58146 Fix HOST_PROMPT_SUPPORT compile issue (#13847) 2019-05-04 22:55:51 -05:00
Giuliano Zaro e2a77ed881 Bring chamber temp to completion (#13837) 2019-05-04 22:51:47 -05:00
Robert Mendon 24177954dd Add missing AZSMZ Mini SPI pins (#13824) 2019-05-04 22:04:01 -05:00
kAdonis ee73e17c9b Hide 'vsense' report row if not used (#13884) 2019-05-04 22:00:24 -05:00
jmdearras 68004174d9 Fix thermistor 501 name (#13839) 2019-05-04 21:40:41 -05:00
Tanguy Pruvot 7076d8706b Travis: Use platformio 'master' for stable testing (#13902) 2019-05-04 21:33:36 -05:00
Bob Kuhn c48e6be366 Fysetc panel, RUMBA and ReARM pins, SPI mode 3 (#13900) 2019-05-04 17:59:36 -05:00
ushills 3cad0f08d9 Geeetech I3 Pro B DEFAULT_AXIS_STEPS_PER_UNIT options (#13896) 2019-05-04 17:45:40 -05:00
ushills 1ec9953e7e Update I3 Pro B calibration routine (#13907) 2019-05-04 17:28:23 -05:00
Chris fd9d3ae181 Re-Arm 4x TMC2208 stepper improvement (#13819) 2019-05-04 17:26:13 -05:00
Tanguy Pruvot e7b3720b81 Menu edit accel in increments of 25 (#13850) 2019-05-04 17:21:58 -05:00
Tanguy Pruvot 7da63fa03f Fix NOMORE() sign warning in stepper (#13894) 2019-05-04 15:59:38 -05:00
Roman Moravčík 6d0ce033c2 Update Slovak language. (#13840) 2019-05-04 15:58:01 -05:00
InsanityAutomation 3fcab8dbf1 Option to disable fans during pause (#13820) 2019-05-04 15:50:44 -05:00
Chris Pepper 66f7065248 [LPC176x] Update extra script to support Python3 (#13908) 2019-05-04 20:52:28 +01:00
Scott Lahteine 2f32a6612d Clean up Temperature::set_fans_paused 2019-05-04 14:36:59 -05:00
Andrei Pozolotin c791d2abeb Add .gitignore for Eclipse (#13818) 2019-05-04 14:08:53 -05:00
Marcio Teixeira 15357af67c Backlash cleanup (#13659)
…And save backlash, fil. sensor, ExtUI userdata to EEPROM.
2019-05-03 23:53:15 -05:00
Robby Candra 0181e57417 Add a minimum Z change option to power-loss recovery (#13859) 2019-05-02 22:29:05 -05:00
Robby Candra c369477cb0 Fix bug: diveToFile breaks M23 (#13865) 2019-05-02 15:54:24 -05:00
Tanguy Pruvot e5438a9a03 settings: store runout sensor on/off (#13876) 2019-05-02 00:47:26 -05:00
Scott Lahteine e7682eea42 Use Arduino.h include wrapper (#13877) 2019-05-02 00:45:50 -05:00
Tanguy Pruvot 51d1e0f1dd Auto-mount the SDIO SD card (#13879) 2019-05-02 00:45:21 -05:00
Thomas Moore ee243e4edf Fix mixing extruder filament change (#13803) 2019-05-01 21:55:58 -05:00
Scott Lahteine bf54251a10 Finish, improve, clean up FYSETC_MINI_12864 revisions (#13871) 2019-05-01 20:05:29 -05:00
Scott Lahteine 9372e2603c Simpler neopixel comment 2019-05-01 13:55:51 -05:00
Tanguy Pruvot 3272d0db01 Update French language (#13866) 2019-05-01 13:00:07 -05:00
Chris Pepper 95beafa9a2 Fix typo 2019-05-01 16:30:21 +01:00
Ludy 408a5f08dc Update German language (#13853) 2019-05-01 01:25:57 -05:00
Ludy 8a6308b498 Fix config regression
Fix bad commits from around db89fc03
2019-05-01 01:22:40 -05:00
Tanguy Pruvot cf3c746029 Improve French language (#13851) 2019-05-01 01:12:25 -05:00
Clinton James 2740cc64d8 Add SD Release when no SD_DETECT_PIN exists (#13857) 2019-05-01 01:00:21 -05:00
Luu Lac 39ebca6b5f Fix FYSETC, MINIPANEL, MKS_MINI_12864 display (#13864) 2019-05-01 00:37:52 -05:00
Giuliano Zaro 93dcb537ef Update Italian language (#13809) 2019-04-30 20:31:40 -05:00
Roxy-3D 142c8e2fed Remove redundant Frivolous Game Options 2019-04-28 14:03:53 -05:00
Scott Lahteine e43afb1a58 Clean up SKR pins 2019-04-27 14:56:12 +02:00
Scott Lahteine 9ccbd382e7 Update Watchdog description 2019-04-27 14:56:12 +02:00
Scott Lahteine b6279abd30 Better THERMAL_PROTECTION_GRACE_PERIOD
See #13783
2019-04-27 14:40:09 +02:00
chai-md ed9eaa1942 Fix a comment in fwretract.cpp (#13802) 2019-04-26 09:36:29 +02:00
InsanityAutomation 610fb46683 Fix some ExtUI issues (#13799) 2019-04-26 09:32:01 +02:00
Bob-the-Kuhn db89fc0304 Revert "bring my copy up to date"
This reverts commit 503905c628.
2019-04-25 17:38:41 -05:00
Bob-the-Kuhn 503905c628 bring my copy up to date 2019-04-25 12:08:49 -05:00
Bob-the-Kuhn 73726d56b3 Merge branch 'bugfix-2.0.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.0.x 2019-04-25 12:06:01 -05:00
Scott Lahteine 5051909c3c Update do_select_screen for general use (#13800) 2019-04-24 10:13:44 -05:00
Scott Lahteine 63f6ad3fd2 Basic RAMPS SD_DETECT_PIN override 2019-04-23 18:10:21 -05:00
InsanityAutomation c6632925e3 Force no move on IDEX full control mode (#13797) 2019-04-23 15:20:59 -05:00
Giuliano Zaro e2dd2268e8 Add a Z raise-between-probes to G34 (#13791) 2019-04-23 13:40:55 -05:00
Giuliano Zaro 0f9c49ccba Update Italian language (#13790) 2019-04-23 13:36:05 -05:00
Giuliano Zaro d77ef437db Fix warning for redefined DEBUG_PRINT_P (#13789) 2019-04-23 13:35:02 -05:00
Marcio Teixeira ca7f6ff287 Fix MSG_En messages for consistency (#13788) 2019-04-23 13:31:51 -05:00
Scott Lahteine 6ff81a33c1 Provide JSON values for SOFT_PWM_SCALE 2019-04-22 14:06:14 -05:00
Scott Lahteine 0c4d3e6622 Improve M906 description 2019-04-22 13:48:02 -05:00
Tanguy Pruvot 04ae3ba1fd Major update to French language (#13784) 2019-04-22 13:31:04 -05:00
chai-md 78d7349fd7 Remove extra Z raises in tool change (#13782) 2019-04-21 21:06:46 -05:00
Kajetan Rzepecki 875e673a8c Add HAL-based thermal protection grace period for all heaters (#13778) 2019-04-21 20:50:32 -05:00
Bob Kuhn 81ca5a4cd4 Fix and improve FYSETC LCD support (#13767) 2019-04-21 20:48:53 -05:00
felixstorm 4e35e6c705 Fix SS pin in ESP32 HW SPI (#13781) 2019-04-21 17:15:15 -05:00
felixstorm 4a48b70c0b Fix (re-)defines in HAL_ESP32 (#13780) 2019-04-21 17:14:38 -05:00
João Brázio 44216749c6 Update README.md
Fixes TravisCI shield to point to the correct branch buildroot, removes no longer used shield and adds some new shields.
2019-04-21 02:44:40 +01:00
Ludy 4228fd3e03 Update German language (#13769) 2019-04-20 15:01:56 -05:00
Kajetan Rzepecki 5f70c876ae Fix _temp_error-related compile error (#13768) 2019-04-20 13:57:38 -05:00
Kajetan Rzepecki ea1ee02b53 Disable hardware PWM on ESP32 I2S expander (#13762) 2019-04-20 13:41:17 -05:00
Scott Lahteine bddb776ddb Add chamber max-temp check
Followup to #13756
2019-04-19 22:18:55 -05:00
Marcio Teixeira d0c1eee53b Add extra max-temp safety checks (#13756) 2019-04-19 21:37:12 -05:00
Marcio Teixeira 4ac28ba6b3 Add missing file (#13754) 2019-04-19 20:20:45 -05:00
jmdearras b65cb5704d Fix, improve FYSETC_MINI_12864 support (#13730) 2019-04-19 20:11:51 -05:00
Scott Lahteine 69c333ead9 More universal Formbot pins
Replace `ROXYs_TRex` with pre-defines of the relevant pins at the configuration level.
2019-04-18 21:09:34 -05:00
Scott Lahteine 0a6835fbea More robust HAS_LCD_CONTRAST 2019-04-18 21:09:34 -05:00
Marcio Teixeira 2e3d121ac4 Squelch compiler warning (#13739) 2019-04-18 13:18:49 -05:00
Kajetan Rzepecki d83a7924e6 Fix ESP32 TOGGLE() with I2S expander (#13743) 2019-04-18 13:15:35 -05:00
Jimmy Wennlund e6f6ed76c8 Show UBL Activate/Deactivate menu for current state (#13744) 2019-04-18 13:13:05 -05:00
Marcio Teixeira 08f21335a6 Fix bad opcode in LIGHTWEIGHT_UI; add 32-bit HAL and Due compatibility (#13751) 2019-04-18 13:10:58 -05:00
Kajetan Rzepecki 7c8ee0cd5b Enable more ADC1 channels (pins 32-39) (#13742) 2019-04-18 13:01:24 -05:00
Bob-the-Kuhn 520585c5ed Merge branch 'bugfix-2.0.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.0.x 2019-04-17 15:34:29 -05:00
Kajetan Rzepecki e1acc09c6e Fix LPC1768 HAL SSD* screen init (#13741) 2019-04-17 14:57:50 -05:00
Marcio Teixeira 836435c5ef Fix action_edit int range bug (#13737) 2019-04-17 14:55:31 -05:00
Antonio Pérez bf28ad4b6c Fix clear of Z position last digit (#13731) 2019-04-17 14:52:20 -05:00
Marcio Teixeira 866e2d41dc Correct range of LCD axis step editing (#13727) 2019-04-16 15:45:31 -05:00
Scott Lahteine ab8052887f Add missing MSG_PAUSE_PRINT_INIT_1 for en 2019-04-16 13:54:20 -05:00
petrzjunior 12d340cf2a Update Czech language (#13729) 2019-04-16 13:53:14 -05:00
Robby Candra e8dc87a2b7 Fix updated Allen Key pause probe logic (#13723) 2019-04-16 12:35:58 -05:00
Robby Candra 7ca1fea22b Option to pause probe deployment only when triggered, for manually-deployed allen-key probe (#13698) 2019-04-16 01:32:43 -05:00
Robby Candra 35160dfb7a Simplify PLR homing when Z homes to max (#13718) 2019-04-16 00:17:27 -05:00
Scott Lahteine 92ed9a2bb6 Fix is_M29
Followup for #13013
2019-04-15 23:47:06 -05:00
jmdearras 5f49b65c1f Move LPC SD options to configs, add MKS_MINI_DISPLAY to SKR boards (#13712) 2019-04-15 22:55:33 -05:00
Bob Kuhn 9b578ca343 Support FYSETC_MINI_12864 on Re-ARM, RAMPS_FD, MKS SBASE (#13717) 2019-04-15 22:54:11 -05:00
Scott Lahteine 9992c424f5 Patch G92.9 flags
Followup to #13703
2019-04-15 20:26:40 -05:00
ManuelMcLure b1c13bce58 Fix EEPROM_CHITCHAT (and debug_out.h) (#13716) 2019-04-15 20:21:26 -05:00
Msq001 455ee23499 Fix, improve Power Loss Recovery (#13703)
- Save and restore workspace offsets
- Add retract and purge (hidden) options
- Always restore axis relative modes
- Use added `G92.9` to do position restores
2019-04-15 18:53:39 -05:00
Laurent df75a606ff Support MKS SGen board (#13694) 2019-04-15 17:03:10 -05:00
Kajetan Rzepecki 20dc45bca7 Refactor, fix ESP32 WebSocketSerial (#13689) 2019-04-15 16:32:20 -05:00
Roman Moravčík db373f130c Update Slovak language (#13692) 2019-04-15 16:14:49 -05:00
Kajetan Rzepecki 6fe90f0324 Define I2S pins for ESP32 (#13714) 2019-04-15 16:13:59 -05:00
InsanityAutomation aa0f7afbe6 Fix call to uninitialized PWM pin, heater 2 overlap (#13674) 2019-04-15 15:57:34 -05:00
Bob-the-Kuhn 57aaa9110b Merge branch 'bugfix-2.0.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.0.x 2019-04-13 21:14:52 -05:00
Scott Lahteine 6a71df2925 Tweak babystep add_steps 2019-04-13 14:14:26 -05:00
Bob-the-Kuhn 9dd4252b39 Merge branch 'bugfix-2.0.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.0.x 2019-04-12 22:07:12 -05:00
Marcio Teixeira bdfffee037 Modify Z-offset overlay for clarity (#13660) 2019-04-12 15:43:29 -05:00
Stephan 84273557f9 Move and update heated chamber settings (#13671)
Co-Authored-By: the-real-orca <stephan.veigl@gmail.com>
2019-04-12 15:38:10 -05:00
Ludy 62b4265410 Update German language (#13665) 2019-04-12 14:48:13 -05:00
Scott Lahteine b18316dd37 Fix some spacing 2019-04-12 13:35:42 -05:00
Scott Lahteine f2ba0a5ae7 Tweak some formatting 2019-04-12 13:15:37 -05:00
Scott Lahteine 7e58d33a2e Update some headers 2019-04-12 13:04:04 -05:00
ManuelMcLure 8bc5817559 Save files before starting AutoBuild (#13649) 2019-04-12 12:33:16 -05:00
Giuliano Zaro 64ee064ded Update Italian language (#13661) 2019-04-12 12:22:43 -05:00
Scott Lahteine 14b561f182 Extra AxisEnum values for E0-E5 2019-04-12 12:13:48 -05:00
Robby Candra 9e86fc3831 Require homing to toggle leveling (#13652) 2019-04-11 14:09:41 -05:00
Ludy 9fd3e64ba8 Fix compile error with EXTRUDER>1 (#13651) 2019-04-11 13:58:50 -05:00
Jamie 509dc283f2 Restore declarations of G53-G59 (#13654) 2019-04-11 13:51:05 -05:00
chai-md 2adc37becc MAGNETIC_SWITCHING_TOOLHEAD (#13629) 2019-04-11 13:29:17 -05:00
ManuelMcLure 492883859e Don't protect unused CS pins (#13647) 2019-04-10 21:57:57 -05:00
Scott Lahteine 9898f53361 Fix missing IS_SD_PRINTING 2019-04-10 21:48:16 -05:00
Scott Lahteine 1e59a2ac73 Hide pause/stop unless active printing 2019-04-10 19:46:59 -05:00
Scott Lahteine ae42206500 Fix SD_REPRINT_LAST_SELECTED_FILE 2019-04-10 17:43:08 -05:00
Scott Lahteine d72946a8d7 Fix LPC1768 build with no watchdog
Fix issue mentioned at https://github.com/MarlinFirmware/Marlin/pull/13587#issuecomment-481737509
2019-04-10 17:34:15 -05:00
Scott Lahteine cee3b172b9 Fix Marlin splash screen logic (#13646) 2019-04-10 17:14:57 -05:00
ANMay-ru 052f2ac352 Fix RURAMPS4D baud rate (#13644) 2019-04-10 15:53:21 -05:00
Marcio Teixeira e6ebd30f60 Fix LCD issue on stepper timeout (#13630)
- Remove a re-paint of the status screen on stepper timeout, which would cause a garbled LCD with `LIGHTWEIGHT_UI` and could interrupt whatever else the user might be doing in a submenu (such as playing games!)
- Use the helper function to reset stepper timeout.
2019-04-10 15:51:48 -05:00
klcjr89 a8edd4f6d4 Fix Azteeg X5 MINI BOARD_NAME (#13632)
Co-Authored-By: klcjr89 <klcjr89@users.noreply.github.com>
2019-04-10 15:46:12 -05:00
Scott Lahteine ac81c007a6 Merge pull request #13634 from marcio-ao/pr-remove-extra-stm32-dir
Remove extra STM32 config dir #13622
2019-04-10 15:40:25 -05:00
Marcio Teixeira 610e9cf76a Fix SWITCHING_NOZZLE error (#13633) 2019-04-10 15:22:29 -05:00
Scott Lahteine 3656ef4a2d Rename, step 2 2019-04-10 15:17:38 -05:00
Scott Lahteine 6b8611ad56 Rename, step 1 2019-04-10 15:17:08 -05:00
Scott Lahteine 5018fdacbe Support FYSETC_MINI_12864_PANEL (#13365) 2019-04-09 18:34:29 -05:00
InsanityAutomation 4900c28bf6 Fix IDEX tool-change, and more (#13614) 2019-04-09 18:33:40 -05:00
InsanityAutomation ba31d39f6d Azteeg X5 Mini support (#13425) 2019-04-08 23:10:45 -05:00
ManuelMcLure f9b2b3e4f5 AutoBuild quality-of-life improvements (#13626)
- Assign helpful names to the terminals.
- Bring terminal forward so error messages are seen.
2019-04-08 23:07:57 -05:00
Scott Lahteine 9ea99b49be clean whitespace 2019-04-08 21:49:18 -05:00
Scott Lahteine 9cb5c57b84 Adjustments to ui8tostr_percent 2019-04-08 21:47:50 -05:00
Scott Lahteine 321a5e6580 Fix SD card reselect when scrolled (#13624)
- Change encoder position to 16-bit integer.
- Fix `SD_REPRINT_LAST_SELECTED_FILE` when the screen is scrolled.
2019-04-08 21:10:41 -05:00
Scott Lahteine 0e3c9e726d Set default Raptor runout/caselight pins 2019-04-08 18:18:08 -05:00
Scott Lahteine 5e38d70697 Fix M217 report label, general cleanup 2019-04-08 18:18:08 -05:00
Scott Lahteine fae2b7edc3 Update MMU2 code style 2019-04-08 18:13:42 -05:00
Scott Lahteine c8a83fb122 SPINDLE_LASER_ENABLE => SPINDLE_LASER_ENA 2019-04-08 18:13:41 -05:00
Scott Lahteine 9abe9aff56 Confirm before starting SD print (#13616) 2019-04-08 13:44:35 -05:00
Scott Lahteine 7e0008f5b3 Fix SETCURSOR_RJ 2019-04-07 20:25:54 -05:00
Robby Candra 81c2c3ec11 Continuous filename scrolling (#13609) 2019-04-07 16:58:32 -05:00
Ludy c29820f649 Suppress compile warning (#13612) 2019-04-07 16:53:30 -05:00
Scott Lahteine a2b3ad6d0a Don't override RGB LED pins, by default 2019-04-07 16:42:26 -05:00
swilkens e9d9cf2b5b [2.0.x] Reduce all Creality homing speeds (#13595) 2019-04-06 19:50:02 -05:00
SmallSharky 1de6e7fb9d Fix MKS Robin section in platformio.ini (#13598)
Updated ststm32 version because the old version gives build errors. Added `U8glib-HAL` to ignore list because there are also build errors.
2019-04-06 18:07:21 -05:00
Bob Kuhn 9a56d90150 Fix M43 on LPC176x (#13587)
The real fix. PR #13568 was wrong.
2019-04-06 18:06:07 -05:00
Roxy-3D 9cee81d47e Option to show babysteps total since G28 (#13580) 2019-04-06 18:04:34 -05:00
Scott Lahteine 3221658a78 Adjust park position description 2019-04-05 20:40:50 -05:00
Scott Lahteine 028b78f623 Suppress a compile warning 2019-04-05 20:06:19 -05:00
Scott Lahteine cf12fc8366 Expand on serial debugging (#13577) 2019-04-05 20:02:46 -05:00
Marcio Teixeira bf7b28b456 Fix incorrect variable name (#13585) 2019-04-05 19:04:46 -05:00
Kajetan Rzepecki 27693cec29 Extend ESP32 HardwareSerial with flushTX. (#13588) 2019-04-05 19:04:02 -05:00
Alexander Gavrilenko 3c47e1b4d1 Support Black STM32F407VET6 with RAMPS-like shield (#13524) 2019-04-05 15:30:19 -05:00
VBen 0dfd76ba55 Fix Z hotend offset broken by parking extruder tool change (#13582) 2019-04-05 15:28:32 -05:00
Scott Lahteine 027a901bec Trim whitespace 2019-04-05 15:04:23 -05:00
Kajetan Rzepecki 692a0198f9 Fix SPISettings frequency parameters in ESP32 HW SPI (#13573) 2019-04-04 23:17:14 -05:00
Kajetan Rzepecki 63d95862fa Add FastIO TOGGLE for ESP32 (#13574) 2019-04-04 23:15:17 -05:00
drzejkopf 0992d1a4c8 Fix Invaders game compile error (#13575) 2019-04-04 23:13:11 -05:00
Robby Candra cd1ef33c8c Drop extra PLR save test (#13554) 2019-04-04 22:47:00 -05:00
Scott Lahteine 72c7751768 Fix SERIAL_POS in use with DEBUG_OUT 2019-04-04 22:12:03 -05:00
Scott Lahteine cacec5764a Clean up whitespace 2019-04-04 22:12:02 -05:00
Scott Lahteine 83e214478e Click-hold to exit Invaders, fix Brickout compile 2019-04-04 17:07:50 -05:00
Scott Lahteine 240ea1bbb3 Split up games into separate files 2019-04-04 03:06:19 -05:00
Marcio Teixeira 27a4927ed1 Add option to move away from endstop after homing. (#13557)
Add option to move away from endstop after homing.
- Add `ENDSTOP_BACKOFF` for printers with a recessed Z home button (Lulzbot TAZ 6).
- Also prevents chattering when sensorless homing with axes against bumpers.
2019-04-04 02:47:19 -05:00
InsanityAutomation d44e5b1fde Fix stepper direction macros, multi-nozzle scope (#13569) 2019-04-04 02:44:07 -05:00
Scott Lahteine 10b9632bed Fix menu history item selection 2019-04-04 02:41:23 -05:00
Scott Lahteine f1810689ff Fix bootscreen condition 2019-04-04 00:19:47 -05:00
reloxx13 2d5b93e850 Change to CHOPPER_DEFAULT_24V for Ender 3 (#13565) 2019-04-03 20:30:40 -05:00
Kajetan Rzepecki b21ca53dfc SPIFFS-backed PersistentStore for ESP32 (#13566) 2019-04-03 20:28:26 -05:00
Scott Lahteine af92ee9dd6 No PLR include needed in queue.cpp 2019-04-03 18:26:31 -05:00
Scott Lahteine 5d2c5877f7 DOGM bootscreen cleanup 2019-04-03 18:10:50 -05:00
Scott Lahteine 2aa35e95af More G26 arc cleanup
Followup to #13531
2019-04-03 16:03:21 -05:00
Scott Lahteine 20a41e2f7b SDCARD_RATHERRECENTFIRST with SDCARD_SORT_ALPHA 2019-04-02 22:25:18 -05:00
Robby Candra 46445a5a16 Event G-code for Stop SD Print (#13547)
Co-Authored-By: 7eggert <7eggert@gmx.de>
Co-Authored-By: robbycandra <robbycandra.mail@gmail.com>
2019-04-02 22:09:30 -05:00
Kajetan Rzepecki 2cfa9e9008 Fixed chamber-related compile error (#13552) 2019-04-01 17:53:56 -05:00
Scott Lahteine a0a5c31c05 Power-Loss initialization fix (#13553)
- Only save to PLR file on moves with E and X or Y
- Save to PLR after any long-ish Z downward move
2019-04-01 17:52:45 -05:00
Scott Lahteine 8b7c3eec83 Games, for fun (and stress-testing) (#13464) 2019-04-01 17:48:54 -05:00
InsanityAutomation fbc7b51a24 Use NO_FETCH for Dual X G28 (#13539) 2019-04-01 17:48:21 -05:00
Scott Lahteine 5de7b5b35e Games, for fun (and stress-testing) (#13464) 2019-04-01 15:43:48 -05:00
InsanityAutomation 4961d8aa3e Update G28.cpp (#13539) 2019-03-31 19:50:40 -05:00
Scott Lahteine de0046fc8b Fix empty HAS_TIMER macros 2019-03-30 23:04:40 -05:00
Kajetan Rzepecki c9079165ee Fix MAX6675 readout with Hardware SPI (#13530) 2019-03-30 22:31:49 -05:00
ManuelMcLure 04086fc455 Minor optimization to ARC_SUPPORT code (#13531) 2019-03-30 22:29:37 -05:00
Robby Candra a3f67acd6d Fix Power Loss Recovery file delete (#13522) 2019-03-30 13:14:58 -05:00
Marcio Teixeira d992dfe7d5 Use the percent util func in the string func. (#13523) 2019-03-30 13:00:31 -05:00
drzejkopf b1f739e27b CR10_STOCKDISPLAY support in Bigtreetech SKR (#13516) 2019-03-29 14:19:18 -05:00
Marcio Teixeira 5679fae11e UltraLCD enhancements (lower fan resolution, backlash menu) (#13519) 2019-03-29 14:07:43 -05:00
pinchies de0f35f2d9 Fix platformio.ini for MKS Robin (#13502) 2019-03-29 13:57:19 -05:00
Msq001 f0d14b83bc Save/restore Relative modes in Power-Loss Recovery (#13501) 2019-03-29 13:40:42 -05:00
Marcio Teixeira c6466c23fe Silence signed/unsigned comparison warning. (#13508) 2019-03-29 13:33:45 -05:00
InsanityAutomation 7240e3a68f Allow G26 with no heated bed (#13511) 2019-03-29 13:32:43 -05:00
Alexander Gavrilenko 6d9aaca082 Fix compilation error for MKS Robin (#13506) 2019-03-29 12:40:24 -05:00
Scott Alfter c6dbe6e9d6 Fix Teensy 3.5/3.6 __get_primask (#13514) 2019-03-29 12:23:09 -05:00
Alexander Amelkin e40636a7c1 Replace digitalPinHasPWM with HAS_TIMER (#13520) 2019-03-29 12:21:14 -05:00
Scott Lahteine 5a2c68e995 Update BLTouch 3 text, don't call extraneous functions (#13495) 2019-03-26 19:22:25 -05:00
Scott Lahteine b46ca9aa94 Less timely comment, tweak conditions 2019-03-26 19:20:13 -05:00
InsanityAutomation eb91f08725 Update descriptions and dont call unneeded functions 2019-03-26 11:24:52 -04:00
Ludy fe346cd4d1 Fix DEBUG_EEPROM_READWRITE compile error (#13492) 2019-03-26 04:12:22 -05:00
Sam Lane e3ab54753b Add extra Linear Advance factors (#13490) 2019-03-26 04:02:27 -05:00
Chris Pepper ffc2c2d7c5 Move FAST_PWM_FAN code to HALs (#13491) 2019-03-26 01:03:23 -05:00
Thomas Moore 263f8edff8 Disable volumetric extrusion during G26 (#13479) 2019-03-25 22:41:52 -05:00
Bob Kuhn 6bd0a0be97 Relocate DUE Stepper ISR to TC0,2 (#13481) 2019-03-25 22:39:51 -05:00
Thomas Moore 13a12f8a87 Fix UBL mesh editor on delta (#13478) 2019-03-25 22:04:57 -05:00
Scott Lahteine d2e0c03afb Remove trailing whitespace 2019-03-25 20:51:38 -05:00
Marcio Teixeira 7462fe3068 Fix compile error, squelch warnings (#13487)
- Fix path to `bedlevel.h` include file
- Add default to `case` statements to suppress warnings
2019-03-25 20:41:38 -05:00
Yannik Sembritzki 0d3ea59bcf Add pins for Dual Z UART on SKR 1.3 (#13474)
Fix #13470
2019-03-24 20:09:00 -05:00
pinchies ef3b93daa1 Fix STM32F1 SD-based EEPROM emulation (#13475)
If `openFile` is given `true`, then it has read-only access. Because all the writing occurs on the next line, this breaks SD card as EEPROM.
2019-03-24 20:07:31 -05:00
Chris Pepper aacc1148b0 Fix M106 for index > extruders (#13473) 2019-03-24 20:03:53 -05:00
Thomas Moore c5e96544b5 Fix vtool compiler warning (#13476) 2019-03-24 20:02:28 -05:00
Thomas Moore 02dc72acb6 Disable ABL when leveling corners (#13471) 2019-03-24 20:01:18 -05:00
7eggert d96f7d6068 Minimum segments for G2/G3. Better for small arcs. (#13466) 2019-03-24 19:53:47 -05:00
Scott Lahteine 380c771988 Handle word-padded flash-based eeprom (STM32F1)
Fix #13445
2019-03-24 19:14:04 -05:00
Scott Alfter 32332bcd03 Proceed with Teensy 3.5/3.6 HAL (#13450) 2019-03-24 00:08:32 -05:00
Scott Alfter 407202cc0f Fix BLTouch pre-3.0 compatibility (#13454) 2019-03-23 23:28:15 -05:00
Marcio Teixeira a0ca98f699 Additional ExtUI features (#13449) 2019-03-23 23:09:18 -05:00
Sam Lane a8fa275dc6 Fix Fan 0 responding to all fan speeds (#13444) 2019-03-23 23:00:31 -05:00
InsanityAutomation 5eeffab5e5 Fix BLTouch Menus (#13441) 2019-03-23 22:58:34 -05:00
Scott Lahteine d8329d858d Default argument to defer_status_screen 2019-03-23 16:33:37 -05:00
Giuliano Zaro 9562a02c5a Update Italian language (#13440) 2019-03-20 18:26:55 -05:00
drzejkopf 70e6a3db8a Add LEVEL_CORNERS_HEIGHT to LEVEL_BED_CORNERS (#13439) 2019-03-20 18:26:12 -05:00
Roman Moravčík f3cf95a937 Update Slovak language. (#13435) 2019-03-20 16:37:34 -05:00
Scott Lahteine 144018736a Use USES_Z_MIN_PROBE_ENDSTOP 2019-03-18 16:58:31 -05:00
InsanityAutomation 5b2c37d6c1 Followup to BLTouch (#13422) 2019-03-18 16:31:11 -05:00
InsanityAutomation 3fb8489ae3 EXTUI and UBL compilation fixes (#13420) 2019-03-17 07:57:54 -05:00
Scott Lahteine b376c7e374 Group DISABLED items 2019-03-17 07:56:35 -05:00
Scott Lahteine 58bca67883 Unify status scrolling further 2019-03-17 07:56:35 -05:00
Scott Lahteine c4443f885e finishstatus => finish_status 2019-03-17 07:56:35 -05:00
Urja Rannikko d9f0ed8247 readme: ATmega1284 has 16k of SRAM (#13421) 2019-03-17 06:36:25 -05:00
InsanityAutomation 691e5c3bb8 BLTouch V3.0 support (#13406) 2019-03-17 05:57:25 -05:00
Scott Lahteine 49cf92dc36 Extended condition macros (#13419)
Allow `ENABLED`, `DISABLED`, `PIN_EXISTS`, and `BUTTON_EXISTS` to take multiple arguments. Also add:
- Alias `ANY(...)` for `!DISABLED(...)`
- Alias `ANY_PIN(...)` for `PIN_EXISTS(a) || PIN_EXISTS(b) ...`
- Alias `EITHER(A,B)` for `ANY(...)`
- Alias `ALL(...)` and `BOTH(A,B)` for `ENABLED(...)`
- `NONE(...)` for `DISABLED(...)`
2019-03-16 23:43:06 -05:00
Tobias Frost d20eab4f83 Fix macro in set_color() (#13417) 2019-03-16 19:05:59 -05:00
Ludy 59353546e8 Fix BUTTON_EXISTS and misplaced comma (#13411)
Fixes #13410 and redeclaration of `BUTTON_EXISTS`
2019-03-16 11:59:12 -05:00
InsanityAutomation 09eb30dc05 IDEX Mirror mode based on Formbot / Vivedino Symmetric mode (#13404) 2019-03-15 22:46:27 -05:00
Scott Lahteine 5c1aa5162d Adjust M206 output in M503 for DELTA 2019-03-15 19:20:40 -05:00
Scott Lahteine ad8b82d054 Fix KILL_PIN assignment for MKS_MINI_12864
According to #13397
2019-03-15 19:20:40 -05:00
Scott Lahteine 3a916b4ef2 Create bresenham.h 2019-03-15 19:20:39 -05:00
Karl Andersson 5d3928cb01 PWM is not defined on Arduino Core STM32 (#13405) 2019-03-15 19:14:06 -05:00
Scott Lahteine 9a515cbd32 Fix Pause Print message and behavior (#13394) 2019-03-14 02:26:07 -05:00
Scott Lahteine f5bcc00570 Unify debugging output with debug_out.h (#13388) 2019-03-14 02:25:42 -05:00
Andrei Pozolotin cc8a871705 Add capability string CHAMBER_TEMPERATURE (#13391)
Reference: #13380
2019-03-13 18:09:22 -05:00
Scott Lahteine 67bee06e43 No patch needed for non-libmaple analogWrite
See https://github.com/pinchies/Marlin/pull/1#issuecomment-471388743
2019-03-13 07:21:10 -05:00
Scott Lahteine f89b375fb9 Fixes and improvements for PWM pins (#13383) 2019-03-13 06:51:15 -05:00
Scott Lahteine 87162658c4 Fix and improve software endstops (#13386) 2019-03-13 05:48:36 -05:00
Scott Lahteine 6214c997c0 Remove includes of <binary.h> 2019-03-13 05:32:33 -05:00
Scott Lahteine 4555ae448f Fixups for ESP32 2019-03-13 05:32:33 -05:00
Scott Lahteine a5ea3e2f15 Fix hotend offset on switching toolhead change
See commentary at #11623
2019-03-13 05:32:21 -05:00
jmz52 8e0ac93d60 Fix 'UNUSED redefined' compiler warning (#13387) 2019-03-13 04:34:02 -05:00
Hadrien Jouet 0278ad0a6d Add ESP32 WiFi interface (#11209) 2019-03-13 00:48:08 -05:00
InsanityAutomation c03df89921 ExtUI Mesh Leveling Extensions (#13363) 2019-03-13 00:45:52 -05:00
InsanityAutomation 050eac03af Single X Duplication Extension (#13373)
* Multi-nozzle selective duplication
* Use a bit-mask, reduce stepper_indirection.h size
* Tweak the multi-nozzle duplication description
* Use 'S' as a bool in M605
* Add HAS_DUPLICATION_MODE conditional
* Remove '_MODE' from the option name
* M605 in the style of Stacker M280
* Also include direct mask style (P)
2019-03-13 00:42:50 -05:00
Scott Lahteine ad91476d26 Fix USEABLE_HARDWARE_PWM 2019-03-13 00:12:46 -05:00
Scott Lahteine d63da4592d Tweak to SCARA_move_to_cal 2019-03-12 22:06:50 -05:00
Scott Lahteine 51ff5b68fa Clean up fastIO ahead of PWM patch 2019-03-12 20:39:55 -05:00
Scott Lahteine 388babbcea Tweak SERIAL_PRINTF 2019-03-11 20:58:27 -05:00
Scott Lahteine d94e077901 Apply HAS_HOTEND_OFFSET where needed 2019-03-11 20:58:27 -05:00
Scott Lahteine 11d6a939df Always define axis_unhomed_err 2019-03-11 20:58:27 -05:00
7eggert 10c8c034bd Allow both encoder and ADC keypad (#13355) 2019-03-11 18:10:56 -05:00
Andrei Pozolotin 31ff7da7ac Add missing CHAMBER options (for M141) (#13371) 2019-03-11 16:50:07 -05:00
Scott Lahteine 0375e92847 Followup to serial rework
As mentioned in #13370
2019-03-11 16:46:04 -05:00
jmz52 013bb469ca Fix compilation for STM32F1 with no SDIO (#13366) 2019-03-11 16:40:51 -05:00
Scott Lahteine e52bcc9408 Limit top bed temp to BED_MAXTEMP - 10
The chances of a 10° overshoot is pretty minimal.
2019-03-11 16:32:34 -05:00
Scott Lahteine 98b55421a5 Clean up some temp config 2019-03-11 16:31:23 -05:00
InsanityAutomation 785a7028bf Followup to 'volatile' patch (#13369)
Originally #13344
2019-03-11 15:01:57 -05:00
Scott Lahteine aa1d587128 Some LCD code cleanup 2019-03-11 05:07:31 -05:00
Scott Lahteine fa11427ec6 Remove obsolete LCD_CONTRAST 2019-03-11 03:33:07 -05:00
pinchies 4df9509ead Add support for printers with inverted fan pins (#13362)
Add support for printers with inverted fan pins by adding `#define FAN_INVERTING 1` to `Configuration_adv.h` and modifying the fan write macros.
2019-03-10 20:51:21 -05:00
Scott Lahteine 1f7e220387 Make HAL ISR macros function-like 2019-03-10 20:44:27 -05:00
Scott Lahteine e3ce346f24 Report position to host in Nozzle::park 2019-03-10 19:09:28 -05:00
Scott Lahteine 77b4176152 Use lib include for bit_constants.h 2019-03-10 19:09:28 -05:00
Scott Lahteine 3419099f0a Clean up whitespace 2019-03-10 19:09:28 -05:00
pinchies 4c43e6c48b Fix "spontaneous heating" issue (WRITE bug) on STM32 (#13356)
Should fix "spontanous heating" problems due to order of operations error. Error occurs at least with ststm32 v5.1.0 in PlatformIO.
2019-03-10 17:25:54 -05:00
Michiel Baird b824a517aa Add G38.4 and G38.5 (#13348) 2019-03-10 17:22:09 -05:00
Bruce j Beare e4d080e63c Reset after kill with a button on the KILL_PIN (#13091) 2019-03-10 09:57:38 -05:00
MoellerDi c36989c39e Fix chamber temperature measurement (#13350) 2019-03-10 09:51:13 -05:00
Scott Lahteine 12503fce06 Followup to wait_for_user fix 2019-03-10 09:14:02 -05:00
Scott Lahteine 33a08fc6f7 Fix typos from temperature rework
Followup to #12201
2019-03-10 08:28:16 -05:00
Tobias Frost 2efbcc90c5 Fix wait_for_user compile error (#13352) 2019-03-10 08:07:41 -05:00
Tobias Frost 60e82e3929 Send notifications to ExtUI for M0/M1 (#13344)
- Send notifications to ExtUI for M0/M1

- wait_for_user can be non-volatile (not changed by interrupt)
  C / C++ compilers don't optimize away reads of non-volatile variables when a function call is used between accesses, because *any* variable could be changed by the function call. Since `wait_for_user` can't be changed without a function call, it should be non-volatile so the compiler can optimize away cases where it is read more than once without an intervening function call.
2019-03-09 14:20:37 -06:00
Marcio Teixeira 00fc43144a Follow up fixes to various PRs. (#13334)
- Ensure `MarlinUI:get_progress` is defined for `ExtUI`.
- Fix for `BACKLASH_SMOOTHING` with small segments.
  `BACKLASH_SMOOTHING` with extremely small segments failed to fully correct due to the correction factor being rounded down. Rounding up ensures the entire backlash will converge to zero even for small segments.
- Add pinout for the beta revision `EINSY_RETRO`.
- Update soft endstops with tool offsets (for toolchange et. al. move clamping) (#12568)
2019-03-09 14:20:37 -06:00
Scott Lahteine c7d618b4d9 Fix SERIAL_ECHOLNPAIR
Fix #13333
2019-03-09 14:20:37 -06:00
InsanityAutomation d54741eda8 Update some G26 plausible values. Add speed control. (#13330) 2019-03-08 03:13:44 -06:00
Msq001 fb3302feda Fix STM32F1 Serial and ADC pins (#13331) 2019-03-08 02:21:32 -06:00
Reece Kibble dbead66988 Allows user to set (almost) any PWM frequency (#12638) 2019-03-08 02:15:42 -06:00
Tobias Frost afbec5ff7e Have ExtUI::getProgress use ui.get_progress (#13328) 2019-03-07 18:00:38 -06:00
3dlabsio 645ca7af7a M141 Heated Chamber, Temperature rework (#12201) 2019-03-07 02:09:39 -06:00
Scott Lahteine 44571775bd Further support for 6 extruders 2019-03-07 01:00:56 -06:00
Chris Pepper 8d95019442 LPC176x NeoPixel Support (#13322) 2019-03-06 23:54:19 +00:00
Scott Lahteine 893ee68b52 Clean up trailing whitespace 2019-03-06 01:02:43 -06:00
Scott Lahteine 39f1222060 One fewer G29 error string 2019-03-05 23:04:52 -06:00
InsanityAutomation 543fc4c117 Mention 2.0.x 8-bit support earlier in README (#13317) 2019-03-05 23:03:00 -06:00
Scott Lahteine cfdb38eda4 Allow SERIAL_ECHOPAIR to take up to 12 pairs (#13311) 2019-03-05 06:46:19 -06:00
Scott Lahteine 4771e372a1 Update criteria for PAUSE/RESUME/STOP menu items (#13294) 2019-03-05 06:46:06 -06:00
Tobias Frost 56fdcf93d1 Disallow SD_DETECT_INVERTED with FYSETC F6. (#13307) 2019-03-05 06:45:28 -06:00
Tobias Frost 7ce13a6ec1 Fix a print_job_timer compile error (#13304) 2019-03-05 06:39:15 -06:00
Tobias Frost 6df51201ae Include EXTENSIBLE_UI in single LCD sanity check (#13306) 2019-03-05 06:33:36 -06:00
Scott Lahteine 2e5a3b01fd Save Power Loss Recovery only on move commands 2019-03-05 02:43:29 -06:00
Scott Lahteine 15738ea506 Update a motion comment 2019-03-05 00:50:29 -06:00
Scott Lahteine bc87e97357 Prevent a tool change move out of bounds 2019-03-05 00:50:29 -06:00
Scott Lahteine 2212da453a Distinguish between analog/digital auto fans (#13298) 2019-03-05 00:41:31 -06:00
Chris Pepper 2513f6b550 Fix multiport G28 with Binary Transfer (#13308) 2019-03-04 16:44:54 +00:00
Chris Pepper 38bef9da91 Report auto temp to both serial ports, if available (#13301) 2019-03-03 21:03:48 -06:00
Robert Mendon 367d392880 Init stepper current after stepper pins are set up (#13302) 2019-03-03 20:58:02 -06:00
InsanityAutomation bf8b38e0f7 Relocate configs above Marlin/src folder (#13299) 2019-03-03 16:50:56 -06:00
Scott Lahteine d71dc5cf42 Fix for Ender 4 fan/case light pin
See #12731
2019-03-03 07:43:27 -06:00
Anthony Rich 7640b328df Support for Tronxy X5S 2e (#13297) 2019-03-03 07:41:05 -06:00
Scott Lahteine 599cdc3f0f Remove dead code from get_pid_output
See #12981
2019-03-03 05:45:20 -06:00
Scott Lahteine 35ae5daf2d Split up sdcard G-codes 2019-03-03 01:52:15 -06:00
Scott Lahteine 3f36a38512 Clean up some pre-serial-redirect includes 2019-03-03 01:52:15 -06:00
Scott Lahteine fa0d909dd3 Add FIL_RUNOUT_PIN for BIGTREE_SKR_V1.3
See #13267
2019-03-03 00:27:47 -06:00
Ludy bd4160dbaf Unused CS_ACTUAL_sb (#13282) 2019-03-02 17:30:30 -06:00
Vasily Evseenko 71773b128d Fix stepper use before init. Add Ultimaker2+ Extended clone config (#13284) 2019-03-02 17:29:02 -06:00
Scott Lahteine edc4e037c4 Add a note to G10 2019-03-02 17:19:36 -06:00
Tobias Frost 57afd0ab37 Fix range check bug in FileList::seek() (#13286)
When `count()` returns 0, `pos > (count()-1)` will always yield `true` due to integer underflow.
2019-03-02 16:43:08 -06:00
kAdonis 05c2f80826 Fix bug in wait-for-heatup (#13290) 2019-03-02 16:29:10 -06:00
Chris Pepper b0553d2d97 Add M997 support and simple implementation for LPC176x (#13281) 2019-03-01 20:11:50 -06:00
Scott Lahteine fa236e9718 General cleanup ahead of L64XX 2019-03-01 19:58:07 -06:00
Scott Lahteine 2f1e1dcb42 Gradual step towards EXTRUDERS 0 support 2019-03-01 01:51:24 -06:00
Scott Lahteine 99d0022fae Drop the Z_MIN_PROBE_ENDSTOP option (#13276) 2019-03-01 00:27:45 -06:00
Scott Lahteine 9a6b90f47d TMC2660.h comment tweaks 2019-03-01 00:25:22 -06:00
Scott Lahteine a2e3226597 Init XYZ to configured home position 2019-02-28 22:10:26 -06:00
Scott Lahteine 4fbbce9a35 Marlin Dev Mode for DOGM status screen 2019-02-28 22:10:26 -06:00
Scott Lahteine 998ce55be0 Alternative fan bitmap 2019-02-28 22:08:20 -06:00
InsanityAutomation e2e2a55d9b Add thermistor type 67 SliceEng (#13275) 2019-02-28 19:44:17 -06:00
Msq001 5b7ad3a5a0 Fix SKR onboard TF card CS pin (#13272) 2019-02-28 19:41:19 -06:00
Scott Lahteine 7fde3ed915 Skip hysteresis check when temp is already close to target
To eliminate a long delay during pause, park, and filament change
2019-02-28 14:35:19 -06:00
Chris Pepper 7de6476b3d Fix binary protocol error 2019-02-28 02:31:42 +00:00
Scott Lahteine 2c10222e87 card.transfer_port => transfer_port_index 2019-02-27 20:14:17 -06:00
Chris Pepper 4ab433d391 Fix binary protocol with one serial port (#13270)
- The `sdcard.transfer_port` variable is Marlin's internal serial port index, not the physical serial port number.
- Added packet number to "ok" response so hosts don't need to wait for the ACK.
- Renamed feature to `BINARY_FILE_TRANSFER`, as the speed up is only consequential to the ability to transfer binaries over serial.
2019-02-27 19:57:48 -06:00
Scott Lahteine ab781de5a0 Fix opt_add to accept quotes 2019-02-27 05:53:09 -06:00
InsanityAutomation eb4bf93ea4 Add more Babystep options (#13262) 2019-02-27 04:38:56 -06:00
Scott Lahteine f37df28d17 UBL G29 T current position fix
Counterpart to #12845
2019-02-26 22:25:53 -06:00
Msq001 f8a39919fa Add Bigtree SKR 1.3 board (#13267)
Co-Authored-By: Msq001 <msq001@users.noreply.github.com>
2019-02-26 21:30:00 -06:00
Bob Kuhn ddbe4cfa20 Printrboard G2 support (#13116) 2019-02-26 21:03:13 -06:00
Scott Lahteine 4200f9ed62 Hide freeMemory et.al. warnings 2019-02-26 18:03:00 -06:00
Scott Lahteine dc88747770 Fix Due GET_ARRAY_IS_DIGITAL
Co-Authored-By: bob-the-kuhn <bob.kuhn@att.net>
2019-02-26 17:49:14 -06:00
Scott Lahteine 2356970a91 Disable STM32F1 Travis CI test for now 2019-02-26 17:49:14 -06:00
Scott Lahteine a79b9bbe6b Cleanup whitespace, add a const 2019-02-26 17:49:14 -06:00
Giuliano Zaro 2616e4d4d9 Remove duplicated 'chitchat' defines (#13258) 2019-02-25 16:13:01 -06:00
Scott Lahteine 5d28575d4d Clean up some motion code 2019-02-25 16:01:42 -06:00
Scott Lahteine 808b076000 Update some ABL/UBL conditionals 2019-02-25 16:01:42 -06:00
Scott Lahteine 833c2e54a1 Add an empty flushTX to MarlinSerialUSB_Due 2019-02-25 13:48:14 -06:00
Scott Lahteine 38363902c7 Fix sanity checks for distinct E factor settings
Reference #13156
2019-02-25 00:20:36 -06:00
Scott Lahteine 64253e1a58 Followup to serial reform
Reference #13250
2019-02-25 00:20:36 -06:00
Minims 92a4984066 Fix G34 probe position (#13251) 2019-02-24 13:57:30 -06:00
Scott Lahteine e15354e387 Simplify serial port redirect (#13234) 2019-02-23 22:53:01 -06:00
Chris Pepper 88cc1d1a31 Fix Preprocessor syntax in Re-ARM pins file (#13247) 2019-02-24 01:36:58 +00:00
Karl Andersson 76e9ee33aa Fix include order to make SERIAL_PORT_2 work (#13241) 2019-02-23 16:56:09 -06:00
Bruce j Beare 562f2321d2 Fix a G34 bug, allow negative Z corrections (#13240) 2019-02-23 02:41:52 -06:00
FernandoVelcic edf025ed8d Update Spanish language (#13236) 2019-02-23 00:41:02 -06:00
Scott Lahteine 02fec89a0d Turn fans off in zero_fan_speeds
Addressing #13231
2019-02-22 21:00:44 -06:00
Scott Lahteine 15aa932aa6 HAL for Linux (#13146) 2019-02-22 19:09:10 -06:00
kwalters3 5eb82ca6a8 Change SSD1306_OLED_I2C_CONTROLLER to HAS_SSD1306_OLED_I2C (#13223) 2019-02-22 19:08:36 -06:00
Marcio Teixeira 109e67169c Define G21 as NOOP w/o INCH_MODE_SUPPORT (#13229)
Ticket #13228

If `INCH_MODE_SUPPORT` is undefined, G20 is an unknown command as it should be (Marlin is, by default, operating in metric mode). G21, however, is found in many slicers and printer start gcode sections and should be accepted (as a NOOP) to avoid the unknown commands.
2019-02-22 15:35:32 -06:00
AnHardt 31b0be74af Fix autotemp_factor menu setting (#13226)
Fix #12643
Only factors above 1 can have a 'positive' effect.
2019-02-22 15:30:17 -06:00
Evgeny-SPB f6ab62bc13 Fix Creality CR-10 S5 filament change (#13219) 2019-02-21 05:40:49 -06:00
Thomas Moore 9f5e4e5ad8 Update LPC1769 Pins Files (#13183) 2019-02-21 00:54:05 -06:00
Greg Nutt 608a6810e7 Fix DOGLCD_A0 pin in pins_Smoothieboard.h (#13217) 2019-02-20 18:08:49 -06:00
Scott Lahteine 80359c9937 Add more parameters to M240
Co-Authored-By: shitcreek <45380455+shitcreek@users.noreply.github.com>
2019-02-20 14:51:36 -06:00
Scott Lahteine a43e892fb5 Use 8-bit i2c address on LPC platform
Fix #9799 — hopefully not a unicorn
2019-02-20 06:27:26 -06:00
Scott Lahteine 631d867dc9 HAL cleanups 2019-02-20 06:27:26 -06:00
Scott Lahteine 89bbc30a09 Fix init of power supply pin
Fix #13184
2019-02-20 05:29:05 -06:00
Scott Lahteine 44c22e3935 Provide a default MAX6675_SS_PIN for ReARM
See #8010
2019-02-20 05:06:06 -06:00
Scott Lahteine 3c9a7926c2 Fix compile error with JUNCTION_DEVIATION
See #13000
2019-02-20 04:54:26 -06:00
Scott Lahteine 758c6c9464 Very minor SPI speedup 2019-02-20 04:36:23 -06:00
Scott Lahteine 422dd6666e Fix Due EEPROM write bug
See #13065
2019-02-20 04:36:23 -06:00
Scott Lahteine 03e109c4a3 FLASH_EEPROM => FLASH_EEPROM_EMULATION 2019-02-20 04:36:23 -06:00
Scott Lahteine 50917ccda6 Tweak some u8g interface code 2019-02-20 04:26:34 -06:00
LinFor ba39186364 TMC_DEBUG optimization and improvements (#13135) 2019-02-20 02:22:42 -06:00
Scott Lahteine 1424b368cf Tweak M122 comment in configs 2019-02-19 16:20:18 -06:00
Scott Lahteine 3a1b6fe8c1 Coding standards 2019-02-19 14:58:39 -06:00
InsanityAutomation 19af90face Fix a host action compile error (#13208) 2019-02-19 14:47:31 -06:00
Marcio Teixeira 992cdc8d14 Fix host action / G-code ordering in event_probe_failure (#13207)
Observing from the console, it makes the most sense to do `//action:probe_retry` before executing commands.
2019-02-19 14:45:03 -06:00
InsanityAutomation 33a6d52965 Fix a RAPTOR2 pin conflict (#13205) 2019-02-19 14:42:02 -06:00
InsanityAutomation 52665f54ad Fix bad Purge More logic (#13193) 2019-02-19 14:37:18 -06:00
Scott Lahteine 18458ec42b Error in Smoothieboard for unsupported display 2019-02-19 14:17:33 -06:00
InsanityAutomation d4ed9b3ef1 Babystep also requires homing (#13191) 2019-02-17 14:35:45 -06:00
InsanityAutomation ca7b2f574f Fix condition on tool change filament swap menu (#13190) 2019-02-17 12:33:46 -06:00
Roman Moravčík 208ab8b366 Fix compilation with one service interval (#13185) 2019-02-17 12:32:47 -06:00
Roman Moravčík 567d03a269 Update Slovak language (#13187) 2019-02-17 12:29:49 -06:00
Scott Lahteine c041eec699 Update G-code syntax for Sublime 2019-02-16 19:46:46 -06:00
Alain Martel 27203c62b8 Enable M240, set photo pins for 3DFabXYZ i3 (#13174) 2019-02-15 21:16:39 -06:00
Evgeny-SPB 3025ddf179 Support for Creality CR-10 5S (#13173) 2019-02-15 21:09:44 -06:00
Scott Lahteine e00aad84af Add M240 parameters D I J R S 2019-02-14 20:00:40 -06:00
Marcio Teixeira 31c240a8db Enhancements to G425 (#13159)
- Turn off bed leveling prior to calibrating.
    - This prevents lateral probes from having a Z component that
      triggers the Z endstop and causes the motion to be aborted.
- Got rid of static const float arrays "dimension" and "true_center"
    - Frees up 24 bytes of SRAM
- Changed incorrect use of "bool" for float in backlash macros.
    - Replaced arguments with 0.0f and 1.0f for clarity.
- Now only disables soft endstops (since calibration cube is outside of bed)
    - Not necessary to disable global endstops
2019-02-14 16:45:31 -06:00
Andy Shaw 84fc400aba Update BIQU SKR V1.1 pins, add TMC2130 settings (#13166)
* Remove untested displays add TMC2130 configs.
* Remove references to the ReARM, delete untested displays. Add TMC2130 settings. Cleanup spacing, etc.
2019-02-14 16:43:56 -06:00
Scott Lahteine ab2816c870 Patch for M240 2019-02-14 15:13:57 -06:00
Scott Lahteine d2bdb71c13 Add PHOTO_GCODE option, photo trigger physical move (#13168) 2019-02-14 15:09:35 -06:00
Scott Lahteine be9a409980 Fix M125 XY parameters, export get_homing_bump_feedrate 2019-02-14 05:25:46 -06:00
Scott Lahteine ce40c2e87c Use do_blocking_move_to(ref, fr) 2019-02-14 02:22:08 -06:00
Giuliano Zaro bdc2f10b90 Update Italian language, fix unused var warning (#13164) 2019-02-13 21:05:18 -06:00
Marcio Teixeira 9f0e1834ec Followup to #13039 (#13163)
- Fix compile error when accessing `process_subcommands_now_P`.
- Use `const` var eliminating double-negative (to make code more understandable).
2019-02-13 20:39:38 -06:00
Ludy 1ace97e946 [2.0.x] Update German language (#13150) 2019-02-13 20:31:50 -06:00
Scott Lahteine 7cf9b93f26 Add HAS_FILAMENT_SENSOR ahead of 12962 2019-02-12 20:13:20 -06:00
Giuliano Zaro 2c8d12d3ec Update Italian language (#13148) 2019-02-12 18:40:34 -06:00
Scott Lahteine c2b90c44e4 Prettify some code comments 2019-02-12 17:43:37 -06:00
Scott Lahteine a0dadc8c62 Smaller I2CPositionEncoder strings 2019-02-12 16:21:56 -06:00
Scott Lahteine 18996d2595 Fix some spelling 2019-02-12 16:21:56 -06:00
revilor e56c13670d Service interval watchdog (#13105) 2019-02-12 15:58:56 -06:00
InsanityAutomation 7f1b69b0c8 Add HOST_PROMPT_SUPPORT (#13039) 2019-02-12 15:55:47 -06:00
Scott Lahteine 0feeef2604 Update copyright in headers 2019-02-12 15:30:11 -06:00
Scott Lahteine 894f5c24a8 Fix trailing whitespace 2019-02-12 14:25:57 -06:00
Roman Moravčík bace52afd7 Fixed compilation with MMU2_MENUS disabled (#13140) 2019-02-12 12:55:49 -06:00
Ludy 584f9cd449 Update German language (#13137) 2019-02-12 12:54:57 -06:00
Scott Lahteine d9a3fea022 Comments in HAL_spi_STM32F1.cpp 2019-02-11 18:06:33 -06:00
Giuliano Zaro 773fa5c40f Fix define used when PID is off (#13119)
Replaced `PID_MAX` with `BANG_MAX` since it should be the correct define to be used when PID is not enabled.
2019-02-11 17:29:17 -06:00
Giuliano Zaro f7efe6f6c5 [2.0.x] Fix TEMP_STAT_LED startup init (#13120) 2019-02-11 17:27:59 -06:00
Ludy 2bd6ce4b62 Update German language (#13125) 2019-02-11 17:08:21 -06:00
Giuliano Zaro 27115ff7eb Update Italian language (#13123)
Incomplete.
2019-02-11 17:07:21 -06:00
Roman Moravčík 08a8bd10ca Updated Slovak translation (#13122) 2019-02-11 17:06:10 -06:00
Scott Lahteine 3e2a4c3b26 Show mixer and temperature menus while printing 2019-02-11 16:52:47 -06:00
Scott Lahteine 8d271f20fe C10mini E steps of 95
See https://www.patreon.com/posts/creality-cr10-24602624
2019-02-10 14:23:05 -06:00
Scott Lahteine 9737608f0a Enable gradient when alias is cleared 2019-02-10 06:39:12 -06:00
Simon Jouet 5cd0fa3ce1 Basic GPIO expander using the ESP32 I2S peripheral (#12959) 2019-02-10 05:40:31 -06:00
Scott Lahteine 3983cacbcf No extern needed for func decl 2019-02-10 05:38:27 -06:00
Scott Lahteine 43b29c093b Update pinsDebug_list.h with XY PWM pins 2019-02-10 05:13:05 -06:00
Scott Lahteine 166e567ab8 Fix HAS_MOTOR_CURRENT_PWM 2019-02-10 05:06:46 -06:00
Scott Lahteine 6de3d34378 M166 Gradients, LCD Menu for 2-channel Mixer (Geeetech A10M/A20M) (#13022) 2019-02-10 04:54:23 -06:00
LinFor 7ee35c2611 PID_MENU option to save PROGMEM in LCD menus (#13095) 2019-02-10 04:03:18 -06:00
Ludy 936f982392 Update German Language (#13110) 2019-02-10 03:55:08 -06:00
AnHardt 0e37fe8776 Apply minimum C in M303 (#13113)
Apply minimum `C` in `M303`. `PID_autotune()` needs to be called with a 'C'ycles-parameter >2 to give meaningful (different from 0) PID-factors. Therefore silently raise C to 3. Fixing one aspect of #13104
2019-02-10 03:54:45 -06:00
Scott Lahteine 5a316664e5 Update chopper timing 2019-02-10 03:12:20 -06:00
Scott Lahteine fcb16ceb29 Update default config 2019-02-10 00:20:11 -06:00
Alain Martel 9ae7cca5e9 Disable RGB_LED for 3DFabXYZ (#13097) 2019-02-08 15:18:20 -06:00
Scott Lahteine f3b6cb4d34 Clean up, update config comments 2019-02-08 15:13:52 -06:00
Scott Lahteine ae03753ef1 Fix PCA9533 with PRINTER_EVENT_LEDS 2019-02-08 15:13:52 -06:00
Scott Lahteine 95d3f3953a DEFAULT_WEBSITE_URL => BOARD_WEBSITE_URL 2019-02-08 14:54:34 -06:00
Scott Lahteine 6ddd81c178 [2.0.x] Update German Language (#13100)
add MMU2
2019-02-08 14:25:24 -06:00
Giuliano Zaro 7c9ff322f3 Update Italian language (#13099) 2019-02-08 14:23:37 -06:00
Ludy ce8cb6a5d9 [2.0.x] Update German Language
add MMU2
2019-02-07 20:04:34 +01:00
Scott Lahteine f269766408 Put the MMU2 menu with the others 2019-02-06 17:38:46 -06:00
Marcio Teixeira e1604198ff G425 — Auto-calibrate Backlash and Nozzle Offsets (#13050) 2019-02-06 17:20:17 -06:00
Marcio Teixeira 113af46a1b Add ExtUI methods to babystep probe/nozzle offsets (#12590) 2019-02-06 07:16:54 -06:00
InsanityAutomation 413e303ad5 More Advanced Pause options (#12984) 2019-02-06 06:39:42 -06:00
Mark Zachmann 19cf72e057 Support individual solenoid disable with M381 (#13008) 2019-02-06 06:34:53 -06:00
teemuatlut d81342254a Support new TMC drivers (#13026) 2019-02-06 06:33:14 -06:00
Scott Lahteine e1587da228 Clean up HAL_spi_Due.cpp (#13087) 2019-02-06 06:31:31 -06:00
Rolf Werum 524c6c10bf MAGNETIC_PARKING_EXTRUDER (#12351) 2019-02-06 06:30:53 -06:00
Scott Lahteine 1bd9a63049 Add HAS_EXTRA_ENDSTOPS macro 2019-02-06 05:10:05 -06:00
Scott Lahteine 3c49396370 Fix compile error with DUE + MAX6675 (#13086) 2019-02-05 22:56:13 -06:00
Roxy-3D ab6908a513 Fix Probe Offset bug... 2019-02-05 20:30:20 -07:00
revilor 69aaf5d096 MMU2 fixes (#13082) 2019-02-05 20:56:22 -06:00
Scott Lahteine 2f8e89adc3 Remove extraneous ui. prefixes 2019-02-05 19:04:37 -06:00
Scott Lahteine 870757aa17 Tweaks to pins_GT2560_V3.h 2019-02-04 22:52:50 -06:00
Scott Lahteine b96cc30cd0 HAL spacing tweak 2019-02-04 21:51:06 -06:00
Scott Lahteine 9e394139e5 Followup to 90911104 2019-02-04 10:46:52 -06:00
Sam Lane b35a7c2c87 Fixed closed-loop planner stall (#13005) 2019-02-04 07:43:09 -06:00
Ludy 691e925adc Update German language (#13012) 2019-02-04 07:25:07 -06:00
Scott Lahteine 1497fb388a M29 match logic was reversed (#13013)
* M29 logic was reversed 

If in card-saving mode generate errors line errors for anything that's *NOT* "M29 ?"

* Update queue.cpp

* Update queue.cpp
2019-02-04 07:23:42 -06:00
Scott Lahteine b5fd2fb58b Allow M29 to be processed late 2019-02-04 07:23:02 -06:00
Scott Lahteine c03bac9ad4 Update queue.cpp 2019-02-04 07:17:40 -06:00
Scott Lahteine a49f0205ea Update queue.cpp 2019-02-04 07:11:08 -06:00
Andy Shaw 9091110460 LPC1768 - Don't change CS pin state (#13015) 2019-02-04 07:08:39 -06:00
Scott Lahteine 10d855cb21 Sanity check USER_GCODE formatting 2019-02-04 06:36:41 -06:00
Scott Lahteine d97bb4c41c Followup to e10943d0 2019-02-04 06:11:31 -06:00
jeffstaley 2f176d6fb8 Flush RX buffer on G-code line errors to prevent hang (#13018) 2019-02-04 06:03:49 -06:00
Scott Lahteine ca73b2f465 Add static assert to catch errors in COPY(a,b) 2019-02-04 05:52:32 -06:00
Nathan df1043516e Fix the delta homing issue (#12974) 2019-02-04 05:25:50 -06:00
Scott Lahteine 4200bd2fc1 Report on M92 with no arguments (#12833) 2019-02-04 05:24:15 -06:00
Scott Lahteine e10943d0d8 Minor tweak to main menu 2019-02-04 04:58:31 -06:00
Scott Lahteine d4d1b28a06 Fix some include paths 2019-02-04 03:57:15 -06:00
Scott Lahteine 0d720a6ff4 Tweak to emergency_parser.h 2019-02-04 03:56:56 -06:00
Scott Lahteine 0a7ea7063f Hide Resume Print when not relevant 2019-02-04 03:02:44 -06:00
Scott Lahteine afe79ba22b Minor code cleanup 2019-02-04 02:23:06 -06:00
Scott Lahteine fdb97a3e9c Add class and macro to save and auto-restore a variable 2019-02-04 02:23:06 -06:00
Scott Lahteine 433518de74 Prevent M420 error from disconnecting OctoPrint
Just echo the error instead of labeling it `Error:`.
2019-02-04 01:54:43 -06:00
Marcio Teixeira 5cfc1cdacc Support SWITCHING_NOZZLE with 2 servos (#13054) 2019-02-04 00:19:56 -06:00
Psycho 3c88cac2e9 Velleman Vertex Delta pins (#13072) 2019-02-04 00:15:08 -06:00
Nicolas G 6fb4001b58 Add option to disable fan speed slowing in M303 (#13066) 2019-02-04 00:12:41 -06:00
Scott Lahteine ca1be02bf0 Tweak some pins formatting 2019-02-04 00:06:41 -06:00
Scott Lahteine 38c2ca9281 Clean up trailing whitespace 2019-02-03 23:00:57 -06:00
Mark Zachmann 4d1093b386 Fix init of last_direction_bits (#13067) 2019-02-03 01:29:00 -06:00
Scott Lahteine 4fa1c52688 Tweak serial output code 2019-02-03 01:09:14 -06:00
Scott Lahteine a5e3384691 Pre-apply cosmetic changes to mixing 2019-02-03 01:09:14 -06:00
Scott Lahteine 0358ffcd4c Drop E element from homing_feedrate_mm_s 2019-02-02 15:55:00 -06:00
Scott Lahteine 95223cb28e Remove dead code from stepper.h
These values are always supplied by `Conditionals_post.h`.
2019-02-02 15:35:05 -06:00
Scott Lahteine 6fe39e6117 Add --quick option to mfqp, add BRANCH check to mfinfo 2019-02-02 14:06:01 -06:00
mattfredwill c3cb449990 TMC2130 dual-stepper Sensorless Homing (#13061) 2019-02-01 18:09:01 -06:00
Marcio Teixeira f6edd2c472 Move stepper settings to "Advanced Settings" menu (#13063) 2019-02-01 18:07:04 -06:00
InsanityAutomation 68bbac207e Update pins_FORMBOT_TREX3.h (#13058) 2019-02-01 18:06:02 -06:00
revilor 6a57d0b381 Prusa MMU2 (#12967) 2019-01-31 19:10:52 -06:00
Scott Lahteine 996f7d1642 Fix I2C_POSITION_ENCODERS commentary 2019-01-30 22:17:17 -06:00
raTmole 988b5aa4e6 Update GT2560 V3 pins (#13036) 2019-01-30 21:10:56 -06:00
InsanityAutomation 7d927b6691 Move Z Probe Z Offset from Advanced to basic Configuration (#13056) 2019-01-30 21:08:36 -06:00
Giuliano Zaro 31e213e427 Always show Tune sub-menu (#13049) 2019-01-30 21:05:55 -06:00
teemuatlut f0503372d9 Revert E_AXIS_N cast (#13055) 2019-01-30 20:55:05 -06:00
InsanityAutomation a1d03fe7ba Fix single nozzle fan (#13038) 2019-01-30 20:54:04 -06:00
Scott Lahteine 159d7eefda New boards entry for the A20M 2019-01-28 21:08:20 -06:00
Scott Lahteine 97da6c1da5 Use MIN/MAX for min/max 2019-01-28 20:36:13 -06:00
Scott Lahteine 17a8c37148 Label menu edit items 2019-01-28 20:20:46 -06:00
raTmole ddeca7a358 Fix resume from power loss G-Code. (#13035) 2019-01-28 13:19:26 -06:00
Thomas Moore 02ab66fca3 Update Cohesion3D Pins Files (#13027) 2019-01-27 23:11:33 -06:00
Giuliano Zaro a79d80c78e Minor cleanup of pause code (#13030) 2019-01-27 23:10:25 -06:00
jeffstaley 0da636e1a3 Set correct stepper direction on reset (#13032)
On a reset steppers were being initialized to incorrect direction. Original code wasn't respecting `INVERT_Z_DIR` define.
2019-01-27 23:02:38 -06:00
Scott Lahteine 3845baf398 Followup to #12982 2019-01-27 22:53:46 -06:00
InsanityAutomation 48a3502656 Remote streamer improvements (#12982) 2019-01-27 22:43:13 -06:00
Scott Lahteine 621fbe99de Followup to #12817 2019-01-27 20:48:58 -06:00
Marcio Teixeira f214118e45 Action to notify host of filament runout. (#12817) 2019-01-27 20:18:05 -06:00
Scott Lahteine aad770bce8 Bring default configs in sync 2019-01-26 16:44:42 -06:00
jeffstaley 3f91233f6d M29 logic was reversed
If in card-saving mode generate errors line errors for anything that's *NOT* "M29 ?"
2019-01-25 07:36:52 -08:00
jeffstaley 0e0cc13650 Fix M29 for Pronterface SD card upload (#13010) 2019-01-24 21:10:59 -06:00
Jiri 24fffb8d93 Fix undefined lcd_tmpfan_speed on NO_LCD_MENUS (#13006) 2019-01-24 16:34:40 -06:00
Scott Lahteine 8f9b246d0e Tweak some formatting, replace tabs 2019-01-24 13:18:56 -06:00
Bo Herrmannsen 808df82b36 Support for Anycubic I3 (#12972) 2019-01-24 12:40:49 -06:00
Scott Lahteine ae91914260 Prevent name conflicts with mixed stepper drivers 2019-01-24 01:25:28 -06:00
Scott Lahteine 2b54e98f50 Remove L6470 test for LPC176x 2019-01-24 00:59:05 -06:00
Scott Lahteine 0eca236dcd Fix L6470 config comments 2019-01-24 00:58:16 -06:00
InsanityAutomation f4d1f13358 Warn on cold extrusion, dont error 2019-01-24 00:16:14 -06:00
Scott Lahteine aa74a900f5 Bring Rostock 301 and ArmEd configs up to date 2019-01-23 23:37:37 -06:00
Scott Lahteine a073293b6a Add --quick option to mfrb 2019-01-23 23:10:32 -06:00
Scott Lahteine 2117a45d1a Tweak usage strings 2019-01-23 23:10:32 -06:00
Scott Lahteine 0f07ba4f09 Tweak some comments 2019-01-23 20:18:13 -06:00
Scott Lahteine 00cdd41b5f Clean up for recent changes 2019-01-23 20:08:58 -06:00
Roman Moravčík 7d53b79596 Update Slovak translation (#12991) 2019-01-23 19:48:16 -06:00
Giuliano Zaro 18c32996c1 [2.0.x] Updated Italian language (#12997) 2019-01-23 19:35:42 -06:00
Bob Kuhn 7c1a5e3c47 Fix TEMP_TIMER in pins_STEVAL.h (#12994) 2019-01-23 19:34:39 -06:00
Scott Lahteine b4994ad12e Update language_it.h 2019-01-23 19:28:57 -06:00
Bob Kuhn 2f35747f29 L6470 SPI daisy chain support (#12895) 2019-01-23 19:06:54 -06:00
Scott Lahteine 6453b82a5e Clean up trailing whitespace 2019-01-23 15:57:01 -06:00
Scott Lahteine 48a581ba2e Tweak some HAL Due code 2019-01-23 00:53:20 -06:00
Scott Lahteine f7d96c5b28 Update mfinfo to allow extra parameters 2019-01-23 00:03:47 -06:00
Marcio Teixeira 54fdf57b8c ExtUI: Fix fan wrapping around from 0 to 100 (#12987) 2019-01-22 23:33:10 -06:00
InsanityAutomation dbe4126e07 Update language_en.h (#12988) 2019-01-22 23:32:01 -06:00
teemuatlut e5801b75f8 Fix TMC-related compile issues. (#12971)
- `STEALTHOP_[XYZE]` configuration options now set the default state.
2019-01-20 23:54:57 -06:00
Gert-Jan Rodenburg bb30927549 Fix pins for ZONESTAR_LCD with Zonestar ZRIB (#12956) 2019-01-20 23:52:51 -06:00
Ludy dc65d96aca Fix TMC compile error (#12965) 2019-01-20 23:47:28 -06:00
InsanityAutomation a1cf49935d Add laser control menu (#12883) 2019-01-20 23:41:47 -06:00
InsanityAutomation 75f2665f2e LCD SD Card items near top when not using wheel (#12926) 2019-01-20 23:24:53 -06:00
Scott Lahteine e1f951813a Remove old block end comment 2019-01-20 02:30:03 -06:00
Scott Lahteine 52108192d1 Prevent L6470 class name conflict with drivers.h define
Fix #12824
2019-01-20 00:32:56 -06:00
Scott Lahteine 0495fcd475 Minor spacing fix 2019-01-20 00:10:50 -06:00
lanserge c2cf8ffa82 Add support for Arduino DUE Shield Kit (#12950) 2019-01-19 23:43:32 -06:00
Scott Lahteine 4e5a915ef8 Fix some Makefile comments 2019-01-19 23:41:30 -06:00
Scott Lahteine a5911765c3 Tweak some spacing 2019-01-19 20:27:57 -06:00
chrisly42 99e5e8362f Rapide Lite 200 config, pins_RL200 RUMBA clone (#12848) 2019-01-19 20:19:14 -06:00
Scott Lahteine 6411680364 Update some pins spacing 2019-01-19 19:21:52 -06:00
teemuatlut 8a3f1d6932 Fix chopper timing struct and initialization (#12943) 2019-01-19 18:57:02 -06:00
Ludy c6991109b7 Update German language (#12953) 2019-01-19 18:50:24 -06:00
Giuliano Zaro ca9eb14f6a Update Italian language (#12951) 2019-01-19 18:48:13 -06:00
Ludy acf266fe78 Fix a compile warning, etc. (#12955) 2019-01-19 18:47:29 -06:00
Scott Lahteine 424aa05cc2 Fix some file endings 2019-01-19 18:19:12 -06:00
Scott Lahteine ce563d7c2e Various general cleanups
Mostly from the L6470-oriented PR
2019-01-19 16:56:12 -06:00
Scott Lahteine 02cc63d6d4 Update CreatorPro Configuration_adv.h 2019-01-19 16:37:50 -06:00
Marcio Teixeira f4c16e683b Follow up fixes to #12884 (#12940) 2019-01-17 18:48:29 -06:00
Scott Lahteine 712e23c383 Fix up some whitespace 2019-01-17 18:05:36 -06:00
Ziemowit 20c20dacb7 MKS SBASE needs DRV8825 (#12911) 2019-01-17 13:21:53 -06:00
Giuliano Zaro 7bb5d4bfe8 Small LED code reorganization (#12929) 2019-01-17 13:20:26 -06:00
teemuatlut e6805582a6 M569 to change stepping mode. Add new TMC section to LCD. (#12884) 2019-01-17 13:17:16 -06:00
Bob Kuhn d08f27e27b Add support for STEVAL 3DP001V1 (#12894) 2019-01-15 18:59:36 -06:00
Alain Martel cdb562d558 Bring Migbot config up to date (#12916) 2019-01-15 18:53:07 -06:00
Giuliano Zaro 8f4c6e6d1a Fix case light on boot (#12919) 2019-01-15 18:50:56 -06:00
Marcio Teixeira f11c6d5d02 Fix M107 when dual-nozzles share fan (#12819) (#12909) 2019-01-15 18:45:18 -06:00
Karl Andersson 64a4649290 STM32 - Fix SD write (#12897) 2019-01-15 18:44:22 -06:00
Ludy 294521439e Clean up Configuration_adv.h (#12900) 2019-01-15 18:42:10 -06:00
InsanityAutomation 59b18aaeef Allow resume from pause with parking enabled (#12893)
Currently, Pause of an SD-Memory card print does not work.    This has been verified to resolve the issue by multiple people.   

I understand more work needs to be done to resolve some of the concerns...
2019-01-15 07:58:54 -07:00
Giuliano Zaro 85f149befe Save some progmem (#12913) 2019-01-14 20:56:30 -06:00
mikeshub 7fde8d9d1e Add CreatorPro / Makerbot / QIDI / etc and Mightboard RevE support (#12855)
- Fix a bug in MAXxxxx thermocouple temp reporting.
- Add support for 3-wire HD44780.
- Add support for PCA9533 RGB driver.
- Add configuration examples for FlashForge CreatorPro.
2019-01-14 14:29:55 -06:00
Scott Lahteine 3644c940bf Tweak SD section of Main Menu 2019-01-13 18:00:07 -06:00
871 changed files with 143337 additions and 24088 deletions
-274
View File
@@ -1,274 +0,0 @@
# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
- image: circleci/python:2.7.13
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
environment:
TEST_PLATFORM: "-e megaatmega2560"
working_directory: ~/Marlin
steps:
- checkout
- restore_cache:
paths:
- ~/.platformio
- ~/Marlin/.piolibdeps
keys:
- v1-dependencies-{{ checksum "~/Marlin/platformio.ini" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- run:
name: install dependencies
command: |
sudo pip install -U platformio
# run tests!
- run:
name: run tests
command: |
#
#
# Fetch the tag information for the current branch
ls -la
git fetch origin --tags
#
# Publish the buildroot script folder
chmod +x buildroot/bin/*
export PATH=`pwd`/buildroot/bin/:${PATH}
# Generate custom version include
generate_version ./Marlin/
cat ./Marlin/Version.h
#
# Back up pins_RAMPS.h
#
backup_ramps
env_backup
#################################
# Build all sample configurations
#################################
echo testing megaatmega2560 targets...
export TEST_PLATFORM="-e megaatmega2560"
echo use_example_configs adafruit/ST7565
use_example_configs adafruit/ST7565
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs BQ/Hephestos
use_example_configs BQ/Hephestos
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs BQ/Hephestos_2
use_example_configs BQ/Hephestos_2
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs BQ/WITBOX
use_example_configs BQ/WITBOX
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs AliExpress/CL-260
use_example_configs AliExpress/CL-260
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
#echo use_example_configs Cartesio
#use_example_configs Cartesio
#build_marlin_pio ./ ${TEST_PLATFORM}
#restore_configs
echo use_example_configs delta/FLSUN/auto_calibrate
use_example_configs delta/FLSUN/auto_calibrate
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs delta/FLSUN/kossel_mini
use_example_configs delta/FLSUN/kossel_mini
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs delta/generic
use_example_configs delta/generic
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs delta/kossel_mini
use_example_configs delta/kossel_mini
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs delta/kossel_xl
use_example_configs delta/kossel_xl
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Felix
use_example_configs Felix
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Felix/DUAL
use_example_configs Felix/DUAL
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs FolgerTech/i3-2020
use_example_configs FolgerTech/i3-2020
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs gCreate/gMax1.5+
use_example_configs gCreate/gMax1.5+
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Geeetech/GT2560
use_example_configs Geeetech/GT2560
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
#echo use_example_configs Geeetech/I3_Pro_X-GT2560
#use_example_configs Geeetech/I3_Pro_X-GT2560
#build_marlin_pio ./ ${TEST_PLATFORM}
#restore_configs
echo use_example_configs Infitary/i3-M508
use_example_configs Infitary/i3-M508
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
use_example_configs Malyan/M200
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Micromake/C1/basic
use_example_configs Micromake/C1/basic
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Micromake/C1/enhanced
use_example_configs Micromake/C1/enhanced
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs RepRapWorld/Megatronics
use_example_configs RepRapWorld/Megatronics
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs RigidBot
use_example_configs RigidBot
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs SCARA
use_example_configs SCARA
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Velleman/K8200
use_example_configs Velleman/K8200
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Velleman/K8400/Dual-head
use_example_configs Velleman/K8400/Dual-head
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Velleman/K8400
use_example_configs Velleman/K8400
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Wanhao/Duplicator6
use_example_configs Wanhao/Duplicator6
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
# Requires manual load of https://github.com/stawel/SlowSoftI2CMaster
#use_example_configs wt150
#build_marlin_pio ./ ${TEST_PLATFORM}
#restore_configs
echo testing melzi targets...
export TEST_PLATFORM="-e melzi"
echo use_example_configs Anet/A6
use_example_configs Anet/A6
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Anet/A8
use_example_configs Anet/A8
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Creality/CR-10
use_example_configs Creality/CR-10
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Malyan/M150
use_example_configs Malyan/M150
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs Sanguinololu
use_example_configs Sanguinololu
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs TinyBoy2
use_example_configs TinyBoy2
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo testing rambo targets...
export TEST_PLATFORM="-e rambo"
echo use_example_configs AlephObjects/TAZ4
use_example_configs AlephObjects/TAZ4
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo testing at90usb1286_* targets...
export TEST_PLATFORM="-e at90usb1286_dfu"
#echo se_example_configs delta/kossel_pro
#use_example_configs delta/kossel_pro
#build_marlin_pio ./ ${TEST_PLATFORM}
#restore_configs
echo use_example_configs makibox
use_example_configs makibox
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo testing sanguino_atmega644p targets...
export TEST_PLATFORM="-e sanguino_atmega644p"
echo use_example_configs tvrrug/Round2
use_example_configs tvrrug/Round2
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo testing LPC1768 targets...
export TEST_PLATFORM="-e LPC1768"
echo use_example_configs Mks/Sbase
use_example_configs Mks/Sbase
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo testing STM32F1 targets...
export TEST_PLATFORM="-e STM32F103RE"
restore_configs
echo use_example_configs STM32/STM32F103RE
use_example_configs STM32/STM32F103RE
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo use_example_configs STM32/stm32f103ret6
use_example_configs STM32/stm32f103ret6
build_marlin_pio ./ ${TEST_PLATFORM}
restore_configs
echo testing DUE targets...
export TEST_PLATFORM="-e DUE"
#echo use_example_configs UltiMachine/Archim2
#use_example_configs UltiMachine/Archim2
#build_marlin_pio ./ ${TEST_PLATFORM}
#restore_configs
#
# Remove temp files from dependencies tree prior to caching
rm -rf ~/Marlin/.piolibdeps/_tmp_*
#
# Restore the environment
#
env_restore
- save_cache:
paths:
- ~/.platformio
- ~/Marlin/.piolibdeps
key: v1-dependencies-{{ checksum "~/Marlin/platformio.ini" }}
+25
View File
@@ -0,0 +1,25 @@
#
# 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: source ./buildroot/bin/bump_date
+100
View File
@@ -0,0 +1,100 @@
#
# 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
# 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
# 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
#- SAMD51_grandcentral_m4
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: |
chmod +x buildroot/bin/*
chmod +x buildroot/share/tests/*
export PATH=./buildroot/bin/:./buildroot/share/tests/:${PATH}
run_tests . ${{ matrix.test-platform }}
-82
View File
@@ -1,82 +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="STM32F103RE"
- 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="ARMED"
- TEST_PLATFORM="BIGTREE_BTT002"
- TEST_PLATFORM="BIGTREE_SKR_PRO"
- TEST_PLATFORM="STM32F103RC_bigtree"
- TEST_PLATFORM="jgaurora_a5s_a1"
- TEST_PLATFORM="STM32F103VE_longer"
- TEST_PLATFORM="STM32F407VE_black"
- TEST_PLATFORM="mks_robin"
# Put lengthy tests last
- TEST_PLATFORM="LPC1768"
- TEST_PLATFORM="LPC1769"
# Non-working environment tests
#- 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"
#- TEST_PLATFORM="STM32F103RC_bigtree"
#- TEST_PLATFORM="STM32F103RC_bigtree_USB"
#- TEST_PLATFORM="STM32F103RC_fysetc"
#- TEST_PLATFORM="STM32F4"
#- TEST_PLATFORM="STM32F7"
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}
+96 -230
View File
@@ -1,23 +1,3 @@
//#define PetsfangMicroswiss
//#define BondtechBMG
#define CR10SPro_GearedExtruder
//#define E3DV6
//#define FilamentSensorStd
//#define FilamentSensorLerdge
#define STOCK_2208 // V2 Stock Board with TMC2208 Drivers
//#define SKR13 // 32 bit board - assumes 2208 drivers
//#define SKR13_2209
//#define E_8825
//#define SKR13_UART // Configure SKR board with drivers in UART mode
#define SX2 // Small formfactor 200mm machine
#define DUAL_Z
//#define GRAPHICSLCD
//#define UBL
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
@@ -41,9 +21,6 @@
*/
#pragma once
#if DISABLED(SKR13)
#define Y_STOP_PIN 14
#endif
/**
* Configuration.h
*
@@ -94,8 +71,8 @@
// @section info
// Author info of this build printed to the host during boot and M115
#define STRING_CONFIG_H_AUTHOR "Tinymachines3D" // Who made the changes.
#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
/**
* *** VENDORS PLEASE READ ***
@@ -111,13 +88,12 @@
// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION **
#define SHOW_BOOTSCREEN
#if ENABLED(GRAPHICSLCD)
// Show the bitmap in Marlin/_Bootscreen.h on startup.
#define SHOW_CUSTOM_BOOTSCREEN
//#define SHOW_CUSTOM_BOOTSCREEN
// Show the bitmap in Marlin/_Statusscreen.h on the status screen.
#define CUSTOM_STATUS_SCREEN_IMAGE
#endif
//#define CUSTOM_STATUS_SCREEN_IMAGE
// @section machine
/**
@@ -136,9 +112,8 @@
*
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
#if ENABLED(SKR13)
#define SERIAL_PORT_2 -1
#endif
//#define SERIAL_PORT_2 -1
/**
* This setting determines the communication speed of the printer.
*
@@ -155,20 +130,11 @@
// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
#if ENABLED(SKR13)
#define MOTHERBOARD BOARD_BIGTREE_SKR_V1_3
#else
#define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif
#define MOTHERBOARD BOARD_MKS_GEN_13
#endif
// Name displayed in the LCD "Ready" message and Info menu
#if ENABLED(SX2)
#define CUSTOM_MACHINE_NAME "TM3D SX2"
#else
#define CUSTOM_MACHINE_NAME "TM3D SX4"
#endif
//#define CUSTOM_MACHINE_NAME "Trex+"
// Printer's unique ID, used by some programs to differentiate between machines.
// Choose your own or use a service like http://www.uuidgenerator.net/version4
@@ -178,7 +144,7 @@
// This defines the number of extruders
// :[1, 2, 3, 4, 5, 6]
#define EXTRUDERS 1
#define EXTRUDERS 2
// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
@@ -343,7 +309,7 @@
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
//#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle
//#define HOTEND_OFFSET_X { 0.0, -34.00 } // (mm) relative X-offset for each nozzle
//#define HOTEND_OFFSET_Y { 0.0, 5.00 } // (mm) relative Y-offset for each nozzle
//#define HOTEND_OFFSET_Z { 0.0, 0.00 } // (mm) relative Z-offset for each nozzle
@@ -359,13 +325,14 @@
//#define PSU_NAME "Power Supply"
#if ENABLED(PSU_CONTROL)
#define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2)
#define PSU_ACTIVE_HIGH false // Set 'false' for ATX, 'true' for X-Box
//#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80
//#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80
//#define PSU_POWERUP_DELAY 100 // (ms) Delay for the PSU to warm up to full power
//#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin
//#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin
#if ENABLED(AUTO_POWER_CONTROL)
#define AUTO_POWER_FANS // Turn on PSU if fans need power
#define AUTO_POWER_FANS // Turn on PSU if fans need power
#define AUTO_POWER_E_FANS
#define AUTO_POWER_CONTROLLERFAN
#define AUTO_POWER_CHAMBER_FAN
@@ -386,9 +353,10 @@
*
* Temperature sensors available:
*
* -5 : PT100 / PT1000 with MAX31865 (only for sensors 0-1)
* -3 : thermocouple with MAX31855 (only for sensors 0-1)
* -2 : thermocouple with MAX6675 (only for sensors 0-1)
* -4 : thermocouple with AD8495
* -3 : thermocouple with MAX31855 (only for sensor 0)
* -2 : thermocouple with MAX6675 (only for sensor 0)
* -1 : thermocouple with AD595
* 0 : not used
* 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
@@ -437,17 +405,13 @@
* 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below.
* 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below.
*/
#if ENABLED(E3DV6)
#define TEMP_SENSOR_0 5
#else
#define TEMP_SENSOR_0 1
#endif
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 1
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_5 0
#define TEMP_SENSOR_BED 11
#define TEMP_SENSOR_BED 1
#define TEMP_SENSOR_CHAMBER 0
// Dummy thermistor constant temperature readings, for use with 998 and 999
@@ -459,7 +423,7 @@
//#define TEMP_SENSOR_1_AS_REDUNDANT
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109
#define TEMP_RESIDENCY_TIME 5 // (seconds) Time to wait for hotend to "settle" in M109
#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
@@ -480,13 +444,13 @@
// Above this temperature the heater will be switched off.
// This can protect components from overheating, but NOT from shorts and failures.
// (Use MINTEMP for thermistor short/failure protection.)
#define HEATER_0_MAXTEMP 305
#define HEATER_1_MAXTEMP 275
#define HEATER_0_MAXTEMP 315
#define HEATER_1_MAXTEMP 315
#define HEATER_2_MAXTEMP 275
#define HEATER_3_MAXTEMP 275
#define HEATER_4_MAXTEMP 275
#define HEATER_5_MAXTEMP 275
#define BED_MAXTEMP 125
#define BED_MAXTEMP 135
//===========================================================================
//============================= PID Settings ================================
@@ -512,15 +476,10 @@
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
// Ultimaker
#if ENABLED(PetsfangMicroswiss)
#define DEFAULT_Kp 18.74
#define DEFAULT_Ki 0.71
#define DEFAULT_Kd 123.56
#else
#define DEFAULT_Kp 10.59
#define DEFAULT_Ki 0.37
#define DEFAULT_Kd 75.24
#endif
#define DEFAULT_Kp 22.2
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114
// MakerGear
//#define DEFAULT_Kp 7.0
//#define DEFAULT_Ki 0.1
@@ -550,7 +509,7 @@
* heater. If your configuration is significantly different than this and you don't understand
* the issues involved, don't use bed PID until someone else verifies that your hardware works.
*/
//#define PIDTEMPBED
#define PIDTEMPBED
//#define BED_LIMIT_SWITCHING
@@ -629,7 +588,7 @@
// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics
// either in the usual order or reversed
#define COREXY
//#define COREXY
//#define COREXZ
//#define COREYZ
//#define COREYX
@@ -646,7 +605,7 @@
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
//#define USE_YMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
#define USE_YMAX_PLUG
@@ -684,7 +643,7 @@
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true= // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
@@ -702,63 +661,15 @@
* 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']
*/
#if ENABLED(SKR13, E_8825)
#define E0_DRIVER_TYPE DRV8825
#define E1_DRIVER_TYPE DRV8825
#endif
#if ANY(SKR13, STOCK_2208) && DISABLED(SKR13_UART)
#if ENABLED(SKR13_2209)
#define X_DRIVER_TYPE TMC2209_STANDALONE
#define Y_DRIVER_TYPE TMC2209_STANDALONE
#define Z_DRIVER_TYPE TMC2209_STANDALONE
#define Z2_DRIVER_TYPE TMC2209_STANDALONE
#if DISABLED(E_8825)
#define E0_DRIVER_TYPE TMC2209_STANDALONE
#define E1_DRIVER_TYPE TMC2209_STANDALONE
#endif
#else
#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE
#define Z2_DRIVER_TYPE TMC2208_STANDALONE
#if DISABLED(E_8825)
#define E0_DRIVER_TYPE TMC2208_STANDALONE
#define E1_DRIVER_TYPE TMC2208_STANDALONE
#endif
#endif
#elif ENABLED(SKR13, SKR13_UART)
#if ENABLED(SKR13_2209)
#define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE TMC2209
#define Z_DRIVER_TYPE TMC2209
#define Z2_DRIVER_TYPE TMC2209
#if DISABLED(E_8825)
#define E0_DRIVER_TYPE TMC2209
#define E1_DRIVER_TYPE TMC2209
#endif
#else
#define X_DRIVER_TYPE TMC2208
#define Y_DRIVER_TYPE TMC2208
#define Z_DRIVER_TYPE TMC2208
#define Z2_DRIVER_TYPE TMC2208
#if DISABLED(E_8825)
#define E0_DRIVER_TYPE TMC2208
#define E1_DRIVER_TYPE TMC2208
#endif
#endif
#else
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#endif
//#define X_DRIVER_TYPE A4988
//#define Y_DRIVER_TYPE A4988
//#define Z_DRIVER_TYPE A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_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
@@ -780,7 +691,7 @@
*
* :[2,3,4,5,6,7]
*/
#define ENDSTOP_NOISE_THRESHOLD 2
//#define ENDSTOP_NOISE_THRESHOLD 2
//=============================================================================
//============================== Movement Settings ============================
@@ -805,41 +716,33 @@
/**
* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
* X, Y, Z, E0 [, E1[, E2...]]
*/
#if ENABLED(BondtechBMG)
#define EStepsmm 415
#elif ENABLED(CR10SPro_GearedExtruder)
#define EStepsmm 140
#else
#define EStepsmm 100.3
#endif
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 125.4 }
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, EStepsmm }
/**
* Default Max Feed Rate (mm/s)
* Override with M203
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 70 }
#define DEFAULT_MAX_FEEDRATE { 150, 150, 5, 75 }
#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
#if ENABLED(LIMITED_MAX_FR_EDITING)
#define MAX_FEEDRATE_EDIT_VALUES { 1000, 1000, 10, 150 } // ...or, set your own edit limits
#define MAX_FEEDRATE_EDIT_VALUES { 600, 600, 10, 50 } // ...or, set your own edit limits
#endif
/**
* Default Max Acceleration (change/s) change = mm/s
* (Maximum start speed for accelerated moves)
* Override with M201
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_MAX_ACCELERATION { 1500, 1500, 50, 2000 }
#define DEFAULT_MAX_ACCELERATION { 800, 500, 400, 4000 }
#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
#define MAX_ACCEL_EDIT_VALUES { 2500, 2500, 125, 5000 } // ...or, set your own edit limits
#define MAX_ACCEL_EDIT_VALUES { 6000, 6000, 200, 20000 } // ...or, set your own edit limits
#endif
/**
@@ -850,9 +753,9 @@
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1500 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
/**
* Default Jerk limits (mm/s)
@@ -884,7 +787,7 @@
* http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/
#if DISABLED(CLASSIC_JERK)
#define JUNCTION_DEVIATION_MM 0.06 // (mm) Distance from real junction edge
#define JUNCTION_DEVIATION_MM 0.04 // (mm) Distance from real junction edge
#endif
/**
@@ -952,6 +855,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.
*/
@@ -1018,19 +927,13 @@
*
* Specify a Probe position as { X, Y, Z }
*/
#if ENABLED(PetsfangMicroswiss)
#define NOZZLE_TO_PROBE_OFFSET { -48, -10, 0 }
#elif ENABLED(E3DV6)
#define NOZZLE_TO_PROBE_OFFSET { 36, 15, 0 }
#else
#define NOZZLE_TO_PROBE_OFFSET { 37, -10, 0 }
#endif
#define NOZZLE_TO_PROBE_OFFSET { -28, 8, -1.50 }
// Certain types of probes need to stay away from edges
#define MIN_PROBE_EDGE 5
#define MIN_PROBE_EDGE 10
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 5000
#define XY_PROBE_SPEED 8000
// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
@@ -1064,12 +967,12 @@
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
*/
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING 5 // Z position after probing is done
#define Z_PROBE_LOW_POINT -3 // Farthest distance below the trigger-point to go before stopping
#define Z_PROBE_LOW_POINT -5 // Farthest distance below the trigger-point to go before stopping
// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -20
@@ -1123,24 +1026,14 @@
// @section machine
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#if ANY(SKR13, STOCK_2208)
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#else
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#endif
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#if (ENABLED(BondtechBMG, CR10SPro_GearedExtruder) && DISABLED(SKR13)) || (DISABLED(BondtechBM, CR10SPro_GearedExtruderG) && ANY(SKR13, STOCK_2208))
#define INVERT_E0_DIR true
#else
#define INVERT_E0_DIR false
#endif
#define INVERT_E0_DIR true
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
@@ -1159,19 +1052,14 @@
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1
// @section machine
// The size of the print bed
#if ENABLED(SX2)
#define X_BED_SIZE 248
#define Y_BED_SIZE 238
#else
#define X_BED_SIZE 398
#define Y_BED_SIZE 390
#endif
#define X_BED_SIZE 400
#define Y_BED_SIZE 400
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
@@ -1179,11 +1067,8 @@
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#if ENABLED(SX2)
#define Z_MAX_POS 500
#else
#define Z_MAX_POS 250
#endif
#define Z_MAX_POS 450
/**
* Software Endstops
*
@@ -1221,21 +1106,13 @@
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
* By default the firmware assumes HIGH=FILAMENT PRESENT.
*/
#if ENABLED(FilamentSensorStd) || ENABLED(FilamentSensorLerdge)
#define FILAMENT_RUNOUT_SENSOR
#endif
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
#if ENABLED(FilamentSensorLerdge)
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#else
#define FIL_RUNOUT_INVERTING true // set to true to invert the logic of the sensor.
#endif
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
#define FIL_RUNOUT_INVERTING false // Set to true to invert the logic of the sensor.
#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
#define FIL_RUNOUT_PIN 2
// Set one or more commands to execute on filament runout.
// (After 'M412 H' Marlin will ask the host to handle the process.)
#define FILAMENT_RUNOUT_SCRIPT "M600"
@@ -1243,7 +1120,7 @@
// After a runout is detected, continue printing this length of filament
// before executing the runout script. Useful for a sensor at the end of
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
#define FILAMENT_RUNOUT_DISTANCE_MM 5
//#define FILAMENT_RUNOUT_DISTANCE_MM 25
#ifdef FILAMENT_RUNOUT_DISTANCE_MM
// Enable this option to use an encoder disc that toggles the runout pin
@@ -1293,11 +1170,8 @@
*/
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#if DISABLED(UBL)
#define AUTO_BED_LEVELING_BILINEAR
#else
#define AUTO_BED_LEVELING_UBL
#endif
//#define AUTO_BED_LEVELING_BILINEAR
#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
/**
@@ -1342,11 +1216,7 @@
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
// Set the number of grid points per dimension.
#if ENABLED(SX2)
#define GRID_MAX_POINTS_X 5
#else
#define GRID_MAX_POINTS_X 10
#endif
#define GRID_MAX_POINTS_X 3
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Probe along the Y axis, advancing X after each column
@@ -1378,7 +1248,7 @@
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
#define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed
#define MESH_INSET 5 // Set Mesh bounds as an inset region of the bed
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
@@ -1415,7 +1285,7 @@
#endif
// Add a menu item to move between bed corners for manual bed adjustment
//#define LEVEL_BED_CORNERS
#define LEVEL_BED_CORNERS
#if ENABLED(LEVEL_BED_CORNERS)
#define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling
@@ -1459,8 +1329,8 @@
#endif
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY 6000
#define HOMING_FEEDRATE_Z 360
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (4*60)
// Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS
@@ -1597,7 +1467,7 @@
#if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z_raise }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MIN_POS + 30), 10 }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 30), (Y_MIN_POS + 10), 5 }
#define NOZZLE_PARK_XY_FEEDRATE 100 // (mm/s) X and Y axes feedrate (also used for delta Z axis)
#define NOZZLE_PARK_Z_FEEDRATE 5 // (mm/s) Z axis feedrate (not used for delta printers)
#endif
@@ -1696,7 +1566,7 @@
*
* View the current statistics with M78.
*/
#define PRINTCOUNTER
//#define PRINTCOUNTER
//=============================================================================
//============================= LCD and SD support ============================
@@ -1763,7 +1633,7 @@
* This may be required to resolve "volume init" errors.
*/
//#define SPI_SPEED SPI_HALF_SPEED
#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
/**
@@ -1865,9 +1735,7 @@
//
// Note: Usually sold with a white PCB.
//
#if DISABLED(GRAPHICSLCD)
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#endif
#define REPRAP_DISCOUNT_SMART_CONTROLLER
//
// Original RADDS LCD Display+Encoder+SDCardReader
@@ -1907,7 +1775,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
@@ -2007,9 +1875,7 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
#if ENABLED(GRAPHICSLCD)
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#endif
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//
// ReprapWorld Graphical LCD
@@ -2083,7 +1949,7 @@
//
// 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)
@@ -2101,7 +1967,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
@@ -2168,10 +2034,10 @@
//#define MALYAN_LCD
//
// LulzBot Color Touch UI for FTDI EVE (FT800/FT810) displays
// Touch UI for FTDI EVE (FT800/FT810) displays
// See Configuration_adv.h for all configuration options.
//
//#define LULZBOT_TOUCH_UI
//#define TOUCH_UI_FTDI_EVE
//
// Third-party or vendor-customized controller interfaces.
+217 -164
View File
@@ -137,8 +137,8 @@
* THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
*/
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
#define THERMAL_PROTECTION_PERIOD 120 // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 10 // Degrees Celsius
#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops
#if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP)
@@ -157,22 +157,22 @@
* and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
* below 2.
*/
#define WATCH_TEMP_PERIOD 120 // Seconds
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
#define WATCH_TEMP_PERIOD 20 // Seconds
#define WATCH_TEMP_INCREASE 2 // Degrees Celsius
#endif
/**
* Thermal Protection parameters for the bed are just as above for hotends.
*/
#if ENABLED(THERMAL_PROTECTION_BED)
#define THERMAL_PROTECTION_BED_PERIOD 240 // Seconds
#define THERMAL_PROTECTION_BED_HYSTERESIS 4 // 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 240 // Seconds
#define WATCH_BED_TEMP_INCREASE 4 // Degrees Celsius
#define WATCH_BED_TEMP_PERIOD 60 // Seconds
#define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius
#endif
/**
@@ -197,6 +197,56 @@
#define DEFAULT_Kc (100) //heating power=Kc*(e_speed)
#define LPQ_MAX_LEN 50
#endif
/**
* Add an experimental additional term to the heater power, proportional to the fan speed.
* A well-chosen Kf value should add just enough power to compensate for power-loss from the cooling fan.
* You can either just add a constant compensation with the DEFAULT_Kf value
* or follow the instruction below to get speed-dependent compensation.
*
* Constant compensation (use only with fanspeeds of 0% and 100%)
* ---------------------------------------------------------------------
* A good starting point for the Kf-value comes from the calculation:
* kf = (power_fan * eff_fan) / power_heater * 255
* where eff_fan is between 0.0 and 1.0, based on fan-efficiency and airflow to the nozzle / heater.
*
* Example:
* Heater: 40W, Fan: 0.1A * 24V = 2.4W, eff_fan = 0.8
* Kf = (2.4W * 0.8) / 40W * 255 = 12.24
*
* Fan-speed dependent compensation
* --------------------------------
* 1. To find a good Kf value, set the hotend temperature, wait for it to settle, and enable the fan (100%).
* Make sure PID_FAN_SCALING_LIN_FACTOR is 0 and PID_FAN_SCALING_ALTERNATIVE_DEFINITION is not enabled.
* If you see the temperature drop repeat the test, increasing the Kf value slowly, until the temperature
* drop goes away. If the temperature overshoots after enabling the fan, the Kf value is too big.
* 2. Note the Kf-value for fan-speed at 100%
* 3. Determine a good value for PID_FAN_SCALING_MIN_SPEED, which is around the speed, where the fan starts moving.
* 4. Repeat step 1. and 2. for this fan speed.
* 5. Enable PID_FAN_SCALING_ALTERNATIVE_DEFINITION and enter the two identified Kf-values in
* PID_FAN_SCALING_AT_FULL_SPEED and PID_FAN_SCALING_AT_MIN_SPEED. Enter the minimum speed in PID_FAN_SCALING_MIN_SPEED
*/
//#define PID_FAN_SCALING
#if ENABLED(PID_FAN_SCALING)
//#define PID_FAN_SCALING_ALTERNATIVE_DEFINITION
#if ENABLED(PID_FAN_SCALING_ALTERNATIVE_DEFINITION)
// The alternative definition is used for an easier configuration.
// Just figure out Kf at fullspeed (255) and PID_FAN_SCALING_MIN_SPEED.
// DEFAULT_Kf and PID_FAN_SCALING_LIN_FACTOR are calculated accordingly.
#define PID_FAN_SCALING_AT_FULL_SPEED 13.0 //=PID_FAN_SCALING_LIN_FACTOR*255+DEFAULT_Kf
#define PID_FAN_SCALING_AT_MIN_SPEED 6.0 //=PID_FAN_SCALING_LIN_FACTOR*PID_FAN_SCALING_MIN_SPEED+DEFAULT_Kf
#define PID_FAN_SCALING_MIN_SPEED 10.0 // Minimum fan speed at which to enable PID_FAN_SCALING
#define DEFAULT_Kf (255.0*PID_FAN_SCALING_AT_MIN_SPEED-PID_FAN_SCALING_AT_FULL_SPEED*PID_FAN_SCALING_MIN_SPEED)/(255.0-PID_FAN_SCALING_MIN_SPEED)
#define PID_FAN_SCALING_LIN_FACTOR (PID_FAN_SCALING_AT_FULL_SPEED-DEFAULT_Kf)/255.0
#else
#define PID_FAN_SCALING_LIN_FACTOR (0) // Power loss due to cooling = Kf * (fan_speed)
#define DEFAULT_Kf 10 // A constant value added to the PID-tuner
#define PID_FAN_SCALING_MIN_SPEED 10 // Minimum fan speed at which to enable PID_FAN_SCALING
#endif
#endif
#endif
/**
@@ -290,6 +340,9 @@
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
//#define FAN_KICKSTART_TIME 100
// Some coolers may require a non-zero "off" state.
//#define FAN_OFF_PWM 1
/**
* PWM Fan Scaling
*
@@ -440,9 +493,7 @@
#endif
#endif
#if ENABLED(DUAL_Z)
#define Z_DUAL_STEPPER_DRIVERS
#endif
//#define Z_DUAL_STEPPER_DRIVERS
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
//#define Z_DUAL_ENDSTOPS
#if ENABLED(Z_DUAL_ENDSTOPS)
@@ -520,16 +571,16 @@
// Homing hits each endstop, retracts by these distances, then does a slower bump.
#define X_HOME_BUMP_MM 5
#define Y_HOME_BUMP_MM 5
#define Z_HOME_BUMP_MM 5
#define Z_HOME_BUMP_MM 2
#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially
#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially
//#define HOMING_BACKOFF_MM { 2, 2, 2 } // (mm) Move away from the endstops after homing
// When G28 is called, this option will make Y home before X
//#define HOME_Y_BEFORE_X
// Enable this if X or Y can't home without homing the other axis first.
#define CODEPENDENT_XY_HOMING
//#define CODEPENDENT_XY_HOMING
#if ENABLED(BLTOUCH)
/**
@@ -602,16 +653,10 @@
* Z Steppers Auto-Alignment
* Add the G34 command to align multiple Z steppers using a bed probe.
*/
#if ENABLED(DUAL_Z)
#define Z_STEPPER_AUTO_ALIGN
#endif
//#define Z_STEPPER_AUTO_ALIGN
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
// Define probe X and Y positions for Z1, Z2 [, Z3]
#if ENABLED(SX2)
#define Z_STEPPER_ALIGN_XY { { 42, 100 }, { 225, 100 } }
#else
#define Z_STEPPER_ALIGN_XY { { 50, 200 }, { 350, 200 } }
#endif
#define Z_STEPPER_ALIGN_XY { { 10, 190 }, { 100, 10 }, { 190, 190 } }
// Provide Z stepper positions for more rapid convergence in bed alignment.
// Currently requires triple stepper drivers.
@@ -629,12 +674,13 @@
#endif
// Set number of iterations to align
#define Z_STEPPER_ALIGN_ITERATIONS 6
#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 15 // (%) Maximum incline G34 will handle
#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
@@ -645,7 +691,7 @@
#define AXIS_RELATIVE_MODES { false, false, false, false }
// Add a Duplicate option for well-separated conjoined nozzles
//#define MULTI_NOZZLE_DUPLICATION
#define MULTI_NOZZLE_DUPLICATION
// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
#define INVERT_X_STEP_PIN false
@@ -775,9 +821,8 @@
* vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the
* lowest stepping frequencies.
*/
#if ENABLED(SKR13)
#define ADAPTIVE_STEP_SMOOTHING
#endif
//#define ADAPTIVE_STEP_SMOOTHING
/**
* Custom Microstepping
* Override as-needed for your setup. Up to 3 MS pins are supported.
@@ -871,7 +916,7 @@
#if HAS_LCD_MENU
// Include a page of printer information in the LCD Main Menu
#define LCD_INFO_MENU
//#define LCD_INFO_MENU
#if ENABLED(LCD_INFO_MENU)
//#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages
#endif
@@ -899,7 +944,7 @@
#endif // HAS_LCD_MENU
// Scroll a longer status message into view
#define STATUS_MESSAGE_SCROLLING
//#define STATUS_MESSAGE_SCROLLING
// On the Info Screen, display XY with one decimal place when possible
//#define LCD_DECIMAL_SMALL_XY
@@ -908,15 +953,22 @@
//#define LCD_TIMEOUT_TO_STATUS 15000
// Add an 'M73' G-code to set the current percentage
//#define LCD_SET_PROGRESS_MANUALLY
#define LCD_SET_PROGRESS_MANUALLY
#if HAS_PRINT_PROGRESS
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits (Graphical LCD only)
//#define SHOW_REMAINING_TIME // Display estimated time to completion (Graphical LCD only)
// Show the E position (filament used) during printing
//#define LCD_SHOW_E_TOTAL
#if HAS_GRAPHICAL_LCD && HAS_PRINT_PROGRESS
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
//#define SHOW_REMAINING_TIME // Display estimated time to completion
#if ENABLED(SHOW_REMAINING_TIME)
//#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
#endif
#endif
#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
#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
#define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message
@@ -956,10 +1008,10 @@
* an option on the LCD screen to continue the print from the last-known
* point in the file.
*/
#if ENABLED(SKR13)
#define POWER_LOSS_RECOVERY
#endif
//#define POWER_LOSS_RECOVERY
#if ENABLED(POWER_LOSS_RECOVERY)
//#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_STATE HIGH // State of pin indicating power loss
//#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate
@@ -1010,10 +1062,10 @@
#endif
// This allows hosts to request long names for files and folders with M33
#define LONG_FILENAME_HOST_SUPPORT
//#define LONG_FILENAME_HOST_SUPPORT
// Enable this option to scroll long filenames in the SD card menu
#define SCROLL_LONG_FILENAMES
//#define SCROLL_LONG_FILENAMES
// Leave the heaters on after Stop Print (not recommended!)
//#define SD_ABORT_NO_COOLDOWN
@@ -1035,7 +1087,7 @@
/**
* Auto-report SdCard status with M27 S<seconds>
*/
#define AUTO_REPORT_SD_STATUS
//#define AUTO_REPORT_SD_STATUS
/**
* Support for USB thumb drives using an Arduino USB Host Shield or
@@ -1123,7 +1175,7 @@
*/
#if HAS_GRAPHICAL_LCD
// Show SD percentage next to the progress bar
#define DOGM_SD_PERCENT
//#define DOGM_SD_PERCENT
// Enable to save many cycles by drawing a hollow frame on the Info Screen
#define XYZ_HOLLOW_FRAME
@@ -1133,7 +1185,7 @@
// A bigger font is available for edit items. Costs 3120 bytes of PROGMEM.
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
#define USE_BIG_EDIT_FONT
//#define USE_BIG_EDIT_FONT
// A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM.
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
@@ -1184,18 +1236,17 @@
//#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of PROGMEM.
// Frivolous Game Options
#if ENABLED(SKR13)
#define MARLIN_BRICKOUT
#define MARLIN_INVADERS
#define MARLIN_SNAKE
#endif
//#define MARLIN_BRICKOUT
//#define MARLIN_INVADERS
//#define MARLIN_SNAKE
//#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu
#endif // HAS_GRAPHICAL_LCD
//
// Lulzbot Touch UI
// Touch UI for the FTDI Embedded Video Engine (EVE)
//
#if ENABLED(LULZBOT_TOUCH_UI)
#if ENABLED(TOUCH_UI_FTDI_EVE)
// Display board used
//#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240)
//#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272)
@@ -1273,6 +1324,9 @@
// Output extra debug info for Touch UI events
//#define TOUCH_UI_DEBUG
// Developer menu (accessed by touching "About Printer" copyright text)
//#define TOUCH_UI_DEVELOPER_MENU
#endif
//
@@ -1317,9 +1371,10 @@
//#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
#define BABYSTEP_MULTIPLICATOR 10 // Babysteps are very small. Increase for faster motion.
#define BABYSTEP_MULTIPLICATOR_Z 10 // Babysteps are very small. Increase for faster motion.
#define BABYSTEP_MULTIPLICATOR_XY 1
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
// Note: Extra time may be added to mitigate controller latency.
@@ -1334,10 +1389,8 @@
#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets
#if ENABLED(GRAPHICSLCD)
#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
#endif
#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets
//#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
#endif
#endif
@@ -1359,12 +1412,10 @@
* See http://marlinfw.org/docs/features/lin_advance.html for full instructions.
* Mention @Sebastianv650 on GitHub to alert the author of any issues.
*/
#if E0_DRIVER_TYPE != TMC2208_STANDALONE
#define LIN_ADVANCE
#endif
//#define LIN_ADVANCE
#if ENABLED(LIN_ADVANCE)
//#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants
#define LIN_ADVANCE_K 0.0 // Unit: mm compression per 1mm/s extruder speed
#define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed
//#define LA_DEBUG // If enabled, this will generate debug information output over USB.
#endif
@@ -1418,9 +1469,7 @@
* Repeatedly attempt G29 leveling until it succeeds.
* Stop after G29_MAX_RETRIES attempts.
*/
#if DISABLED(UBL)
#define G29_RETRY_AND_RECOVER
#endif
//#define G29_RETRY_AND_RECOVER
#if ENABLED(G29_RETRY_AND_RECOVER)
#define G29_MAX_RETRIES 3
#define G29_HALT_ON_FAILURE
@@ -1429,7 +1478,7 @@
* between attempts, and after the maximum number of retries have been tried.
*/
#define G29_SUCCESS_COMMANDS "M117 Bed leveling done."
#define G29_RECOVER_COMMANDS "M117 Probe failed.\nG28\n"
#define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0"
#define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1"
#endif
@@ -1449,7 +1498,7 @@
#endif
// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
#define BEZIER_CURVE_SUPPORT
//#define BEZIER_CURVE_SUPPORT
/**
* G38 Probe Target
@@ -1499,12 +1548,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.
*/
@@ -1579,7 +1628,7 @@
// Therefore some clients abort after 30 seconds in a timeout.
// Some other clients start sending commands while receiving a 'wait'.
// This "wait" is only sent when the buffer is empty. 1 second is a good value here.
#define NO_TIMEOUTS 1000 // Milliseconds
//#define NO_TIMEOUTS 1000 // Milliseconds
// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
#define ADVANCED_OK
@@ -1614,7 +1663,7 @@
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*
*/
#define FWRETRACT
//#define FWRETRACT
#if ENABLED(FWRETRACT)
#define FWRETRACT_AUTORETRACT // Override slicer retractions
#if ENABLED(FWRETRACT_AUTORETRACT)
@@ -1641,12 +1690,12 @@
#if EXTRUDERS > 1
// 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
#define TOOLCHANGE_NO_RETURN // Never return to the previous position on tool-change
// Retract and prime filament on tool-change
//#define TOOLCHANGE_FILAMENT_SWAP
#define TOOLCHANGE_FILAMENT_SWAP
#if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
#define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm)
#define TOOLCHANGE_FIL_SWAP_LENGTH 6 // (mm)
#define TOOLCHANGE_FIL_EXTRA_PRIME 2 // (mm)
#define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m)
#define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m)
@@ -1673,7 +1722,7 @@
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/
#define ADVANCED_PAUSE_FEATURE
//#define ADVANCED_PAUSE_FEATURE
#if ENABLED(ADVANCED_PAUSE_FEATURE)
#define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate.
#define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract.
@@ -1699,22 +1748,22 @@
// Filament can be extruded repeatedly from the Filament Change menu
// until extrusion is consistent, and to purge old filament.
#define ADVANCED_PAUSE_RESUME_PRIME 0 // (mm) Extra distance to prime nozzle after returning from park.
#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused.
//#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 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.
#define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change.
#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
//#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
//#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
//#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
#endif
// @section tmc
@@ -1831,94 +1880,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256
#define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_MICROSTEPS 16 // 0..256
#define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif
#if AXIS_IS_TMC(X2)
#define X2_CURRENT 800
#define X2_MICROSTEPS 16
#define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#define X2_CURRENT 800
#define X2_CURRENT_HOME X2_CURRENT
#define X2_MICROSTEPS 16
#define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 800
#define Y_MICROSTEPS 16
#define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#define Y_CURRENT 800
#define Y_CURRENT_HOME Y_CURRENT
#define Y_MICROSTEPS 16
#define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800
#define Y2_MICROSTEPS 16
#define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#define Y2_CURRENT 800
#define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_MICROSTEPS 16
#define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 800
#define Z_MICROSTEPS 16
#define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#define Z_CURRENT 800
#define Z_CURRENT_HOME Z_CURRENT
#define Z_MICROSTEPS 16
#define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800
#define Z2_MICROSTEPS 16
#define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#define Z2_CURRENT 800
#define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_MICROSTEPS 16
#define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800
#define Z3_MICROSTEPS 16
#define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#define Z3_CURRENT 800
#define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_MICROSTEPS 16
#define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 800
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11
#define E0_CHAIN_POS -1
#define E0_CURRENT 800
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11
#define E0_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E1)
#define E1_CURRENT 800
#define E1_MICROSTEPS 16
#define E1_RSENSE 0.11
#define E1_CHAIN_POS -1
#define E1_CURRENT 800
#define E1_MICROSTEPS 16
#define E1_RSENSE 0.11
#define E1_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E2)
#define E2_CURRENT 800
#define E2_MICROSTEPS 16
#define E2_RSENSE 0.11
#define E2_CHAIN_POS -1
#define E2_CURRENT 800
#define E2_MICROSTEPS 16
#define E2_RSENSE 0.11
#define E2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E3)
#define E3_CURRENT 800
#define E3_MICROSTEPS 16
#define E3_RSENSE 0.11
#define E3_CHAIN_POS -1
#define E3_CURRENT 800
#define E3_MICROSTEPS 16
#define E3_RSENSE 0.11
#define E3_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E4)
#define E4_CURRENT 800
#define E4_MICROSTEPS 16
#define E4_RSENSE 0.11
#define E4_CHAIN_POS -1
#define E4_CURRENT 800
#define E4_MICROSTEPS 16
#define E4_RSENSE 0.11
#define E4_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E5)
#define E5_CURRENT 800
#define E5_MICROSTEPS 16
#define E5_RSENSE 0.11
#define E5_CHAIN_POS -1
#define E5_CURRENT 800
#define E5_MICROSTEPS 16
#define E5_RSENSE 0.11
#define E5_CHAIN_POS -1
#endif
/**
@@ -2006,7 +2062,7 @@
* Define you own with
* { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
*/
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V
#define CHOPPER_TIMING CHOPPER_DEFAULT_12V
/**
* Monitor Trinamic drivers for error conditions,
@@ -2034,7 +2090,7 @@
* STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
* M913 X/Y/Z/E to live tune the setting
*/
#define HYBRID_THRESHOLD
//#define HYBRID_THRESHOLD
#define X_HYBRID_THRESHOLD 100 // [mm/s]
#define X2_HYBRID_THRESHOLD 100
@@ -2112,8 +2168,8 @@
*
* Example:
* #define TMC_ADV() { \
* stepperX.diag0_temp_prewarn(1); \
* stepperY.interpolate(0); \
* stepperX.diag0_otpw(1); \
* stepperY.intpol(0); \
* }
*/
#define TMC_ADV() { }
@@ -2528,37 +2584,27 @@
/**
* User-defined menu items that execute custom GCode
*/
#define CUSTOM_USER_MENUS
//#define CUSTOM_USER_MENUS
#if ENABLED(CUSTOM_USER_MENUS)
//#define USER_SCRIPT_DONE "M117 User Script Done"
//#define CUSTOM_USER_MENU_TITLE "Custom Commands"
#define USER_SCRIPT_DONE "M117 User Script Done"
#define USER_SCRIPT_AUDIBLE_FEEDBACK
#define USER_SCRIPT_RETURN // Return to status screen after a script
#define CUSTOM_USER_MENU_TITLE "Leveling Tools"
//#define USER_SCRIPT_RETURN // Return to status screen after a script
#define CommBedTmp "65"
#if ENABLED(DUAL_Z)
#define ALIGN_CMD "G34I20\n"
#else
#define ALIGN_CMD ""
#endif
#define USER_DESC_1 "Setup"
#if (ENABLED(UBL))
#define USER_GCODE_1 "M190S" CommBedTmp"\nG28\n" ALIGN_CMD "G29P1\nG29S1\nG29S0\n G29F0.0\nG29A\nG28\nM109S225\nG1X150Y150\nG1Z0\nM500\nM400\nM77\nM117 Set Z Offset"
#else
#define USER_GCODE_1 "M190S" CommBedTmp"\n M117 Probing....\nM104S225\nG28\n" ALIGN_CMD "G29\nM400\nG28\nM420S1\nM109S225\nG1X100Y100\nG1Z0\nM500\nM400\nM77\nM117 Set Z Offset"
#endif
#define USER_DESC_1 "Home & UBL Info"
#define USER_GCODE_1 "G28\nG29 W"
#define USER_DESC_2 "PID Tune"
#define USER_GCODE_2 "M106 S128 \n M303 C8 S225 E0 U \n M500 \n M117 PID Tune Done"
#define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL
#define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)
#define USER_DESC_3 "Prep for Z Adjust"
#define USER_GCODE_3 "M190 S" CommBedTmp" \n M104 S235 \n G28 \n G29 L1 \n G1 X100 Y 100 \n G1 Z0"
#define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL
#define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND)
#define USER_DESC_4 "Store Settings"
#define USER_GCODE_4 "M500\nM117 Settings Stored"
#define USER_DESC_4 "Heat Bed/Home/Level"
#define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"
//#define USER_DESC_5 "Run Mesh Validation"
//#define USER_GCODE_5 "G26"
#define USER_DESC_5 "Home & Info"
#define USER_GCODE_5 "G28\nM503"
#endif
/**
@@ -2580,6 +2626,13 @@
#define HOST_PROMPT_SUPPORT
#endif
/**
* Cancel Objects
*
* Implement M486 to allow Marlin to skip objects
*/
#define CANCEL_OBJECTS
/**
* I2C position encoders for closed loop control.
* Developed by Chris Barr at Aus3D.
+8 -1
View File
@@ -92,6 +92,9 @@ U8GLIB ?= 1
# this defines whether to include the Trinamic TMCStepper library
TMC ?= 1
# this defines whether to include the AdaFruit NeoPixel library
NEOPIXEL ?= 0
############
# Try to automatically determine whether RELOC_WORKAROUND is needed based
# on GCC versions:
@@ -185,7 +188,7 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1109)
else ifeq ($(HARDWARE_MOTHERBOARD),1110)
# zrib V2.0 control board (Chinese knock off RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1111)
# Bigtreetech or BIQU KFB2.0
# BigTreeTech or BIQU KFB2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1112)
# Felix 2.0+ Electronics Board (RAMPS like)
else ifeq ($(HARDWARE_MOTHERBOARD),1113)
@@ -255,6 +258,10 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1143)
else ifeq ($(HARDWARE_MOTHERBOARD),1144)
# ADIMLab Gantry v2
else ifeq ($(HARDWARE_MOTHERBOARD),1145)
# BIQU Tango V1
else ifeq ($(HARDWARE_MOTHERBOARD),1146)
# MKS GEN L V2
else ifeq ($(HARDWARE_MOTHERBOARD),1147)
#
# RAMBo and derivatives
+6 -6
View File
@@ -28,25 +28,25 @@
/**
* Marlin release version identifier
*/
#define SHORT_BUILD_VERSION "2.0.x_SX4I"
//#define SHORT_BUILD_VERSION "bugfix-2.0.x"
/**
* Verbose version identifier which should contain a reference to the location
* from where the binary was downloaded or the source code was compiled.
*/
#define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " TM3D"
//#define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " (Github)"
/**
* The STRING_DISTRIBUTION_DATE represents when the binary file was built,
* here we define this default string as the date where the latest release
* version was tagged.
*/
#define STRING_DISTRIBUTION_DATE "2019-10-19"
//#define STRING_DISTRIBUTION_DATE "2019-07-10"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.
*/
#define MACHINE_NAME "TM3D SX4"
//#define MACHINE_NAME "3D Printer"
/**
* The SOURCE_CODE_URL is the location where users will find the Marlin Source
@@ -54,7 +54,7 @@
* has a distinct Github fork— the Source Code URL should just be the main
* Marlin repository.
*/
#define SOURCE_CODE_URL "https://github.com/InsanityAutomation/Marlin/tree/TM_SX4_2.0"
//#define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin"
/**
* Default generic printer UUID.
@@ -65,7 +65,7 @@
* The WEBSITE_URL is the location where users can get more information such as
* documentation about a specific Marlin release.
*/
#define WEBSITE_URL "tinymachines3d.com"
//#define WEBSITE_URL "http://marlinfw.org"
/**
* Set the vendor info the serial USB interface, if changable
-93
View File
@@ -1,93 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 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/>.
*
*/
/**
* Custom Bitmap for splashscreen
*
* You may use one of the following tools to generate the C++ bitmap array from
* a black and white image:
*
* - http://www.marlinfw.org/tools/u8glib/converter.html
* - http://www.digole.com/tools/PicturetoC_Hex_converter.php
*/
#define CUSTOM_BOOTSCREEN_TIMEOUT 2500
#define CUSTOM_BOOTSCREEN_BMPWIDTH 128
#define CUSTOM_BOOTSCREEN_INVERTED
const unsigned char custom_start_bmp[] PROGMEM = {
B11111101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,
B11111110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,
B11111100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,
B11111100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,
B11111110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,
B11111100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000000,B00000001,B11110000,B00111111,
B11111110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000000,B00000010,B00001000,B00011111,
B11111100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000000,B00000101,B00000100,B00111111,
B11111110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000000,B00001010,B00000010,B00011111,
B11111100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000000,B00010101,B00000001,B00111111,
B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000000,B00011000,B00000001,B00011111,
B11111100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000000,B00010100,B00000001,B00111111,
B11111110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000000,B00011000,B00000001,B00011111,
B11111100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B00010101,B00000001,B00111111,
B11111110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101010,B00001010,B00000010,B00011111,
B11111100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010001,B00000101,B00000100,B00111111,
B11111110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100001,B00000010,B10001000,B00011111,
B11111100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010001,B00000001,B11110000,B00111111,
B11111110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101010,B00000000,B00000000,B00011111,
B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00000000,B00000000,B00111111,
B11111110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,
B11111100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,
B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111111,B11111111,B11111111,B10011111,
B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010101,B01010101,B01010101,B10111111,
B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000001,B00000100,B00010001,B10111111,
B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000001,B00000100,B00010001,B10111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010101,B01010101,B01010101,B10111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111111,B11111111,B11111111,B10011111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11100000,B00101110,B11111011,B01111101,B11111011,B11111011,B11001111,B11000001,B11011111,B10111011,B00111110,B11000000,B11100001,B11111110,B00111100,B00011111,
B11111101,B11101110,B01111011,B00111001,B11111001,B11110011,B11001111,B10011110,B11011111,B10111011,B00111110,B11011111,B11011110,B11111100,B11011101,B11100111,
B11111101,B11101110,B00111011,B10111011,B11111001,B11101011,B11010111,B10111111,B01011111,B10111011,B01011110,B11011111,B11011110,B11111101,B11101101,B11110111,
B11111101,B11101110,B10111011,B11010011,B11111010,B11101011,B10110111,B00111111,B11011111,B10111011,B01001110,B11011111,B11011111,B11111111,B11001101,B11110011,
B11111101,B11101110,B11011011,B11000111,B11111010,B11101011,B10111011,B01111111,B11000000,B00111011,B01101110,B11000000,B11100011,B11111111,B00011101,B11110011,
B11111101,B11101110,B11001011,B11101111,B11111010,B11011011,B10111011,B01111111,B11011111,B10111011,B01100110,B11011111,B11111000,B11111111,B11001101,B11110011,
B11111101,B11101110,B11101011,B11101111,B11111011,B01011011,B00000011,B00111111,B01011111,B10111011,B01110110,B11011111,B11111110,B01111111,B11101101,B11110011,
B11111101,B11101110,B11110011,B11101111,B11111011,B01011011,B01111001,B10111110,B11011111,B10111011,B01111010,B11011111,B11011110,B01111101,B11101101,B11110111,
B11111101,B11101110,B11110011,B11101111,B11111011,B10111010,B11111101,B10011110,B11011111,B10111011,B01111100,B11011111,B11011110,B11111101,B11001101,B11100111,
B11111101,B11101110,B11111011,B11101111,B11111011,B10111010,B11111101,B11000001,B11011111,B10111011,B01111110,B11000000,B11100000,B11111110,B00011100,B00011111
};
+2
View File
@@ -25,6 +25,8 @@
#include HAL_PATH(.,HAL.h)
#define HAL_ADC_RANGE _BV(HAL_ADC_RESOLUTION)
inline void watchdog_refresh() {
#if ENABLED(USE_WATCHDOG)
HAL_watchdog_refresh();
+10 -1
View File
@@ -25,7 +25,7 @@
#include "math.h"
#ifdef USBCON
#include "HardwareSerial.h"
#include <HardwareSerial.h>
#else
#define HardwareSerial_h // Hack to prevent HardwareSerial.h header inclusion
#include "MarlinSerial.h"
@@ -38,6 +38,14 @@
#include <avr/interrupt.h>
#include <avr/io.h>
#ifndef pgm_read_ptr
// Compatibility for avr-libc 1.8.0-4.1 included with Ubuntu for
// Windows Subsystem for Linux on Windows 10 as of 10/18/2019
#define pgm_read_ptr_far(address_long) (void*)__ELPM_word((uint32_t)(address_long))
#define pgm_read_ptr_near(address_short) (void*)__LPM_word((uint16_t)(address_short))
#define pgm_read_ptr(address_short) pgm_read_ptr_near(address_short)
#endif
// ------------------------
// Defines
// ------------------------
@@ -357,6 +365,7 @@ inline void HAL_adc_init() {
#define HAL_START_ADC(pin) ADCSRB = 0; SET_ADMUX_ADCSRA(pin)
#endif
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() ADC
#define HAL_ADC_READY() !TEST(ADCSRA, ADSC)
+51 -35
View File
@@ -46,39 +46,55 @@ void endstop_ISR() { endstops.update(); }
/**
* Patch for pins_arduino.h (...\Arduino\hardware\arduino\avr\variants\mega\pins_arduino.h)
*
* These macros for the Arduino MEGA do not include the two connected pins on Port J (D13, D14).
* These macros for the Arduino MEGA do not include the two connected pins on Port J (D14, D15).
* So we extend them here because these are the normal pins for Y_MIN and Y_MAX on RAMPS.
* There are more PCI-enabled processor pins on Port J, but they are not connected to Arduino MEGA.
*/
#if defined(ARDUINO_AVR_MEGA2560) || defined(ARDUINO_AVR_MEGA)
#define digitalPinHasPCICR(p) (WITHIN(p, 10, 15) || WITHIN(p, 50, 53) || WITHIN(p, 62, 69))
#undef digitalPinToPCICR
#define digitalPinToPCICR(p) ( WITHIN(p, 10, 15) || \
WITHIN(p, 50, 53) || \
WITHIN(p, 62, 69) ? &PCICR : nullptr )
#define digitalPinToPCICR(p) (digitalPinHasPCICR(p) ? (&PCICR) : nullptr)
#undef digitalPinToPCICRbit
#define digitalPinToPCICRbit(p) ( WITHIN(p, 10, 13) || WITHIN(p, 50, 53) ? 0 : \
WITHIN(p, 14, 15) ? 1 : \
WITHIN(p, 62, 69) ? 2 : \
0 )
#define digitalPinToPCICRbit(p) (WITHIN(p, 10, 13) || WITHIN(p, 50, 53) ? 0 : \
WITHIN(p, 14, 15) ? 1 : \
WITHIN(p, 62, 69) ? 2 : \
0)
#undef digitalPinToPCMSK
#define digitalPinToPCMSK(p) ( WITHIN(p, 10, 13) || WITHIN(p, 50, 53) ? &PCMSK0 : \
WITHIN(p, 14, 15) ? &PCMSK1 : \
WITHIN(p, 62, 69) ? &PCMSK2 : \
nullptr )
#define digitalPinToPCMSK(p) (WITHIN(p, 10, 13) || WITHIN(p, 50, 53) ? (&PCMSK0) : \
WITHIN(p, 14, 15) ? (&PCMSK1) : \
WITHIN(p, 62, 69) ? (&PCMSK2) : \
nullptr)
#undef digitalPinToPCMSKbit
#define digitalPinToPCMSKbit(p) ( WITHIN(p, 10, 13) ? ((p) - 6) : \
(p) == 14 || (p) == 51 ? 2 : \
(p) == 15 || (p) == 52 ? 1 : \
(p) == 50 ? 3 : \
(p) == 53 ? 0 : \
WITHIN(p, 62, 69) ? ((p) - 62) : \
0 )
#define digitalPinToPCMSKbit(p) (WITHIN(p, 10, 13) ? ((p) - 6) : \
(p) == 14 || (p) == 51 ? 2 : \
(p) == 15 || (p) == 52 ? 1 : \
(p) == 50 ? 3 : \
(p) == 53 ? 0 : \
WITHIN(p, 62, 69) ? ((p) - 62) : \
0)
#elif defined(__AVR_ATmega164A__) || defined(__AVR_ATmega164P__) || defined(__AVR_ATmega324A__) || \
defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega324PB__) || \
defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284__) || \
defined(__AVR_ATmega1284P__)
#define digitalPinHasPCICR(p) WITHIN(p, 0, NUM_DIGITAL_PINS)
#else
#error "Unsupported AVR variant!"
#endif
// Install Pin change interrupt for a pin. Can be called multiple times.
void pciSetup(const int8_t pin) {
if (digitalPinToPCMSK(pin) != nullptr) {
if (digitalPinHasPCICR(pin)) {
SBI(*digitalPinToPCMSK(pin), digitalPinToPCMSKbit(pin)); // enable pin
SBI(PCIFR, digitalPinToPCICRbit(pin)); // clear any outstanding interrupt
SBI(PCICR, digitalPinToPCICRbit(pin)); // enable interrupt for the group
@@ -108,7 +124,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MAX_PIN);
#else
static_assert(digitalPinToPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable");
pciSetup(X_MAX_PIN);
#endif
#endif
@@ -116,7 +132,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MIN_PIN);
#else
static_assert(digitalPinToPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
pciSetup(X_MIN_PIN);
#endif
#endif
@@ -124,7 +140,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MAX_PIN);
#else
static_assert(digitalPinToPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable");
pciSetup(Y_MAX_PIN);
#endif
#endif
@@ -132,7 +148,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MIN_PIN);
#else
static_assert(digitalPinToPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable");
pciSetup(Y_MIN_PIN);
#endif
#endif
@@ -140,7 +156,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MAX_PIN);
#else
static_assert(digitalPinToPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable");
pciSetup(Z_MAX_PIN);
#endif
#endif
@@ -148,7 +164,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PIN);
#else
static_assert(digitalPinToPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable");
pciSetup(Z_MIN_PIN);
#endif
#endif
@@ -156,7 +172,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MAX_PIN);
#else
static_assert(digitalPinToPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable");
pciSetup(X2_MAX_PIN);
#endif
#endif
@@ -164,7 +180,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MIN_PIN);
#else
static_assert(digitalPinToPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable");
pciSetup(X2_MIN_PIN);
#endif
#endif
@@ -172,7 +188,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MAX_PIN);
#else
static_assert(digitalPinToPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable");
pciSetup(Y2_MAX_PIN);
#endif
#endif
@@ -180,7 +196,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MIN_PIN);
#else
static_assert(digitalPinToPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable");
pciSetup(Y2_MIN_PIN);
#endif
#endif
@@ -188,7 +204,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MAX_PIN);
#else
static_assert(digitalPinToPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable");
pciSetup(Z2_MAX_PIN);
#endif
#endif
@@ -196,7 +212,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MIN_PIN);
#else
static_assert(digitalPinToPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable");
pciSetup(Z2_MIN_PIN);
#endif
#endif
@@ -204,7 +220,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z3_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MAX_PIN);
#else
static_assert(digitalPinToPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable");
pciSetup(Z3_MAX_PIN);
#endif
#endif
@@ -212,7 +228,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z3_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MIN_PIN);
#else
static_assert(digitalPinToPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable");
pciSetup(Z3_MIN_PIN);
#endif
#endif
@@ -220,7 +236,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MIN_PROBE_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PROBE_PIN);
#else
static_assert(digitalPinToPCICR(Z_MIN_PROBE_PIN), "Z_MIN_PROBE_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MIN_PROBE_PIN), "Z_MIN_PROBE_PIN is not interrupt-capable");
pciSetup(Z_MIN_PROBE_PIN);
#endif
#endif
+1 -1
View File
@@ -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
/**
+7
View File
@@ -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)
+3 -2
View File
@@ -40,7 +40,7 @@
// Define MYSERIAL0/1 before MarlinSerial includes!
#if SERIAL_PORT == -1
#define MYSERIAL0 Serial1
#define MYSERIAL0 customizedSerial1
#elif SERIAL_PORT == 0
#define MYSERIAL0 Serial
#elif SERIAL_PORT == 1
@@ -58,7 +58,7 @@
#error "SERIAL_PORT_2 must be different from SERIAL_PORT. Please update your configuration."
#endif
#if SERIAL_PORT_2 == -1
#define MYSERIAL1 Serial1
#define MYSERIAL1 customizedSerial2
#elif SERIAL_PORT_2 == 0
#define MYSERIAL1 Serial
#elif SERIAL_PORT_2 == 1
@@ -133,6 +133,7 @@ extern uint16_t HAL_adc_result; // result of last ADC conversion
inline void HAL_adc_init() {}//todo
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
+2 -2
View File
@@ -444,8 +444,8 @@ typedef struct
#define ENABLE 1
#ifndef __cplusplus
#ifndef __bool_true_false_are_defined
#define false 0
#define true 1
#define false (1==0)
#define true (1==1)
#endif
#endif
#ifndef PASS
@@ -19,6 +19,9 @@ void sd_mmc_spi_mem_init() {
}
Ctrl_status sd_mmc_spi_test_unit_ready() {
#ifdef DISABLE_DUE_SD_MMC
return CTRL_NO_PRESENT;
#endif
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT;
return CTRL_GOOD;
@@ -55,6 +58,9 @@ uint8_t sector_buf[SD_MMC_BLOCK_SIZE];
// #define DEBUG_MMC
Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
#ifdef DISABLE_DUE_SD_MMC
return CTRL_NO_PRESENT;
#endif
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT;
@@ -92,6 +98,9 @@ Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
}
Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
#ifdef DISABLE_DUE_SD_MMC
return CTRL_NO_PRESENT;
#endif
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT;
+3 -2
View File
@@ -45,11 +45,12 @@
#ifdef ARDUINO_ARCH_SAM
#include "conf_usb.h"
#include "udc.h"
#include <Arduino.h>
#include <Reset.h>
#include "conf_usb.h"
#include "udc.h"
#if ENABLED(SDSUPPORT)
static volatile bool main_b_msc_enable = false;
#endif
+2 -2
View File
@@ -30,7 +30,7 @@
#include "../../inc/MarlinConfigPre.h"
#if EITHER(EEPROM_SETTINGS, WEBSUPPORT)
#if ENABLED(WEBSUPPORT)
#include "spiffs.h"
#endif
@@ -83,7 +83,7 @@ void HAL_init() {
}
void HAL_init_board() {
#if EITHER(EEPROM_SETTINGS, WEBSUPPORT)
#if ENABLED(WEBSUPPORT)
spiffs_init();
#endif
+1
View File
@@ -111,6 +111,7 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n);
void HAL_adc_init();
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
+8 -6
View File
@@ -23,16 +23,18 @@
#include "../../inc/MarlinConfig.h"
#include "Stream.h"
#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;
+4 -4
View File
@@ -26,10 +26,10 @@
#include "i2s.h"
#include "../shared/Marduino.h"
#include "driver/periph_ctrl.h"
#include "rom/lldesc.h"
#include "soc/i2s_struct.h"
#include "freertos/queue.h"
#include <driver/periph_ctrl.h>
#include <rom/lldesc.h>
#include <soc/i2s_struct.h>
#include <freertos/queue.h>
#include "../../module/stepper.h"
#define DMA_BUF_COUNT 8 // number of DMA buffers to store data
+1 -1
View File
@@ -27,7 +27,7 @@
#include <ESPmDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include "driver/timer.h"
#include <driver/timer.h>
void OTA_init() {
ArduinoOTA
@@ -0,0 +1,63 @@
/**
* 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 "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
@@ -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
+1 -1
View File
@@ -24,7 +24,7 @@
#include "../../inc/MarlinConfigPre.h"
#if EITHER(WEBSUPPORT, EEPROM_SETTINGS)
#if ENABLED(WEBSUPPORT)
#include "../../core/serial.h"
+4 -4
View File
@@ -23,10 +23,10 @@
#ifdef ARDUINO_ARCH_ESP32
#include <stdio.h>
#include "esp_types.h"
#include "soc/timer_group_struct.h"
#include "driver/periph_ctrl.h"
#include "driver/timer.h"
#include <esp_types.h>
#include <soc/timer_group_struct.h>
#include <driver/periph_ctrl.h>
#include <driver/timer.h>
#include "HAL.h"
+3 -3
View File
@@ -22,7 +22,7 @@
#pragma once
#include <stdint.h>
#include "driver/timer.h"
#include <driver/timer.h>
// Includes needed to get I2S_STEPPER_STREAM. Note that pins.h
// is included in case this header is being included early.
@@ -51,8 +51,8 @@ typedef uint64_t hal_timer_t;
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs // wrong would be 0.25
#else
#define STEPPER_TIMER_PRESCALE 40
#define STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer, 2MHz
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
#define STEPPER_TIMER_RATE ((HAL_TIMER_RATE) / (STEPPER_TIMER_PRESCALE)) // frequency of stepper timer, 2MHz
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
#endif
#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts
+11 -1
View File
@@ -21,8 +21,18 @@
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
esp_err_t esp_task_wdt_reset();
#ifdef __cplusplus
}
#endif
// Initialize watchdog with a 4 second interrupt time
void watchdog_init();
// Reset watchdog.
inline void HAL_watchdog_refresh() {}
inline void HAL_watchdog_refresh() { esp_task_wdt_reset(); }
+1
View File
@@ -89,6 +89,7 @@ int freeMemory();
// ADC
#define HAL_ANALOG_SELECT(pin) HAL_adc_enable_channel(pin)
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_get_result()
#define HAL_ADC_READY() true
+3 -1
View File
@@ -30,6 +30,8 @@
#include "watchdog.h"
#endif
uint32_t HAL_adc_reading = 0;
// U8glib required functions
extern "C" void u8g_xMicroDelay(uint16_t val) {
DELAY_US(val);
@@ -61,7 +63,7 @@ int freeMemory() {
// return dval if not found or not a valid pin.
int16_t PARSED_PIN_INDEX(const char code, const int16_t dval) {
const uint16_t val = (uint16_t)parser.intval(code, -1), port = val / 100, pin = val % 100;
const int16_t ind = (port < ((NUM_DIGITAL_PINS) >> 5) && pin < 32) ? GET_PIN_MAP_INDEX((port << 5) | pin) : -2;
const int16_t ind = (port < ((NUM_DIGITAL_PINS) >> 5) && pin < 32) ? ((port << 5) | pin) : -2;
return ind > -1 ? ind : dval;
}
+35 -4
View File
@@ -131,12 +131,43 @@ int freeMemory();
// K = 6, 565 samples, 500Hz sample rate, 1.13s convergence on full range step
// Memory usage per ADC channel (bytes): 4 (32 Bytes for 8 channels)
#define HAL_ADC_RESOLUTION 12 // 15 bit maximum, raw temperature is stored as int16_t
#define HAL_ADC_FILTERED // Disable oversampling done in Marlin as ADC values already filtered in HAL
using FilteredADC = LPC176x::ADC<ADC_LOWPASS_K_VALUE, ADC_MEDIAN_FILTER_SIZE>;
#define HAL_adc_init() FilteredADC::init()
extern uint32_t HAL_adc_reading;
[[gnu::always_inline]] inline void HAL_start_adc(const pin_t pin) {
HAL_adc_reading = FilteredADC::read(pin) >> (16 - HAL_ADC_RESOLUTION); // returns 16bit value, reduce to required bits
}
[[gnu::always_inline]] inline uint16_t HAL_read_adc() {
return HAL_adc_reading;
}
#define HAL_adc_init()
#define HAL_ANALOG_SELECT(pin) FilteredADC::enable_channel(pin)
#define HAL_START_ADC(pin) FilteredADC::start_conversion(pin)
#define HAL_READ_ADC() FilteredADC::get_result()
#define HAL_ADC_READY() FilteredADC::finished_conversion()
#define HAL_START_ADC(pin) HAL_start_adc(pin)
#define HAL_READ_ADC() HAL_read_adc()
#define HAL_ADC_READY() (true)
// Test whether the pin is valid
constexpr bool VALID_PIN(const pin_t pin) {
return LPC176x::pin_is_valid(pin);
}
// Get the analog index for a digital pin
constexpr int8_t DIGITAL_PIN_TO_ANALOG_PIN(const pin_t pin) {
return (LPC176x::pin_is_valid(pin) && LPC176x::pin_has_adc(pin)) ? pin : -1;
}
// Return the index of a pin number
constexpr int16_t GET_PIN_MAP_INDEX(const pin_t pin) {
return LPC176x::pin_index(pin);
}
// Get the pin number at the given index
constexpr pin_t GET_PIN_MAP_PIN(const int16_t index) {
return LPC176x::pin_index(index);
}
// Parse a G-code word into a pin index
int16_t PARSED_PIN_INDEX(const char code, const int16_t dval);
@@ -56,7 +56,7 @@
// ------------------------
#if ENABLED(LPC_SOFTWARE_SPI)
#include "SoftwareSPI.h"
#include <SoftwareSPI.h>
// Software SPI
@@ -125,18 +125,18 @@
PinCfg.Funcnum = 2;
PinCfg.OpenDrain = 0;
PinCfg.Pinmode = 0;
PinCfg.Pinnum = LPC1768_PIN_PIN(SCK_PIN);
PinCfg.Portnum = LPC1768_PIN_PORT(SCK_PIN);
PinCfg.Pinnum = LPC176x::pin_bit(SCK_PIN);
PinCfg.Portnum = LPC176x::pin_port(SCK_PIN);
PINSEL_ConfigPin(&PinCfg);
SET_OUTPUT(SCK_PIN);
PinCfg.Pinnum = LPC1768_PIN_PIN(MISO_PIN);
PinCfg.Portnum = LPC1768_PIN_PORT(MISO_PIN);
PinCfg.Pinnum = LPC176x::pin_bit(MISO_PIN);
PinCfg.Portnum = LPC176x::pin_port(MISO_PIN);
PINSEL_ConfigPin(&PinCfg);
SET_INPUT(MISO_PIN);
PinCfg.Pinnum = LPC1768_PIN_PIN(MOSI_PIN);
PinCfg.Portnum = LPC1768_PIN_PORT(MOSI_PIN);
PinCfg.Pinnum = LPC176x::pin_bit(MOSI_PIN);
PinCfg.Portnum = LPC176x::pin_port(MOSI_PIN);
PINSEL_ConfigPin(&PinCfg);
SET_OUTPUT(MOSI_PIN);
// divide PCLK by 2 for SSP0
@@ -42,6 +42,8 @@ void endstop_ISR() { endstops.update(); }
void setup_endstop_interrupts() {
#define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE)
#define LPC1768_PIN_INTERRUPT_M(pin) ((pin >> 0x5 & 0x7) == 0 || (pin >> 0x5 & 0x7) == 2)
#if HAS_X_MAX
#if !LPC1768_PIN_INTERRUPT_M(X_MAX_PIN)
#error "X_MAX_PIN is not INTERRUPT-capable."
+2 -2
View File
@@ -29,11 +29,11 @@
#include <pwm.h>
void set_pwm_frequency(const pin_t pin, int f_desired) {
pwm_set_frequency(pin, f_desired);
LPC176x::pwm_set_frequency(pin, f_desired);
}
void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size/*=255*/, const bool invert/*=false*/) {
pwm_write_ratio(pin, invert ? 1.0f - (float)v / v_size : (float)v / v_size);
LPC176x::pwm_write_ratio(pin, invert ? 1.0f - (float)v / v_size : (float)v / v_size);
}
#endif // FAST_PWM_FAN || SPINDLE_LASER_PWM
+10 -10
View File
@@ -37,19 +37,19 @@
#define PWM_PIN(P) true // all pins are PWM capable
#define LPC_PIN(pin) gpio_pin(pin)
#define LPC_GPIO(port) gpio_port(port)
#define LPC_PIN(pin) LPC176x::gpio_pin(pin)
#define LPC_GPIO(port) LPC176x::gpio_port(port)
#define SET_DIR_INPUT(IO) gpio_set_input(IO)
#define SET_DIR_OUTPUT(IO) gpio_set_output(IO)
#define SET_DIR_INPUT(IO) LPC176x::gpio_set_input(IO)
#define SET_DIR_OUTPUT(IO) LPC176x::gpio_set_output(IO)
#define SET_MODE(IO, mode) pinMode(IO, mode)
#define WRITE_PIN_SET(IO) gpio_set(IO)
#define WRITE_PIN_CLR(IO) gpio_clear(IO)
#define WRITE_PIN_SET(IO) LPC176x::gpio_set(IO)
#define WRITE_PIN_CLR(IO) LPC176x::gpio_clear(IO)
#define READ_PIN(IO) gpio_get(IO)
#define WRITE_PIN(IO,V) gpio_set(IO, V)
#define READ_PIN(IO) LPC176x::gpio_get(IO)
#define WRITE_PIN(IO,V) LPC176x::gpio_set(IO, V)
/**
* Magic I/O routines
@@ -81,10 +81,10 @@
#define _PULLDOWN(IO,V) pinMode(IO, (V) ? INPUT_PULLDOWN : INPUT)
/// check if pin is an input
#define _IS_INPUT(IO) (!gpio_get_dir(IO))
#define _IS_INPUT(IO) (!LPC176x::gpio_get_dir(IO))
/// check if pin is an output
#define _IS_OUTPUT(IO) (gpio_get_dir(IO))
#define _IS_OUTPUT(IO) (LPC176x::gpio_get_dir(IO))
/// Read a pin wrapper
#define READ(IO) _READ(IO)
@@ -21,6 +21,42 @@
*/
#pragma once
#if PIO_PLATFORM_VERSION < 1001
#error "nxplpc-arduino-lpc176x package is out of date, Please update the PlatformIO platforms, frameworks and libraries. You may need to remove the platform and let it reinstall automatically."
#endif
#if PIO_FRAMEWORK_VERSION < 2002
#error "framework-arduino-lpc176x package is out of date, Please update the PlatformIO platforms, frameworks and libraries."
#endif
/**
* Detect an old pins file by checking for old ADC pins values.
*/
#define _OLD_TEMP_PIN(P) PIN_EXISTS(P) && _CAT(P,_PIN) <= 7 && _CAT(P,_PIN) != 2 && _CAT(P,_PIN) != 3
#if _OLD_TEMP_PIN(TEMP_BED)
#error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
#elif _OLD_TEMP_PIN(TEMP_0)
#error "TEMP_0_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
#elif _OLD_TEMP_PIN(TEMP_1)
#error "TEMP_1_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
#elif _OLD_TEMP_PIN(TEMP_2)
#error "TEMP_2_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
#elif _OLD_TEMP_PIN(TEMP_3)
#error "TEMP_3_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
#elif _OLD_TEMP_PIN(TEMP_4)
#error "TEMP_4_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
#elif _OLD_TEMP_PIN(TEMP_5)
#error "TEMP_5_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
#endif
#undef _OLD_TEMP_PIN
/**
* Because PWM hardware channels all share the same frequency, along with the
* fallback software channels, FAST_PWM_FAN is incompatible with Servos.
*/
#if NUM_SERVOS > 0 && ENABLED(FAST_PWM_FAN)
#error "BLTOUCH and Servos are incompatible with FAST_PWM_FAN on LPC176x boards."
#endif
/**
* Test LPC176x-specific configuration values for errors at compile-time.
*/
@@ -32,3 +68,7 @@
#if IS_RE_ARM_BOARD && ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && HAS_DRIVER(TMC2130) && DISABLED(TMC_USE_SW_SPI)
#error "Re-ARM with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER and TMC2130 require TMC_USE_SW_SPI"
#endif
#if ENABLED(BAUD_RATE_GCODE)
#error "BAUD_RATE_GCODE is not yet supported on LPC176x."
#endif
@@ -46,7 +46,7 @@
#if ENABLED(FLASH_EEPROM_EMULATION)
extern "C" {
#include "lpc17xx_iap.h"
#include <lpc17xx_iap.h>
}
#define SECTOR_START(sector) ((sector < 16) ? (sector * 0x1000) : ((sector - 14) * 0x8000))
+7 -38
View File
@@ -33,52 +33,21 @@
#define PRINT_PORT(p)
#define GET_ARRAY_PIN(p) pin_array[p].pin
#define PRINT_ARRAY_NAME(x) do{ sprintf_P(buffer, PSTR("%-" STRINGIFY(MAX_NAME_LENGTH) "s"), pin_array[x].name); SERIAL_ECHO(buffer); }while(0)
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%d.%02d"), LPC1768_PIN_PORT(p), LPC1768_PIN_PIN(p)); SERIAL_ECHO(buffer); }while(0)
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%d.%02d"), LPC176x::pin_port(p), LPC176x::pin_bit(p)); SERIAL_ECHO(buffer); }while(0)
#define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin
// pins that will cause hang/reset/disconnect in M43 Toggle and Watch utilities
// uses pin index
#ifndef M43_NEVER_TOUCH
#define M43_NEVER_TOUCH(Q) ((Q) == 29 || (Q) == 30 || (Q) == 73) // USB pins
#define M43_NEVER_TOUCH(Q) ((Q) == P0_29 || (Q) == P0_30 || (Q) == P2_09) // USB pins
#endif
// active ADC function/mode/code values for PINSEL registers
constexpr int8_t ADC_pin_mode(pin_t pin) {
return (LPC1768_PIN_PORT(pin) == 0 && LPC1768_PIN_PIN(pin) == 2 ? 2 :
LPC1768_PIN_PORT(pin) == 0 && LPC1768_PIN_PIN(pin) == 3 ? 2 :
LPC1768_PIN_PORT(pin) == 0 && LPC1768_PIN_PIN(pin) == 23 ? 1 :
LPC1768_PIN_PORT(pin) == 0 && LPC1768_PIN_PIN(pin) == 24 ? 1 :
LPC1768_PIN_PORT(pin) == 0 && LPC1768_PIN_PIN(pin) == 25 ? 1 :
LPC1768_PIN_PORT(pin) == 0 && LPC1768_PIN_PIN(pin) == 26 ? 1 :
LPC1768_PIN_PORT(pin) == 1 && LPC1768_PIN_PIN(pin) == 30 ? 3 :
LPC1768_PIN_PORT(pin) == 1 && LPC1768_PIN_PIN(pin) == 31 ? 3 : -1);
}
int8_t get_pin_mode(pin_t pin) {
if (!VALID_PIN(pin)) return -1;
uint8_t pin_port = LPC1768_PIN_PORT(pin);
uint8_t pin_port_pin = LPC1768_PIN_PIN(pin);
//get appropriate PINSEL register
volatile uint32_t * pinsel_reg = (pin_port == 0 && pin_port_pin <= 15) ? &LPC_PINCON->PINSEL0 :
(pin_port == 0) ? &LPC_PINCON->PINSEL1 :
(pin_port == 1 && pin_port_pin <= 15) ? &LPC_PINCON->PINSEL2 :
pin_port == 1 ? &LPC_PINCON->PINSEL3 :
pin_port == 2 ? &LPC_PINCON->PINSEL4 :
pin_port == 3 ? &LPC_PINCON->PINSEL7 : &LPC_PINCON->PINSEL9;
uint8_t pinsel_start_bit = pin_port_pin > 15 ? 2 * (pin_port_pin - 16) : 2 * pin_port_pin;
int8_t pin_mode = (int8_t) ((*pinsel_reg >> pinsel_start_bit) & 0x3);
return pin_mode;
}
bool GET_PINMODE(pin_t pin) {
int8_t pin_mode = get_pin_mode(pin);
if (pin_mode == -1 || pin_mode == ADC_pin_mode(pin)) // found an invalid pin or active analog pin
bool GET_PINMODE(const pin_t pin) {
if (!LPC176x::pin_is_valid(pin) || LPC176x::pin_adc_enabled(pin)) // found an invalid pin or active analog pin
return false;
uint32_t * FIO_reg[5] PROGMEM = {(uint32_t*) 0x2009C000,(uint32_t*) 0x2009C020,(uint32_t*) 0x2009C040,(uint32_t*) 0x2009C060,(uint32_t*) 0x2009C080};
return ((*FIO_reg[LPC1768_PIN_PORT(pin)] >> LPC1768_PIN_PIN(pin) & 1) != 0); //input/output state
return LPC176x::gpio_direction(pin);
}
bool GET_ARRAY_IS_DIGITAL(pin_t pin) {
return (!IS_ANALOG(pin) || get_pin_mode(pin) != ADC_pin_mode(pin));
bool GET_ARRAY_IS_DIGITAL(const pin_t pin) {
return (!LPC176x::pin_has_adc(pin) || !LPC176x::pin_adc_enabled(pin));
}
+1 -1
View File
@@ -59,7 +59,7 @@
typedef uint32_t hal_timer_t;
#define HAL_TIMER_TYPE_MAX 0xFFFFFFFF
#define HAL_TIMER_RATE ((SystemCoreClock) / 4) // frequency of timers peripherals
#define HAL_TIMER_RATE ((F_CPU) / 4) // frequency of timers peripherals
#define STEP_TIMER_NUM 0 // Timer Index for Stepper
#define TEMP_TIMER_NUM 1 // Timer Index for Temperature
@@ -25,6 +25,8 @@
#ifdef TARGET_LPC1768
extern int millis();
#ifdef __cplusplus
extern "C" {
#endif
@@ -35,6 +37,7 @@
#include "../../../core/millis_t.h"
//////////////////////////////////////////////////////////////////////////////////////
// These two routines are exact copies of the lpc17xx_i2c.c routines. Couldn't link to
@@ -151,14 +154,13 @@ void u8g_i2c_init(uint8_t clock_option) {
u8g_i2c_start(0); // send slave address and write bit
}
volatile extern millis_t _millis;
uint8_t u8g_i2c_send_byte(uint8_t data) {
#define I2C_TIMEOUT 3
LPC_I2C1->I2DAT = data & I2C_I2DAT_BITMASK; // transmit data
LPC_I2C1->I2CONSET = I2C_I2CONSET_AA;
LPC_I2C1->I2CONCLR = I2C_I2CONCLR_SIC;
const millis_t timeout = _millis + I2C_TIMEOUT;
while ((I2C_status != I2C_I2STAT_M_TX_DAT_ACK) && (I2C_status != I2C_I2STAT_M_TX_DAT_NACK) && PENDING(_millis, timeout)); // wait for xmit to finish
const millis_t timeout = millis() + I2C_TIMEOUT;
while ((I2C_status != I2C_I2STAT_M_TX_DAT_ACK) && (I2C_status != I2C_I2STAT_M_TX_DAT_NACK) && PENDING(millis(), timeout)); // wait for xmit to finish
// had hangs with SH1106 so added time out - have seen temporary screen corruption when this happens
return 1;
}
@@ -60,7 +60,7 @@
#if ENABLED(U8GLIB_ST7920)
#include <U8glib.h>
#include "SoftwareSPI.h"
#include <SoftwareSPI.h>
#include "../../shared/Delay.h"
#undef SPI_SPEED
@@ -59,7 +59,7 @@
#if HAS_GRAPHICAL_LCD && DISABLED(U8GLIB_ST7920)
#include "SoftwareSPI.h"
#include <SoftwareSPI.h>
#undef SPI_SPEED
#define SPI_SPEED 2 // About 2 MHz
@@ -75,25 +75,25 @@ uint8_t swSpiTransfer_mode_0(uint8_t b, const uint8_t spi_speed, const pin_t sck
for (uint8_t i = 0; i < 8; i++) {
if (spi_speed == 0) {
gpio_set(mosi_pin, !!(b & 0x80));
gpio_set(sck_pin, HIGH);
LPC176x::gpio_set(mosi_pin, !!(b & 0x80));
LPC176x::gpio_set(sck_pin, HIGH);
b <<= 1;
if (miso_pin >= 0 && gpio_get(miso_pin)) b |= 1;
gpio_set(sck_pin, LOW);
if (miso_pin >= 0 && LPC176x::gpio_get(miso_pin)) b |= 1;
LPC176x::gpio_set(sck_pin, LOW);
}
else {
const uint8_t state = (b & 0x80) ? HIGH : LOW;
for (uint8_t j = 0; j < spi_speed; j++)
gpio_set(mosi_pin, state);
LPC176x::gpio_set(mosi_pin, state);
for (uint8_t j = 0; j < spi_speed + (miso_pin >= 0 ? 0 : 1); j++)
gpio_set(sck_pin, HIGH);
LPC176x::gpio_set(sck_pin, HIGH);
b <<= 1;
if (miso_pin >= 0 && gpio_get(miso_pin)) b |= 1;
if (miso_pin >= 0 && LPC176x::gpio_get(miso_pin)) b |= 1;
for (uint8_t j = 0; j < spi_speed; j++)
gpio_set(sck_pin, LOW);
LPC176x::gpio_set(sck_pin, LOW);
}
}
@@ -105,23 +105,23 @@ uint8_t swSpiTransfer_mode_3(uint8_t b, const uint8_t spi_speed, const pin_t sck
for (uint8_t i = 0; i < 8; i++) {
const uint8_t state = (b & 0x80) ? HIGH : LOW;
if (spi_speed == 0) {
gpio_set(sck_pin, LOW);
gpio_set(mosi_pin, state);
gpio_set(mosi_pin, state); // need some setup time
gpio_set(sck_pin, HIGH);
LPC176x::gpio_set(sck_pin, LOW);
LPC176x::gpio_set(mosi_pin, state);
LPC176x::gpio_set(mosi_pin, state); // need some setup time
LPC176x::gpio_set(sck_pin, HIGH);
}
else {
for (uint8_t j = 0; j < spi_speed + (miso_pin >= 0 ? 0 : 1); j++)
gpio_set(sck_pin, LOW);
LPC176x::gpio_set(sck_pin, LOW);
for (uint8_t j = 0; j < spi_speed; j++)
gpio_set(mosi_pin, state);
LPC176x::gpio_set(mosi_pin, state);
for (uint8_t j = 0; j < spi_speed; j++)
gpio_set(sck_pin, HIGH);
LPC176x::gpio_set(sck_pin, HIGH);
}
b <<= 1;
if (miso_pin >= 0 && gpio_get(miso_pin)) b |= 1;
if (miso_pin >= 0 && LPC176x::gpio_get(miso_pin)) b |= 1;
}
return b;
@@ -130,7 +130,7 @@ uint8_t swSpiTransfer_mode_3(uint8_t b, const uint8_t spi_speed, const pin_t sck
static uint8_t SPI_speed = 0;
static void u8g_sw_spi_HAL_LPC1768_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) {
#if ENABLED(FYSETC_MINI_12864)
#if EITHER(FYSETC_MINI_12864, MKS_MINI_12864)
swSpiTransfer_mode_3(val, SPI_speed, clockPin, -1, dataPin);
#else
swSpiTransfer_mode_0(val, SPI_speed, clockPin, -1, dataPin);
@@ -158,10 +158,10 @@ uint8_t u8g_com_HAL_LPC1768_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val,
break;
case U8G_COM_MSG_CHIP_SELECT:
#if ENABLED(FYSETC_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0
if (arg_val) { // SCK idle state needs to be set to the proper idle state before
// the next chip select goes active
u8g_SetPILevel(u8g, U8G_PI_SCK, 1); // Set SCK to mode 3 idle state before CS goes active
#if EITHER(FYSETC_MINI_12864, MKS_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0
if (arg_val) { // SCK idle state needs to be set to the proper idle state before
// the next chip select goes active
u8g_SetPILevel(u8g, U8G_PI_SCK, 1); // Set SCK to mode 3 idle state before CS goes active
u8g_SetPILevel(u8g, U8G_PI_CS, LOW);
}
else {
+5 -3
View File
@@ -31,9 +31,11 @@ try:
#
import subprocess
# typical result (string): 'Drives: C:\ D:\ E:\ F:\ G:\ H:\ I:\ J:\ K:\ L:\ M:\ Y:\ Z:\'
driveStr = subprocess.check_output("fsutil fsinfo drives").decode('utf8')
driveStr = str(subprocess.check_output("fsutil fsinfo drives"))
# typical result (string): 'C:\ D:\ E:\ F:\ G:\ H:\ I:\ J:\ K:\ L:\ M:\ Y:\ Z:\'
driveStr = driveStr.strip().lstrip('Drives: ')
# driveStr = driveStr.strip().lstrip('Drives: ') <- Doesn't work in other Languages as English. In German is "Drives:" = "Laufwerke:"
FirstFound = driveStr.find(':',0,-1) # Find the first ":" and
driveStr = driveStr[FirstFound + 1 : -1] # truncate to the rest
# typical result (array of stings): ['C:\\', 'D:\\', 'E:\\', 'F:\\',
# 'G:\\', 'H:\\', 'I:\\', 'J:\\', 'K:\\', 'L:\\', 'M:\\', 'Y:\\', 'Z:\\']
drives = driveStr.split()
@@ -44,7 +46,7 @@ try:
for drive in drives:
final_drive_name = drive.strip().rstrip('\\') # typical result (string): 'C:'
try:
volume_info = subprocess.check_output('cmd /C dir ' + final_drive_name, stderr=subprocess.STDOUT).decode('utf8')
volume_info = str(subprocess.check_output('cmd /C dir ' + final_drive_name, stderr=subprocess.STDOUT))
except Exception as e:
continue
else:
+1 -1
View File
@@ -26,7 +26,7 @@
#if ENABLED(USE_WATCHDOG)
#include "lpc17xx_wdt.h"
#include <lpc17xx_wdt.h>
#include "watchdog.h"
void watchdog_init() {
+5 -3
View File
@@ -22,8 +22,8 @@
#ifdef __SAMD51__
#include "../../inc/MarlinConfig.h"
#include "Adafruit_ZeroDMA.h"
#include "wiring_private.h"
#include <Adafruit_ZeroDMA.h>
#include <wiring_private.h>
// ------------------------
// Local defines
@@ -442,9 +442,11 @@ void HAL_adc_init() {
// Preloaded data (fixed for all ADC instances hence not loaded by DMA)
adc->REFCTRL.bit.REFSEL = ADC_REFCTRL_REFSEL_AREFA_Val; // VRefA pin
SYNC(adc->SYNCBUSY.bit.REFCTRL);
adc->CTRLB.bit.RESSEL = ADC_CTRLB_RESSEL_10BIT_Val;
adc->CTRLB.bit.RESSEL = ADC_CTRLB_RESSEL_12BIT_Val;
SYNC(adc->SYNCBUSY.bit.CTRLB);
adc->SAMPCTRL.bit.SAMPLEN = (6 - 1); // Sampling clocks
adc->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_16 | ADC_AVGCTRL_ADJRES(4); // 16 Accumulated conversions and shift 4 to get oversampled 12 bits result
SYNC(adc->SYNCBUSY.bit.AVGCTRL);
// Registers loaded by DMA
adc->DSEQCTRL.bit.INPUTCTRL = true;
+2
View File
@@ -109,6 +109,8 @@ extern uint16_t HAL_adc_result; // result of last ADC conversion
void HAL_adc_init();
#define HAL_ADC_FILTERED // Disable oversampling done in Marlin as ADC values already filtered in HAL
#define HAL_ADC_RESOLUTION 12
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
+1 -1
View File
@@ -36,7 +36,7 @@
#endif
#if ENABLED(SDIO_SUPPORT)
#error "SDIO_SUPPORT is not supported."
#error "SDIO_SUPPORT is not supported on SAMD51."
#endif
#if ENABLED(FAST_PWM_FAN)
+1 -1
View File
@@ -99,7 +99,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
SYNC(tc->COUNT32.SYNCBUSY.bit.CTRLB);
// Set compare value
tc->COUNT32.COUNT.reg = tc->COUNT32.CC[0].reg = HAL_TIMER_RATE / frequency;
tc->COUNT32.COUNT.reg = tc->COUNT32.CC[0].reg = (HAL_TIMER_RATE) / frequency;
// And start timer
tc->COUNT32.CTRLA.bit.ENABLE = true;
+16 -2
View File
@@ -28,11 +28,21 @@
#include "../../inc/MarlinConfig.h"
#include "../shared/Delay.h"
#if (__cplusplus == 201703L) && defined(__has_include)
#define HAS_SWSERIAL __has_include(<SoftwareSerial.h>)
#else
#define HAS_SWSERIAL HAS_TMC220x
#endif
#if HAS_SWSERIAL
#include "SoftwareSerial.h"
#endif
#if ENABLED(SRAM_EEPROM_EMULATION)
#if STM32F7xx
#include "stm32f7xx_ll_pwr.h"
#include <stm32f7xx_ll_pwr.h>
#elif STM32F4xx
#include "stm32f4xx_ll_pwr.h"
#include <stm32f4xx_ll_pwr.h>
#else
#error "SRAM_EEPROM_EMULATION is currently only supported for STM32F4xx and STM32F7xx"
#endif
@@ -82,6 +92,10 @@ void HAL_init() {
// Wait until backup regulator is initialized
while (!LL_PWR_IsActiveFlag_BRR());
#endif // EEPROM_EMULATED_SRAM
#if HAS_SWSERIAL
SoftwareSerial::setInterruptPriority(SWSERIAL_TIMER_IRQ_PRIO, 0);
#endif
}
void HAL_clear_reset_source() { __HAL_RCC_CLEAR_RESET_FLAGS(); }
+1
View File
@@ -188,6 +188,7 @@ void eeprom_update_block(const void *__src, void *__dst, size_t __n);
inline void HAL_adc_init() {}
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
+7
View File
@@ -83,6 +83,13 @@ void spiInit(uint8_t spiRate) {
}
spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE0);
#if ENABLED(CUSTOM_SPI_PINS)
SPI.setMISO(MISO_PIN);
SPI.setMOSI(MOSI_PIN);
SPI.setSCLK(SCK_PIN);
SPI.setSSEL(SS_PIN);
#endif
SPI.begin();
}
+14 -9
View File
@@ -28,25 +28,30 @@
#include "Servo.h"
uint8_t servoPin[MAX_SERVOS] = { 0 };
static uint_fast8_t servoCount = 0;
constexpr millis_t servoDelay[] = SERVO_DELAY;
static_assert(COUNT(servoDelay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long.");
libServo::libServo()
: delay(servoDelay[servoCount++])
{}
int8_t libServo::attach(const int pin) {
if (servoIndex >= MAX_SERVOS) return -1;
if (pin > 0) servoPin[servoIndex] = pin;
return super::attach(servoPin[servoIndex]);
if (servoCount >= MAX_SERVOS) return -1;
if (pin > 0) servo_pin = pin;
return super::attach(servo_pin);
}
int8_t libServo::attach(const int pin, const int min, const int max) {
if (pin > 0) servoPin[servoIndex] = pin;
return super::attach(servoPin[servoIndex], min, max);
if (servoCount >= MAX_SERVOS) return -1;
if (pin > 0) servo_pin = pin;
return super::attach(servo_pin, min, max);
}
void libServo::move(const int value) {
constexpr uint16_t servo_delay[] = SERVO_DELAY;
static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long.");
if (attach(0) >= 0) {
write(value);
safe_delay(servo_delay[servoIndex]);
safe_delay(delay);
#if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE)
detach();
#endif
+4 -2
View File
@@ -27,11 +27,13 @@
// Inherit and expand on the official library
class libServo : public Servo {
public:
libServo();
int8_t attach(const int pin);
int8_t attach(const int pin, const int min, const int max);
void move(const int value);
private:
typedef Servo super;
uint16_t min_ticks, max_ticks;
uint8_t servoIndex; // index into the channel data for this servo
int servo_pin = 0;
millis_t delay = 0;
};
+395
View File
@@ -0,0 +1,395 @@
/*
* SoftwareSerial.cpp (formerly NewSoftSerial.cpp)
*
* Multi-instance software serial library for Arduino/Wiring
* -- Interrupt-driven receive and other improvements by ladyada
* (http://ladyada.net)
* -- Tuning, circular buffer, derivation from class Print/Stream,
* multi-instance support, porting to 8MHz processors,
* various optimizations, PROGMEM delay tables, inverse logic and
* direct port writing by Mikal Hart (http://www.arduiniana.org)
* -- Pin change interrupt macros by Paul Stoffregen (http://www.pjrc.com)
* -- 20MHz processor support by Garrett Mace (http://www.macetech.com)
* -- ATmega1280/2560 support by Brett Hagman (http://www.roguerobotics.com/)
* -- STM32 support by Armin van der Togt
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* The latest version of this library can always be found at
* http://arduiniana.org.
*/
//
// Includes
//
#if defined(PLATFORMIO) && defined(ARDUINO_ARCH_STM32) && !defined(STM32GENERIC)
#include "SoftwareSerial.h"
#include "timers.h"
#define OVERSAMPLE 3 // in RX, Timer will generate interruption OVERSAMPLE time during a bit. Thus OVERSAMPLE ticks in a bit. (interrupt not synchonized with edge).
// defined in bit-periods
#define HALFDUPLEX_SWITCH_DELAY 5
// It's best to define TIMER_SERIAL in variant.h. If not defined, we choose one here
// The order is based on (lack of) features and compare channels, we choose the simplest available
// because we only need an update interrupt
#if !defined(TIMER_SERIAL)
#if defined (TIM18_BASE)
#define TIMER_SERIAL TIM18
#elif defined (TIM7_BASE)
#define TIMER_SERIAL TIM7
#elif defined (TIM6_BASE)
#define TIMER_SERIAL TIM6
#elif defined (TIM22_BASE)
#define TIMER_SERIAL TIM22
#elif defined (TIM21_BASE)
#define TIMER_SERIAL TIM21
#elif defined (TIM17_BASE)
#define TIMER_SERIAL TIM17
#elif defined (TIM16_BASE)
#define TIMER_SERIAL TIM16
#elif defined (TIM15_BASE)
#define TIMER_SERIAL TIM15
#elif defined (TIM14_BASE)
#define TIMER_SERIAL TIM14
#elif defined (TIM13_BASE)
#define TIMER_SERIAL TIM13
#elif defined (TIM11_BASE)
#define TIMER_SERIAL TIM11
#elif defined (TIM10_BASE)
#define TIMER_SERIAL TIM10
#elif defined (TIM12_BASE)
#define TIMER_SERIAL TIM12
#elif defined (TIM19_BASE)
#define TIMER_SERIAL TIM19
#elif defined (TIM9_BASE)
#define TIMER_SERIAL TIM9
#elif defined (TIM5_BASE)
#define TIMER_SERIAL TIM5
#elif defined (TIM4_BASE)
#define TIMER_SERIAL TIM4
#elif defined (TIM3_BASE)
#define TIMER_SERIAL TIM3
#elif defined (TIM2_BASE)
#define TIMER_SERIAL TIM2
#elif defined (TIM20_BASE)
#define TIMER_SERIAL TIM20
#elif defined (TIM8_BASE)
#define TIMER_SERIAL TIM8
#elif defined (TIM1_BASE)
#define TIMER_SERIAL TIM1
#else
#error No suitable timer found for SoftwareSerial, define TIMER_SERIAL in variant.h
#endif
#endif
//
// Statics
//
HardwareTimer SoftwareSerial::timer(TIMER_SERIAL);
const IRQn_Type SoftwareSerial::timer_interrupt_number = static_cast<IRQn_Type>(getTimerUpIrq(TIMER_SERIAL));
uint32_t SoftwareSerial::timer_interrupt_priority = NVIC_EncodePriority(NVIC_GetPriorityGrouping(), TIM_IRQ_PRIO, TIM_IRQ_SUBPRIO);
SoftwareSerial *SoftwareSerial::active_listener = nullptr;
SoftwareSerial *volatile SoftwareSerial::active_out = nullptr;
SoftwareSerial *volatile SoftwareSerial::active_in = nullptr;
int32_t SoftwareSerial::tx_tick_cnt = 0; // OVERSAMPLE ticks needed for a bit
int32_t volatile SoftwareSerial::rx_tick_cnt = 0; // OVERSAMPLE ticks needed for a bit
uint32_t SoftwareSerial::tx_buffer = 0;
int32_t SoftwareSerial::tx_bit_cnt = 0;
uint32_t SoftwareSerial::rx_buffer = 0;
int32_t SoftwareSerial::rx_bit_cnt = -1; // rx_bit_cnt = -1 : waiting for start bit
uint32_t SoftwareSerial::cur_speed = 0;
void SoftwareSerial::setInterruptPriority(uint32_t preemptPriority, uint32_t subPriority) {
timer_interrupt_priority = NVIC_EncodePriority(NVIC_GetPriorityGrouping(), preemptPriority, subPriority);
}
//
// Private methods
//
void SoftwareSerial::setSpeed(uint32_t speed) {
if (speed != cur_speed) {
timer.pause();
if (speed != 0) {
// Disable the timer
uint32_t clock_rate, cmp_value;
// Get timer clock
clock_rate = timer.getTimerClkFreq();
int pre = 1;
// Calculate prescale an compare value
do {
cmp_value = clock_rate / (speed * OVERSAMPLE);
if (cmp_value >= UINT16_MAX) {
clock_rate /= 2;
pre *= 2;
}
} while (cmp_value >= UINT16_MAX);
timer.setPrescaleFactor(pre);
timer.setOverflow(cmp_value);
timer.setCount(0);
timer.attachInterrupt(&handleInterrupt);
timer.resume();
NVIC_SetPriority(timer_interrupt_number, timer_interrupt_priority);
}
else
timer.detachInterrupt();
cur_speed = speed;
}
}
// This function sets the current object as the "listening"
// one and returns true if it replaces another
bool SoftwareSerial::listen() {
if (active_listener != this) {
// wait for any transmit to complete as we may change speed
while (active_out);
active_listener->stopListening();
rx_tick_cnt = 1; // 1 : next interrupt will decrease rx_tick_cnt to 0 which means RX pin level will be considered.
rx_bit_cnt = -1; // rx_bit_cnt = -1 : waiting for start bit
setSpeed(_speed);
active_listener = this;
if (!_half_duplex) active_in = this;
return true;
}
return false;
}
// Stop listening. Returns true if we were actually listening.
bool SoftwareSerial::stopListening() {
if (active_listener == this) {
// wait for any output to complete
while (active_out);
if (_half_duplex) setRXTX(false);
active_listener = nullptr;
active_in = nullptr;
// turn off ints
setSpeed(0);
return true;
}
return false;
}
inline void SoftwareSerial::setTX() {
if (_inverse_logic)
LL_GPIO_ResetOutputPin(_transmitPinPort, _transmitPinNumber);
else
LL_GPIO_SetOutputPin(_transmitPinPort, _transmitPinNumber);
pinMode(_transmitPin, OUTPUT);
}
inline void SoftwareSerial::setRX() {
pinMode(_receivePin, _inverse_logic ? INPUT_PULLDOWN : INPUT_PULLUP); // pullup for normal logic!
}
inline void SoftwareSerial::setRXTX(bool input) {
if (_half_duplex) {
if (input) {
if (active_in != this) {
setRX();
rx_bit_cnt = -1; // rx_bit_cnt = -1 : waiting for start bit
rx_tick_cnt = 2; // 2 : next interrupt will be discarded. 2 interrupts required to consider RX pin level
active_in = this;
}
}
else {
if (active_in == this) {
setTX();
active_in = nullptr;
}
}
}
}
inline void SoftwareSerial::send() {
if (--tx_tick_cnt <= 0) { // if tx_tick_cnt > 0 interrupt is discarded. Only when tx_tick_cnt reaches 0 is TX pin set.
if (tx_bit_cnt++ < 10) { // tx_bit_cnt < 10 transmission is not finished (10 = 1 start +8 bits + 1 stop)
// Send data (including start and stop bits)
if (tx_buffer & 1)
LL_GPIO_SetOutputPin(_transmitPinPort, _transmitPinNumber);
else
LL_GPIO_ResetOutputPin(_transmitPinPort, _transmitPinNumber);
tx_buffer >>= 1;
tx_tick_cnt = OVERSAMPLE; // Wait OVERSAMPLE ticks to send next bit
}
else { // Transmission finished
tx_tick_cnt = 1;
if (_output_pending) {
active_out = nullptr;
// In half-duplex mode wait HALFDUPLEX_SWITCH_DELAY bit-periods after the byte has
// been transmitted before allowing the switch to RX mode
}
else if (tx_bit_cnt > 10 + OVERSAMPLE * HALFDUPLEX_SWITCH_DELAY) {
if (_half_duplex && active_listener == this) setRXTX(true);
active_out = nullptr;
}
}
}
}
//
// The receive routine called by the interrupt handler
//
inline void SoftwareSerial::recv() {
if (--rx_tick_cnt <= 0) { // if rx_tick_cnt > 0 interrupt is discarded. Only when rx_tick_cnt reaches 0 is RX pin considered
bool inbit = LL_GPIO_IsInputPinSet(_receivePinPort, _receivePinNumber) ^ _inverse_logic;
if (rx_bit_cnt == -1) { // rx_bit_cnt = -1 : waiting for start bit
if (!inbit) {
// got start bit
rx_bit_cnt = 0; // rx_bit_cnt == 0 : start bit received
rx_tick_cnt = OVERSAMPLE + 1; // Wait 1 bit (OVERSAMPLE ticks) + 1 tick in order to sample RX pin in the middle of the edge (and not too close to the edge)
rx_buffer = 0;
}
else
rx_tick_cnt = 1; // Waiting for start bit, but wrong level. Wait for next Interrupt to check RX pin level
}
else if (rx_bit_cnt >= 8) { // rx_bit_cnt >= 8 : waiting for stop bit
if (inbit) {
// Stop-bit read complete. Add to buffer.
uint8_t next = (_receive_buffer_tail + 1) % _SS_MAX_RX_BUFF;
if (next != _receive_buffer_head) {
// save new data in buffer: tail points to byte destination
_receive_buffer[_receive_buffer_tail] = rx_buffer; // save new byte
_receive_buffer_tail = next;
}
else // rx_bit_cnt = x with x = [0..7] correspond to new bit x received
_buffer_overflow = true;
}
// Full trame received. Restart waiting for start bit at next interrupt
rx_tick_cnt = 1;
rx_bit_cnt = -1;
}
else {
// data bits
rx_buffer >>= 1;
if (inbit) rx_buffer |= 0x80;
rx_bit_cnt++; // Prepare for next bit
rx_tick_cnt = OVERSAMPLE; // Wait OVERSAMPLE ticks before sampling next bit
}
}
}
//
// Interrupt handling
//
/* static */
inline void SoftwareSerial::handleInterrupt(HardwareTimer*) {
if (active_in) active_in->recv();
if (active_out) active_out->send();
}
//
// Constructor
//
SoftwareSerial::SoftwareSerial(uint16_t receivePin, uint16_t transmitPin, bool inverse_logic /* = false */) :
_receivePin(receivePin),
_transmitPin(transmitPin),
_receivePinPort(digitalPinToPort(receivePin)),
_receivePinNumber(STM_LL_GPIO_PIN(digitalPinToPinName(receivePin))),
_transmitPinPort(digitalPinToPort(transmitPin)),
_transmitPinNumber(STM_LL_GPIO_PIN(digitalPinToPinName(transmitPin))),
_speed(0),
_buffer_overflow(false),
_inverse_logic(inverse_logic),
_half_duplex(receivePin == transmitPin),
_output_pending(0),
_receive_buffer_tail(0),
_receive_buffer_head(0)
{
if ((receivePin < NUM_DIGITAL_PINS) || (transmitPin < NUM_DIGITAL_PINS)) {
/* Enable GPIO clock for tx and rx pin*/
set_GPIO_Port_Clock(STM_PORT(digitalPinToPinName(transmitPin)));
set_GPIO_Port_Clock(STM_PORT(digitalPinToPinName(receivePin)));
}
else
_Error_Handler("ERROR: invalid pin number\n", -1);
}
//
// Destructor
//
SoftwareSerial::~SoftwareSerial() { end(); }
//
// Public methods
//
void SoftwareSerial::begin(long speed) {
#ifdef FORCE_BAUD_RATE
speed = FORCE_BAUD_RATE;
#endif
_speed = speed;
if (!_half_duplex) {
setTX();
setRX();
listen();
}
else
setTX();
}
void SoftwareSerial::end() {
stopListening();
}
// Read data from buffer
int SoftwareSerial::read() {
// Empty buffer?
if (_receive_buffer_head == _receive_buffer_tail) return -1;
// Read from "head"
uint8_t d = _receive_buffer[_receive_buffer_head]; // grab next byte
_receive_buffer_head = (_receive_buffer_head + 1) % _SS_MAX_RX_BUFF;
return d;
}
int SoftwareSerial::available() {
return (_receive_buffer_tail + _SS_MAX_RX_BUFF - _receive_buffer_head) % _SS_MAX_RX_BUFF;
}
size_t SoftwareSerial::write(uint8_t b) {
// wait for previous transmit to complete
_output_pending = 1;
while (active_out) { /* nada */ }
// add start and stop bits.
tx_buffer = b << 1 | 0x200;
if (_inverse_logic) tx_buffer = ~tx_buffer;
tx_bit_cnt = 0;
tx_tick_cnt = OVERSAMPLE;
setSpeed(_speed);
if (_half_duplex) setRXTX(false);
_output_pending = 0;
// make us active
active_out = this;
return 1;
}
void SoftwareSerial::flush() {
noInterrupts();
_receive_buffer_head = _receive_buffer_tail = 0;
interrupts();
}
int SoftwareSerial::peek() {
// Empty buffer?
if (_receive_buffer_head == _receive_buffer_tail) return -1;
// Read from "head"
return _receive_buffer[_receive_buffer_head];
}
#endif // ARDUINO_ARCH_STM32 && !STM32GENERIC
+119
View File
@@ -0,0 +1,119 @@
/**
* SoftwareSerial.h (formerly NewSoftSerial.h)
*
* Multi-instance software serial library for Arduino/Wiring
* -- Interrupt-driven receive and other improvements by ladyada
* (http://ladyada.net)
* -- Tuning, circular buffer, derivation from class Print/Stream,
* multi-instance support, porting to 8MHz processors,
* various optimizations, PROGMEM delay tables, inverse logic and
* direct port writing by Mikal Hart (http://www.arduiniana.org)
* -- Pin change interrupt macros by Paul Stoffregen (http://www.pjrc.com)
* -- 20MHz processor support by Garrett Mace (http://www.macetech.com)
* -- ATmega1280/2560 support by Brett Hagman (http://www.roguerobotics.com/)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* The latest version of this library can always be found at
* http://arduiniana.org.
*/
#ifndef SOFTWARESERIAL_H
#define SOFTWARESERIAL_H
#include <Arduino.h>
/******************************************************************************
* Definitions
******************************************************************************/
#define _SS_MAX_RX_BUFF 64 // RX buffer size
class SoftwareSerial : public Stream {
private:
// per object data
uint16_t _receivePin;
uint16_t _transmitPin;
GPIO_TypeDef *_receivePinPort;
uint32_t _receivePinNumber;
GPIO_TypeDef *_transmitPinPort;
uint32_t _transmitPinNumber;
uint32_t _speed;
uint16_t _buffer_overflow: 1;
uint16_t _inverse_logic: 1;
uint16_t _half_duplex: 1;
uint16_t _output_pending: 1;
unsigned char _receive_buffer[_SS_MAX_RX_BUFF];
volatile uint8_t _receive_buffer_tail;
volatile uint8_t _receive_buffer_head;
uint32_t delta_start = 0;
// static data
static bool initialised;
static HardwareTimer timer;
static const IRQn_Type timer_interrupt_number;
static uint32_t timer_interrupt_priority;
static SoftwareSerial *active_listener;
static SoftwareSerial *volatile active_out;
static SoftwareSerial *volatile active_in;
static int32_t tx_tick_cnt;
static volatile int32_t rx_tick_cnt;
static uint32_t tx_buffer;
static int32_t tx_bit_cnt;
static uint32_t rx_buffer;
static int32_t rx_bit_cnt;
static uint32_t cur_speed;
// private methods
void send();
void recv();
void setTX();
void setRX();
void setSpeed(uint32_t speed);
void setRXTX(bool input);
static void handleInterrupt(HardwareTimer *timer);
public:
// public methods
SoftwareSerial(uint16_t receivePin, uint16_t transmitPin, bool inverse_logic = false);
virtual ~SoftwareSerial();
void begin(long speed);
bool listen();
void end();
bool isListening() { return active_listener == this; }
bool stopListening();
bool overflow() {
bool ret = _buffer_overflow;
if (ret) _buffer_overflow = false;
return ret;
}
int peek();
virtual size_t write(uint8_t byte);
virtual int read();
virtual int available();
virtual void flush();
operator bool() { return true; }
static void setInterruptPriority(uint32_t preemptPriority, uint32_t subPriority);
using Print::write;
};
#endif // SOFTWARESERIAL_H
@@ -0,0 +1,265 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2019 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
*
* 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/>.
*
*/
#if defined(ARDUINO_ARCH_STM32) && !defined(STM32GENERIC)
#include "../../inc/MarlinConfig.h"
#if BOTH(EEPROM_SETTINGS, FLASH_EEPROM_EMULATION)
#include "../shared/persistent_store_api.h"
// Only STM32F4 can support wear leveling at this time
#ifndef STM32F4xx
#undef FLASH_EEPROM_LEVELING
#endif
/**
* The STM32 HAL supports chips that deal with "pages" and some with "sectors" and some that
* even have multiple "banks" of flash.
*
* This code is a bit of a mashup of
* framework-arduinoststm32/cores/arduino/stm32/stm32_eeprom.c
* hal/hal_lpc1768/persistent_store_flash.cpp
*
* This has only be written against those that use a single "sector" design.
*
* Those that deal with "pages" could be made to work. Looking at the STM32F07 for example, there are
* 128 "pages", each 2kB in size. If we continued with our EEPROM being 4Kb, we'd always need to operate
* on 2 of these pages. Each write, we'd use 2 different pages from a pool of pages until we are done.
*/
#if ENABLED(FLASH_EEPROM_LEVELING)
#include "stm32_def.h"
#define DEBUG_OUT ENABLED(EEPROM_CHITCHAT)
#include "src/core/debug_out.h"
#ifndef EEPROM_SIZE
#define EEPROM_SIZE 0x1000 // 4kB
#endif
#ifndef FLASH_SECTOR
#define FLASH_SECTOR (FLASH_SECTOR_TOTAL - 1)
#endif
#ifndef FLASH_UNIT_SIZE
#define FLASH_UNIT_SIZE 0x20000 // 128kB
#endif
#define FLASH_ADDRESS_START (FLASH_END - ((FLASH_SECTOR_TOTAL - FLASH_SECTOR) * FLASH_UNIT_SIZE) + 1)
#define FLASH_ADDRESS_END (FLASH_ADDRESS_START + FLASH_UNIT_SIZE - 1)
#define EEPROM_SLOTS (FLASH_UNIT_SIZE/EEPROM_SIZE)
#define SLOT_ADDRESS(slot) (FLASH_ADDRESS_START + (slot * EEPROM_SIZE))
#define UNLOCK_FLASH() if (!flash_unlocked) { \
HAL_FLASH_Unlock(); \
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | \
FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); \
flash_unlocked = true; \
}
#define LOCK_FLASH() if (flash_unlocked) { HAL_FLASH_Lock(); flash_unlocked = false; }
#define EMPTY_UINT32 ((uint32_t)-1)
#define EMPTY_UINT8 ((uint8_t)-1)
static uint8_t ram_eeprom[EEPROM_SIZE] __attribute__((aligned(4))) = {0};
static int current_slot = -1;
static_assert(0 == EEPROM_SIZE % 4, "EEPROM_SIZE must be a multiple of 4"); // Ensure copying as uint32_t is safe
static_assert(0 == FLASH_UNIT_SIZE % EEPROM_SIZE, "EEPROM_SIZE must divide evenly into your FLASH_UNIT_SIZE");
static_assert(FLASH_UNIT_SIZE >= EEPROM_SIZE, "FLASH_UNIT_SIZE must be greater than or equal to your EEPROM_SIZE");
static_assert(IS_FLASH_SECTOR(FLASH_SECTOR), "FLASH_SECTOR is invalid");
static_assert(IS_POWER_OF_2(FLASH_UNIT_SIZE), "FLASH_UNIT_SIZE should be a power of 2, please check your chip's spec sheet");
#endif
static bool eeprom_data_written = false;
bool PersistentStore::access_start() {
#if ENABLED(FLASH_EEPROM_LEVELING)
if (current_slot == -1 || eeprom_data_written) {
// This must be the first time since power on that we have accessed the storage, or someone
// loaded and called write_data and never called access_finish.
// Lets go looking for the slot that holds our configuration.
if (eeprom_data_written) DEBUG_ECHOLN("Dangling EEPROM write_data");
uint32_t address = FLASH_ADDRESS_START;
while (address <= FLASH_ADDRESS_END) {
uint32_t address_value = (*(__IO uint32_t*)address);
if (address_value != EMPTY_UINT32) {
current_slot = (address - FLASH_ADDRESS_START) / EEPROM_SIZE;
break;
}
address += sizeof(uint32_t);
}
if (current_slot == -1) {
// We didn't find anything, so we'll just intialize to empty
for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = EMPTY_UINT8;
current_slot = EEPROM_SLOTS;
}
else {
// load current settings
uint8_t *eeprom_data = (uint8_t *)SLOT_ADDRESS(current_slot);
for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = eeprom_data[i];
DEBUG_ECHOLNPAIR("EEPROM loaded from slot ", current_slot, ".");
}
eeprom_data_written = false;
}
#else
eeprom_buffer_fill();
#endif
return true;
}
bool PersistentStore::access_finish() {
if (eeprom_data_written) {
#if ENABLED(FLASH_EEPROM_LEVELING)
HAL_StatusTypeDef status = HAL_ERROR;
bool flash_unlocked = false;
if (--current_slot < 0) {
// all slots have been used, erase everything and start again
FLASH_EraseInitTypeDef EraseInitStruct;
uint32_t SectorError = 0;
EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS;
EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3;
EraseInitStruct.Sector = FLASH_SECTOR;
EraseInitStruct.NbSectors = 1;
current_slot = EEPROM_SLOTS - 1;
UNLOCK_FLASH();
status = HAL_FLASHEx_Erase(&EraseInitStruct, &SectorError);
if (status != HAL_OK) {
DEBUG_ECHOLNPAIR("HAL_FLASHEx_Erase=", status);
DEBUG_ECHOLNPAIR("GetError=", HAL_FLASH_GetError());
DEBUG_ECHOLNPAIR("SectorError=", SectorError);
LOCK_FLASH();
return false;
}
}
UNLOCK_FLASH();
uint32_t offset = 0;
uint32_t address = SLOT_ADDRESS(current_slot);
uint32_t address_end = address + EEPROM_SIZE;
uint32_t data = 0;
bool success = true;
while (address < address_end) {
memcpy(&data, ram_eeprom + offset, sizeof(uint32_t));
status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, address, data);
if (status == HAL_OK) {
address += sizeof(uint32_t);
offset += sizeof(uint32_t);
}
else {
DEBUG_ECHOLNPAIR("HAL_FLASH_Program=", status);
DEBUG_ECHOLNPAIR("GetError=", HAL_FLASH_GetError());
DEBUG_ECHOLNPAIR("address=", address);
success = false;
break;
}
}
LOCK_FLASH();
if (success) {
eeprom_data_written = false;
DEBUG_ECHOLNPAIR("EEPROM saved to slot ", current_slot, ".");
}
return success;
#else
eeprom_buffer_flush();
eeprom_data_written = false;
#endif
}
return true;
}
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
while (size--) {
uint8_t v = *value;
#if ENABLED(FLASH_EEPROM_LEVELING)
if (v != ram_eeprom[pos]) {
ram_eeprom[pos] = v;
eeprom_data_written = true;
}
#else
if (v != eeprom_buffered_read_byte(pos)) {
eeprom_buffered_write_byte(pos, v);
eeprom_data_written = true;
}
#endif
crc16(crc, &v, 1);
pos++;
value++;
}
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do {
const uint8_t c = (
#if ENABLED(FLASH_EEPROM_LEVELING)
ram_eeprom[pos]
#else
eeprom_buffered_read_byte(pos)
#endif
);
if (writing) *value = c;
crc16(crc, &c, 1);
pos++;
value++;
} while (--size);
return false;
}
size_t PersistentStore::capacity() {
return (
#if ENABLED(FLASH_EEPROM_LEVELING)
EEPROM_SIZE
#else
E2END + 1
#endif
);
}
#endif // EEPROM_SETTINGS && FLASH_EEPROM_EMULATION
#endif // ARDUINO_ARCH_STM32 && !STM32GENERIC
@@ -24,29 +24,15 @@
#include "../../inc/MarlinConfig.h"
#if ENABLED(EEPROM_SETTINGS) && ANY(FLASH_EEPROM_EMULATION, SRAM_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
#if ENABLED(EEPROM_SETTINGS) && ANY(SRAM_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
#include "../shared/persistent_store_api.h"
#if ENABLED(FLASH_EEPROM_EMULATION)
#include <EEPROM.h>
static bool eeprom_data_written = false;
#endif
bool PersistentStore::access_start() {
#if ENABLED(FLASH_EEPROM_EMULATION)
eeprom_buffer_fill();
#endif
return true;
}
bool PersistentStore::access_finish() {
#if ENABLED(FLASH_EEPROM_EMULATION)
if (eeprom_data_written) {
eeprom_buffer_flush();
eeprom_data_written = false;
}
#endif
return true;
}
@@ -66,8 +52,6 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return true;
}
}
#elif ENABLED(FLASH_EEPROM_EMULATION)
eeprom_buffered_write_byte(pos, v);
#else
*(__IO uint8_t *)(BKPSRAM_BASE + (uint8_t * const)pos) = v;
#endif
@@ -76,9 +60,6 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
pos++;
value++;
};
#if ENABLED(FLASH_EEPROM_EMULATION)
eeprom_data_written = true;
#endif
return false;
}
@@ -89,8 +70,6 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t
const uint8_t c = (
#if EITHER(SPI_EEPROM, I2C_EEPROM)
eeprom_read_byte((uint8_t*)pos)
#elif ENABLED(FLASH_EEPROM_EMULATION)
eeprom_buffered_read_byte(pos)
#else
(*(__IO uint8_t *)(BKPSRAM_BASE + ((uint8_t*)pos)))
#endif
@@ -114,5 +93,5 @@ size_t PersistentStore::capacity() {
);
}
#endif // EEPROM_SETTINGS && (FLASH_EEPROM_EMULATION || SRAM_EEPROM_EMULATION || SPI_EEPROM || I2C_EEPROM)
#endif // EEPROM_SETTINGS && (SRAM_EEPROM_EMULATION || SPI_EEPROM || I2C_EEPROM)
#endif // ARDUINO_ARCH_STM32 && !STM32GENERIC
+73 -27
View File
@@ -32,62 +32,108 @@
#define NUM_HARDWARE_TIMERS 2
#define __TIMER_DEV(X) TIM##X
#define _TIMER_DEV(X) __TIMER_DEV(X)
#define STEP_TIMER_DEV _TIMER_DEV(STEP_TIMER)
#define TEMP_TIMER_DEV _TIMER_DEV(TEMP_TIMER)
// ------------------------
// Private Variables
// ------------------------
stm32_timer_t TimerHandle[NUM_HARDWARE_TIMERS];
HardwareTimer *timer_instance[NUM_HARDWARE_TIMERS] = { NULL };
bool timer_enabled[NUM_HARDWARE_TIMERS] = { false };
// ------------------------
// Public functions
// ------------------------
bool timers_initialized[NUM_HARDWARE_TIMERS] = { false };
// frequency is in Hertz
void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
if (!HAL_timer_initialized(timer_num)) {
switch (timer_num) {
case STEP_TIMER_NUM: // STEPPER TIMER - use a 32bit timer if possible
timer_instance[timer_num] = new HardwareTimer(STEP_TIMER_DEV);
/* Set the prescaler to the final desired value.
* This will change the effective ISR callback frequency but when
* HAL_timer_start(timer_num=0) is called in the core for the first time
* the real frequency isn't important as long as, after boot, the ISR
* gets called with the correct prescaler and count register. So here
* we set the prescaler to the correct, final value and ignore the frequency
* asked. We will call back the ISR in 1 second to start at full speed.
*
* The proper fix, however, would be a correct initialization OR a
* HAL_timer_change(const uint8_t timer_num, const uint32_t frequency)
* which changes the prescaler when an IRQ frequency change is needed
* (for example when steppers are turned on)
*/
timer_instance[timer_num]->setPrescaleFactor(STEPPER_TIMER_PRESCALE); //the -1 is done internally
timer_instance[timer_num]->setOverflow(_MIN(hal_timer_t(HAL_TIMER_TYPE_MAX), (HAL_TIMER_RATE) / (STEPPER_TIMER_PRESCALE) /* /frequency */), TICK_FORMAT);
break;
case TEMP_TIMER_NUM: // TEMP TIMER - any available 16bit timer
timer_instance[timer_num] = new HardwareTimer(TEMP_TIMER_DEV);
// The prescale factor is computed automatically for HERTZ_FORMAT
timer_instance[timer_num]->setOverflow(frequency, HERTZ_FORMAT);
break;
}
if (!timers_initialized[timer_num]) {
uint32_t step_prescaler = STEPPER_TIMER_PRESCALE - 1,
temp_prescaler = TEMP_TIMER_PRESCALE - 1;
HAL_timer_enable_interrupt(timer_num);
/*
* Initializes (and unfortunately starts) the timer.
* This is needed to set correct IRQ priority at the moment but causes
* no harm since every call to HAL_timer_start() is actually followed by
* a call to HAL_timer_enable_interrupt() which means that there isn't
* a case in which you want the timer to run without a callback.
*/
timer_instance[timer_num]->resume(); // First call to resume() MUST follow the attachInterrupt()
// This is fixed in Arduino_Core_STM32 1.8.
// These calls can be removed and replaced with
// timer_instance[timer_num]->setInterruptPriority
switch (timer_num) {
case STEP_TIMER_NUM:
// STEPPER TIMER - use a 32bit timer if possible
TimerHandle[timer_num].timer = STEP_TIMER_DEV;
TimerHandle[timer_num].irqHandle = Step_Handler;
TimerHandleInit(&TimerHandle[timer_num], (((HAL_TIMER_RATE) / step_prescaler) / frequency) - 1, step_prescaler);
HAL_NVIC_SetPriority(STEP_TIMER_IRQ_NAME, STEP_TIMER_IRQ_PRIO, 0);
break;
case TEMP_TIMER_NUM:
// TEMP TIMER - any available 16bit Timer
TimerHandle[timer_num].timer = TEMP_TIMER_DEV;
TimerHandle[timer_num].irqHandle = Temp_Handler;
TimerHandleInit(&TimerHandle[timer_num], (((HAL_TIMER_RATE) / temp_prescaler) / frequency) - 1, temp_prescaler);
HAL_NVIC_SetPriority(TEMP_TIMER_IRQ_NAME, TEMP_TIMER_IRQ_PRIO, 0);
break;
}
timers_initialized[timer_num] = true;
}
}
void HAL_timer_enable_interrupt(const uint8_t timer_num) {
const IRQn_Type IRQ_Id = IRQn_Type(getTimerIrq(TimerHandle[timer_num].timer));
HAL_NVIC_EnableIRQ(IRQ_Id);
if (HAL_timer_initialized(timer_num) && !timer_enabled[timer_num]) {
timer_enabled[timer_num] = true;
switch (timer_num) {
case STEP_TIMER_NUM:
timer_instance[timer_num]->attachInterrupt(Step_Handler);
break;
case TEMP_TIMER_NUM:
timer_instance[timer_num]->attachInterrupt(Temp_Handler);
break;
}
}
}
void HAL_timer_disable_interrupt(const uint8_t timer_num) {
const IRQn_Type IRQ_Id = IRQn_Type(getTimerIrq(TimerHandle[timer_num].timer));
HAL_NVIC_DisableIRQ(IRQ_Id);
// We NEED memory barriers to ensure Interrupts are actually disabled!
// ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the )
__DSB();
__ISB();
if (HAL_timer_interrupt_enabled(timer_num)) {
timer_instance[timer_num]->detachInterrupt();
timer_enabled[timer_num] = false;
}
}
bool HAL_timer_interrupt_enabled(const uint8_t timer_num) {
const uint32_t IRQ_Id = getTimerIrq(TimerHandle[timer_num].timer);
return NVIC->ISER[IRQ_Id >> 5] & _BV32(IRQ_Id & 0x1F);
return HAL_timer_initialized(timer_num) && timer_enabled[timer_num];
}
// Only for use within the HAL
TIM_TypeDef * HAL_timer_device(const uint8_t timer_num) {
switch (timer_num) {
case STEP_TIMER_NUM: return STEP_TIMER_DEV;
case TEMP_TIMER_NUM: return TEMP_TIMER_DEV;
}
return nullptr;
}
#endif // ARDUINO_ARCH_STM32 && !STM32GENERIC
+33 -38
View File
@@ -33,6 +33,7 @@
#define hal_timer_t uint32_t
#define HAL_TIMER_TYPE_MAX 0xFFFFFFFF // Timers can be 16 or 32 bit
#ifdef STM32F0xx
#define HAL_TIMER_RATE (F_CPU) // frequency of timer peripherals
@@ -66,27 +67,30 @@
#endif
#ifndef TEMP_TIMER
#define TEMP_TIMER 7
#define TEMP_TIMER 14 // TIM7 is consumed by Software Serial if used.
#endif
#endif
#ifndef SWSERIAL_TIMER_IRQ_PRIO
#define SWSERIAL_TIMER_IRQ_PRIO 1
#endif
#ifndef STEP_TIMER_IRQ_PRIO
#define STEP_TIMER_IRQ_PRIO 1
#define STEP_TIMER_IRQ_PRIO 2
#endif
#ifndef TEMP_TIMER_IRQ_PRIO
#define TEMP_TIMER_IRQ_PRIO 2
#define TEMP_TIMER_IRQ_PRIO 14 //14 = after hardware ISRs
#endif
#define STEP_TIMER_NUM 0 // index of timer to use for stepper
#define TEMP_TIMER_NUM 1 // index of timer to use for temperature
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#define TEMP_TIMER_RATE 72000 // 72 Khz
#define TEMP_TIMER_PRESCALE ((HAL_TIMER_RATE)/(TEMP_TIMER_RATE))
#define TEMP_TIMER_FREQUENCY 1000
#define TEMP_TIMER_FREQUENCY 1000 //Temperature::isr() is expected to be called at around 1kHz
//TODO: get rid of manual rate/prescale/ticks/cycles taken for procedures in stepper.cpp
#define STEPPER_TIMER_RATE 2000000 // 2 Mhz
#define STEPPER_TIMER_PRESCALE ((HAL_TIMER_RATE)/(STEPPER_TIMER_RATE))
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
@@ -95,17 +99,6 @@
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US
#define __TIMER_DEV(X) TIM##X
#define _TIMER_DEV(X) __TIMER_DEV(X)
#define STEP_TIMER_DEV _TIMER_DEV(STEP_TIMER)
#define TEMP_TIMER_DEV _TIMER_DEV(TEMP_TIMER)
#define __TIMER_CALLBACK(X) TIM##X##_IRQHandler
#define _TIMER_CALLBACK(X) __TIMER_CALLBACK(X)
#define STEP_TIMER_CALLBACK _TIMER_CALLBACK(STEP_TIMER)
#define TEMP_TIMER_CALLBACK _TIMER_CALLBACK(TEMP_TIMER)
#define __TIMER_IRQ_NAME(X) TIM##X##_IRQn
#define _TIMER_IRQ_NAME(X) __TIMER_IRQ_NAME(X)
@@ -119,22 +112,16 @@
#define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
extern void Step_Handler(stimer_t *htim);
extern void Temp_Handler(stimer_t *htim);
#define HAL_STEP_TIMER_ISR() void Step_Handler(stimer_t *htim)
#define HAL_TEMP_TIMER_ISR() void Temp_Handler(stimer_t *htim)
// ------------------------
// Types
// ------------------------
typedef stimer_t stm32_timer_t;
extern void Step_Handler(HardwareTimer *htim);
extern void Temp_Handler(HardwareTimer *htim);
#define HAL_STEP_TIMER_ISR() void Step_Handler(HardwareTimer *htim)
#define HAL_TEMP_TIMER_ISR() void Temp_Handler(HardwareTimer *htim)
// ------------------------
// Public Variables
// ------------------------
extern stm32_timer_t TimerHandle[];
extern HardwareTimer *timer_instance[];
// ------------------------
// Public functions
@@ -145,18 +132,26 @@ void HAL_timer_enable_interrupt(const uint8_t timer_num);
void HAL_timer_disable_interrupt(const uint8_t timer_num);
bool HAL_timer_interrupt_enabled(const uint8_t timer_num);
FORCE_INLINE static uint32_t HAL_timer_get_count(const uint8_t timer_num) {
return __HAL_TIM_GET_COUNTER(&TimerHandle[timer_num].handle);
//TIM_TypeDef* HAL_timer_device(const uint8_t timer_num); no need to be public for now. not public = not used externally
// FORCE_INLINE because these are used in performance-critical situations
FORCE_INLINE bool HAL_timer_initialized(const uint8_t timer_num) {
return timer_instance[timer_num] != NULL;
}
FORCE_INLINE static hal_timer_t HAL_timer_get_count(const uint8_t timer_num) {
return HAL_timer_initialized(timer_num) ? timer_instance[timer_num]->getCount() : 0;
}
FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const uint32_t compare) {
__HAL_TIM_SET_AUTORELOAD(&TimerHandle[timer_num].handle, compare);
if (HAL_timer_get_count(timer_num) >= compare)
TimerHandle[timer_num].handle.Instance->EGR |= TIM_EGR_UG; // Generate an immediate update interrupt
}
FORCE_INLINE static hal_timer_t HAL_timer_get_compare(const uint8_t timer_num) {
return __HAL_TIM_GET_AUTORELOAD(&TimerHandle[timer_num].handle);
// NOTE: Method name may be misleading.
// STM32 has an Auto-Reload Register (ARR) as opposed to a "compare" register
FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t overflow) {
if (HAL_timer_initialized(timer_num)) {
timer_instance[timer_num]->setOverflow(overflow + 1, TICK_FORMAT); // Value decremented by setOverflow()
// wiki: "force all registers (Autoreload, prescaler, compare) to be taken into account"
// So, if the new overflow value is less than the count it will trigger a rollover interrupt.
if (overflow < timer_instance[timer_num]->getCount()) // Added 'if' here because reports say it won't boot without it
timer_instance[timer_num]->refresh();
}
}
#define HAL_timer_isr_prologue(TIMER_NUM)
+10 -1
View File
@@ -121,6 +121,9 @@ const uint8_t adc_pins[] = {
#if ENABLED(FILAMENT_WIDTH_SENSOR)
FILWIDTH_PIN,
#endif
#if ENABLED(ADC_KEYPAD)
ADC_KEYPAD_PIN,
#endif
#if HAS_JOY_ADC_X
JOY_X_PIN,
#endif
@@ -160,6 +163,9 @@ enum TEMP_PINS : char {
#if ENABLED(FILAMENT_WIDTH_SENSOR)
FILWIDTH,
#endif
#if ENABLED(ADC_KEYPAD)
ADC_KEY,
#endif
#if HAS_JOY_ADC_X
JOY_X,
#endif
@@ -272,7 +278,7 @@ extern "C" {
// return free memory between end of heap (or end bss) and whatever is current
/*
#include "wirish/syscalls.c"
#include <wirish/syscalls.c>
//extern caddr_t _sbrk(int incr);
#ifndef CONFIG_HEAP_END
extern char _lm_heap_end;
@@ -352,6 +358,9 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) {
#if ENABLED(FILAMENT_WIDTH_SENSOR)
case FILWIDTH_PIN: pin_index = FILWIDTH; break;
#endif
#if ENABLED(ADC_KEYPAD)
case ADC_KEYPAD_PIN: pin_index = ADC_KEY; break;
#endif
}
HAL_adc_result = (HAL_adc_results[(int)pin_index] >> 2) & 0x3FF; // shift to get 10 bits only.
}
+9
View File
@@ -51,6 +51,14 @@
// Defines
// ------------------------
#ifndef STM32_FLASH_SIZE
#ifdef MCU_STM32F103RE
#define STM32_FLASH_SIZE 512
#else
#define STM32_FLASH_SIZE 256
#endif
#endif
#ifdef SERIAL_USB
#ifndef USE_USB_COMPOSITE
#define UsbSerial Serial
@@ -238,6 +246,7 @@ void eeprom_update_block(const void *__src, void *__dst, size_t __n);
void HAL_adc_init();
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
+1 -1
View File
@@ -53,7 +53,7 @@ static const spi_pins* dev_to_spi_pins(spi_dev *dev);
static void configure_gpios(spi_dev *dev, bool as_master);
static spi_baud_rate determine_baud_rate(spi_dev *dev, uint32_t freq);
#if (BOARD_NR_SPI >= 3) && !defined(STM32_HIGH_DENSITY)
#if BOARD_NR_SPI >= 3 && !defined(STM32_HIGH_DENSITY)
#error "The SPI library is misconfigured: 3 SPI ports only available on high density STM32 devices"
#endif
+3 -1
View File
@@ -20,7 +20,9 @@
#include <stdint.h>
#define SW_SERIAL_PLACEHOLDER 1
#ifndef HAVE_SW_SERIAL
#define SW_SERIAL_PLACEHOLDER 1
#endif
class SoftwareSerial {
public:
View File
+20 -19
View File
@@ -29,32 +29,33 @@
#include <libmaple/gpio.h>
#define READ(IO) (PIN_MAP[IO].gpio_device->regs->IDR & (1U << PIN_MAP[IO].gpio_bit) ? HIGH : LOW)
#define WRITE(IO,V) (PIN_MAP[IO].gpio_device->regs->BSRR = (1U << PIN_MAP[IO].gpio_bit) << ((V) ? 0 : 16))
#define TOGGLE(IO) (PIN_MAP[IO].gpio_device->regs->ODR = PIN_MAP[IO].gpio_device->regs->ODR ^ (1U << PIN_MAP[IO].gpio_bit))
#define READ(IO) (PIN_MAP[IO].gpio_device->regs->IDR & (1U << PIN_MAP[IO].gpio_bit) ? HIGH : LOW)
#define WRITE(IO,V) (PIN_MAP[IO].gpio_device->regs->BSRR = (1U << PIN_MAP[IO].gpio_bit) << ((V) ? 0 : 16))
#define TOGGLE(IO) (PIN_MAP[IO].gpio_device->regs->ODR = PIN_MAP[IO].gpio_device->regs->ODR ^ (1U << PIN_MAP[IO].gpio_bit))
#define _GET_MODE(IO) gpio_get_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit)
#define _SET_MODE(IO,M) gpio_set_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit, M)
#define _SET_OUTPUT(IO) _SET_MODE(IO, GPIO_OUTPUT_PP)
#define _SET_OUTPUT_OD(IO) _SET_MODE(IO, GPIO_OUTPUT_OD)
#define _GET_MODE(IO) gpio_get_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit)
#define _SET_MODE(IO,M) gpio_set_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit, M)
#define _SET_OUTPUT(IO) _SET_MODE(IO, GPIO_OUTPUT_PP)
#define _SET_OUTPUT_OD(IO) _SET_MODE(IO, GPIO_OUTPUT_OD)
#define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0)
#define OUT_WRITE_OD(IO,V) do{ _SET_OUTPUT_OD(IO); WRITE(IO,V); }while(0)
#define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0)
#define OUT_WRITE_OD(IO,V) do{ _SET_OUTPUT_OD(IO); WRITE(IO,V); }while(0)
#define SET_INPUT(IO) _SET_MODE(IO, GPIO_INPUT_FLOATING)
#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, GPIO_INPUT_PU)
#define SET_OUTPUT(IO) OUT_WRITE(IO, LOW)
#define SET_PWM(IO) pinMode(IO, PWM) // do{ gpio_set_mode(PIN_MAP[pin].gpio_device, PIN_MAP[pin].gpio_bit, GPIO_AF_OUTPUT_PP); timer_set_mode(PIN_MAP[pin].timer_device, PIN_MAP[pin].timer_channel, TIMER_PWM); }while(0)
#define SET_PWM_OD(IO) pinMode(IO, PWM_OPEN_DRAIN)
#define SET_INPUT(IO) _SET_MODE(IO, GPIO_INPUT_FLOATING)
#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, GPIO_INPUT_PU)
#define SET_INPUT_PULLDOWN(IO) _SET_MODE(IO, GPIO_INPUT_PD)
#define SET_OUTPUT(IO) OUT_WRITE(IO, LOW)
#define SET_PWM(IO) pinMode(IO, PWM) // do{ gpio_set_mode(PIN_MAP[pin].gpio_device, PIN_MAP[pin].gpio_bit, GPIO_AF_OUTPUT_PP); timer_set_mode(PIN_MAP[pin].timer_device, PIN_MAP[pin].timer_channel, TIMER_PWM); }while(0)
#define SET_PWM_OD(IO) pinMode(IO, PWM_OPEN_DRAIN)
#define IS_INPUT(IO) (_GET_MODE(IO) == GPIO_INPUT_FLOATING || _GET_MODE(IO) == GPIO_INPUT_ANALOG || _GET_MODE(IO) == GPIO_INPUT_PU || _GET_MODE(IO) == GPIO_INPUT_PD)
#define IS_OUTPUT(IO) (_GET_MODE(IO) == GPIO_OUTPUT_PP || _GET_MODE(IO) == GPIO_OUTPUT_OD)
#define IS_INPUT(IO) (_GET_MODE(IO) == GPIO_INPUT_FLOATING || _GET_MODE(IO) == GPIO_INPUT_ANALOG || _GET_MODE(IO) == GPIO_INPUT_PU || _GET_MODE(IO) == GPIO_INPUT_PD)
#define IS_OUTPUT(IO) (_GET_MODE(IO) == GPIO_OUTPUT_PP || _GET_MODE(IO) == GPIO_OUTPUT_OD)
#define PWM_PIN(IO) (PIN_MAP[IO].timer_device != nullptr)
#define PWM_PIN(IO) (PIN_MAP[IO].timer_device != nullptr)
// digitalRead/Write wrappers
#define extDigitalRead(IO) digitalRead(IO)
#define extDigitalWrite(IO,V) digitalWrite(IO,V)
#define extDigitalRead(IO) digitalRead(IO)
#define extDigitalWrite(IO,V) digitalWrite(IO,V)
//
// Pins Definitions
@@ -36,3 +36,8 @@
#if ENABLED(FAST_PWM_FAN)
#error "FAST_PWM_FAN is not yet implemented for this platform."
#endif
#if !defined(HAVE_SW_SERIAL) && HAS_TMC220x
#warning "With TMC2208/9 consider using SoftwareSerialM with HAVE_SW_SERIAL and appropriate SS_TIMER."
#error "Missing SoftwareSerial implementation."
#endif
+2 -2
View File
@@ -36,8 +36,8 @@
#define SPI_CLOCK_MAX SPI_BAUD_PCLK_DIV_2
#endif
#define CS_LOW() {WRITE(ONBOARD_SD_CS_PIN, LOW);} /* Set OnBoardSPI cs low */
#define CS_HIGH() {WRITE(ONBOARD_SD_CS_PIN, HIGH);} /* Set OnBoardSPI cs high */
#define CS_LOW() WRITE(ONBOARD_SD_CS_PIN, LOW) /* Set OnBoardSPI cs low */
#define CS_HIGH() WRITE(ONBOARD_SD_CS_PIN, HIGH) /* Set OnBoardSPI cs high */
#define FCLK_FAST() ONBOARD_SD_SPI.setClockDivider(SPI_CLOCK_MAX)
#define FCLK_SLOW() ONBOARD_SD_SPI.setClockDivider(SPI_BAUD_PCLK_DIV_256)
@@ -40,53 +40,73 @@
#include <EEPROM.h>
// Store settings in the last two pages
// Flash pages must be erased before writing, so keep track.
bool firstWrite = false;
#define EEPROM_SIZE (EEPROM_PAGE_SIZE * 2)
#define ACCESS_FINISHED(TF) do{ FLASH_Lock(); eeprom_dirty = false; return TF; }while(0)
static uint8_t ram_eeprom[EEPROM_SIZE] __attribute__((aligned(4))) = {0};
static bool eeprom_dirty = false;
bool PersistentStore::access_start() {
firstWrite = true;
const uint32_t* source = reinterpret_cast<const uint32_t*>(EEPROM_PAGE0_BASE);
uint32_t* destination = reinterpret_cast<uint32_t*>(ram_eeprom);
static_assert(0 == EEPROM_SIZE % 4, "EEPROM_SIZE is corrupted. (Must be a multiple of 4.)"); // Ensure copying as uint32_t is safe
constexpr size_t eeprom_size_u32 = EEPROM_SIZE / 4;
for (size_t i = 0; i < eeprom_size_u32; ++i, ++destination, ++source)
*destination = *source;
eeprom_dirty = false;
return true;
}
bool PersistentStore::access_finish() {
FLASH_Lock();
firstWrite = false;
if (eeprom_dirty) {
FLASH_Status status;
// Instead of erasing all (both) pages, maybe in the loop we check what page we are in, and if the
// data has changed in that page. We then erase the first time we "detect" a change. In theory, if
// nothing changed in a page, we wouldn't need to erase/write it.
// Or, instead of checking at this point, turn eeprom_dirty into an array of bool the size of number
// of pages. Inside write_data, we set the flag to true at that time if something in that
// page changes...either way, something to look at later.
FLASH_Unlock();
status = FLASH_ErasePage(EEPROM_PAGE0_BASE);
if (status != FLASH_COMPLETE) ACCESS_FINISHED(true);
status = FLASH_ErasePage(EEPROM_PAGE1_BASE);
if (status != FLASH_COMPLETE) ACCESS_FINISHED(true);
const uint16_t *source = reinterpret_cast<const uint16_t*>(ram_eeprom);
for (size_t i = 0; i < EEPROM_SIZE; i += 2, ++source) {
if (FLASH_ProgramHalfWord(EEPROM_PAGE0_BASE + i, *source) != FLASH_COMPLETE)
ACCESS_FINISHED(false);
}
ACCESS_FINISHED(true);
}
return true;
}
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
FLASH_Status status;
if (firstWrite) {
FLASH_Unlock();
status = FLASH_ErasePage(EEPROM_PAGE0_BASE);
if (status != FLASH_COMPLETE) return true;
status = FLASH_ErasePage(EEPROM_PAGE1_BASE);
if (status != FLASH_COMPLETE) return true;
firstWrite = false;
}
for (size_t i = 0; i < size; i++) {
if (FLASH_ProgramHalfWord(EEPROM_PAGE0_BASE + (pos + i) * 2, value[i]) != FLASH_COMPLETE)
return true;
}
for (size_t i = 0; i < size; ++i) ram_eeprom[pos + i] = value[i];
eeprom_dirty = true;
crc16(crc, value, size);
pos += size;
return false;
return false; // return true for any error
}
bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
for (size_t i = 0; i < size; i++) {
uint8_t v = *(uint16_t *)(EEPROM_PAGE0_BASE + (pos + i) * 2);
if (writing) value[i] = v;
crc16(crc, &v, 1);
}
const uint8_t * const buff = writing ? &value[0] : &ram_eeprom[pos];
if (writing) for (size_t i = 0; i < size; i++) value[i] = ram_eeprom[pos + i];
crc16(crc, buff, size);
pos += size;
return false;
return false; // return true for any error
}
size_t PersistentStore::capacity() { return size_t(E2END + 1); }
size_t PersistentStore::capacity() { return EEPROM_SIZE; }
#endif // EEPROM_SETTINGS && EEPROM FLASH
#endif // __STM32F1__
+3 -3
View File
@@ -57,7 +57,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
case 3: irq_num = NVIC_TIMER3; break;
case 4: irq_num = NVIC_TIMER4; break;
case 5: irq_num = NVIC_TIMER5; break;
#if ENABLED(STM32_HIGH_DENSITY)
#ifdef STM32_HIGH_DENSITY
// 6 & 7 are basic timers, avoid them
case 8: irq_num = NVIC_TIMER8_CC; break;
#endif
@@ -82,7 +82,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
timer_set_prescaler(STEP_TIMER_DEV, (uint16_t)(STEPPER_TIMER_PRESCALE - 1));
timer_set_reload(STEP_TIMER_DEV, 0xFFFF);
timer_oc_set_mode(STEP_TIMER_DEV, STEP_TIMER_CHAN, TIMER_OC_MODE_FROZEN, TIMER_OC_NO_PRELOAD); // no output pin change
timer_set_compare(STEP_TIMER_DEV, STEP_TIMER_CHAN, _MIN(hal_timer_t(HAL_TIMER_TYPE_MAX), (STEPPER_TIMER_RATE / frequency)));
timer_set_compare(STEP_TIMER_DEV, STEP_TIMER_CHAN, _MIN(hal_timer_t(HAL_TIMER_TYPE_MAX), (STEPPER_TIMER_RATE) / frequency));
timer_no_ARR_preload_ARPE(STEP_TIMER_DEV); // Need to be sure no preload on ARR register
timer_attach_interrupt(STEP_TIMER_DEV, STEP_TIMER_CHAN, stepTC_Handler);
nvic_irq_set_priority(irq_num, STEP_TIMER_IRQ_PRIO);
@@ -95,7 +95,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
timer_set_count(TEMP_TIMER_DEV, 0);
timer_set_prescaler(TEMP_TIMER_DEV, (uint16_t)(TEMP_TIMER_PRESCALE - 1));
timer_set_reload(TEMP_TIMER_DEV, 0xFFFF);
timer_set_compare(TEMP_TIMER_DEV, TEMP_TIMER_CHAN, _MIN(hal_timer_t(HAL_TIMER_TYPE_MAX), ((F_CPU / TEMP_TIMER_PRESCALE) / frequency)));
timer_set_compare(TEMP_TIMER_DEV, TEMP_TIMER_CHAN, _MIN(hal_timer_t(HAL_TIMER_TYPE_MAX), (F_CPU) / (TEMP_TIMER_PRESCALE) / frequency));
timer_attach_interrupt(TEMP_TIMER_DEV, TEMP_TIMER_CHAN, tempTC_Handler);
nvic_irq_set_priority(irq_num, TEMP_TIMER_IRQ_PRIO);
timer_generate_update(TEMP_TIMER_DEV);
+20 -2
View File
@@ -47,6 +47,20 @@ typedef uint16_t hal_timer_t;
#define STEP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts
#define TEMP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts
/**
* Note: Timers may be used by platforms and libraries
*
* FAN PWMs:
* With FAN_SOFT_PWM disabled the Temperature class uses
* FANx_PIN timers to generate FAN PWM signals.
*
* Speaker:
* When SPEAKER is enabled, one timer is allocated by maple/tone.cpp.
* - If BEEPER_PIN has a timer channel (and USE_PIN_TIMER is
* defined in tone.cpp) it uses the pin's own timer.
* - Otherwise it uses Timer 8 on boards with STM32_HIGH_DENSITY
* or Timer 4 on other boards.
*/
#if defined(MCU_STM32F103CB) || defined(MCU_STM32F103C8)
#define STEP_TIMER_NUM 4 // For C8/CB boards, use timer 4
#else
@@ -56,9 +70,13 @@ typedef uint16_t hal_timer_t;
//#define TEMP_TIMER_NUM 4 // 2->4, Timer 2 for Stepper Current PWM
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#if MB(BIGTREE_SKR_MINI_E3, BIGTREE_SKR_E3_DIP, BTT_SKR_MINI_E3_V1_2, MKS_ROBIN_LITE)
#if MB(BTT_SKR_MINI_E3_V1_0, BIGTREE_SKR_E3_DIP, BTT_SKR_MINI_E3_V1_2, MKS_ROBIN_LITE)
// SKR Mini E3 boards use PA8 as FAN_PIN, so TIMER 1 is used for Fan PWM.
#define SERVO0_TIMER_NUM 8
#ifdef STM32_HIGH_DENSITY
#define SERVO0_TIMER_NUM 8 // tone.cpp uses Timer 4
#else
#define SERVO0_TIMER_NUM 3 // tone.cpp uses Timer 8
#endif
#else
#define SERVO0_TIMER_NUM 1 // SERVO0 or BLTOUCH
#endif
+1 -1
View File
@@ -64,7 +64,7 @@ extern "C" {
// return free memory between end of heap (or end bss) and whatever is current
/*
#include "wirish/syscalls.c"
#include <wirish/syscalls.c>
//extern caddr_t _sbrk(int incr);
#ifndef CONFIG_HEAP_END
extern char _lm_heap_end;
+4 -4
View File
@@ -24,16 +24,15 @@
#define CPU_32_BIT
#include "../../inc/MarlinConfigPre.h"
#include "../shared/Marduino.h"
#include "../shared/math_32bit.h"
#include "../shared/HAL_SPI.h"
#include "fastio.h"
#include "watchdog.h"
#include "timers.h"
#include "../../inc/MarlinConfigPre.h"
#include "watchdog.h"
#include <stdint.h>
@@ -208,6 +207,7 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n);
inline void HAL_adc_init() {}
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
+1 -1
View File
@@ -38,7 +38,7 @@
//Error_Handler();
}
else {
#if PIN_EXISTS(LED) && !ENABLED(PINS_DEBUGGING)
#if PIN_EXISTS(LED) && DISABLED(PINS_DEBUGGING)
TOGGLE(LED_PIN); // heartbeat indicator
#endif
}
+1
View File
@@ -109,6 +109,7 @@ extern "C" {
void HAL_adc_init();
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_get_result()
#define HAL_ADC_READY() true
+2 -2
View File
@@ -53,7 +53,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
FTM0_SC = 0x00; // Set this to zero before changing the modulus
FTM0_CNT = 0x0000; // Reset the count to zero
FTM0_MOD = 0xFFFF; // max modulus = 65535
FTM0_C0V = FTM0_TIMER_RATE / frequency; // Initial FTM Channel 0 compare value
FTM0_C0V = (FTM0_TIMER_RATE) / frequency; // Initial FTM Channel 0 compare value
FTM0_SC = (FTM_SC_CLKS(0b1) & FTM_SC_CLKS_MASK) | (FTM_SC_PS(FTM0_TIMER_PRESCALE_BITS) & FTM_SC_PS_MASK); // Bus clock 60MHz divided by prescaler 8
FTM0_C0SC = FTM_CSC_CHIE | FTM_CSC_MSA | FTM_CSC_ELSA;
break;
@@ -62,7 +62,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
FTM1_SC = 0x00; // Set this to zero before changing the modulus
FTM1_CNT = 0x0000; // Reset the count to zero
FTM1_MOD = 0xFFFF; // max modulus = 65535
FTM1_C0V = FTM1_TIMER_RATE / frequency; // Initial FTM Channel 0 compare value 65535
FTM1_C0V = (FTM1_TIMER_RATE) / frequency; // Initial FTM Channel 0 compare value 65535
FTM1_SC = (FTM_SC_CLKS(0b1) & FTM_SC_CLKS_MASK) | (FTM_SC_PS(FTM1_TIMER_PRESCALE_BITS) & FTM_SC_PS_MASK); // Bus clock 60MHz divided by prescaler 4
FTM1_C0SC = FTM_CSC_CHIE | FTM_CSC_MSA | FTM_CSC_ELSA;
break;
+1
View File
@@ -115,6 +115,7 @@ extern "C" {
void HAL_adc_init();
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() HAL_adc_get_result()
#define HAL_ADC_READY() true
+2 -2
View File
@@ -54,7 +54,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
FTM0_SC = 0x00; // Set this to zero before changing the modulus
FTM0_CNT = 0x0000; // Reset the count to zero
FTM0_MOD = 0xFFFF; // max modulus = 65535
FTM0_C0V = FTM0_TIMER_RATE / frequency; // Initial FTM Channel 0 compare value
FTM0_C0V = (FTM0_TIMER_RATE) / frequency; // Initial FTM Channel 0 compare value
FTM0_SC = (FTM_SC_CLKS(0b1) & FTM_SC_CLKS_MASK) | (FTM_SC_PS(FTM0_TIMER_PRESCALE_BITS) & FTM_SC_PS_MASK); // Bus clock 60MHz divided by prescaler 8
FTM0_C0SC = FTM_CSC_CHIE | FTM_CSC_MSA | FTM_CSC_ELSA;
break;
@@ -63,7 +63,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
FTM1_SC = 0x00; // Set this to zero before changing the modulus
FTM1_CNT = 0x0000; // Reset the count to zero
FTM1_MOD = 0xFFFF; // max modulus = 65535
FTM1_C0V = FTM1_TIMER_RATE / frequency; // Initial FTM Channel 0 compare value 65535
FTM1_C0V = (FTM1_TIMER_RATE) / frequency; // Initial FTM Channel 0 compare value 65535
FTM1_SC = (FTM_SC_CLKS(0b1) & FTM_SC_CLKS_MASK) | (FTM_SC_PS(FTM1_TIMER_PRESCALE_BITS) & FTM_SC_PS_MASK); // Bus clock 60MHz divided by prescaler 4
FTM1_C0SC = FTM_CSC_CHIE | FTM_CSC_MSA | FTM_CSC_ELSA;
break;
+4 -3
View File
@@ -36,14 +36,15 @@
#if __CORTEX_M == 7
// Cortex-M7 can use the cycle counter of the DWT unit
// Cortex-M3 through M7 can use the cycle counter of the DWT unit
// http://www.anthonyvh.com/2017/05/18/cortex_m-cycle_counter/
FORCE_INLINE static void enableCycleCounter() {
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk;
// Unlock DWT.
DWT->LAR = 0xC5ACCE55;
#if __CORTEX_M == 7
DWT->LAR = 0xC5ACCE55; // Unlock DWT on the M7
#endif
DWT->CYCCNT = 0;
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;
@@ -20,10 +20,9 @@
*
*/
#include "backtrace.h"
#if defined(__arm__) || defined(__thumb__)
#include "backtrace.h"
#include "unwinder.h"
#include "unwmemaccess.h"
+89 -79
View File
@@ -110,7 +110,7 @@
#include "feature/I2CPositionEncoder.h"
#endif
#if HAS_TRINAMIC && DISABLED(PS_DEFAULT_OFF)
#if HAS_TRINAMIC && DISABLED(PSU_DEFAULT_OFF)
#include "feature/tmc_util.h"
#endif
@@ -145,6 +145,10 @@
#include "feature/power_loss_recovery.h"
#endif
#if ENABLED(CANCEL_OBJECTS)
#include "feature/cancel_object.h"
#endif
#if HAS_FILAMENT_SENSOR
#include "feature/runout.h"
#endif
@@ -177,6 +181,16 @@
#include "libs/L6470/L6470_Marlin.h"
#endif
const char NUL_STR[] PROGMEM = "",
G28_STR[] PROGMEM = "G28",
M21_STR[] PROGMEM = "M21",
M23_STR[] PROGMEM = "M23 %s",
M24_STR[] PROGMEM = "M24",
SP_X_STR[] PROGMEM = " X",
SP_Y_STR[] PROGMEM = " Y",
SP_Z_STR[] PROGMEM = " Z",
SP_E_STR[] PROGMEM = " E";
bool Running = true;
// For M109 and M190, this flag may be cleared (by M108) to exit the wait loop
@@ -217,10 +231,10 @@ void setup_killpin() {
void setup_powerhold() {
#if HAS_SUICIDE
OUT_WRITE(SUICIDE_PIN, HIGH);
OUT_WRITE(SUICIDE_PIN, !SUICIDE_PIN_INVERTING);
#endif
#if HAS_POWER_SWITCH
#if ENABLED(PS_DEFAULT_OFF)
#if ENABLED(PSU_CONTROL)
#if ENABLED(PSU_DEFAULT_OFF)
powersupply_on = true; PSU_OFF();
#else
powersupply_on = false; PSU_ON();
@@ -276,7 +290,8 @@ void quickstop_stepper() {
}
void enable_e_steppers() {
enable_E0(); enable_E1(); enable_E2(); enable_E3(); enable_E4(); enable_E5();
#define _ENA_E(N) enable_E##N();
REPEAT(E_STEPPERS, _ENA_E)
}
void enable_all_steppers() {
@@ -290,17 +305,14 @@ void enable_all_steppers() {
}
void disable_e_steppers() {
disable_E0(); disable_E1(); disable_E2(); disable_E3(); disable_E4(); disable_E5();
#define _DIS_E(N) disable_E##N();
REPEAT(E_STEPPERS, _DIS_E)
}
void disable_e_stepper(const uint8_t e) {
#define _CASE_DIS_E(N) case N: disable_E##N(); break;
switch (e) {
case 0: disable_E0(); break;
case 1: disable_E1(); break;
case 2: disable_E2(); break;
case 3: disable_E3(); break;
case 4: disable_E4(); break;
case 5: disable_E5(); break;
REPEAT(EXTRUDERS, _CASE_DIS_E)
}
}
@@ -342,20 +354,67 @@ void disable_all_steppers() {
#endif
#if ENABLED(ADVANCED_PAUSE_FEATURE)
#include "feature/pause.h"
#else
constexpr bool did_pause_print = false;
#endif
/**
* Printing is active when the print job timer is running
*/
bool printingIsActive() {
return print_job_timer.isRunning() || IS_SD_PRINTING();
return !did_pause_print && (print_job_timer.isRunning() || IS_SD_PRINTING());
}
/**
* Printing is paused according to SD or host indicators
*/
bool printingIsPaused() {
return print_job_timer.isPaused() || IS_SD_PAUSED();
return did_pause_print || print_job_timer.isPaused() || IS_SD_PAUSED();
}
void startOrResumeJob() {
if (!printingIsPaused()) {
#if ENABLED(CANCEL_OBJECTS)
cancelable.reset();
#endif
#if ENABLED(LCD_SHOW_E_TOTAL)
e_move_accumulator = 0;
#endif
#if BOTH(LCD_SET_PROGRESS_MANUALLY, USE_M73_REMAINING_TIME)
ui.reset_remaining_time();
#endif
}
print_job_timer.start();
}
#if ENABLED(SDSUPPORT)
void abortSDPrinting() {
card.stopSDPrint(
#if SD_RESORT
true
#endif
);
queue.clear();
quickstop_stepper();
print_job_timer.stop();
#if DISABLED(SD_ABORT_NO_COOLDOWN)
thermalManager.disable_all_heaters();
#endif
thermalManager.zero_fan_speeds();
wait_for_heatup = false;
#if ENABLED(POWER_LOSS_RECOVERY)
card.removeJobRecoveryFile();
#endif
#ifdef EVENT_GCODE_SD_STOP
queue.inject_P(PSTR(EVENT_GCODE_SD_STOP));
#endif
}
#endif
/**
* Manage several activities:
* - Check for Filament Runout
@@ -461,7 +520,7 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) {
if (ELAPSED(ms, next_home_key_ms)) {
next_home_key_ms = ms + HOME_DEBOUNCE_DELAY;
LCD_MESSAGEPGM(MSG_AUTO_HOME);
queue.enqueue_now_P(PSTR("G28"));
queue.enqueue_now_P(G28_STR);
}
}
#endif
@@ -493,24 +552,11 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) {
#else // !SWITCHING_EXTRUDER
bool oldstatus;
switch (active_extruder) {
default: oldstatus = E0_ENABLE_READ(); enable_E0(); break;
#if E_STEPPERS > 1
case 1: oldstatus = E1_ENABLE_READ(); enable_E1(); break;
#if E_STEPPERS > 2
case 2: oldstatus = E2_ENABLE_READ(); enable_E2(); break;
#if E_STEPPERS > 3
case 3: oldstatus = E3_ENABLE_READ(); enable_E3(); break;
#if E_STEPPERS > 4
case 4: oldstatus = E4_ENABLE_READ(); enable_E4(); break;
#if E_STEPPERS > 5
case 5: oldstatus = E5_ENABLE_READ(); enable_E5(); break;
#endif // E_STEPPERS > 5
#endif // E_STEPPERS > 4
#endif // E_STEPPERS > 3
#endif // E_STEPPERS > 2
#endif // E_STEPPERS > 1
default:
#define _CASE_EN(N) case N: oldstatus = E##N##_ENABLE_READ(); enable_E##N(); break;
REPEAT(E_STEPPERS, _CASE_EN);
}
#endif // !SWITCHING_EXTRUDER
#endif
const float olde = current_position.e;
current_position.e += EXTRUDER_RUNOUT_EXTRUDE;
@@ -531,22 +577,8 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) {
}
#else // !SWITCHING_EXTRUDER
switch (active_extruder) {
case 0: E0_ENABLE_WRITE(oldstatus); break;
#if E_STEPPERS > 1
case 1: E1_ENABLE_WRITE(oldstatus); break;
#if E_STEPPERS > 2
case 2: E2_ENABLE_WRITE(oldstatus); break;
#if E_STEPPERS > 3
case 3: E3_ENABLE_WRITE(oldstatus); break;
#if E_STEPPERS > 4
case 4: E4_ENABLE_WRITE(oldstatus); break;
#if E_STEPPERS > 5
case 5: E5_ENABLE_WRITE(oldstatus); break;
#endif // E_STEPPERS > 5
#endif // E_STEPPERS > 4
#endif // E_STEPPERS > 3
#endif // E_STEPPERS > 2
#endif // E_STEPPERS > 1
#define _CASE_RESTORE(N) case N: E##N##_ENABLE_WRITE(oldstatus); break;
REPEAT(E_STEPPERS, _CASE_RESTORE);
}
#endif // !SWITCHING_EXTRUDER
@@ -569,7 +601,7 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) {
#endif
#if ENABLED(MONITOR_DRIVER_STATUS)
monitor_tmc_driver();
monitor_tmc_drivers();
#endif
#if ENABLED(MONITOR_L6470_DRIVER_STATUS)
@@ -692,7 +724,7 @@ void kill(PGM_P const lcd_error/*=nullptr*/, PGM_P const lcd_component/*=nullptr
SERIAL_ERROR_MSG(MSG_ERR_KILLED);
#if HAS_DISPLAY
ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component);
ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR);
#else
UNUSED(lcd_error);
UNUSED(lcd_component);
@@ -721,7 +753,7 @@ void minkill(const bool steppers_off/*=false*/) {
// Power off all steppers (for M112) or just the E steppers
steppers_off ? disable_all_steppers() : disable_e_steppers();
#if HAS_POWER_SWITCH
#if ENABLED(PSU_CONTROL)
PSU_OFF();
#endif
@@ -901,8 +933,6 @@ void setup() {
#endif
ui.init();
ui.reset_status();
#if HAS_SPI_LCD && ENABLED(SHOW_BOOTSCREEN)
ui.show_bootscreen();
#endif
@@ -931,6 +961,8 @@ void setup() {
print_job_timer.init(); // Initial setup of print job timer
ui.reset_status(); // Print startup message after print statistics are loaded
endstops.init(); // Init endstops and pullups
stepper.init(); // Init stepper. This enables interrupts!
@@ -1078,7 +1110,7 @@ void setup() {
host_action_prompt_end();
#endif
#if HAS_TRINAMIC && DISABLED(PS_DEFAULT_OFF)
#if HAS_TRINAMIC && DISABLED(PSU_DEFAULT_OFF)
test_tmc_connection(true, true, true, true);
#endif
@@ -1102,34 +1134,12 @@ void loop() {
idle(); // Do an idle first so boot is slightly faster
#if ENABLED(SDSUPPORT)
card.checkautostart();
if (card.flag.abort_sd_printing) {
card.stopSDPrint(
#if SD_RESORT
true
#endif
);
queue.clear();
quickstop_stepper();
print_job_timer.stop();
#if DISABLED(SD_ABORT_NO_COOLDOWN)
thermalManager.disable_all_heaters();
#endif
thermalManager.zero_fan_speeds();
wait_for_heatup = false;
#if ENABLED(POWER_LOSS_RECOVERY)
card.removeJobRecoveryFile();
#endif
#ifdef EVENT_GCODE_SD_STOP
queue.inject_P(PSTR(EVENT_GCODE_SD_STOP));
#endif
}
#endif // SDSUPPORT
if (card.flag.abort_sd_printing) abortSDPrinting();
#endif
queue.advance();
endstops.event_handler();
}
}
+112 -108
View File
@@ -51,96 +51,96 @@ void manage_inactivity(const bool ignore_stepper_queue=false);
//
#if AXIS_DRIVER_TYPE_X(L6470)
extern L6470 stepperX;
#define X_enable NOOP
#define X_disable stepperX.free()
#define X_enable() NOOP
#define X_disable() stepperX.free()
#elif HAS_X_ENABLE
#define X_enable X_ENABLE_WRITE( X_ENABLE_ON)
#define X_disable X_ENABLE_WRITE(!X_ENABLE_ON)
#define X_enable() X_ENABLE_WRITE( X_ENABLE_ON)
#define X_disable() X_ENABLE_WRITE(!X_ENABLE_ON)
#else
#define X_enable NOOP
#define X_disable NOOP
#define X_enable() NOOP
#define X_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_X2(L6470)
extern L6470 stepperX2;
#define X2_enable NOOP
#define X2_disable stepperX2.free()
#define X2_enable() NOOP
#define X2_disable() stepperX2.free()
#elif HAS_X2_ENABLE
#define X2_enable X2_ENABLE_WRITE( X_ENABLE_ON)
#define X2_disable X2_ENABLE_WRITE(!X_ENABLE_ON)
#define X2_enable() X2_ENABLE_WRITE( X_ENABLE_ON)
#define X2_disable() X2_ENABLE_WRITE(!X_ENABLE_ON)
#else
#define X2_enable NOOP
#define X2_disable NOOP
#define X2_enable() NOOP
#define X2_disable() NOOP
#endif
#define enable_X() do{ X_enable; X2_enable; }while(0)
#define disable_X() do{ X_disable; X2_disable; CBI(axis_known_position, X_AXIS); }while(0)
#define enable_X() do{ X_enable(); X2_enable(); }while(0)
#define disable_X() do{ X_disable(); X2_disable(); CBI(axis_known_position, X_AXIS); }while(0)
#if AXIS_DRIVER_TYPE_Y(L6470)
extern L6470 stepperY;
#define Y_enable NOOP
#define Y_disable stepperY.free()
#define Y_enable() NOOP
#define Y_disable() stepperY.free()
#elif HAS_Y_ENABLE
#define Y_enable Y_ENABLE_WRITE( Y_ENABLE_ON)
#define Y_disable Y_ENABLE_WRITE(!Y_ENABLE_ON)
#define Y_enable() Y_ENABLE_WRITE( Y_ENABLE_ON)
#define Y_disable() Y_ENABLE_WRITE(!Y_ENABLE_ON)
#else
#define Y_enable NOOP
#define Y_disable NOOP
#define Y_enable() NOOP
#define Y_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_Y2(L6470)
extern L6470 stepperY2;
#define Y2_enable NOOP
#define Y2_disable stepperY2.free()
#define Y2_enable() NOOP
#define Y2_disable() stepperY2.free()
#elif HAS_Y2_ENABLE
#define Y2_enable Y2_ENABLE_WRITE( Y_ENABLE_ON)
#define Y2_disable Y2_ENABLE_WRITE(!Y_ENABLE_ON)
#define Y2_enable() Y2_ENABLE_WRITE( Y_ENABLE_ON)
#define Y2_disable() Y2_ENABLE_WRITE(!Y_ENABLE_ON)
#else
#define Y2_enable NOOP
#define Y2_disable NOOP
#define Y2_enable() NOOP
#define Y2_disable() NOOP
#endif
#define enable_Y() do{ Y_enable; Y2_enable; }while(0)
#define disable_Y() do{ Y_disable; Y2_disable; CBI(axis_known_position, Y_AXIS); }while(0)
#define enable_Y() do{ Y_enable(); Y2_enable(); }while(0)
#define disable_Y() do{ Y_disable(); Y2_disable(); CBI(axis_known_position, Y_AXIS); }while(0)
#if AXIS_DRIVER_TYPE_Z(L6470)
extern L6470 stepperZ;
#define Z_enable NOOP
#define Z_disable stepperZ.free()
#define Z_enable() NOOP
#define Z_disable() stepperZ.free()
#elif HAS_Z_ENABLE
#define Z_enable Z_ENABLE_WRITE( Z_ENABLE_ON)
#define Z_disable Z_ENABLE_WRITE(!Z_ENABLE_ON)
#define Z_enable() Z_ENABLE_WRITE( Z_ENABLE_ON)
#define Z_disable() Z_ENABLE_WRITE(!Z_ENABLE_ON)
#else
#define Z_enable NOOP
#define Z_disable NOOP
#define Z_enable() NOOP
#define Z_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_Z2(L6470)
extern L6470 stepperZ2;
#define Z2_enable NOOP
#define Z2_disable stepperZ2.free()
#define Z2_enable() NOOP
#define Z2_disable() stepperZ2.free()
#elif HAS_Z2_ENABLE
#define Z2_enable Z2_ENABLE_WRITE( Z_ENABLE_ON)
#define Z2_disable Z2_ENABLE_WRITE(!Z_ENABLE_ON)
#define Z2_enable() Z2_ENABLE_WRITE( Z_ENABLE_ON)
#define Z2_disable() Z2_ENABLE_WRITE(!Z_ENABLE_ON)
#else
#define Z2_enable NOOP
#define Z2_disable NOOP
#define Z2_enable() NOOP
#define Z2_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_Z3(L6470)
extern L6470 stepperZ3;
#define Z3_enable NOOP
#define Z3_disable stepperZ3.free()
#define Z3_enable() NOOP
#define Z3_disable() stepperZ3.free()
#elif HAS_Z3_ENABLE
#define Z3_enable Z3_ENABLE_WRITE( Z_ENABLE_ON)
#define Z3_disable Z3_ENABLE_WRITE(!Z_ENABLE_ON)
#define Z3_enable() Z3_ENABLE_WRITE( Z_ENABLE_ON)
#define Z3_disable() Z3_ENABLE_WRITE(!Z_ENABLE_ON)
#else
#define Z3_enable NOOP
#define Z3_disable NOOP
#define Z3_enable() NOOP
#define Z3_disable() NOOP
#endif
#define enable_Z() do{ Z_enable; Z2_enable; Z3_enable; }while(0)
#define disable_Z() do{ Z_disable; Z2_disable; Z3_disable; CBI(axis_known_position, Z_AXIS); }while(0)
#define enable_Z() do{ Z_enable(); Z2_enable(); Z3_enable(); }while(0)
#define disable_Z() do{ Z_disable(); Z2_disable(); Z3_disable(); CBI(axis_known_position, Z_AXIS); }while(0)
//
// Extruder Stepper enable / disable
@@ -149,74 +149,74 @@ void manage_inactivity(const bool ignore_stepper_queue=false);
// define the individual enables/disables
#if AXIS_DRIVER_TYPE_E0(L6470)
extern L6470 stepperE0;
#define E0_enable NOOP
#define E0_disable do{ stepperE0.free(); CBI(axis_known_position, E_AXIS); }while(0)
#define E0_enable() NOOP
#define E0_disable() do{ stepperE0.free(); CBI(axis_known_position, E_AXIS); }while(0)
#elif HAS_E0_ENABLE
#define E0_enable E0_ENABLE_WRITE( E_ENABLE_ON)
#define E0_disable E0_ENABLE_WRITE(!E_ENABLE_ON)
#define E0_enable() E0_ENABLE_WRITE( E_ENABLE_ON)
#define E0_disable() E0_ENABLE_WRITE(!E_ENABLE_ON)
#else
#define E0_enable NOOP
#define E0_disable NOOP
#define E0_enable() NOOP
#define E0_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_E1(L6470)
extern L6470 stepperE1;
#define E1_enable NOOP
#define E1_disable do{ stepperE1.free(); CBI(axis_known_position, E_AXIS); }while(0)
#define E1_enable() NOOP
#define E1_disable() do{ stepperE1.free(); CBI(axis_known_position, E_AXIS); }while(0)
#elif E_STEPPERS > 1 && HAS_E1_ENABLE
#define E1_enable E1_ENABLE_WRITE( E_ENABLE_ON)
#define E1_disable E1_ENABLE_WRITE(!E_ENABLE_ON)
#define E1_enable() E1_ENABLE_WRITE( E_ENABLE_ON)
#define E1_disable() E1_ENABLE_WRITE(!E_ENABLE_ON)
#else
#define E1_enable NOOP
#define E1_disable NOOP
#define E1_enable() NOOP
#define E1_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_E2(L6470)
extern L6470 stepperE2;
#define E2_enable NOOP
#define E2_disable do{ stepperE2.free(); CBI(axis_known_position, E_AXIS); }while(0)
#define E2_enable() NOOP
#define E2_disable() do{ stepperE2.free(); CBI(axis_known_position, E_AXIS); }while(0)
#elif E_STEPPERS > 2 && HAS_E2_ENABLE
#define E2_enable E2_ENABLE_WRITE( E_ENABLE_ON)
#define E2_disable E2_ENABLE_WRITE(!E_ENABLE_ON)
#define E2_enable() E2_ENABLE_WRITE( E_ENABLE_ON)
#define E2_disable() E2_ENABLE_WRITE(!E_ENABLE_ON)
#else
#define E2_enable NOOP
#define E2_disable NOOP
#define E2_enable() NOOP
#define E2_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_E3(L6470)
extern L6470 stepperE3;
#define E3_enable NOOP
#define E3_disable do{ stepperE3.free(); CBI(axis_known_position, E_AXIS); }while(0)
#define E3_enable() NOOP
#define E3_disable() do{ stepperE3.free(); CBI(axis_known_position, E_AXIS); }while(0)
#elif E_STEPPERS > 3 && HAS_E3_ENABLE
#define E3_enable E3_ENABLE_WRITE( E_ENABLE_ON)
#define E3_disable E3_ENABLE_WRITE(!E_ENABLE_ON)
#define E3_enable() E3_ENABLE_WRITE( E_ENABLE_ON)
#define E3_disable() E3_ENABLE_WRITE(!E_ENABLE_ON)
#else
#define E3_enable NOOP
#define E3_disable NOOP
#define E3_enable() NOOP
#define E3_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_E4(L6470)
extern L6470 stepperE4;
#define E4_enable NOOP
#define E4_disable do{ stepperE4.free(); CBI(axis_known_position, E_AXIS); }while(0)
#define E4_enable() NOOP
#define E4_disable() do{ stepperE4.free(); CBI(axis_known_position, E_AXIS); }while(0)
#elif E_STEPPERS > 4 && HAS_E4_ENABLE
#define E4_enable E4_ENABLE_WRITE( E_ENABLE_ON)
#define E4_disable E4_ENABLE_WRITE(!E_ENABLE_ON)
#define E4_enable() E4_ENABLE_WRITE( E_ENABLE_ON)
#define E4_disable() E4_ENABLE_WRITE(!E_ENABLE_ON)
#else
#define E4_enable NOOP
#define E4_disable NOOP
#define E4_enable() NOOP
#define E4_disable() NOOP
#endif
#if AXIS_DRIVER_TYPE_E5(L6470)
extern L6470 stepperE5;
#define E5_enable NOOP
#define E5_disable do{ stepperE5.free(); CBI(axis_known_position, E_AXIS); }while(0)
#define E5_enable() NOOP
#define E5_disable() do{ stepperE5.free(); CBI(axis_known_position, E_AXIS); }while(0)
#elif E_STEPPERS > 5 && HAS_E5_ENABLE
#define E5_enable E5_ENABLE_WRITE( E_ENABLE_ON)
#define E5_disable E5_ENABLE_WRITE(!E_ENABLE_ON)
#define E5_enable() E5_ENABLE_WRITE( E_ENABLE_ON)
#define E5_disable() E5_ENABLE_WRITE(!E_ENABLE_ON)
#else
#define E5_enable NOOP
#define E5_disable NOOP
#define E5_enable() NOOP
#define E5_disable() NOOP
#endif
#if ENABLED(MIXING_EXTRUDER)
@@ -225,20 +225,20 @@ void manage_inactivity(const bool ignore_stepper_queue=false);
* Mixing steppers synchronize their enable (and direction) together
*/
#if MIXING_STEPPERS > 5
#define enable_E0() { E0_enable; E1_enable; E2_enable; E3_enable; E4_enable; E5_enable; }
#define disable_E0() { E0_disable; E1_disable; E2_disable; E3_disable; E4_disable; E5_disable; }
#define enable_E0() { E0_enable(); E1_enable(); E2_enable(); E3_enable(); E4_enable(); E5_enable(); }
#define disable_E0() { E0_disable(); E1_disable(); E2_disable(); E3_disable(); E4_disable(); E5_disable(); }
#elif MIXING_STEPPERS > 4
#define enable_E0() { E0_enable; E1_enable; E2_enable; E3_enable; E4_enable; }
#define disable_E0() { E0_disable; E1_disable; E2_disable; E3_disable; E4_disable; }
#define enable_E0() { E0_enable(); E1_enable(); E2_enable(); E3_enable(); E4_enable(); }
#define disable_E0() { E0_disable(); E1_disable(); E2_disable(); E3_disable(); E4_disable(); }
#elif MIXING_STEPPERS > 3
#define enable_E0() { E0_enable; E1_enable; E2_enable; E3_enable; }
#define disable_E0() { E0_disable; E1_disable; E2_disable; E3_disable; }
#define enable_E0() { E0_enable(); E1_enable(); E2_enable(); E3_enable(); }
#define disable_E0() { E0_disable(); E1_disable(); E2_disable(); E3_disable(); }
#elif MIXING_STEPPERS > 2
#define enable_E0() { E0_enable; E1_enable; E2_enable; }
#define disable_E0() { E0_disable; E1_disable; E2_disable; }
#define enable_E0() { E0_enable(); E1_enable(); E2_enable(); }
#define disable_E0() { E0_disable(); E1_disable(); E2_disable(); }
#else
#define enable_E0() { E0_enable; E1_enable; }
#define disable_E0() { E0_disable; E1_disable; }
#define enable_E0() { E0_enable(); E1_enable(); }
#define disable_E0() { E0_disable(); E1_disable(); }
#endif
#define enable_E1() NOOP
#define disable_E1() NOOP
@@ -254,48 +254,48 @@ void manage_inactivity(const bool ignore_stepper_queue=false);
#else // !MIXING_EXTRUDER
#if HAS_E0_ENABLE
#define enable_E0() E0_enable
#define disable_E0() E0_disable
#define enable_E0() E0_enable()
#define disable_E0() E0_disable()
#else
#define enable_E0() NOOP
#define disable_E0() NOOP
#endif
#if E_STEPPERS > 1 && HAS_E1_ENABLE
#define enable_E1() E1_enable
#define disable_E1() E1_disable
#define enable_E1() E1_enable()
#define disable_E1() E1_disable()
#else
#define enable_E1() NOOP
#define disable_E1() NOOP
#endif
#if E_STEPPERS > 2 && HAS_E2_ENABLE
#define enable_E2() E2_enable
#define disable_E2() E2_disable
#define enable_E2() E2_enable()
#define disable_E2() E2_disable()
#else
#define enable_E2() NOOP
#define disable_E2() NOOP
#endif
#if E_STEPPERS > 3 && HAS_E3_ENABLE
#define enable_E3() E3_enable
#define disable_E3() E3_disable
#define enable_E3() E3_enable()
#define disable_E3() E3_disable()
#else
#define enable_E3() NOOP
#define disable_E3() NOOP
#endif
#if E_STEPPERS > 4 && HAS_E4_ENABLE
#define enable_E4() E4_enable
#define disable_E4() E4_disable
#define enable_E4() E4_enable()
#define disable_E4() E4_disable()
#else
#define enable_E4() NOOP
#define disable_E4() NOOP
#endif
#if E_STEPPERS > 5 && HAS_E5_ENABLE
#define enable_E5() E5_enable
#define disable_E5() E5_disable
#define enable_E5() E5_enable()
#define disable_E5() E5_disable()
#else
#define enable_E5() NOOP
#define disable_E5() NOOP
@@ -333,6 +333,7 @@ inline bool IsStopped() { return !Running; }
bool printingIsActive();
bool printingIsPaused();
void startOrResumeJob();
extern bool wait_for_heatup;
@@ -351,7 +352,7 @@ extern millis_t max_inactive_time, stepper_inactive_time;
extern uint8_t controllerfan_speed;
#endif
#if HAS_POWER_SWITCH
#if ENABLED(PSU_CONTROL)
extern bool powersupply_on;
#define PSU_PIN_ON() do{ OUT_WRITE(PS_ON_PIN, PSU_ACTIVE_HIGH); powersupply_on = true; }while(0)
#define PSU_PIN_OFF() do{ OUT_WRITE(PS_ON_PIN, !PSU_ACTIVE_HIGH); powersupply_on = false; }while(0)
@@ -368,10 +369,13 @@ bool pin_is_protected(const pin_t pin);
void protected_pin_err();
#if HAS_SUICIDE
inline void suicide() { OUT_WRITE(SUICIDE_PIN, LOW); }
inline void suicide() { OUT_WRITE(SUICIDE_PIN, SUICIDE_PIN_INVERTING); }
#endif
#if ENABLED(G29_RETRY_AND_RECOVER)
void event_probe_recover();
void event_probe_failure();
#endif
extern const char NUL_STR[], G28_STR[], M21_STR[], M23_STR[], M24_STR[],
SP_X_STR[], SP_Y_STR[], SP_Z_STR[], SP_E_STR[];
+34 -19
View File
@@ -64,7 +64,7 @@
#define BOARD_MKS_BASE_HEROIC 1108 // MKS BASE 1.0 with Heroic HR4982 stepper drivers
#define BOARD_MKS_GEN_13 1109 // MKS GEN v1.3 or 1.4
#define BOARD_MKS_GEN_L 1110 // MKS GEN L
#define BOARD_KFB_2 1111 // Bigtreetech or BIQU KFB2.0
#define BOARD_KFB_2 1111 // BigTreeTech or BIQU KFB2.0
#define BOARD_ZRIB_V20 1112 // zrib V2.0 control board (Chinese knock off RAMPS replica)
#define BOARD_FELIX2 1113 // Felix 2.0+ Electronics Board (RAMPS like)
#define BOARD_RIGIDBOARD 1114 // Invent-A-Part RigidBoard
@@ -99,6 +99,8 @@
#define BOARD_OVERLORD 1143 // Overlord/Overlord Pro
#define BOARD_HJC2560C_REV1 1144 // ADIMLab Gantry v1
#define BOARD_HJC2560C_REV2 1145 // ADIMLab Gantry v2
#define BOARD_TANGO 1146 // BIQU Tango V1
#define BOARD_MKS_GEN_L_V2 1147 // MKS GEN L V2
//
// RAMBo and derivatives
@@ -206,14 +208,15 @@
#define BOARD_COHESION3D_MINI 2011 // Cohesion3D Mini
#define BOARD_SMOOTHIEBOARD 2012 // Smoothieboard
#define BOARD_AZTEEG_X5_MINI_WIFI 2013 // Azteeg X5 Mini Wifi (Power outputs: Hotend0, Bed, Fan)
#define BOARD_BIGTREE_SKR_V1_1 2014 // BIGTREE SKR_V1.1 (Power outputs: Hotend0,Hotend1, Fan, Bed)
#define BOARD_BIQU_B300_V1_0 2015 // BIQU B300_V1.0 (Power outputs: Hotend0, Fan, Bed, SPI Driver)
#define BOARD_BIGTREE_SKR_V1_3 2016 // BIGTREE SKR_V1.3 (Power outputs: Hotend0, Hotend1, Fan, Bed)
#define BOARD_AZTEEG_X5_MINI 2017 // Azteeg X5 Mini (Power outputs: Hotend0, Bed, Fan)
#define BOARD_MKS_SGEN 2018 // MKS-SGen (Power outputs: Hotend0, Hotend1, Bed, Fan)
#define BOARD_MKS_SGEN_L 2019 // MKS-SGen-L (Power outputs: Hotend0, Hotend1, Bed, Fan)
#define BOARD_TH3D_EZBOARD 2020 // TH3D EZBoard v1.0
#define BOARD_GMARSH_X6_REV1 2021 // GMARSH X6 board, revision 1 prototype
#define BOARD_BIQU_B300_V1_0 2014 // BIQU B300_V1.0 (Power outputs: Hotend0, Fan, Bed, SPI Driver)
#define BOARD_AZTEEG_X5_MINI 2015 // Azteeg X5 Mini (Power outputs: Hotend0, Bed, Fan)
#define BOARD_MKS_SGEN 2016 // MKS-SGen (Power outputs: Hotend0, Hotend1, Bed, Fan)
#define BOARD_MKS_SGEN_L 2017 // MKS-SGen-L (Power outputs: Hotend0, Hotend1, Bed, Fan)
#define BOARD_TH3D_EZBOARD 2018 // TH3D EZBoard v1.0
#define BOARD_GMARSH_X6_REV1 2019 // GMARSH X6 board, revision 1 prototype
#define BOARD_BIGTREE_SKR_V1_1 2020 // BigTreeTech SKR v1.1 (Power outputs: Hotend0, Hotend1, Fan, Bed)
#define BOARD_BIGTREE_SKR_V1_3 2021 // BigTreeTech SKR v1.3 (Power outputs: Hotend0, Hotend1, Fan, Bed)
#define BOARD_BIGTREE_SKR_V1_4 2022 // BigTreeTech SKR v1.4 (Power outputs: Hotend0, Hotend1, Fan, Bed)
//
// SAM3X8E ARM Cortex M3
@@ -267,15 +270,21 @@
#define BOARD_MKS_ROBIN_MINI 4007 // MKS Robin Mini (STM32F103VET6)
#define BOARD_MKS_ROBIN_NANO 4008 // MKS Robin Nano (STM32F103VET6)
#define BOARD_MKS_ROBIN_LITE 4009 // MKS Robin Lite/Lite2 (STM32F103RCT6)
#define BOARD_BIGTREE_SKR_MINI_V1_1 4010 // BigTreeTech SKR Mini v1.1 (STM32F103RC)
#define BOARD_BIGTREE_SKR_MINI_E3 4011 // BigTreeTech SKR Mini E3 (STM32F103RC)
#define BOARD_BIGTREE_SKR_E3_DIP 4012 // BigTreeTech SKR E3 DIP V1.0 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V1_2 4013 // BigTreeTech SKR Mini E3 V1.2 (STM32F103RC)
#define BOARD_JGAURORA_A5S_A1 4014 // JGAurora A5S A1 (STM32F103ZET6)
#define BOARD_FYSETC_AIO_II 4015 // FYSETC AIO_II
#define BOARD_FYSETC_CHEETAH 4016 // FYSETC Cheetah
#define BOARD_FYSETC_CHEETAH_V12 4017 // FYSETC Cheetah V1.2
#define BOARD_LONGER3D_LK 4018 // Alfawise U20/U20+/U30 (Longer3D LK1/2) / STM32F103VET6
#define BOARD_MKS_ROBIN_LITE3 4010 // MKS Robin Lite3 (STM32F103RCT6)
#define BOARD_MKS_ROBIN_PRO 4011 // MKS Robin Pro (STM32F103ZET6)
#define BOARD_BIGTREE_SKR_MINI_V1_1 4012 // BigTreeTech SKR Mini v1.1 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V1_0 4013 // BigTreeTech SKR Mini E3 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V1_2 4014 // BigTreeTech SKR Mini E3 V1.2 (STM32F103RC)
#define BOARD_BIGTREE_SKR_E3_DIP 4015 // BigTreeTech SKR E3 DIP V1.0 (STM32F103RC / STM32F103RE)
#define BOARD_JGAURORA_A5S_A1 4016 // JGAurora A5S A1 (STM32F103ZET6)
#define BOARD_FYSETC_AIO_II 4017 // FYSETC AIO_II
#define BOARD_FYSETC_CHEETAH 4018 // FYSETC Cheetah
#define BOARD_FYSETC_CHEETAH_V12 4019 // FYSETC Cheetah V1.2
#define BOARD_LONGER3D_LK 4020 // Alfawise U20/U20+/U30 (Longer3D LK1/2) / STM32F103VET6
#define BOARD_GTM32_MINI 4021 // STM32F103VET6 controller
#define BOARD_GTM32_MINI_A30 4022 // STM32F103VET6 controller
#define BOARD_GTM32_REV_B 4023 // STM32F103VET6 controller
//
// ARM Cortex-M4F
@@ -289,7 +298,7 @@
//
#define BOARD_BEAST 4200 // STM32F4xxVxT6 Libmaple-based STM32F4 controller
#define BOARD_STM32F4 4201 // STM32 STM32GENERIC-based STM32F4 controller
#define BOARD_GENERIC_STM32F4 4201 // STM32 STM32GENERIC-based STM32F4 controller
#define BOARD_ARMED 4202 // Arm'ed STM32F4-based controller
#define BOARD_RUMBA32 4203 // RUMBA32 STM32F4-based controller
#define BOARD_BLACK_STM32F407VE 4204 // BLACK_STM32F407VE
@@ -299,6 +308,10 @@
#define BOARD_BIGTREE_BTT002_V1_0 4208 // BigTreeTech BTT002 v1.0 (STM32F407VE)
#define BOARD_LERDGE_K 4209 // Lerdge K (STM32F407ZG)
#define BOARD_LERDGE_X 4210 // Lerdge X (STM32F407VE)
#define BOARD_VAKE403D 4211 // VAkE 403D (STM32F446VET6)
#define BOARD_FYSETC_S6 4212 // FYSETC S6 board
#define BOARD_FLYF407ZG 4213 // FLYF407ZG board (STM32F407ZG)
#define BOARD_MKS_ROBIN2 4214 // MKS_ROBIN2 (STM32F407ZE)
//
// ARM Cortex M7
@@ -311,6 +324,8 @@
// Espressif ESP32 WiFi
//
#define BOARD_ESPRESSIF_ESP32 6000
#define BOARD_MRR_ESPA 6001
#define BOARD_MRR_ESPE 6002
//
// Simulations
+31 -20
View File
@@ -19,7 +19,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
//
// Serial aliases for debugging.
@@ -37,9 +36,13 @@
#undef DEBUG_ECHOPGM
#undef DEBUG_ECHOLNPGM
#undef DEBUG_ECHOPAIR
#undef DEBUG_ECHOPAIR_P
#undef DEBUG_ECHOPAIR_F
#undef DEBUG_ECHOPAIR_F_P
#undef DEBUG_ECHOLNPAIR
#undef DEBUG_ECHOLNPAIR_P
#undef DEBUG_ECHOLNPAIR_F
#undef DEBUG_ECHOLNPAIR_F_P
#undef DEBUG_ECHO_MSG
#undef DEBUG_ERROR_MSG
#undef DEBUG_EOL
@@ -58,9 +61,13 @@
#define DEBUG_ECHOPGM SERIAL_ECHOPGM
#define DEBUG_ECHOLNPGM SERIAL_ECHOLNPGM
#define DEBUG_ECHOPAIR SERIAL_ECHOPAIR
#define DEBUG_ECHOPAIR_P SERIAL_ECHOPAIR_P
#define DEBUG_ECHOPAIR_F SERIAL_ECHOPAIR_F
#define DEBUG_ECHOPAIR_F_P SERIAL_ECHOPAIR_F_P
#define DEBUG_ECHOLNPAIR SERIAL_ECHOLNPAIR
#define DEBUG_ECHOLNPAIR_P SERIAL_ECHOLNPAIR_P
#define DEBUG_ECHOLNPAIR_F SERIAL_ECHOLNPAIR_F
#define DEBUG_ECHOLNPAIR_F_P SERIAL_ECHOLNPAIR_F_P
#define DEBUG_ECHO_MSG SERIAL_ECHO_MSG
#define DEBUG_ERROR_MSG SERIAL_ERROR_MSG
#define DEBUG_EOL SERIAL_EOL
@@ -68,25 +75,29 @@
#define DEBUG_XYZ SERIAL_XYZ
#define DEBUG_DELAY(ms) serial_delay(ms)
#else
#define DEBUG_PRINT_P(P) NOOP
#define DEBUG_ECHO_START() NOOP
#define DEBUG_ERROR_START() NOOP
#define DEBUG_CHAR(...) NOOP
#define DEBUG_ECHO(...) NOOP
#define DEBUG_ECHO_F(...) NOOP
#define DEBUG_ECHOLN(...) NOOP
#define DEBUG_ECHOPGM(...) NOOP
#define DEBUG_ECHOLNPGM(...) NOOP
#define DEBUG_ECHOPAIR(...) NOOP
#define DEBUG_ECHOPAIR_F(...) NOOP
#define DEBUG_ECHOLNPAIR(...) NOOP
#define DEBUG_ECHOLNPAIR_F(...) NOOP
#define DEBUG_ECHO_MSG(...) NOOP
#define DEBUG_ERROR_MSG(...) NOOP
#define DEBUG_EOL() NOOP
#define DEBUG_POS(...) NOOP
#define DEBUG_XYZ(...) NOOP
#define DEBUG_DELAY(...) NOOP
#define DEBUG_PRINT_P(P) NOOP
#define DEBUG_ECHO_START() NOOP
#define DEBUG_ERROR_START() NOOP
#define DEBUG_CHAR(...) NOOP
#define DEBUG_ECHO(...) NOOP
#define DEBUG_ECHO_F(...) NOOP
#define DEBUG_ECHOLN(...) NOOP
#define DEBUG_ECHOPGM(...) NOOP
#define DEBUG_ECHOLNPGM(...) NOOP
#define DEBUG_ECHOPAIR(...) NOOP
#define DEBUG_ECHOPAIR_P(...) NOOP
#define DEBUG_ECHOPAIR_F(...) NOOP
#define DEBUG_ECHOPAIR_F_P(...) NOOP
#define DEBUG_ECHOLNPAIR(...) NOOP
#define DEBUG_ECHOLNPAIR_P(...) NOOP
#define DEBUG_ECHOLNPAIR_F(...) NOOP
#define DEBUG_ECHOLNPAIR_F_P(...) NOOP
#define DEBUG_ECHO_MSG(...) NOOP
#define DEBUG_ERROR_MSG(...) NOOP
#define DEBUG_EOL() NOOP
#define DEBUG_POS(...) NOOP
#define DEBUG_XYZ(...) NOOP
#define DEBUG_DELAY(...) NOOP
#endif
#undef DEBUG_OUT
+13
View File
@@ -121,6 +121,19 @@
|| AXIS_DRIVER_TYPE(A,TMC5130) \
|| AXIS_DRIVER_TYPE(A,TMC5160) )
#define HAS_TMC_E_DRIVER ( HAS_E_DRIVER(TMC2130) \
|| HAS_E_DRIVER(TMC2160) \
|| HAS_E_DRIVER(TMC2660) \
|| HAS_E_DRIVER(TMC2209) \
|| HAS_E_DRIVER(TMC5130) \
|| HAS_E_DRIVER(TMC5160) )
#define HAS_TMC_STANDALONE_E_DRIVER ( HAS_E_DRIVER(TMC2130_STANDALONE) \
|| HAS_E_DRIVER(TMC2160_STANDALONE) \
|| HAS_E_DRIVER(TMC2660_STANDALONE) \
|| HAS_E_DRIVER(TMC2209_STANDALONE) \
|| HAS_E_DRIVER(TMC5130_STANDALONE) \
|| HAS_E_DRIVER(TMC5160_STANDALONE) )
//
// Stretching 'drivers.h' to include LPC/SAMD51 SD options
//
+10 -8
View File
@@ -252,15 +252,15 @@
#define MSG_FILAMENT_CHANGE_INSERT_M108 "Insert filament and send M108"
#define MSG_FILAMENT_CHANGE_WAIT_M108 "Send M108 to resume"
#define MSG_STOP_BLTOUCH "STOP called because of BLTouch error - restart with M999"
#define MSG_STOP_UNHOMED "STOP called because of unhomed error - restart with M999"
#define MSG_KILL_INACTIVE_TIME "KILL caused by too much inactive time - current command: "
#define MSG_KILL_BUTTON "KILL caused by KILL button/pin"
#define MSG_STOP_BLTOUCH "!! STOP called because of BLTouch error - restart with M999"
#define MSG_STOP_UNHOMED "!! STOP called because of unhomed error - restart with M999"
#define MSG_KILL_INACTIVE_TIME "!! KILL caused by too much inactive time - current command: "
#define MSG_KILL_BUTTON "!! KILL caused by KILL button/pin"
// temperature.cpp strings
#define MSG_PID_AUTOTUNE "PID Autotune"
#define MSG_PID_AUTOTUNE_START MSG_PID_AUTOTUNE " start"
#define MSG_PID_AUTOTUNE_FAILED MSG_PID_AUTOTUNE " failed!"
#define MSG_PID_AUTOTUNE_PREFIX "PID Autotune"
#define MSG_PID_AUTOTUNE_START MSG_PID_AUTOTUNE_PREFIX " start"
#define MSG_PID_AUTOTUNE_FAILED MSG_PID_AUTOTUNE_PREFIX " failed!"
#define MSG_PID_BAD_EXTRUDER_NUM MSG_PID_AUTOTUNE_FAILED " Bad extruder number"
#define MSG_PID_TEMP_TOO_HIGH MSG_PID_AUTOTUNE_FAILED " Temperature too high"
#define MSG_PID_TIMEOUT MSG_PID_AUTOTUNE_FAILED " timeout"
@@ -275,7 +275,7 @@
#define MSG_KI " Ki: "
#define MSG_KD " Kd: "
#define MSG_AT " @:"
#define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
#define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE_PREFIX " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
#define MSG_PID_DEBUG " PID_DEBUG "
#define MSG_PID_DEBUG_INPUT ": Input "
#define MSG_PID_DEBUG_OUTPUT " Output "
@@ -349,6 +349,7 @@
*
*/
#if ENABLED(NUMBER_TOOLS_FROM_0)
#define LCD_FIRST_TOOL '0'
#define LCD_STR_N0 "0"
#define LCD_STR_N1 "1"
#define LCD_STR_N2 "2"
@@ -356,6 +357,7 @@
#define LCD_STR_N4 "4"
#define LCD_STR_N5 "5"
#else
#define LCD_FIRST_TOOL '1'
#define LCD_STR_N0 "1"
#define LCD_STR_N1 "2"
#define LCD_STR_N2 "3"
+127 -27
View File
@@ -165,6 +165,7 @@
// Macros to support option testing
#define _CAT(a,V...) a##V
#define CAT(a,V...) _CAT(a,V)
#define SWITCH_ENABLED_false 0
#define SWITCH_ENABLED_true 1
#define SWITCH_ENABLED_0 0
@@ -229,32 +230,6 @@
#define _JOIN_1(O) (O)
#define JOIN_N(N,C,V...) (DO(JOIN,C,LIST_N(N,V)))
// Macros for adding
#define INC_0 1
#define INC_1 2
#define INC_2 3
#define INC_3 4
#define INC_4 5
#define INC_5 6
#define INC_6 7
#define INC_7 8
#define INC_8 9
#define INCREMENT_(n) INC_##n
#define INCREMENT(n) INCREMENT_(n)
// Macros for subtracting
#define DEC_1 0
#define DEC_2 1
#define DEC_3 2
#define DEC_4 3
#define DEC_5 4
#define DEC_6 5
#define DEC_7 6
#define DEC_8 7
#define DEC_9 8
#define DECREMENT_(n) DEC_##n
#define DECREMENT(n) DECREMENT_(n)
#define NOOP (void(0))
#define CEILING(x,y) (((x) + (y) - 1) / (y))
@@ -276,10 +251,11 @@
//
// Maths macros that can be overridden by HAL
//
#define ACOS(x) acosf(x)
#define ATAN2(y, x) atan2f(y, x)
#define POW(x, y) powf(x, y)
#define SQRT(x) sqrtf(x)
#define RSQRT(x) (1 / sqrtf(x))
#define RSQRT(x) (1.0f / sqrtf(x))
#define CEIL(x) ceilf(x)
#define FLOOR(x) floorf(x)
#define LROUND(x) lroundf(x)
@@ -346,3 +322,127 @@
#define _MAX(V...) _MAX_N(NUM_ARGS(V), V)
#endif
// Macros for adding
#define INC_0 1
#define INC_1 2
#define INC_2 3
#define INC_3 4
#define INC_4 5
#define INC_5 6
#define INC_6 7
#define INC_7 8
#define INC_8 9
#define INCREMENT_(n) INC_##n
#define INCREMENT(n) INCREMENT_(n)
#define ADD0(N) N
#define ADD1(N) INCREMENT_(N)
#define ADD2(N) ADD1(ADD1(N))
#define ADD3(N) ADD1(ADD2(N))
#define ADD4(N) ADD2(ADD2(N))
#define ADD5(N) ADD2(ADD3(N))
#define ADD6(N) ADD3(ADD3(N))
#define ADD7(N) ADD3(ADD4(N))
#define ADD8(N) ADD4(ADD4(N))
#define ADD9(N) ADD4(ADD5(N))
#define ADD10(N) ADD5(ADD5(N))
// Macros for subtracting
#define DEC_0 0
#define DEC_1 0
#define DEC_2 1
#define DEC_3 2
#define DEC_4 3
#define DEC_5 4
#define DEC_6 5
#define DEC_7 6
#define DEC_8 7
#define DEC_9 8
#define DECREMENT_(n) DEC_##n
#define DECREMENT(n) DECREMENT_(n)
#define SUB0(N) N
#define SUB1(N) DECREMENT_(N)
#define SUB2(N) SUB1(SUB1(N))
#define SUB3(N) SUB1(SUB2(N))
#define SUB4(N) SUB2(SUB2(N))
#define SUB5(N) SUB2(SUB3(N))
#define SUB6(N) SUB3(SUB3(N))
#define SUB7(N) SUB3(SUB4(N))
#define SUB8(N) SUB4(SUB4(N))
#define SUB9(N) SUB4(SUB5(N))
#define SUB10(N) SUB5(SUB5(N))
//
// Primitives supporting precompiler REPEAT
//
#define FIRST(a,...) a
#define SECOND(a,b,...) b
// Defer expansion
#define EMPTY()
#define DEFER(M) M EMPTY()
#define DEFER2(M) M EMPTY EMPTY()()
#define DEFER3(M) M EMPTY EMPTY EMPTY()()()
#define DEFER4(M) M EMPTY EMPTY EMPTY EMPTY()()()()
// Force define expansion
#define EVAL(V...) EVAL16(V)
#define EVAL1024(V...) EVAL512(EVAL512(V))
#define EVAL512(V...) EVAL256(EVAL256(V))
#define EVAL256(V...) EVAL128(EVAL128(V))
#define EVAL128(V...) EVAL64(EVAL64(V))
#define EVAL64(V...) EVAL32(EVAL32(V))
#define EVAL32(V...) EVAL16(EVAL16(V))
#define EVAL16(V...) EVAL8(EVAL8(V))
#define EVAL8(V...) EVAL4(EVAL4(V))
#define EVAL4(V...) EVAL2(EVAL2(V))
#define EVAL2(V...) EVAL1(EVAL1(V))
#define EVAL1(V...) V
#define IS_PROBE(V...) SECOND(V, 0) // Get the second item passed, or 0
#define PROBE() ~, 1 // Second item will be 1 if this is passed
#define _NOT_0 PROBE()
#define NOT(x) IS_PROBE(_CAT(_NOT_, x)) // NOT('0') gets '1'. Anything else gets '0'.
#define _BOOL(x) NOT(NOT(x)) // NOT('0') gets '0'. Anything else gets '1'.
#define IF_ELSE(TF) _IF_ELSE(_BOOL(TF))
#define _IF_ELSE(TF) _CAT(_IF_, TF)
#define _IF_1(V...) V _IF_1_ELSE
#define _IF_0(...) _IF_0_ELSE
#define _IF_1_ELSE(...)
#define _IF_0_ELSE(V...) V
#define HAS_ARGS(V...) _BOOL(FIRST(_END_OF_ARGUMENTS_ V)())
#define _END_OF_ARGUMENTS_() 0
//
// REPEAT core macros. Recurse N times with ascending I.
//
// Call OP(I) N times with ascending counter.
#define _REPEAT(_RPT_I,_RPT_N,_RPT_OP) \
_RPT_OP(_RPT_I) \
IF_ELSE(SUB1(_RPT_N)) \
( DEFER2(__REPEAT)()(ADD1(_RPT_I),SUB1(_RPT_N),_RPT_OP) ) \
( /* Do nothing */ )
#define __REPEAT() _REPEAT
// Call OP(I, ...) N times with ascending counter.
#define _REPEAT2(_RPT_I,_RPT_N,_RPT_OP,V...) \
_RPT_OP(_RPT_I,V) \
IF_ELSE(SUB1(_RPT_N)) \
( DEFER2(__REPEAT2)()(ADD1(_RPT_I),SUB1(_RPT_N),_RPT_OP,V) ) \
( /* Do nothing */ )
#define __REPEAT2() _REPEAT2
// Repeat a macro passing S...N-1.
#define REPEAT_S(S,N,OP) EVAL(_REPEAT(S,SUB##S(N),OP))
#define REPEAT(N,OP) REPEAT_S(0,N,OP)
// Repeat a macro passing 0...N-1 plus additional arguments.
#define REPEAT2_S(S,N,OP,V...) EVAL(_REPEAT2(S,SUB##S(N),OP,V))
#define REPEAT2(N,OP,V...) REPEAT2_S(0,N,OP,V)
+3 -1
View File
@@ -67,8 +67,10 @@ void print_bin(const uint16_t val) {
}
}
extern const char SP_X_STR[], SP_Y_STR[], SP_Z_STR[];
void print_xyz(const float &x, const float &y, const float &z, PGM_P const prefix/*=nullptr*/, PGM_P const suffix/*=nullptr*/) {
serialprintPGM(prefix);
SERIAL_ECHOPAIR(" " MSG_X, x, " " MSG_Y, y, " " MSG_Z, z);
SERIAL_ECHOPAIR_P(SP_X_STR, x, SP_Y_STR, y, SP_Z_STR, z);
if (suffix) serialprintPGM(suffix); else SERIAL_EOL();
}
+72 -7
View File
@@ -75,7 +75,7 @@ extern uint8_t marlin_debug_flags;
#define SERIAL_PRINTF(V...) SERIAL_OUT(printf, V)
#define SERIAL_FLUSH() SERIAL_OUT(flush)
#ifdef __STM32F1__
#ifdef ARDUINO_ARCH_STM32
#define SERIAL_FLUSHTX() SERIAL_OUT(flush)
#elif TX_BUFFER_SIZE > 0
#define SERIAL_FLUSHTX() SERIAL_OUT(flushTX)
@@ -83,7 +83,7 @@ extern uint8_t marlin_debug_flags;
#define SERIAL_FLUSHTX()
#endif
// Print up to 12 pairs of values
// Print up to 12 pairs of values. Odd elements auto-wrapped in PSTR().
#define __SEP_N(N,V...) _SEP_##N(V)
#define _SEP_N(N,V...) __SEP_N(N,V)
#define _SEP_1(PRE) SERIAL_ECHOPGM(PRE)
@@ -113,6 +113,36 @@ extern uint8_t marlin_debug_flags;
#define SERIAL_ECHOPAIR(V...) _SEP_N(NUM_ARGS(V),V)
// Print up to 12 pairs of values. Odd elements must be PSTR pointers.
#define __SEP_N_P(N,V...) _SEP_##N##_P(V)
#define _SEP_N_P(N,V...) __SEP_N_P(N,V)
#define _SEP_1_P(PRE) serialprintPGM(PRE)
#define _SEP_2_P(PRE,V) serial_echopair_PGM(PRE,V)
#define _SEP_3_P(a,b,c) do{ _SEP_2_P(a,b); serialprintPGM(c); }while(0)
#define _SEP_4_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_2_P(V); }while(0)
#define _SEP_5_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_3_P(V); }while(0)
#define _SEP_6_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_4_P(V); }while(0)
#define _SEP_7_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_5_P(V); }while(0)
#define _SEP_8_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_6_P(V); }while(0)
#define _SEP_9_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_7_P(V); }while(0)
#define _SEP_10_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_8_P(V); }while(0)
#define _SEP_11_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_9_P(V); }while(0)
#define _SEP_12_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_10_P(V); }while(0)
#define _SEP_13_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_11_P(V); }while(0)
#define _SEP_14_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_12_P(V); }while(0)
#define _SEP_15_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_13_P(V); }while(0)
#define _SEP_16_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_14_P(V); }while(0)
#define _SEP_17_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_15_P(V); }while(0)
#define _SEP_18_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_16_P(V); }while(0)
#define _SEP_19_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_17_P(V); }while(0)
#define _SEP_20_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_18_P(V); }while(0)
#define _SEP_21_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_19_P(V); }while(0)
#define _SEP_22_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_20_P(V); }while(0)
#define _SEP_23_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_21_P(V); }while(0)
#define _SEP_24_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_22_P(V); }while(0)
#define SERIAL_ECHOPAIR_P(V...) _SEP_N_P(NUM_ARGS(V),V)
// Print up to 12 pairs of values followed by newline
#define __SELP_N(N,V...) _SELP_##N(V)
#define _SELP_N(N,V...) __SELP_N(N,V)
@@ -139,10 +169,40 @@ extern uint8_t marlin_debug_flags;
#define _SELP_21(a,b,V...) do{ _SEP_2(a,b); _SELP_19(V); }while(0)
#define _SELP_22(a,b,V...) do{ _SEP_2(a,b); _SELP_20(V); }while(0)
#define _SELP_23(a,b,V...) do{ _SEP_2(a,b); _SELP_21(V); }while(0)
#define _SELP_24(a,b,V...) do{ _SEP_2(a,b); _SELP_22(V); }while(0) // Use up two, pass the rest up
#define _SELP_24(a,b,V...) do{ _SEP_2(a,b); _SELP_22(V); }while(0) // Eat two args, pass the rest up
#define SERIAL_ECHOLNPAIR(V...) _SELP_N(NUM_ARGS(V),V)
// Print up to 12 pairs of values followed by newline
#define __SELP_N_P(N,V...) _SELP_##N##_P(V)
#define _SELP_N_P(N,V...) __SELP_N_P(N,V)
#define _SELP_1_P(PRE) serialprintPGM(PRE)
#define _SELP_2_P(PRE,V) do{ serial_echopair_PGM(PRE,V); SERIAL_EOL(); }while(0)
#define _SELP_3_P(a,b,c) do{ _SEP_2_P(a,b); serialprintPGM(c); }while(0)
#define _SELP_4_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_2_P(V); }while(0)
#define _SELP_5_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_3_P(V); }while(0)
#define _SELP_6_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_4_P(V); }while(0)
#define _SELP_7_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_5_P(V); }while(0)
#define _SELP_8_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_6_P(V); }while(0)
#define _SELP_9_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_7_P(V); }while(0)
#define _SELP_10_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_8_P(V); }while(0)
#define _SELP_11_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_9_P(V); }while(0)
#define _SELP_12_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_10_P(V); }while(0)
#define _SELP_13_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_11_P(V); }while(0)
#define _SELP_14_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_12_P(V); }while(0)
#define _SELP_15_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_13_P(V); }while(0)
#define _SELP_16_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_14_P(V); }while(0)
#define _SELP_17_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_15_P(V); }while(0)
#define _SELP_18_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_16_P(V); }while(0)
#define _SELP_19_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_17_P(V); }while(0)
#define _SELP_20_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_18_P(V); }while(0)
#define _SELP_21_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_19_P(V); }while(0)
#define _SELP_22_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_20_P(V); }while(0)
#define _SELP_23_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_21_P(V); }while(0)
#define _SELP_24_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_22_P(V); }while(0) // Eat two args, pass the rest up
#define SERIAL_ECHOLNPAIR_P(V...) _SELP_N_P(NUM_ARGS(V),V)
// Print up to 20 comma-separated pairs of values
#define __SLST_N(N,V...) _SLST_##N(V)
#define _SLST_N(N,V...) __SLST_N(N,V)
@@ -165,15 +225,20 @@ extern uint8_t marlin_debug_flags;
#define _SLST_17(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_15(V); }while(0)
#define _SLST_18(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_16(V); }while(0)
#define _SLST_19(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_17(V); }while(0)
#define _SLST_20(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_18(V); }while(0) // Use up two, pass the rest up
#define _SLST_20(a,b,V...) do{ SERIAL_ECHO(a); _SEP_2(", ",b); _SLST_18(V); }while(0) // Eat two args, pass the rest up
#define SERIAL_ECHOLIST(pre,V...) do{ SERIAL_ECHOPGM(pre); _SLST_N(NUM_ARGS(V),V); }while(0)
#define SERIAL_ECHOLIST_N(N,V...) _SLST_N(N,LIST_N(N,V))
#define SERIAL_ECHOPGM(S) (serialprintPGM(PSTR(S)))
#define SERIAL_ECHOLNPGM(S) (serialprintPGM(PSTR(S "\n")))
#define SERIAL_ECHO_P(P) (serialprintPGM(P))
#define SERIAL_ECHOPAIR_F(S,V...) do{ SERIAL_ECHOPGM(S); SERIAL_ECHO_F(V); }while(0)
#define SERIAL_ECHOPGM(S) (SERIAL_ECHO_P(PSTR(S)))
#define SERIAL_ECHOLNPGM(S) (SERIAL_ECHO_P(PSTR(S "\n")))
#define SERIAL_ECHOPAIR_F_P(P,V...) do{ serialprintPGM(P); SERIAL_ECHO_F(V); }while(0)
#define SERIAL_ECHOLNPAIR_F_P(V...) do{ SERIAL_ECHOPAIR_F_P(V); SERIAL_EOL(); }while(0)
#define SERIAL_ECHOPAIR_F(S,V...) SERIAL_ECHOPAIR_F_P(PSTR(S),V)
#define SERIAL_ECHOLNPAIR_F(V...) do{ SERIAL_ECHOPAIR_F(V); SERIAL_EOL(); }while(0)
#define SERIAL_ECHO_START() serial_echo_start()
+3
View File
@@ -26,6 +26,9 @@
#include "millis_t.h"
class __FlashStringHelper;
typedef const __FlashStringHelper *progmem_str;
//
// Enumerated axis indices
//
+3 -1
View File
@@ -59,6 +59,8 @@ void safe_delay(millis_t ms) {
SERIAL_ECHOLNPGM("Probe: "
#if ENABLED(PROBE_MANUALLY)
"PROBE_MANUALLY"
#elif ENABLED(NOZZLE_AS_PROBE)
"NOZZLE_AS_PROBE"
#elif ENABLED(FIX_MOUNTED_PROBE)
"FIX_MOUNTED_PROBE"
#elif ENABLED(BLTOUCH)
@@ -79,7 +81,7 @@ void safe_delay(millis_t ms) {
);
#if HAS_BED_PROBE
SERIAL_ECHOPAIR("Probe Offset X", probe_offset.x, " Y", probe_offset.y, " Z", probe_offset.z);
SERIAL_ECHOPAIR_P(PSTR("Probe Offset X"), probe_offset.x, SP_Y_STR, probe_offset.y, SP_Z_STR, probe_offset.z);
if (probe_offset.x > 0)
SERIAL_ECHOPGM(" (Right");
else if (probe_offset.x < 0)
+3 -3
View File
@@ -47,9 +47,9 @@ inline void serial_delay(const millis_t ms) {
void unmark(const uint8_t x, const uint8_t y) { CBI(bits[y], x); }
void mark(const uint8_t x, const uint8_t y) { SBI(bits[y], x); }
bool marked(const uint8_t x, const uint8_t y) { return TEST(bits[y], x); }
inline void unmark(const xy_int8_t &xy) { unmark(xy.y, xy.x); }
inline void mark(const xy_int8_t &xy) { mark(xy.y, xy.x); }
inline bool marked(const xy_int8_t &xy) { return marked(xy.y, xy.x); }
inline void unmark(const xy_int8_t &xy) { unmark(xy.x, xy.y); }
inline void mark(const xy_int8_t &xy) { mark(xy.x, xy.y); }
inline bool marked(const xy_int8_t &xy) { return marked(xy.x, xy.y); }
};
typedef FlagBits<GRID_MAX_POINTS_X, GRID_MAX_POINTS_Y> MeshFlags;
+9 -5
View File
@@ -455,15 +455,19 @@ void Max7219::register_setup() {
#ifdef MAX7219_INIT_TEST
#if MAX7219_INIT_TEST == 2
#define MAX7219_LEDS (MAX7219_X_LEDS * MAX7219_Y_LEDS)
void Max7219::spiral(const bool on, const uint16_t del) {
constexpr int8_t way[] = { 1, 0, 0, 1, -1, 0, 0, -1 };
constexpr int8_t way[][2] = { { 1, 0 }, { 0, 1 }, { -1, 0 }, { 0, -1 } };
int8_t px = 0, py = 0, dir = 0;
for (uint8_t i = MAX7219_X_LEDS * MAX7219_Y_LEDS; i--;) {
for (IF<(MAX7219_LEDS > 255), uint16_t, uint8_t>::type i = MAX7219_LEDS; i--;) {
led_set(px, py, on);
delay(del);
const int8_t x = px + way[dir], y = py + way[dir + 1];
if (!WITHIN(x, 0, MAX7219_X_LEDS - 1) || !WITHIN(y, 0, MAX7219_Y_LEDS - 1) || BIT_7219(x, y) == on) dir = (dir + 2) & 0x7;
px += way[dir]; py += way[dir + 1];
const int8_t x = px + way[dir][0], y = py + way[dir][1];
if (!WITHIN(x, 0, MAX7219_X_LEDS - 1) || !WITHIN(y, 0, MAX7219_Y_LEDS - 1) || BIT_7219(x, y) == on)
dir = (dir + 1) & 0x3;
px += way[dir][0];
py += way[dir][1];
}
}
+2 -2
View File
@@ -35,7 +35,7 @@
#include "../../../lcd/extensible_ui/ui_api.h"
#endif
xy_int_t bilinear_grid_spacing, bilinear_start;
xy_pos_t bilinear_grid_spacing, bilinear_start;
xy_float_t bilinear_grid_factor;
bed_mesh_t z_values;
@@ -153,7 +153,7 @@ void print_bilinear_leveling_grid() {
#define ABL_TEMP_POINTS_X (GRID_MAX_POINTS_X + 2)
#define ABL_TEMP_POINTS_Y (GRID_MAX_POINTS_Y + 2)
float z_values_virt[ABL_GRID_POINTS_VIRT_X][ABL_GRID_POINTS_VIRT_Y];
xy_int_t bilinear_grid_spacing_virt;
xy_pos_t bilinear_grid_spacing_virt;
xy_float_t bilinear_grid_factor_virt;
void print_bilinear_leveling_grid_virt() {
+1 -1
View File
@@ -23,7 +23,7 @@
#include "../../../inc/MarlinConfigPre.h"
extern xy_int_t bilinear_grid_spacing, bilinear_start;
extern xy_pos_t bilinear_grid_spacing, bilinear_start;
extern xy_float_t bilinear_grid_factor;
extern bed_mesh_t z_values;
float bilinear_z_offset(const xy_pos_t &raw);
+1 -1
View File
@@ -51,7 +51,7 @@
if (!isnan(z_values[x][y])) {
SERIAL_ECHO_START();
SERIAL_ECHOPAIR(" M421 I", int(x), " J", int(y));
SERIAL_ECHOLNPAIR_F(" Z", z_values[x][y], 4);
SERIAL_ECHOLNPAIR_F_P(SP_Z_STR, z_values[x][y], 4);
serial_delay(75); // Prevent Printrun from exploding
}
}
+42 -37
View File
@@ -338,7 +338,7 @@
}
z_values[cpos.x][cpos.y] = NAN;
#if ENABLED(EXTENSIBLE_UI)
ExtUI::onMeshUpdate(closest, 0);
ExtUI::onMeshUpdate(cpos, 0.0f);
#endif
cnt++;
}
@@ -541,7 +541,7 @@
else {
z_values[cpos.x][cpos.y] = g29_constant;
#if ENABLED(EXTENSIBLE_UI)
ExtUI::onMeshUpdate(closest, g29_constant);
ExtUI::onMeshUpdate(cpos, g29_constant);
#endif
}
}
@@ -741,13 +741,13 @@
* This attempts to fill in locations closest to the nozzle's start location first.
*/
void unified_bed_leveling::probe_entire_mesh(const xy_pos_t &near, const bool do_ubl_mesh_map, const bool stow_probe, const bool do_furthest) {
DEPLOY_PROBE(); // Deploy before ui.capture() to allow for PAUSE_BEFORE_DEPLOY_STOW
#if HAS_LCD_MENU
ui.capture();
#endif
save_ubl_active_state_and_disable(); // No bed level correction so only raw data is obtained
DEPLOY_PROBE();
uint8_t count = GRID_MAX_POINTS;
mesh_index_pair best;
@@ -764,10 +764,10 @@
if (ui.button_pressed()) {
ui.quick_feedback(false); // Preserve button state for click-and-hold
SERIAL_ECHOLNPGM("\nMesh only partially populated.\n");
STOW_PROBE();
ui.wait_for_release();
ui.quick_feedback();
ui.release();
STOW_PROBE(); // Release UI before stow to allow for PAUSE_BEFORE_DEPLOY_STOW
return restore_ubl_active_state_and_leave();
}
#endif
@@ -783,14 +783,20 @@
);
z_values[best.pos.x][best.pos.y] = measured_z;
#if ENABLED(EXTENSIBLE_UI)
ExtUI::onMeshUpdate(best, measured_z);
ExtUI::onMeshUpdate(best.pos, measured_z);
#endif
}
SERIAL_FLUSH(); // Prevent host M105 buffer overrun.
} while (best.pos.x >= 0 && --count);
STOW_PROBE();
#if HAS_LCD_MENU
ui.release();
#endif
STOW_PROBE(); // Release UI during stow to allow for PAUSE_BEFORE_DEPLOY_STOW
#if HAS_LCD_MENU
ui.capture();
#endif
#ifdef Z_AFTER_PROBING
move_z_after_probing();
@@ -849,7 +855,9 @@
static void echo_and_take_a_measurement() { SERIAL_ECHOLNPGM(" and take a measurement."); }
float unified_bed_leveling::measure_business_card_thickness(float in_height) {
ui.capture();
#if HAS_LCD_MENU
ui.capture();
#endif
save_ubl_active_state_and_disable(); // Disable bed level correction for probing
do_blocking_move_to(0.5f * (MESH_MAX_X - (MESH_MIN_X)), 0.5f * (MESH_MAX_Y - (MESH_MIN_Y)), in_height);
@@ -888,8 +896,9 @@
}
void unified_bed_leveling::manually_probe_remaining_mesh(const xy_pos_t &pos, const float &z_clearance, const float &thick, const bool do_ubl_mesh_map) {
ui.capture();
#if HAS_LCD_MENU
ui.capture();
#endif
save_ubl_active_state_and_disable(); // No bed level correction so only raw data is obtained
do_blocking_move_to_xy_z(current_position, z_clearance);
@@ -917,7 +926,9 @@
do_blocking_move_to_z(z_clearance);
KEEPALIVE_STATE(PAUSED_FOR_USER);
ui.capture();
#if HAS_LCD_MENU
ui.capture();
#endif
if (do_ubl_mesh_map) display_map(g29_map_type); // show user where we're probing
@@ -984,8 +995,9 @@
save_ubl_active_state_and_disable();
LCD_MESSAGEPGM(MSG_UBL_FINE_TUNE_MESH);
ui.capture(); // Take over control of the LCD encoder
#if HAS_LCD_MENU
ui.capture(); // Take over control of the LCD encoder
#endif
do_blocking_move_to_xy_z(pos, Z_CLEARANCE_BETWEEN_PROBES); // Move to the given XY with probe clearance
#if ENABLED(UBL_MESH_EDIT_MOVES_Z)
@@ -1335,7 +1347,7 @@
if (!isnan(v2)) {
z_values[x][y] = v1 < v2 ? v1 : v1 + v1 - v2;
#if ENABLED(EXTENSIBLE_UI)
ExtUI::onMeshUpdate(x, y, z_values[pos.x][pos.y]);
ExtUI::onMeshUpdate(x, y, z_values[x][y]);
#endif
return true;
}
@@ -1385,17 +1397,8 @@
dx = (x_max - x_min) / (g29_grid_size - 1),
dy = (y_max - y_min) / (g29_grid_size - 1);
const vector_3 points[3] = {
#if ENABLED(HAS_FIXED_3POINT)
{ PROBE_PT_1_X, PROBE_PT_1_Y, 0 },
{ PROBE_PT_2_X, PROBE_PT_2_Y, 0 },
{ PROBE_PT_3_X, PROBE_PT_3_Y, 0 }
#else
{ x_min, y_min, 0 },
{ x_max, y_min, 0 },
{ (x_max - x_min) / 2, y_max, 0 }
#endif
};
xy_float_t points[3];
get_three_probe_points(points);
float measured_z;
bool abort_flag = false;
@@ -1504,18 +1507,20 @@
abort_flag = isnan(measured_z);
if (DEBUGGING(LEVELING)) {
const xy_pos_t lpos = rpos.asLogical();
DEBUG_CHAR('(');
DEBUG_ECHO_F(rpos.x, 7);
DEBUG_CHAR(',');
DEBUG_ECHO_F(rpos.y, 7);
DEBUG_ECHOPAIR_F(") logical: (", lpos.x, 7);
DEBUG_CHAR(',');
DEBUG_ECHO_F(lpos.y, 7);
DEBUG_ECHOPAIR_F(") measured: ", measured_z, 7);
DEBUG_ECHOPAIR_F(" correction: ", get_z_correction(rpos), 7);
}
#if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) {
const xy_pos_t lpos = rpos.asLogical();
DEBUG_CHAR('(');
DEBUG_ECHO_F(rpos.x, 7);
DEBUG_CHAR(',');
DEBUG_ECHO_F(rpos.y, 7);
DEBUG_ECHOPAIR_F(") logical: (", lpos.x, 7);
DEBUG_CHAR(',');
DEBUG_ECHO_F(lpos.y, 7);
DEBUG_ECHOPAIR_F(") measured: ", measured_z, 7);
DEBUG_ECHOPAIR_F(" correction: ", get_z_correction(rpos), 7);
}
#endif
measured_z -= get_z_correction(rpos) /* + probe_offset.z */ ;
+1 -1
View File
@@ -77,7 +77,7 @@ private:
static bool file_open(char* filename) {
if (!dummy_transfer) {
card.mount();
card.openFile(filename, false);
card.openFileWrite(filename);
if (!card.isFileOpen()) return false;
}
transfer_active = true;
+83
View File
@@ -0,0 +1,83 @@
/**
* 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/>.
*
*/
#include "../inc/MarlinConfig.h"
#if ENABLED(CANCEL_OBJECTS)
#include "cancel_object.h"
#include "../gcode/gcode.h"
#include "../lcd/ultralcd.h"
CancelObject cancelable;
int8_t CancelObject::object_count, // = 0
CancelObject::active_object = -1;
uint32_t CancelObject::canceled; // = 0x0000
bool CancelObject::skipping; // = false
void CancelObject::set_active_object(const int8_t obj) {
active_object = obj;
if (WITHIN(obj, 0, 31)) {
if (obj >= object_count) object_count = obj + 1;
skipping = TEST(canceled, obj);
}
else
skipping = false;
#if HAS_DISPLAY
if (active_object >= 0)
ui.status_printf_P(0, PSTR(S_FMT " %i"), GET_TEXT(MSG_PRINTING_OBJECT), int(active_object + 1));
else
ui.reset_status();
#endif
}
void CancelObject::cancel_object(const int8_t obj) {
if (WITHIN(obj, 0, 31)) {
SBI(canceled, obj);
if (obj == active_object) skipping = true;
}
}
void CancelObject::uncancel_object(const int8_t obj) {
if (WITHIN(obj, 0, 31)) {
CBI(canceled, obj);
if (obj == active_object) skipping = false;
}
}
void CancelObject::report() {
if (active_object >= 0) {
SERIAL_ECHO_START();
SERIAL_ECHOLNPAIR("Active Object: ", int(active_object));
}
if (canceled) {
SERIAL_ECHO_START();
SERIAL_ECHOPGM("Canceled:");
for (int i = 0; i < object_count; i++)
if (TEST(canceled, i)) { SERIAL_CHAR(' '); SERIAL_ECHO(i); }
SERIAL_EOL();
}
}
#endif // CANCEL_OBJECTS
+41
View File
@@ -0,0 +1,41 @@
/**
* 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/>.
*
*/
#pragma once
#include <stdint.h>
class CancelObject {
public:
static bool skipping;
static int8_t object_count, active_object;
static uint32_t canceled;
static void set_active_object(const int8_t obj);
static void cancel_object(const int8_t obj);
static void uncancel_object(const int8_t obj);
static void report();
static inline bool is_canceled(const int8_t obj) { return TEST(canceled, obj); }
static inline void clear_active_object() { set_active_object(-1); }
static inline void cancel_active_object() { cancel_object(active_object); }
static inline void reset() { canceled = 0x0000; object_count = 0; clear_active_object(); }
};
extern CancelObject cancelable;

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