Commit Graph

228 Commits

Author SHA1 Message Date
Scott Lahteine
a4b0148365 Easier to find 'static inline' 2018-08-13 23:55:33 -05:00
Nils Hasenbanck
577aeb4aa9 All EEPROM access uses persistentStore 2018-08-13 17:43:35 -05:00
Chris Pepper
66d2b48b59 Update PersistentStore api (#11538)
- Clean up the API to use a `static` class instance to adhere to Marlin convention
- Add `const` position data access for read/write
- Add Storage capacity to the interface
2018-08-13 17:30:25 -05:00
Scott Lahteine
e05e95cf97 Clean trailing whitespace 2018-07-25 18:49:47 -05:00
Roxy-3D
62fa028155
Handle dual gantry machines better 2018-07-24 15:34:53 -05:00
Roxy-3D
09485f63e9
add missing ')' 2018-07-22 10:50:41 -05:00
Scott Lahteine
2106fa26b1 Add MANUAL_PROBE_START_Z for manual probing 2018-07-18 21:49:20 -05:00
Scott Lahteine
17ed0f815c Fix tool_change call in UBL G29
Fix #11279, #11252
2018-07-18 20:30:30 -05:00
Scott Lahteine
63f4c9bdb9 Followup to float maths patch 2018-07-06 21:34:09 -05:00
etagle
1367df2875 Replace double with float, optimize calculation 2018-07-04 22:28:56 -05:00
Roxy-3D
1d7dd0edfd
Add the move_z_after_probing() functionality to UBL's G29 J 2018-06-21 13:26:20 -05:00
Scott Lahteine
a2a30ff0ac Use Tool 0 for Dual X Axis G29
See https://github.com/MarlinFirmware/Marlin/issues/5597#issuecomment-397683325
2018-06-20 01:32:23 -05:00
Scott Lahteine
d4795e5b8e
[2.0.x] Tweaks and additions for MAX7219 (#11034) 2018-06-18 22:04:03 -05:00
Eduardo José Tagle
6f330f397e [2.0.x] Buffer overflow and scroll fix, UTF8 cleanup (#10844) 2018-05-25 23:32:37 -05:00
etagle
a11eb50a3e Refactor and optimize Stepper/Planner
Better encapsulation and considerably reduce stepper jitter
2018-05-20 06:23:58 -05:00
Scott Lahteine
50270b53a0 Clear up some more compile warnings 2018-05-17 18:40:49 -05:00
Scott Lahteine
eb2eb72720
Modify UBL mesh_is_valid and use in leveling_is_valid (#10746) 2018-05-14 22:36:03 -05:00
Scott Lahteine
836b0bbeee Fix MBL line_to_destination
Fix #10708
2018-05-13 16:50:39 -05:00
Scott Lahteine
ba4c32eec5 Followup to _AXIS patch 2018-05-13 10:43:35 -05:00
Scott Lahteine
08e36e264e Apply _AXIS macro 2018-05-13 06:51:01 -05:00
Scott Lahteine
99ecdf59af Smarter MIN, MAX, ABS macros
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-13 04:52:56 -05:00
Scott Lahteine
8f8c6a9bc4
Move get_axis_position_mm to Planner (#10718) 2018-05-12 09:59:11 -05:00
Scott Lahteine
306f0f2135
Move Stepper::synchronize to Planner (#10713)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 01:38:02 -05:00
Scott Lahteine
d7b699ec34 Fewer includes of vector_3.h 2018-05-01 07:05:18 -05:00
Scott Lahteine
05c33833e7
[2.0.x] Add NO_LCD_MENUS option (#10582) 2018-04-30 21:16:31 -05:00
Scott Lahteine
59fda986ea Allow Z_AFTER_PROBING to be 0 2018-04-30 03:25:47 -05:00
Scott Lahteine
8db7fb226a Fix M420 C for UBL 2018-04-28 08:14:20 -05:00
Scott Lahteine
eef0248a1c
Add M420 C to adjust the whole mesh (#10522) 2018-04-25 06:43:45 -05:00
Scott Lahteine
c82dd5129f Revert potentially-not-redundant UBL test
Response to #10435
2018-04-24 08:04:13 -05:00
Scott Lahteine
3396671011
[2.0.x] Reset LCD status to fallbacks (#10470)
* Remove obsolete strings
* Tweak some static consts
* Reset LCD status to fallbacks
2018-04-22 00:16:30 -05:00
Roxy-3D
23635c2b64
Update ubl_motion.cpp
Restore necessary and needed loop termination logic.
2018-04-19 12:04:35 -05:00
Scott Lahteine
ad6baa5c9d Fix for UBL set_bed_leveling_enabled 2018-04-18 00:14:48 -05:00
Scott Lahteine
e05c825a05 Update position for UBL non-segmented activate/deactivate 2018-04-17 16:02:02 -05:00
Scott Lahteine
0746aff595 Improve UBL mesh report. Add M420 T, M421 N 2018-04-17 15:52:56 -05:00
Scott Lahteine
0945674ba2
Use H0 by default with UBL_MESH_EDIT_MOVES_Z (#10428) 2018-04-15 20:49:14 -05:00
Roxy-3D
21f13f9e57
Stow Probe at end of G29 J3 2018-04-13 14:46:47 -05:00
Scott Lahteine
3bc179a16f Compress/update comments ubl_motion
…to fit more code on the screen and correct outdated commentary contrasting ABL.
2018-04-12 18:07:19 -05:00
Scott Lahteine
1a75165f35 For set_z_fade_height use set_bed_leveling_enabled 2018-03-31 22:43:05 -05:00
Scott Lahteine
1cb810ff1c
[2.0.x] Automatically reset stepper timeout (#10179)
* Automatically reset stepper timeout in manage_inactivity

Any code that adds moves to the planner can skip resetting the stepper timeout. We can let `idle` / `manage_inactivity` reset the timer whenever it detects any moves in the planner.

* blocks_queued => has_blocks_queued
2018-03-21 19:30:06 -05:00
Roxy-3D
c3c264978f
correct truncated comment 2018-03-21 16:54:45 -05:00
Scott Lahteine
bc45fb6b13 Tweak use of move_z_after_probing 2018-03-21 01:25:08 -05:00
Scott Lahteine
c352954882 Allow no raise after run_z_probe in probe_pt 2018-03-21 01:24:51 -05:00
Scott Lahteine
ae39fbd646 Also suppress keepalive with suspend_auto_report 2018-03-21 00:29:09 -05:00
Scott Lahteine
dd2949922b Consolidate 3-point leveling point options 2018-03-19 04:12:20 -05:00
Scott Lahteine
1d22609473 MIN_PROBE_EDGE replaces DELTA_PROBEABLE_RADIUS 2018-03-19 04:11:46 -05:00
Scott Lahteine
c0d694d5d3 Squash UBL postscript comment 2018-03-18 18:58:10 -05:00
Scott Lahteine
14c03cb6f4
[2.0.x] Make MIN_PROBE_EDGE a general option (for electronic probes) (#10069)
Some probes don't work near the edges of the bed. This change promotes MIN_PROBE_EDGE to a general setting that applies to all probing functions.
2018-03-13 01:15:22 -05:00
Scott Lahteine
28f1276286
[2.0.x] Add Z_AFTER_PROBING option (#10058)
Some "fix-mounted" probes need manual stowing. And after probing some may prefer to raise or lower the nozzle. This restores an old option but tailors it to allow raise or lower as preferred.
2018-03-11 13:07:55 -05:00
Scott Lahteine
d0ac0151b6 Fix typo in ubl.prepare_segmented_line_to 2018-03-11 10:20:50 -05:00
Scott Lahteine
239902f861 Fix E2END and add EEPROM to Smart RAMPS
Reference #9983
2018-03-10 06:57:31 -06:00
Roxy-3D
26dc594ebb prevent steppers from turning off during manual probes 2018-03-10 00:15:41 -06:00
Scott Lahteine
ca577c1638 Fix up various spacing, comments, and typos 2018-03-07 21:09:08 -06:00
Scott Lahteine
9515e5aefb Fix LA_active_extruder (static) 2018-03-07 05:49:20 -06:00
Scott Lahteine
1d604be671 Suspend auto-report during UBL map output 2018-03-07 02:00:19 -06:00
Scott Lahteine
2057177184 Make enums into implicit char 2018-03-06 23:39:56 -06:00
Scott Lahteine
24b9c1923f ubl G29 tweaks 2018-02-28 03:40:06 -06:00
Scott Lahteine
7bdb98c946 Fix #9826. Solution by @gloomyandy 2018-02-26 15:02:19 -06:00
Roxy-3D
306f44198e Prevent serial buffer overrun in Pronterface
75ms might  be excessive...    But I know people are seeing problems with PronterFace as the client...
2018-02-25 23:50:44 -06:00
Scott Lahteine
966d9af98a Mesh export in Bilinear + UBL M503 2018-02-25 23:25:39 -06:00
Scott Lahteine
2228dff3ea ubl.h compile flags from 1.1.x 2018-02-25 23:03:08 -06:00
Scott Lahteine
f3dbe19669 Tweaks to HAL codestyle 2018-02-25 04:38:17 -06:00
Roxy-3D
d504bbbfa4 Fix botched check for being off the mesh... 2018-02-21 14:28:58 -06:00
Scott Lahteine
241e55ef3b Apply SERIAL_FLUSH macro 2018-02-16 17:32:12 -06:00
Scott Lahteine
304e0f8945 Followup to 21e60fd
`ENABLED` only works for flag-type options. Floats must use `#ifdef`.
2018-02-15 22:24:23 -06:00
Roxy-3D
21e60fd3ed
Allow user to control Z-Height correction for off mesh movements (#9661) 2018-02-15 15:07:42 -06:00
Scott Lahteine
8d71ad37cb flush comment to match 1.1.x 2018-02-14 02:56:18 -06:00
Scott Lahteine
89165326b4 Cleanup after vim and vigor 2018-02-11 06:07:30 -06:00
Scott Lahteine
8a6feab1c4 Num-to-string functions for DEBUG_LEVELING_FEATURE 2018-02-05 19:08:27 -06:00
Scott Lahteine
e5ee0b6f6c Implement MALYAN_LCD 2018-02-04 18:52:44 -06:00
Scott Lahteine
2bea1bda56 Move more strings to PROGMEM 2018-01-24 00:06:06 -06:00
Scott Lahteine
1dcfe193ac Optimize some serial strings 2018-01-23 19:14:00 -06:00
Roxy-3D
bfd9728cf4
Serial buffer over run work around for v2.0.0 (#9236)
* Work around for serial buffer over run

PronterFace sends a lot of M105 commands.  During long operations such
as UBL's G29 P1, G29 P2, G29 P4 and G26 this can over run the serial
buffer.   This results (very often) in a M1 (actually a M1M105) ending
up in the command queue.

Until we figure out a better way to resolve this issue, this will keep
the UBL commands from experiencing bogus commands at thier completion.
2018-01-18 19:57:18 -06:00
Roxy-3D
af9b32e3b9
Give PronterFace time to print the UBL What information...
Give PronterFace time to print the UBL What information...
2018-01-16 18:00:57 -06:00
Roxy-3D
f5f1b069ad
Convert UBL mesh tilting to all use the same algorithm (#9204)
A number of regressions were patched also. The UBL G29 P2 and P4 Press and Hold had stopped working. It is very possible this is broken in the bugfix_v1.1.x branch also.

The main purpose of the Pull Request is to get the 3-Point mesh tilting to use the LSF algorithm just like the grid based mesh tilt. This simplifies the logic and reduces the code size some what. But the real reason to do it is the 3-Point case can be solved exactly. And by feeding these numbers into the LSF algorithm it provides a way to check all that code for 'correctness'.
2018-01-16 11:08:00 -06:00
Thomas Moore
f7efac57b7 Multi-host support 2018-01-10 00:14:47 -06:00
Scott Lahteine
60d07f20e7 Make mbl.has_mesh() a method 2018-01-07 00:13:36 -06:00
Scott Lahteine
86818c9a89 Move MBL functions into the class 2018-01-07 00:13:36 -06:00
Scott Lahteine
e89f1453ab UBL G29 works without settings.load() 2018-01-05 15:48:34 -06:00
Scott Lahteine
4ef965cc40 Fix compiler warnings 2017-12-25 08:53:01 -06:00
Scott Lahteine
4b49ea1e92 General cleanup of config-store, reset_bed_level 2017-12-25 05:16:01 -06:00
Scott Lahteine
705ea98fd3 Comment return false in motion functions 2017-12-24 22:57:15 -06:00
Scott Lahteine
caa5093498 General DELTA_IK macro 2017-12-21 22:41:57 -06:00
Scott Lahteine
d568e586b7 Fix up ubl_motion indentation 2017-12-11 03:08:45 -06:00
Scott Lahteine
6d0678d963 Omit unused UBL motion code 2017-12-11 03:08:18 -06:00
Scott Lahteine
3255712343 Skew Correction for UBL
Also remove unused grid slicing function when using UBL segmented.
2017-12-11 03:08:15 -06:00
Scott Lahteine
3d796d8040 Move debug code 2017-12-11 00:27:06 -06:00
Scott Lahteine
3db5303bfe _buffer_line => buffer_segment 2017-12-11 00:27:06 -06:00
Scott Lahteine
a71d2f3f40 UBL_DELTA => UBL_SEGMENTED 2017-12-11 00:27:06 -06:00
Scott Lahteine
73e32925e4 References are better for array args 2017-12-11 00:27:06 -06:00
Scott Lahteine
204199e1ce Only compare XYZ to check motion 2017-12-10 23:00:00 -06:00
Scott Lahteine
03ba79f144 Sync and report changed position 2017-12-10 21:39:49 -06:00
Roxy-3D
f58eb391aa [2.0.0] Better off mesh behavior for UBL (#8714)
* Better off mesh behaviour for UBL

* Suggested ubl.h changes
2017-12-08 19:00:59 -06:00
Scott Lahteine
cdfabbc507 Shorten error text in G29 2017-12-06 21:50:54 -06:00
Scott Lahteine
c846388a65 Standardize LCD interface code for UBL a little 2017-12-06 21:50:54 -06:00
Scott Lahteine
2fde60da12 Changes for parity with 1.1.x 2017-12-06 21:50:54 -06:00
Scott Lahteine
24437de591 Use custom segment length for UBL Cartesian 2017-12-03 00:10:54 -06:00
Roxy-3D
48fb4e0932
Get Bi-Linear to work with G26
More corrections to make that happen...
2017-12-02 14:14:24 -06:00
Roxy-3D
0850b38b45
Get Bi-Linear working with G26
G26 uses logic that looks like:
```
ex = _GET_MESH_X(i + 1) - (SIZE_OF_INTERSECTION_CIRCLES - (SIZE_OF_CROSSHAIRS));
```
The Bi-Linear macros need parenthesis to work correctly.
2017-12-02 14:10:30 -06:00
Scott Lahteine
000b3b3117 Comment/cleanup of motion code 2017-12-02 01:09:55 -06:00
Scott Lahteine
ef2531558c Add an option to segment leveled moves 2017-11-29 16:57:30 -06:00
Scott Lahteine
276271e72f Make MBL work more like PROBE_MANUALLY 2017-11-27 02:12:29 -06:00
Roxy-3D
e48fcad615 change G26 and G29 bit function names to avoid HAL collision 2017-11-25 19:58:45 -06:00
Scott Lahteine
b49acce035 Tweaks for lcd_external_control 2017-11-24 15:53:25 -06:00
Roxy-3D
ec04cf27d3
Fix the G26 out of scope identifiers in the v2.0.0 branch (#8543)
These changes may need to be warmed over.  I tried to fix things with
the least amount of disruption.   I just wanted to get the bugfix_v2.0.0
branch working for people again.
2017-11-24 10:39:56 -06:00
Scott Lahteine
c6b0c104bb Adapt G26 to work for all meshes 2017-11-23 22:31:37 -06:00
Scott Lahteine
c19eb33408 Move G26 to gcode sub-folder 2017-11-23 21:43:23 -06:00
Scott Lahteine
b76e173205 Move test extrusion options under G26 2017-11-13 21:05:57 -06:00
Scott Lahteine
d4a1154c25 Use do_blocking_move_to where possible 2017-11-10 20:55:23 -06:00
Scott Lahteine
22e18fe832 Patch _manual_goto_xy for kinematics 2017-11-08 22:21:38 -06:00
Scott Lahteine
0cfb936dd1 Clarify some motion code 2017-11-08 22:15:55 -06:00
Scott Lahteine
8805e24cc7
Fix tilt_mesh_based_on_probed_grid output bug 2017-11-08 20:06:20 -06:00
Scott Lahteine
24437fbb13
Fix G26 Y argument bug 2017-11-08 19:20:10 -06:00
Roxy-3D
ed62c621d7
Fix G26 Circle Drawing. Add Default Extrusion Settings (#8313)
- Fix G26 Circle Drawing.
- Add default extrusion settings so machine can print lines on print bed
- Yet to be done: Get LCD Menu's to use these settings.
2017-11-07 17:13:53 -06:00
Scott Lahteine
cc4d28b73c
Update bilinear for native workspace 2017-11-06 17:04:41 -06:00
Scott Lahteine
f8393a0908 Operate in Native Machine Space 2017-11-04 00:05:38 -05:00
Scott Lahteine
580b6e9089 Apply physical limits to mesh bounds 2017-10-24 16:54:07 -05:00
Roxy-3D
72156a2029 change to better (more clear) names (#8050)
set_destination_to_current() changed to set_destination_from_current()

set_current_to_destination() changed to set_current_from_destination()
2017-10-21 11:42:26 -05:00
Roxy-3D
5439358281 Basic UBL operations working on 32-bit platforms (#8024)
* 32-bit work for UBL

* Update FT i3-2020 reference file
2017-10-19 10:44:45 -05:00
Roxy-3D
572cf0ec95 UBL able to generate mesh and save and load it on 32-bit platforms (#8015)
* Get UBL Mesh Generation, Mesh Save & Mesh Load working with 32-Bit platforms

* clean up read_data() and write_data() for non-LPC1768 HAL's

* Get read_data() and write_data() return codes consistent

All HAL's read_data() and write_data() return false if they succeed.

* Get read_data() and write_data() return codes to be consistent

Make read_data() and write_data() return true if an error happens.

* Say UBL is now checked out on machine types in default Configuration.h file.
2017-10-18 14:00:29 -05:00
Scott Lahteine
1344ca4b2f UBL no longer needs ubl_state 2017-10-14 02:18:32 -05:00
Scott Lahteine
3e3911fb81 Use planner.leveling_active for all leveling systems 2017-10-14 02:18:31 -05:00
Scott Lahteine
32c607ffe2 Ensure fade factor is recalculated if fade height changes 2017-10-14 02:18:31 -05:00
Scott Lahteine
ca1e47375c Move fade_scaling_factor_for_z to Planner 2017-10-14 02:18:31 -05:00
Scott Lahteine
9a930ebec2 Make leveling_is_active a macro 2017-10-14 02:18:31 -05:00
Scott Lahteine
1adb5a6a48 Remove obsolete UBL z_offset 2017-10-13 08:22:46 -05:00
Scott Lahteine
442669d23c Allow UBL to build without a probe 2017-10-09 18:57:41 -05:00
Scott Lahteine
551752eac7 Consolidate "bedlevel" code 2017-09-21 16:26:47 -05:00
Scott Lahteine
71aefc2e22 Move heater output to Temperature class 2017-09-21 16:26:47 -05:00