1
0
mirror of https://github.com/MarlinFirmware/Marlin.git synced 2024-11-27 05:48:43 +00:00

UBL G29: replace 'O' with 'T'

Since we already used 'T' for `G29` Topology Report in the past, and since 'T' is available…
This commit is contained in:
Scott Lahteine 2017-05-15 23:20:09 -05:00
parent 091f94a6bf
commit 56e2e331ed

View File

@ -107,10 +107,10 @@
* *
* I # Invalidate Invalidate specified number of Mesh Points. The nozzle location is used unless * I # Invalidate Invalidate specified number of Mesh Points. The nozzle location is used unless
* the X and Y parameter are used. If no number is specified, only the closest Mesh * the X and Y parameter are used. If no number is specified, only the closest Mesh
* point to the location is invalidated. The M parameter is available as well to produce * point to the location is invalidated. The 'T' parameter is also available to produce
* a map after the operation. This command is useful to invalidate a portion of the * a map after the operation. This command is useful to invalidate a portion of the
* Mesh so it can be adjusted using other tools in the Unified Bed Leveling System. When * Mesh so it can be adjusted using other tools in the Unified Bed Leveling System. When
* attempting to invalidate an isolated bad point in the mesh, the M option will indicate * attempting to invalidate an isolated bad point in the mesh, the 'T' option will indicate
* where the nozzle is positioned in the Mesh with (#). You can move the nozzle around on * where the nozzle is positioned in the Mesh with (#). You can move the nozzle around on
* the bed and use this feature to select the center of the area (or cell) you want to * the bed and use this feature to select the center of the area (or cell) you want to
* invalidate. * invalidate.
@ -126,14 +126,6 @@
* L # Load * Load Mesh from the specified location in the EEPROM. Set this location as activated * L # Load * Load Mesh from the specified location in the EEPROM. Set this location as activated
* for subsequent Load and Store operations. * for subsequent Load and Store operations.
* *
* O Map * Display the Mesh Map Topology.
* The parameter can be specified alone (ie. G29 O) or in combination with many of the
* other commands. The Mesh Map option works with all of the Phase
* commands (ie. G29 P4 R 5 X 50 Y100 C -.1 O) The Map parameter can also of a Map Type
* specified. A map type of 0 is the default is user readable. A map type of 1 can
* be specified and is suitable to Cut & Paste into Excel to allow graphing of the user's
* mesh.
*
* The P or Phase commands are used for the bulk of the work to setup a Mesh. In general, your Mesh will * The P or Phase commands are used for the bulk of the work to setup a Mesh. In general, your Mesh will
* start off being initialized with a G29 P0 or a G29 P1. Further refinement of the Mesh happens with * start off being initialized with a G29 P0 or a G29 P1. Further refinement of the Mesh happens with
* each additional Phase that processes it. * each additional Phase that processes it.
@ -173,7 +165,7 @@
* area you are manually probing. Note that the command tries to start you in a corner * area you are manually probing. Note that the command tries to start you in a corner
* of the bed where movement will be predictable. You can force the location to be used in * of the bed where movement will be predictable. You can force the location to be used in
* the distance calculations by using the X and Y parameters. You may find it is helpful to * the distance calculations by using the X and Y parameters. You may find it is helpful to
* print out a Mesh Map (G29 O) to understand where the mesh is invalidated and where * print out a Mesh Map (G29 T) to understand where the mesh is invalidated and where
* the nozzle will need to move in order to complete the command. The C parameter is * the nozzle will need to move in order to complete the command. The C parameter is
* available on the Phase 2 command also and indicates the search for points to measure should * available on the Phase 2 command also and indicates the search for points to measure should
* be done based on the current location of the nozzle. * be done based on the current location of the nozzle.
@ -189,7 +181,7 @@
* to get it to grasp the shim with the same force as when you measured the thickness of the * to get it to grasp the shim with the same force as when you measured the thickness of the
* shim at the start of the command. * shim at the start of the command.
* *
* Phase 2 allows the O (Map) parameter to be specified. This helps the user see the progression * Phase 2 allows the T (Map) parameter to be specified. This helps the user see the progression
* of the Mesh being built. * of the Mesh being built.
* *
* P3 Phase 3 Fill the unpopulated regions of the Mesh with a fixed value. There are two different paths the * P3 Phase 3 Fill the unpopulated regions of the Mesh with a fixed value. There are two different paths the
@ -263,6 +255,12 @@
* at a later date. The GCode output can be saved and later replayed by the host software * at a later date. The GCode output can be saved and later replayed by the host software
* to reconstruct the current mesh on another machine. * to reconstruct the current mesh on another machine.
* *
* T Topology Display the Mesh Map Topology.
* 'T' can be used alone (e.g., G29 T) or in combination with some of the other commands.
* This option works with all Phase commands (e.g., G29 P4 R 5 X 50 Y100 C -.1 O)
* This parameter can also specify a Map Type. T0 (the default) is user-readable. T1 can
* is suitable to paste into a spreadsheet for a 3D graph of the mesh.
*
* U Unlevel Perform a probe of the outer perimeter to assist in physically leveling unlevel beds. * U Unlevel Perform a probe of the outer perimeter to assist in physically leveling unlevel beds.
* Only used for G29 P1 O U It will speed up the probing of the edge of the bed. This * Only used for G29 P1 O U It will speed up the probing of the edge of the bed. This
* is useful when the entire bed does not need to be probed because it will be adjusted. * is useful when the entire bed does not need to be probed because it will be adjusted.
@ -381,7 +379,7 @@
if (code_seen('J')) { if (code_seen('J')) {
if (grid_size!=0) { // if not 0 it is a normal n x n grid being probed if (grid_size!=0) { // if not 0 it is a normal n x n grid being probed
ubl.save_ubl_active_state_and_disable(); ubl.save_ubl_active_state_and_disable();
ubl.tilt_mesh_based_on_probed_grid(code_seen('O')); ubl.tilt_mesh_based_on_probed_grid(code_seen('T'));
ubl.restore_ubl_active_state_and_leave(); ubl.restore_ubl_active_state_and_leave();
} else { // grid_size==0 which means a 3-Point leveling has been requested } else { // grid_size==0 which means a 3-Point leveling has been requested
float z1 = probe_pt(LOGICAL_X_POSITION(UBL_PROBE_PT_1_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_1_Y), false, g29_verbose_level), float z1 = probe_pt(LOGICAL_X_POSITION(UBL_PROBE_PT_1_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_1_Y), false, g29_verbose_level),
@ -438,7 +436,7 @@
SERIAL_PROTOCOLLNPGM(").\n"); SERIAL_PROTOCOLLNPGM(").\n");
} }
ubl.probe_entire_mesh(x_pos + X_PROBE_OFFSET_FROM_EXTRUDER, y_pos + Y_PROBE_OFFSET_FROM_EXTRUDER, ubl.probe_entire_mesh(x_pos + X_PROBE_OFFSET_FROM_EXTRUDER, y_pos + Y_PROBE_OFFSET_FROM_EXTRUDER,
code_seen('O'), code_seen('E'), code_seen('U')); code_seen('T'), code_seen('E'), code_seen('U'));
break; break;
case 2: { case 2: {
@ -487,7 +485,7 @@
return; return;
} }
manually_probe_remaining_mesh(x_pos, y_pos, height, card_thickness, code_seen('O')); manually_probe_remaining_mesh(x_pos, y_pos, height, card_thickness, code_seen('T'));
SERIAL_PROTOCOLLNPGM("G29 P2 finished."); SERIAL_PROTOCOLLNPGM("G29 P2 finished.");
} break; } break;
@ -523,7 +521,7 @@
// //
// Fine Tune (i.e., Edit) the Mesh // Fine Tune (i.e., Edit) the Mesh
// //
fine_tune_mesh(x_pos, y_pos, code_seen('O')); fine_tune_mesh(x_pos, y_pos, code_seen('T'));
break; break;
case 5: ubl.find_mean_mesh_height(); break; case 5: ubl.find_mean_mesh_height(); break;
@ -601,7 +599,7 @@
SERIAL_PROTOCOLLNPGM("Done.\n"); SERIAL_PROTOCOLLNPGM("Done.\n");
} }
if (code_seen('O')) if (code_seen('T'))
ubl.display_map(code_has_value() ? code_value_int() : 0); ubl.display_map(code_has_value() ? code_value_int() : 0);
/* /*
@ -1112,7 +1110,7 @@
} }
#endif #endif
map_type = code_seen('O') && code_has_value() ? code_value_int() : 0; map_type = code_seen('T') && code_has_value() ? code_value_int() : 0;
if (!WITHIN(map_type, 0, 1)) { if (!WITHIN(map_type, 0, 1)) {
SERIAL_PROTOCOLLNPGM("Invalid map type.\n"); SERIAL_PROTOCOLLNPGM("Invalid map type.\n");
return UBL_ERR; return UBL_ERR;