Compare commits
337 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b788ce25f5 | |||
| 1a9a5b82a8 | |||
| cb9f103421 | |||
| 9479cd9ce7 | |||
| c7de99b141 | |||
| 9ad55840bb | |||
| 81011a71b1 | |||
| 832e1ca0e7 | |||
| 83bdfeb5cb | |||
| 6128d61186 | |||
| 6657c44cc7 | |||
| 52c37ee699 | |||
| 134958a535 | |||
| 0f7ef6b586 | |||
| 9cbb6b1512 | |||
| af85a271a5 | |||
| a7eacbcc49 | |||
| 05e2e059e3 | |||
| 2cc52318e3 | |||
| d602fb9421 | |||
| 8c1e4b5250 | |||
| d2a5d2d220 | |||
| 9ff3500dda | |||
| 30e5554171 | |||
| 190204e6b8 | |||
| 9d4aff6eab | |||
| d74ecde544 | |||
| ad4cf3e332 | |||
| 701ab0db8e | |||
| b3f2f44124 | |||
| a03ee01cee | |||
| 9bb87da816 | |||
| 5fbb7cbe6a | |||
| 8af96b8cdd | |||
| 5cdc4527d3 | |||
| 0206af6c07 | |||
| fb5dd40949 | |||
| 9c1366ed99 | |||
| e7c505d415 | |||
| e304aa9da7 | |||
| c1775c9005 | |||
| dbd9321380 | |||
| 7f6622e6ac | |||
| 04ffe9493b | |||
| 6c39286626 | |||
| 86b9e7ee13 | |||
| 6566031ec6 | |||
| e7a6c77d74 | |||
| 2436e2463c | |||
| 9fffe26c20 | |||
| 3ab1c95ab3 | |||
| 7f32519aa9 | |||
| ff91016e81 | |||
| 4615345773 | |||
| 25ff9813c6 | |||
| 8ba8ae85c4 | |||
| dc1cd03897 | |||
| 304ca54aba | |||
| e175f3f729 | |||
| 641fc9c833 | |||
| 6e2597593a | |||
| c29a949a13 | |||
| 26268313c4 | |||
| da8412db6a | |||
| 9bf6c900c4 | |||
| aa6e7b0300 | |||
| 0663c5a372 | |||
| ad42498dfb | |||
| 662d03896b | |||
| 8b09d27cd9 | |||
| d7c8cf3a9e | |||
| c9ae761066 | |||
| 7bed426de3 | |||
| 048de70ee6 | |||
| 6049f226bc | |||
| c02083677a | |||
| 64ed7aff53 | |||
| a694291420 | |||
| 0216e032be | |||
| 2d8aa0cea1 | |||
| d1eb100806 | |||
| 1d3c53ae2f | |||
| 97d5da4c11 | |||
| 359e0641c4 | |||
| 2c4e4edade | |||
| c6ae6c53a8 | |||
| c596e9f3f0 | |||
| 37ebee1cef | |||
| 76cbaeeb2e | |||
| 79b8ad13f1 | |||
| d0a8bc29be | |||
| 10901d9092 | |||
| dddc232294 | |||
| 1419f2637e | |||
| 91b08d2deb | |||
| 2f3af1c9da | |||
| 2d6a5201cf | |||
| a390a348d0 | |||
| b3a732b43a | |||
| bb6d74383e | |||
| 9e8b2121dd | |||
| af91b4d29f | |||
| 609325a8b4 | |||
| 3bd861bf19 | |||
| ed3de53587 | |||
| 82eddcd6e7 | |||
| 3929349c1b | |||
| e095f94f9f | |||
| 9127ec6bd7 | |||
| 7a9d26d1a0 | |||
| af0b517e8f | |||
| aeb062b33e | |||
| 15fe76dd6a | |||
| 7265db1b36 | |||
| c5104c1d2b | |||
| 8b91d1d255 | |||
| 9518cb0f2e | |||
| c2bd4928a5 | |||
| 7120df3b85 | |||
| f25156971b | |||
| 650ca3baa6 | |||
| 3ceb4a5c46 | |||
| 8511d9e781 | |||
| 7aa6d3ef09 | |||
| f7fdbb4eb3 | |||
| 7d0cd9ccf5 | |||
| ead8d29316 | |||
| 58a6d42db6 | |||
| 50833c9836 | |||
| 5d704b8494 | |||
| 3621a0a3f6 | |||
| 10b9e5ca34 | |||
| bcef7ad91b | |||
| 1666980b5b | |||
| 58a6d1b8d4 | |||
| 2151f4c50b | |||
| ee7e532761 | |||
| 4a7665a1e9 | |||
| 1e4d50b6e8 | |||
| 3ae543dd30 | |||
| 041959f903 | |||
| df922ed7c8 | |||
| 41534e78f8 | |||
| fabdb6a51e | |||
| fac1a75596 | |||
| bd5ded15e7 | |||
| 530e807bcd | |||
| 251a0268c4 | |||
| 4fdded0e2d | |||
| f4e26c785f | |||
| 9100ed15fa | |||
| dc82db35d4 | |||
| 610fb6fd35 | |||
| 594882f7a9 | |||
| 4e160fea16 | |||
| 99d5ad3b09 | |||
| a9f6080931 | |||
| 1b0301c89f | |||
| 94798e4465 | |||
| 65b59a6646 | |||
| 09f5b5d00a | |||
| 3487cbad21 | |||
| da8e07b697 | |||
| 402a13a980 | |||
| 56f7a03a5c | |||
| 3113388293 | |||
| eecfc0479a | |||
| 9984643e4c | |||
| 58114b32ba | |||
| 50a6fb637f | |||
| d71b12cd8b | |||
| 42842f71e0 | |||
| 5213de4eaa | |||
| 602c9fffe0 | |||
| 4d73906008 | |||
| 0da50d80ef | |||
| f0bbc163c6 | |||
| 78aec86650 | |||
| 6bd2a602ca | |||
| 6b923de48d | |||
| a645efd189 | |||
| a717a3eacb | |||
| da03b84eff | |||
| aa6d23c7cb | |||
| 2a1826f1ed | |||
| 8e79ea09e4 | |||
| e29dbb946e | |||
| b1f8fa881d | |||
| c2a2d04b50 | |||
| 84d0a5ebd1 | |||
| 6ed5c22d7c | |||
| 07246fdc30 | |||
| 14899ca3f7 | |||
| 2d0972d35d | |||
| c43828b2e3 | |||
| bc13685c46 | |||
| 14d374dc2b | |||
| 5dc45f2ceb | |||
| 8ed81063a2 | |||
| cb92d78a46 | |||
| d94a20e63a | |||
| b2ff518c27 | |||
| 4c1d5e8fcf | |||
| e13d6ba012 | |||
| ec08edd240 | |||
| 1c890a9da0 | |||
| e070ce987f | |||
| 45b75301a8 | |||
| 491cfc6ae0 | |||
| d42b24369f | |||
| 8280cfef43 | |||
| 785da0db6c | |||
| eaad3c451c | |||
| fd751bd3fe | |||
| 0785d312f7 | |||
| 5dc96c7324 | |||
| 2532ef1049 | |||
| dd2d4df3dc | |||
| a583d8998f | |||
| 953cf6f7d6 | |||
| fcd4fa4ab7 | |||
| 123a2b28fc | |||
| 28261437f8 | |||
| c0a48e4fe2 | |||
| 5b2353a2ab | |||
| cafd4ff6a6 | |||
| f98aff039c | |||
| 5e93e09c1a | |||
| ca5c5fdd40 | |||
| 71c1b8ca6d | |||
| e5c2fbd6ac | |||
| 3618b9c7be | |||
| 7ab7cfc96d | |||
| 92db4f2d84 | |||
| e2ce5865c9 | |||
| 6815edf8d6 | |||
| f8ff1c8d6a | |||
| 6ab5745875 | |||
| 8bb6a9b44a | |||
| 52ec2a266f | |||
| 33f6219f06 | |||
| dd6153f317 | |||
| 05af0cbb55 | |||
| ff39019034 | |||
| a5eefa9ffa | |||
| 109e8f88ce | |||
| 00413994dd | |||
| 8e39965b2d | |||
| 87f6e91f51 | |||
| 0cb0df6bee | |||
| 80e2ab6ed6 | |||
| e406791b6f | |||
| 438eb8ebb3 | |||
| 206b5ab014 | |||
| 2ab7fa652c | |||
| 87d1df38de | |||
| c392cb6d9d | |||
| 7ae0805095 | |||
| a2f86e84a4 | |||
| b8a2160f82 | |||
| 99d49108c1 | |||
| e6671b3065 | |||
| df82a0e497 | |||
| 1832269181 | |||
| 8341f282ee | |||
| 4fdf747445 | |||
| 61b6a0ea9f | |||
| 5006ca07be | |||
| 8579af67a2 | |||
| 8f49610d3a | |||
| 8fd08ba1f8 | |||
| c0c4f77c36 | |||
| b6cbad224b | |||
| c765c7484c | |||
| 3242d3dca2 | |||
| 58f774e98d | |||
| 79ff336b2b | |||
| 0d367432e6 | |||
| 959919bcfe | |||
| 4f7289e022 | |||
| af8be03165 | |||
| 88ce2c94f8 | |||
| 0a52d5c032 | |||
| 38286d9805 | |||
| 0ece75536c | |||
| 4b377bb032 | |||
| 0392a56193 | |||
| 58654b3664 | |||
| 8b324e08d9 | |||
| 1bf3881adc | |||
| e2c1ca3bca | |||
| 234b15a12c | |||
| 80a0c3b028 | |||
| e73644f3fe | |||
| 9a6d6a4405 | |||
| 777abb71b5 | |||
| ac4ffdb4e5 | |||
| 691a297b6a | |||
| bec97532ee | |||
| 406cd0cc83 | |||
| 62af625be4 | |||
| 26917ebf96 | |||
| 3d8bfb036d | |||
| a0f0af5da8 | |||
| 27c99f74ad | |||
| 050cef7b48 | |||
| 5d74ace99f | |||
| 3130fd9532 | |||
| f0c531abb6 | |||
| ce2874b732 | |||
| a55cef1165 | |||
| 682b0b440d | |||
| 7025912957 | |||
| bb6b23891c | |||
| 1b211947b8 | |||
| ea15d3edab | |||
| 47c6f8a98b | |||
| ccb2c3bb85 | |||
| e74b9776e5 | |||
| e61bbe1499 | |||
| ffd7062e21 | |||
| 7255ca0bc6 | |||
| f7c56bc5e4 | |||
| e4c973487b | |||
| d4ab268bbf | |||
| b4dbf606b7 | |||
| f6a1d772c2 | |||
| ae208fa92f | |||
| f11d496899 | |||
| a3d0fe53cf | |||
| 395d11b06f | |||
| e79b328103 | |||
| 1c19d9a86a | |||
| 6043f88b35 | |||
| 2087e6fbcf | |||
| c67086bdba | |||
| 24e6dbcf48 |
+435
-154
File diff suppressed because it is too large
Load Diff
+361
-186
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,103 @@
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
#define CUSTOM_BOOTSCREEN_TIMEOUT 2500
|
||||
#define CUSTOM_BOOTSCREEN_BMPWIDTH 60
|
||||
#define CUSTOM_BOOTSCREEN_BMPHEIGHT 64
|
||||
|
||||
const unsigned char custom_start_bmp[574] PROGMEM = {
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x23, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x4c, 0x80, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x5e, 0x80, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x92, 0x40, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xa1, 0x40, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x1, 0x21, 0x20, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x2, 0x7f, 0x90, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x7, 0xff, 0xf8, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x4, 0x0, 0x8, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x8, 0x0, 0x4, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x8, 0x0, 0x6, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x10, 0x0, 0x2, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x30, 0x1e, 0x1, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x20, 0x7f, 0x81, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x41, 0xff, 0xe0, 0x80, 0x0, 0x0,
|
||||
0x0, 0x0, 0x43, 0xfc, 0xf0, 0x80, 0x0, 0x0,
|
||||
0x0, 0x0, 0x87, 0x3b, 0x78, 0x40, 0x0, 0x0,
|
||||
0x0, 0x1, 0x8e, 0xdb, 0xfc, 0x60, 0x0, 0x0,
|
||||
0x0, 0x1, 0xf, 0xeb, 0xcc, 0x20, 0x0, 0x0,
|
||||
0x0, 0x2, 0x1f, 0xed, 0xb6, 0x10, 0x0, 0x0,
|
||||
0x0, 0x2, 0x1f, 0xde, 0xb6, 0x10, 0x0, 0x0,
|
||||
0x0, 0x4, 0x39, 0xcd, 0x7f, 0x8, 0x0, 0x0,
|
||||
0x0, 0x4, 0x36, 0xe0, 0xff, 0x8, 0x0, 0x0,
|
||||
0x0, 0x8, 0x7e, 0xc0, 0xbb, 0x84, 0x0, 0x0,
|
||||
0x0, 0x18, 0x7f, 0x0, 0x5d, 0x86, 0x0, 0x0,
|
||||
0x0, 0x10, 0x7f, 0xc0, 0xed, 0x82, 0x0, 0x0,
|
||||
0x0, 0x20, 0x3c, 0xc0, 0x73, 0x1, 0x0, 0x0,
|
||||
0x0, 0x20, 0x3b, 0x33, 0x7f, 0x1, 0x0, 0x0,
|
||||
0x0, 0x70, 0x1b, 0xe7, 0x7e, 0x3, 0x80, 0x0,
|
||||
0x0, 0xc8, 0x1d, 0xee, 0xde, 0x4, 0xc0, 0x0,
|
||||
0x0, 0x88, 0xf, 0xde, 0xdc, 0x4, 0x40, 0x0,
|
||||
0x1, 0x24, 0xf, 0xdf, 0x3c, 0x9, 0x20, 0x0,
|
||||
0x1, 0x26, 0x7, 0xdb, 0xf8, 0x19, 0x20, 0x0,
|
||||
0x2, 0x72, 0x3, 0xe7, 0xf0, 0x13, 0x90, 0x0,
|
||||
0x2, 0x51, 0x1, 0xff, 0xe0, 0x22, 0x90, 0x0,
|
||||
0x4, 0x89, 0x0, 0x7f, 0x80, 0x24, 0x48, 0x0,
|
||||
0x9, 0x4, 0x80, 0x1e, 0x0, 0x48, 0x24, 0x0,
|
||||
0xb, 0xfe, 0x40, 0x0, 0x0, 0xdf, 0xf4, 0x0,
|
||||
0x10, 0x0, 0x40, 0x0, 0x0, 0x80, 0x2, 0x0,
|
||||
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x10, 0x22, 0x10, 0x3c, 0x3c, 0xe, 0x1f, 0x0,
|
||||
0x10, 0x22, 0x10, 0x4, 0x22, 0x11, 0x4, 0x0,
|
||||
0x10, 0x22, 0x10, 0x8, 0x22, 0x11, 0x4, 0x0,
|
||||
0x10, 0x22, 0x10, 0x8, 0x3c, 0x11, 0x4, 0x0,
|
||||
0x10, 0x22, 0x10, 0x10, 0x22, 0x11, 0x4, 0x0,
|
||||
0x10, 0x22, 0x10, 0x20, 0x22, 0x11, 0x4, 0x0,
|
||||
0x1e, 0x1c, 0x1e, 0x3c, 0x3c, 0xe, 0x4, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
};
|
||||
@@ -1532,6 +1532,10 @@ void setup() {
|
||||
i2c.onRequest(i2c_on_request);
|
||||
#endif
|
||||
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
SETUP_RUN(emi_init());
|
||||
#endif
|
||||
|
||||
#if DO_SWITCH_EXTRUDER
|
||||
SETUP_RUN(move_extruder_servo(0)); // Initialize extruder servo
|
||||
#endif
|
||||
|
||||
@@ -212,7 +212,7 @@ void GcodeSuite::G34() {
|
||||
// Probe a Z height for each stepper.
|
||||
// Probing sanity check is disabled, as it would trigger even in normal cases because
|
||||
// current_position.z has been manually altered in the "dirty trick" above.
|
||||
const float z_probed_height = probe.probe_at_point(DIFF_TERN(HAS_HOME_OFFSET, ppos, xy_pos_t(home_offset)), raise_after, 0, true, false, (Z_PROBE_LOW_POINT) - z_probe * 0.5f, z_probe * 0.5f);
|
||||
const float z_probed_height = probe.probe_at_point(RAW_X_POSITION(z_stepper_align.xy[iprobe].x), RAW_Y_POSITION(z_stepper_align.xy[iprobe].y), raise_after, 0, true, false);
|
||||
if (isnan(z_probed_height)) {
|
||||
SERIAL_ECHOLNPGM(STR_ERR_PROBING_FAILED);
|
||||
LCD_MESSAGE(MSG_LCD_PROBING_FAILED);
|
||||
|
||||
@@ -858,6 +858,10 @@ void GcodeSuite::G425() {
|
||||
TEMPORARY_BED_LEVELING_STATE(false);
|
||||
SET_SOFT_ENDSTOP_LOOSE(true);
|
||||
|
||||
#if ENABLED(EMI_MITIGATION) && ENABLED(NOZZLE_AS_PROBE)
|
||||
enable_emi_pins(true);
|
||||
#endif
|
||||
|
||||
measurements_t m;
|
||||
const float uncertainty = parser.floatval('U', CALIBRATION_MEASUREMENT_UNCERTAIN);
|
||||
|
||||
@@ -885,6 +889,10 @@ void GcodeSuite::G425() {
|
||||
|
||||
SET_SOFT_ENDSTOP_LOOSE(false);
|
||||
|
||||
#if ENABLED(EMI_MITIGATION) && ENABLED(NOZZLE_AS_PROBE)
|
||||
enable_emi_pins(false);
|
||||
#endif
|
||||
|
||||
#ifdef CALIBRATION_SCRIPT_POST
|
||||
process_subcommands_now(F(CALIBRATION_SCRIPT_POST));
|
||||
#endif
|
||||
|
||||
@@ -27,7 +27,11 @@
|
||||
* M119: Output endstop states to serial output
|
||||
*/
|
||||
void GcodeSuite::M119() {
|
||||
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
enable_emi_pins(true);
|
||||
#endif
|
||||
endstops.report_states();
|
||||
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
enable_emi_pins(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -57,6 +57,9 @@
|
||||
#include "../core/utility.h"
|
||||
#include "../core/mstring.h"
|
||||
#include "../core/serial.h"
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
#include "../lulzbot_emi_filtering.h"
|
||||
#endif
|
||||
#include "../core/endianness.h"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1517,7 +1517,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
||||
#error "SCARA machines can only use AUTO_BED_LEVELING_BILINEAR or MESH_BED_LEVELING."
|
||||
#elif ENABLED(AUTO_BED_LEVELING_LINEAR) && !(WITHIN(GRID_MAX_POINTS_X, 2, 255) && WITHIN(GRID_MAX_POINTS_Y, 2, 255))
|
||||
#error "GRID_MAX_POINTS_[XY] must be between 2 and 255 with AUTO_BED_LEVELING_LINEAR."
|
||||
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) && !(WITHIN(GRID_MAX_POINTS_X, 3, 255) && WITHIN(GRID_MAX_POINTS_Y, 3, 255))
|
||||
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) && !(WITHIN(GRID_MAX_POINTS_X, 2, 255) && WITHIN(GRID_MAX_POINTS_Y, 2, 255))
|
||||
#error "GRID_MAX_POINTS_[XY] must be between 3 and 255 with AUTO_BED_LEVELING_BILINEAR."
|
||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
||||
#if ENABLED(POLAR)
|
||||
@@ -1650,18 +1650,18 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
||||
|
||||
#ifdef SENSORLESS_BACKOFF_MM
|
||||
constexpr float sbm[] = SENSORLESS_BACKOFF_MM;
|
||||
static_assert(COUNT(sbm) == NUM_AXES, "SENSORLESS_BACKOFF_MM must have " _NUM_AXES_STR "elements (and no others).");
|
||||
NUM_AXIS_CODE(
|
||||
static_assert(sbm[X_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.X must be greater than or equal to 0."),
|
||||
static_assert(sbm[Y_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.Y must be greater than or equal to 0."),
|
||||
static_assert(sbm[Z_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.Z must be greater than or equal to 0."),
|
||||
static_assert(sbm[I_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.I must be greater than or equal to 0."),
|
||||
static_assert(sbm[J_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.J must be greater than or equal to 0."),
|
||||
static_assert(sbm[K_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.K must be greater than or equal to 0."),
|
||||
static_assert(sbm[U_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.U must be greater than or equal to 0."),
|
||||
static_assert(sbm[V_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.V must be greater than or equal to 0."),
|
||||
static_assert(sbm[W_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.W must be greater than or equal to 0.")
|
||||
);
|
||||
//static_assert(COUNT(sbm) == NUM_AXES, "SENSORLESS_BACKOFF_MM must have " _NUM_AXES_STR "elements (and no others).");
|
||||
//NUM_AXIS_CODE(
|
||||
// static_assert(sbm[X_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.X must be greater than or equal to 0."),
|
||||
// static_assert(sbm[Y_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.Y must be greater than or equal to 0."),
|
||||
// static_assert(sbm[Z_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.Z must be greater than or equal to 0."),
|
||||
// static_assert(sbm[I_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.I must be greater than or equal to 0."),
|
||||
// static_assert(sbm[J_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.J must be greater than or equal to 0."),
|
||||
// static_assert(sbm[K_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.K must be greater than or equal to 0."),
|
||||
// static_assert(sbm[U_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.U must be greater than or equal to 0."),
|
||||
// static_assert(sbm[V_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.V must be greater than or equal to 0."),
|
||||
// static_assert(sbm[W_AXIS] >= 0, "SENSORLESS_BACKOFF_MM.W must be greater than or equal to 0.")
|
||||
//);
|
||||
#endif
|
||||
|
||||
#if ENABLED(CODEPENDENT_XY_HOMING)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
|
||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||
#include "../theme/_bootscreen_portrait.h"
|
||||
#include "../theme/_bootscreen_logo_portrait.h"
|
||||
#else
|
||||
#include "../theme/_bootscreen_landscape.h"
|
||||
#endif
|
||||
|
||||
@@ -31,10 +31,16 @@ using namespace ExtUI;
|
||||
|
||||
void EndstopStatesScreen::onEntry() {
|
||||
BaseScreen::onEntry();
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
enable_emi_pins(true);
|
||||
#endif
|
||||
}
|
||||
|
||||
void EndstopStatesScreen::onExit() {
|
||||
BaseScreen::onExit();
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
enable_emi_pins(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
#define GRID_COLS 6
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,79 @@
|
||||
/******************************
|
||||
* lulzbot_emi_filtering.cpp *
|
||||
******************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Marcio Teixeira 2020 *
|
||||
* *
|
||||
* 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. *
|
||||
* *
|
||||
* To view a copy of the GNU General Public License, go to the following *
|
||||
* location: <http://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#include "MarlinCore.h"
|
||||
|
||||
#include "lulzbot_emi_filtering.h"
|
||||
|
||||
/******************************** EMI MITIGATION *******************************/
|
||||
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
void emi_init(void) {
|
||||
enable_emi_pins(false);
|
||||
|
||||
#define EMI_SHUTOFF(pin) SET_OUTPUT(pin); WRITE(pin, LOW);
|
||||
|
||||
#if MB(ARCHIM2)
|
||||
//EMI_SHUTOFF(GPIO_PB1_J20_5)
|
||||
EMI_SHUTOFF(GPIO_PB0_J20_6)
|
||||
EMI_SHUTOFF(GPIO_PB3_J20_7)
|
||||
EMI_SHUTOFF(GPIO_PB2_J20_8)
|
||||
EMI_SHUTOFF(GPIO_PB6_J20_9)
|
||||
EMI_SHUTOFF(GPIO_PB5_J20_10)
|
||||
EMI_SHUTOFF(GPIO_PB8_J20_11)
|
||||
EMI_SHUTOFF(GPIO_PB4_J20_12)
|
||||
EMI_SHUTOFF(GPIO_PB9_J20_13)
|
||||
EMI_SHUTOFF(GPIO_PB7_J20_14)
|
||||
//EMI_SHUTOFF(GPIO_PB15_J20_15)
|
||||
//EMI_SHUTOFF(GPIO_PB15_J20_16)
|
||||
EMI_SHUTOFF(GPIO_PB14_J20_17)
|
||||
EMI_SHUTOFF(GPIO_PA18_J20_21)
|
||||
EMI_SHUTOFF(GPIO_PA17_J20_22)
|
||||
#endif
|
||||
}
|
||||
|
||||
#define SET_PIN_STATE(pin, enable) \
|
||||
if(enable) { \
|
||||
/* Set as inputs with pull-up resistor */ \
|
||||
SET_INPUT(pin); \
|
||||
WRITE(pin, HIGH); \
|
||||
} else { \
|
||||
SET_OUTPUT(pin); \
|
||||
WRITE(pin, LOW); \
|
||||
}
|
||||
|
||||
/* Enable the probe pins only only when homing/probing,
|
||||
* as this helps reduce EMI by grounding the lines.
|
||||
*/
|
||||
void enable_emi_pins(const bool enable) {
|
||||
#if DISABLED(ENDSTOPS_ALWAYS_ON_DEFAULT) && ENABLED(NOZZLE_AS_PROBE)
|
||||
#if PIN_EXISTS(Z_MIN_PIN)
|
||||
SET_PIN_STATE(Z_MIN_PIN, enable);
|
||||
#endif
|
||||
#endif
|
||||
#if PIN_EXISTS(Z_MIN_PROBE) && ENABLED(NOZZLE_AS_PROBE)
|
||||
SET_PIN_STATE(Z_MIN_PROBE_PIN, enable)
|
||||
#endif
|
||||
|
||||
/* Wait to charge up the lines */
|
||||
if(enable) delay(5);
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,30 @@
|
||||
/****************************
|
||||
* drunken_octopus_extras.h *
|
||||
****************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Marcio Teixeira 2020 *
|
||||
* *
|
||||
* 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. *
|
||||
* *
|
||||
* To view a copy of the GNU General Public License, go to the following *
|
||||
* location: <http://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
#include <stdbool.h>
|
||||
|
||||
/******************************** EMI MITIGATION *******************************/
|
||||
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
void emi_init(void);
|
||||
void enable_emi_pins(const bool);
|
||||
#endif
|
||||
@@ -2133,6 +2133,10 @@ void prepare_line_to_destination() {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
enable_emi_pins(true);
|
||||
#endif
|
||||
|
||||
//
|
||||
// Back away to prevent an early sensorless trigger
|
||||
//
|
||||
@@ -2404,6 +2408,10 @@ void prepare_line_to_destination() {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(EMI_MITIGATION)
|
||||
enable_emi_pins(false);
|
||||
#endif
|
||||
|
||||
// Clear retracted status if homing the Z axis
|
||||
#if ENABLED(FWRETRACT)
|
||||
if (axis == Z_AXIS) fwretract.current_hop = 0.0;
|
||||
|
||||
@@ -328,6 +328,9 @@ xyz_pos_t Probe::offset; // Initialized by settings.load()
|
||||
#endif
|
||||
|
||||
void Probe::set_probing_paused(const bool dopause) {
|
||||
#if ENABLED(EMI_MITIGATION) && ENABLED(NOZZLE_AS_PROBE)
|
||||
enable_emi_pins(p);
|
||||
#endif
|
||||
TERN_(PROBING_HEATERS_OFF, thermalManager.pause_heaters(dopause));
|
||||
TERN_(PROBING_FANS_OFF, thermalManager.set_fans_paused(dopause));
|
||||
TERN_(PROBING_ESTEPPERS_OFF, if (dopause) stepper.disable_e_steppers());
|
||||
|
||||
@@ -71,10 +71,10 @@ if pioutil.is_pio_build():
|
||||
config = env.GetProjectConfig()
|
||||
result = check_envs("env:"+build_env, board_envs, config)
|
||||
|
||||
if not result:
|
||||
err = "Error: Build environment '%s' is incompatible with %s. Use one of these environments: %s" % \
|
||||
( build_env, motherboard, ", ".join([ e[4:] for e in board_envs if e.startswith("env:") ]) )
|
||||
raise SystemExit(err)
|
||||
# if not result:
|
||||
# err = "Error: Build environment '%s' is incompatible with %s. Use one of these: %s" % \
|
||||
# ( build_env, motherboard, ", ".join([ e[4:] for e in board_envs if e.startswith("env:") ]) )
|
||||
# raise SystemExit(err)
|
||||
|
||||
#
|
||||
# Check for Config files in two common incorrect places
|
||||
|
||||
+93
-1
@@ -13,7 +13,13 @@
|
||||
[platformio]
|
||||
src_dir = Marlin
|
||||
boards_dir = buildroot/share/PlatformIO/boards
|
||||
default_envs = mega2560
|
||||
default_envs = Mini
|
||||
MiniV2
|
||||
Taz6
|
||||
Taz6DualZ
|
||||
Workhorse
|
||||
WorkhorseDualZ
|
||||
TazPro
|
||||
include_dir = Marlin
|
||||
extra_configs =
|
||||
Marlin/config.ini
|
||||
@@ -138,6 +144,92 @@ monitor_eol = LF
|
||||
monitor_echo = yes
|
||||
monitor_filters = colorize, time, send_on_enter
|
||||
|
||||
#################################
|
||||
# #
|
||||
# Unique Core Architectures #
|
||||
# #
|
||||
# Add a new "env" below if no #
|
||||
# entry has values suitable to #
|
||||
# build for a given board. #
|
||||
# #
|
||||
#################################
|
||||
|
||||
#################################
|
||||
# #
|
||||
# AVR Architecture #
|
||||
# #
|
||||
#################################
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Lulzbot Mini
|
||||
#
|
||||
[env:Mini]
|
||||
platform = atmelavr
|
||||
extends = common_avr8
|
||||
build_flags = ${common.build_flags} -DMini
|
||||
board = megaatmega2560
|
||||
|
||||
#
|
||||
# Lulzbot Mini V2
|
||||
#
|
||||
[env:MiniV2]
|
||||
platform = atmelavr
|
||||
extends = common_avr8
|
||||
build_flags = ${common.build_flags} -DMiniV2
|
||||
board = megaatmega2560
|
||||
|
||||
#
|
||||
# Taz 6
|
||||
#
|
||||
[env:Taz6]
|
||||
platform = atmelavr
|
||||
extends = common_avr8
|
||||
build_flags = ${common.build_flags} -DTaz6
|
||||
board = megaatmega2560
|
||||
|
||||
[env:Taz6DualZ]
|
||||
platform = atmelavr
|
||||
extends = common_avr8
|
||||
build_flags = ${common.build_flags} -DTaz6 -DTazDualZ
|
||||
board = megaatmega2560
|
||||
|
||||
#
|
||||
# Taz Workhorse
|
||||
#
|
||||
[env:Workhorse]
|
||||
platform = atmelavr
|
||||
extends = common_avr8
|
||||
build_flags = ${common.build_flags} -DWorkhorse
|
||||
board = megaatmega2560
|
||||
|
||||
[env:WorkhorseDualZ]
|
||||
platform = atmelavr
|
||||
extends = common_avr8
|
||||
build_flags = ${common.build_flags} -DWorkhorse -DTazDualZ
|
||||
board = megaatmega2560
|
||||
|
||||
[env:TazPro]
|
||||
platform = atmelsam
|
||||
extends = env:DUE
|
||||
board = marlin_archim
|
||||
build_flags = ${common.build_flags}
|
||||
-DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON -DTazPro
|
||||
board_build.variants_dir = buildroot/share/PlatformIO/variants/
|
||||
extra_scripts = ${common.extra_scripts}
|
||||
Marlin/src/HAL/DUE/upload_extra_script.py
|
||||
|
||||
[env:TazProNebula]
|
||||
platform = atmelsam
|
||||
extends = env:DUE
|
||||
board = marlin_archim
|
||||
build_flags = ${common.build_flags}
|
||||
-DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON -DTazPro -DTOOLHEAD_Twin_Nebula_175
|
||||
board_build.variants_dir = buildroot/share/PlatformIO/variants/
|
||||
extra_scripts = ${common.extra_scripts}
|
||||
Marlin/src/HAL/DUE/upload_extra_script.py
|
||||
|
||||
#
|
||||
# Just print the dependency tree
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user