Commit Graph

150 Commits

Author SHA1 Message Date
Scott Lahteine
640526f0c8 Operate in Native Machine Space 2017-11-03 22:40:30 -05:00
Scott Lahteine
f06f4b40b8 Apply physical limits to mesh bounds 2017-10-24 16:49:00 -05:00
Scott Lahteine
b8ddae61e2 ubl_state no longer needed 2017-10-14 02:39:13 -05:00
Scott Lahteine
88857e8028 Move fade_scaling_factor_for_z to Planner 2017-10-14 02:10:46 -05:00
Scott Lahteine
3d5b10735f Remove obsolete UBL z_offset 2017-10-13 08:23:01 -05:00
deram
9239fcf0da Allow UBL G29 and G26 to build without a probe 2017-10-09 18:37:53 -05:00
Tannoo
2a963fb5d1 UBL LCD Bugfixes (#7598) 2017-09-01 16:59:06 -05:00
Scott Lahteine
6772e33ef6 Use [XY]_CENTER for error correction
Followup to #7512
2017-08-16 16:13:09 -05:00
Roxy-3D
be5ca34215 Allow G29 to work correctly even if nozzle is off the mesh. (#7512)
* work around previous regressions...
2017-08-15 17:04:52 -05:00
Scott Lahteine
51864fd365 Add bed size as a configuration option 2017-07-26 23:04:54 -05:00
Tannoo
aaacef9441 Corrections (#7231)
20x4 map integration.    Also some minor changes to the UBL Menu layout.     Both 20x4 LCD's and Graphical LCD panels should have similar functionality now.
2017-07-07 11:05:08 -05:00
LVD-AC
567941e341 Fix for issues #6997 and #7152
Probing with the effector in the printing area, but an eccentric probe (e.g. allen key) outside it but still touching the bed gives meaninfull information for calibration. Since calibration is most accurate when probing as close to the towers as possible the testing was way to restrictive hence this fix.
2017-07-03 02:53:49 -05:00
Scott Lahteine
6a3967ee33 Corrections for probe_pt parameters 2017-07-03 01:34:27 -05:00
Scott Lahteine
f17bae1f70 Changes for ubl_lcd_map_control patch 2017-07-01 19:47:02 -05:00
Tannoo
8e0f3b7eba UBL radar map corrections 2017-07-01 19:00:44 -05:00
Scott Lahteine
fc140c4962 Followup for I2C_POSITION_ENCODERS 2017-06-27 20:46:40 -05:00
Scott Lahteine
05449cf6ee Add shorthand value accessors to gcode.h 2017-06-27 18:39:41 -05:00
Scott Lahteine
12f092c812 Cleanups to gcode.h, use seenval() 2017-06-27 17:57:00 -05:00
dot-bob
a1632cfa0a Added option 'H' to G29 P4.
- Added `H` to set a nozzle height adjustment to surface of the bed.
- Updated G29 P4 comments to reflect changes.
2017-06-25 17:14:08 -05:00
Scott Lahteine
6c45d0fd81 Apply maths macros and type changes ahead of HAL 2017-06-19 22:57:42 -05:00
Scott Lahteine
062131554f Followup to #7045 2017-06-16 14:18:19 -05:00
Scott Lahteine
d9da126776 Cleanups for UBL / ultralcd.cpp 2017-06-15 15:22:36 -05:00
Roxy-3D
824f71d503 LCD Panel Interactive Mesh Editing (#7045)
Original Mesh Bed Leveling replacement put at top of UBL Menu Options to
help facilitate the removal of the Original Mesh Bed Leveling.

Radar display (and control) of the UBL Interactive Mesh Editing.
2017-06-12 18:26:49 -05:00
Scott Lahteine
e94f79ccea Patch some serial macros 2017-06-09 17:17:23 -05:00
Tannoo
731c8e6372 Translatable Strings for ubl_G29 (#6990) 2017-06-08 10:09:39 -05:00
Scott Lahteine
6bb05c4543 Save 20b in smart_fill_mesh with PROGMEM 2017-06-07 16:07:38 -05:00
bgort
82e662fc69 Remove requirement for LCD when UBL is used. (#6971)
* Remove requirement for LCD when UBL is used.

* fix previous oversights

* further refinement - error messages for P2 & P4

* require R on G26 when not using LCD; default to all points
2017-06-07 02:24:36 -04:00
oldmcg
9f295581f0 Ubl delta fixes and improvements (#6941)
* Change all direct changes of ubl.state.active to
  set_bed_leveling_enabled() which handles apply/unapply
  leveling to maintain current_position consistency.

Fix invalidation of UBL mesh to invalid unreachable
  mesh points as well (delta corners).

Fix UBL_DELTA unapply_leveling logic and when
it gets applied, including fade_height changes.

Add optional M114 D for detailed position information,
disabled from compilation by default (M114_DETAIL).

* UBL_DELTA raw and inline kinematics

* UBL planner fall through fix

* consistent variable names

* Cleanup orphaned code and whitespace changes.
Use _O2.

* compile warnings cleanup

* Remove redundant #ifdef condition
2017-06-03 17:11:43 -05:00
Scott Lahteine
46b32e4548 Cleanup LCD interface, add lcd_reset_status 2017-05-29 22:16:13 -05:00
Scott Lahteine
6f89db11f0 Allow lcd_setstatusPGM to reset the alert level 2017-05-29 15:31:00 -05:00
Scott Lahteine
f4028fe088 New GCode Parser - Implementation 2017-05-23 14:15:10 -05:00
Scott Lahteine
85b967657e Embed G26/G29 in ubl class, with enhancements 2017-05-22 17:38:58 -05:00
Scott Lahteine
c99bd69889 Apply const float & more 2017-05-22 17:38:36 -05:00
Scott Lahteine
c2ea22da49 Clean up whitespace 2017-05-22 17:38:36 -05:00
oldmcg
48f7652143 UBL G29 -P3.1 smart fill (#6823)
* UBL G29 -P3.1 mesh fill with distance-weighted least squares fit.

* Back to original -O0 on G29 for now.
2017-05-22 12:33:50 -05:00
Roxy-3D
3129260c44 Misc. Clean Up (#6822)
* Misc. Clean Up

Mostly UBL related clean up.
- But fixed a bug in the thermistortables.
- Made G26 more responsive to user aborts.
- Added sanity checks for older name for UBL_MESH_VALIDATION.
- Made G29 P4 able to edit invalidated mesh points
- Restore a reasonable Fade Height for UBL when creating new state information
- Get UBL's Topology Map to look a little bit better
- Make sure the user doesn't see a blank screen when doing Mesh Editing.

* Huh???   GitHub Desktop screwed up!

* get the planner object in scope

* Fix out of scope z_fade_height

* Travis timed out...

I need a change so I can force a new commit and sync.
2017-05-21 22:09:51 -05:00
Scott Lahteine
02f15f6775 UBL-related cleanup, spacing, standards
Reference: #6804
2017-05-21 10:33:26 -05:00
Scott Lahteine
3c061a9f9a UBL tabs, whitespace, spelling, etc. 2017-05-19 14:16:50 -05:00
Scott Lahteine
75badae2f8 Disable PROBE_MANUALLY for UBL
Plus some other UBL tweaks.
2017-05-19 07:13:18 -05:00
Scott Lahteine
94a4af1d7f Merge pull request #6773 from thinkyhead/bf_lcd_patch_e5
Patch LCD code for 5th extruder
2017-05-18 15:26:55 -05:00
Brian
43c24f0027 Fix recent regressions, &c.
- fix broken `M421` due to less-than-careful optimization
- add HOME_AFTER_DEACTIVATE define to advanced config so not everyone has to rehome after steppers are deactivated
- misc. cleanups (remove unused label, unused variables)
2017-05-17 17:21:46 -04:00
Scott Lahteine
6c064bb7d6 Some probe_pt error-handling 2017-05-17 15:33:51 -05:00
Scott Lahteine
a3abfeac47 Mark strings needing translation 2017-05-17 03:49:33 -05:00
Scott Lahteine
7f4e4b1212 UBL name/state methods 2017-05-17 03:49:32 -05:00
Brian
7852369987 Implement CRC16, develop mesh allocation table
- Add crc16 utility function
 - Implement CRC16 for config store, remove old checksum, increment layout version
 - Move UBL mesh store/load to MarlinSettings; increment UBL_VERSION
 - Begin to lay out MAT structure, prototype functions, etc.
 - Rename ubl.state.eeprom_storage_slot to .storage_slot
 - Misc. optimization
 - Cleanup/standardize/improve some messages

This is a work in progress!
2017-05-17 03:49:19 -05:00
Scott Lahteine
6b6630e11b Clean up trailing whitespace and tabs 2017-05-16 16:06:18 -05:00
Roxy-3D
d30e478f97 Fix incorrectly optimized find_closest_mesh_point_of_type() function (#6761) 2017-05-16 15:24:24 -05:00
Roxy-3D
8606644343 M48 Fix for Delta Configuration Files & UBL G29 only homes when necessary (#6757)
* Fix M48 for Delta's  There was a scope issue: DELTA_PROBEABLE_RADIUS wasn't getting defined.

* Check if the specified G29 command requires homing
2017-05-16 11:23:50 -05:00
Tannoo
0cd398c25d UBL Menu Updates (#6751)
Things should be pretty stable for a while.   
But it wouldn't surprise me if the Delta people have a need for a few special commands.
2017-05-16 08:45:31 -05:00
Scott Lahteine
0fef9a2983 Remove "ubl." prefix from calls within ubl method 2017-05-16 01:19:45 -05:00
Scott Lahteine
14a4257c7b UBL tabs, whitespace, spelling, etc. 2017-05-16 01:19:45 -05:00
Scott Lahteine
56e2e331ed UBL G29: replace 'O' with 'T'
Since we already used 'T' for `G29` Topology Report in the past, and since 'T' is available…
2017-05-16 01:18:41 -05:00
Scott Lahteine
4ec4ecff1a Reduce find_closest_mesh_point_of_type a little 2017-05-16 01:14:03 -05:00
Roxy-3D
1fbcbc05f6 UBL no longer flout's the sacred GCode standard (#6745)
Also clean up ubl_motion.cpp debug info and fix declaration of cx & cy
2017-05-15 16:25:01 -05:00
Scott Lahteine
267f77b18b More constraint on axis_unhomed_error 2017-05-14 16:03:02 -05:00
Scott Lahteine
a7fb55ea6d Use GRID_MAX_POINTS. Some formatting 2017-05-12 06:57:19 -05:00
Scott Lahteine
ba29da56e0 Add disclaimer for verboten parameters 2017-05-12 02:34:53 -05:00
Scott Lahteine
233f824dd6 Define GRID_MAX_POINTS 2017-05-12 01:32:34 -05:00
Scott Lahteine
b0ba5cae73 Fix a spelling boo 2017-05-12 01:32:33 -05:00
oldmcg
91841d75c9 UBL_DELTA (#6695)
UBL on Delta's....     Should be close!    Should not affect any Cartesian printer.
2017-05-11 22:33:47 -05:00
bgort
445003dbb8 Merge pull request #6694 from bgort/g29p2b
UBL:  Minor improvement to G29 P2
2017-05-11 20:44:43 -04:00
Brian
5a5dba6fc8 UBL: Minor improvement to G29 P2
- allow H code value to override probing height
- minor cleanups
2017-05-11 18:54:34 -04:00
Brian
ae676490c9 M421: Add 'adjust closest point' capability
- Split M421 into separate versions for bilinear and ubl
- Fix minor issue in G26
2017-05-11 12:10:38 -04:00
Roxy-3D
b63e82f309 M421 Mesh Point Offset and misc. UBL clean up (#6685)
* M421 Mesh Point Offset and misc. UBL clean up

Allow M421 to accept an offset as well as absolute value for a specified
mesh point.
And misc. UBL clean up to reduce redundent code.

* Better error checking for M421

* Fix M421 Y index bug

I just noticed....  We've had a Y index bug for who knows how long?
2017-05-10 18:54:10 -05:00
Tannoo
66db6c3acc UBL Menu System 1.1
/**
     * UBL System submenu
     *
     *  Prepare
     * - Unified Bed Leveling
     *   - Activate UBL
     *   - Deactivate UBL
     *   - Mesh Storage
     *       Memory Slot:
     *       Load Bed Mesh
     *       Save Bed Mesh
     *   - Output Map
     *       Map Type:
     *       Output Bed Mesh Host / Output Bed Mesh CSV
     *   - UBL Tools
     *     - Build Mesh
     *         Build PLA Mesh
     *         Build ABS Mesh
     *       - Build Custom Mesh
     *           Hotend Temp:
     *           Bed Temp:
     *           Build Custom Mesh
     *         Info Screen
     *       - Build Cold Mesh
     *       - Fill-in Mesh
     *           Fill-in Mesh
     *           Smart Fill-in
     *           Manual Fill-in
     *           Info Screen
     *         Continue Bed Mesh
     *         Invalidate All
     *         Invalidate Closest
     *     - Validate Mesh
     *         PLA Mesh Validation
     *         ABS Mesh Validation
     *       - Custom Mesh Validation
     *           Hotend Temp:
     *           Bed Temp:
     *           Validate Mesh
     *         Info Screen
     *     - Edit Mesh
     *         Fine Tune All
     *         Fine Tune Closest
     *       - Adjust Mesh Height
     *           Height Amount:
     *           Adjust Mesh Height
     *         Info Screen
     *     - Mesh Leveling
     *         3-Point Mesh Leveling
     *       - Grid Mesh Leveling
     *           Side points:
     *           Level Mesh
     *         Info Screen
     *   - Output UBL Info
     */
2017-05-10 12:14:43 -05:00
Scott Lahteine
71396f77d3 Cleanups following recent commits 2017-05-08 14:23:01 -05:00
Scott Lahteine
34b5041576 Spacing adjustment, ubl_G29 2017-05-07 21:28:54 -05:00
lrpirlet
d66e9efac5 G29 P1 stops reporting Invalid location with this patch 2017-05-07 15:07:26 +02:00
bgort
a59066bca9 Various improvements - mostly UBL-related (#6607)
UBL Clean up.
2017-05-06 18:59:16 -05:00
Scott Lahteine
de5e485ed7 Explicit upward angle solution 2017-05-03 01:19:44 -05:00
Scott Lahteine
ecdf68735f Compact smart_fill_mesh slightly 2017-05-03 01:06:58 -05:00
Scott Lahteine
0bf5add075 Use UBL_MESH_(MIN|MAX)_[XY] for G29 move limits 2017-05-02 22:22:23 -05:00
Scott Lahteine
66eba3346b Remove G29 lcd control debugging 2017-05-02 22:22:23 -05:00
Scott Lahteine
3517154135 Reduce code size, fix bug in smart_fill_mesh 2017-05-02 22:22:23 -05:00
Scott Lahteine
c4e34adcf1 Apply formatting, coding standards to UBL 2017-05-02 22:22:23 -05:00
Bob-the-Kuhn
e5a27d9f36 G29 P2 & P4 bug fixes & improvements 2017-05-02 17:53:40 -05:00
Scott Lahteine
0449f69179 Cleanup patch to recent merge 2017-05-02 15:47:06 -05:00
Scott Lahteine
2887c20788 Add a function to home all axes (i.e., gcode_G28) 2017-05-01 15:03:37 -05:00
Brian
4e1448e75a Various fixes for compiler warnings
add BLTouch-related messages in english and (rusty) french;
add missing endstops.h in ultralcd.cpp;
fix misc. compiler warnings;
fix lsf_reset - ZERO macro can't handle a pointer as it would only memset the size of the pointer, not the size of the entire struct
2017-05-01 02:12:40 -05:00
bgort
5ace3699b1 Output (commented) coordinates on G29 S-1; helps identify the x/y points that correspond with i/j coordinates, which eases manual tweaking of z values (#6507) 2017-04-30 14:59:34 -05:00
Scott Lahteine
f169c04604 Merge pull request #6491 from thinkyhead/rc_cleanup_wednesday
Various cleanups for recent merges
2017-04-30 14:56:48 -05:00
bgort
3c0d5ba0a1 allow idle() to be called - fixes sometimes crash/hang in G29 I; (#6505) 2017-04-30 10:22:31 -05:00
Scott Lahteine
0a8e09c723 Clean up excess whitespace, comment formatting 2017-04-28 18:32:38 -05:00
Roxy-3D
d467e97679 Smart-Fill and Mesh-Tilting (both 3-point and grid) working!
Also...   The memory corruption issue may be fixed.   The GCC compiler
was inlining static functions and this caused the G29() stack frame to
become much larger than the AVR could handle.
2017-04-25 21:03:41 -05:00
Brian
f41fb2b635 Numerous UBL-related changes:
* relocated ubl state to config. store:
 * removed a number of ubl state variables and padding which were largely unused - saved 58 bytes of both SRAM and EEPROM;
 * modified ubl sanity_check - no longer checks removed state variables that were otherwise unused, where checking didn't seem to accomplish anything, ultimately;
 * removed pre_initialized state, saving 64 bytes of SRAM;
 * removed automatic saving of UBL state after UBL activation/deactivation;
* consolidated multiple GRID_MAX_POINTS_X/Y to 'Global Leveling' section of EEPROM;
* minor update to G29 Sx notes/instructions;
* renamed mesh load and save parameter to 'slot' from 'm' for clarity;
2017-04-22 18:44:39 -05:00
Brian
f1a4758cef use progmem instead of sram for mesh_index_to_x/ypos array;
fix maximum mesh_index_ array size at 16 (15+1);
2017-04-22 18:34:49 -05:00
Scott Lahteine
959566cf0a Update note about M163 / M164 2017-04-22 16:23:15 -05:00
Brian
88649b06a6 use planner.z_fade_height, etc. instead of private, ubl-specific g29 fade height 2017-04-21 09:09:09 -05:00
Scott Lahteine
e9b53ae00c Cleanup after some direct commits
https://github.com/MarlinFirmware/Marlin/commit/5e9726530ff21d3bc62beaa6
ac1b9437c276130a
2017-04-19 13:07:34 -05:00
Scott Lahteine
e05d050a1e Add hex routine to print an address 2017-04-19 13:07:34 -05:00
Roxy-3D
5e9726530f Setup to find data corruption and general clean up
This data corruption problem is very difficult.  Just changing the code
a little bit changes whether the problem even happens and what is
affected.  I need these changes in the main branch so I can operate with
the extra debug code always available and turned on.

Everything is setup such that if M100 is turned off or DEBUG(ECHO) is
turned off, the code is not affected.   M100 has been made a little bit
more inteligent so it can display the serial command buffers in a more
meaningful way (because the data corruption seems to often times end up
in that area).
2017-04-15 19:26:43 -05:00
Bob-the-Kuhn
60471b7592 minor improvements
Configuration_store.cpp - changed a couple of print statements so the
values were printed.  The old method resulted in the formula being
printed.

ubl_G29
1) added support for R option to P4.  Now probes all points unless R is
present and the number is greater than 0.

2) P2 - moved map print statement so it showed the point that was
currently being probed,  The old location did this only for the first
point.

3) P4 - Moved the map print for the same reason.

ultralcd.cpp - changed "Mesh Editor :" to "Mesh Editor" because the LCD
draw routine puts a ":" in automatically so you end up with an extra ":"
using the old message.
2017-04-15 09:31:55 -05:00
Scott Lahteine
314a02e2d5 Toggle with XOR 2017-04-09 07:58:47 -05:00
Scott Lahteine
cbc2331187 Use LCD_MESSAGEPGM over lcd_setstatuspgm 2017-04-08 18:04:39 -05:00
Scott Lahteine
3729510b1e Set and check main parameter values, report all errors 2017-04-08 17:15:55 -05:00
Roxy-3D
34d3ed9ab1 These items were removed from the UBL Command Parsing
Having these items randomly (and errorniously) disappear cost me several
hours of work yesterday.
2017-04-08 15:30:20 -05:00
Scott Lahteine
15edb41cee Patches to UBL 2017-04-08 14:59:14 -05:00
Roxy-3D
14cf527bb8 Getting setup for debugging 2017-04-08 14:59:14 -05:00
Roxy-3D
1451b7eacf UBL's Grid Based Leveling code
Pretty much...  The code is in place.  Still more work to do.    But it
has a lot of hooks and variables in other code, so commit and merge
before I pick up a million 'Conflicts'.
2017-04-06 19:55:41 -05:00
Scott Lahteine
f5c5c1f771 Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00