Commit Graph

120 Commits

Author SHA1 Message Date
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