|
58 | 58 | *
|
59 | 59 | * G26 is a Mesh Validation Tool intended to provide support for the Marlin Unified Bed Leveling System.
|
60 | 60 | * In order to fully utilize and benefit from the Marlin Unified Bed Leveling System an accurate Mesh must
|
61 |
| - * be defined. G29 is designed to allow the user to quickly validate the correctness of her Mesh. It will |
| 61 | + * be defined. G29 is designed to allow the user to quickly validate the correctness of her Mesh. It will |
62 | 62 | * first heat the bed and nozzle. It will then print lines and circles along the Mesh Cell boundaries and
|
63 | 63 | * the intersections of those lines (respectively).
|
64 | 64 | *
|
65 | 65 | * This action allows the user to immediately see where the Mesh is properly defined and where it needs to
|
66 |
| - * be edited. The command will generate the Mesh lines closest to the nozzle's starting position. Alternatively |
67 |
| - * the user can specify the X and Y position of interest with command parameters. This allows the user to |
| 66 | + * be edited. The command will generate the Mesh lines closest to the nozzle's starting position. Alternatively |
| 67 | + * the user can specify the X and Y position of interest with command parameters. This allows the user to |
68 | 68 | * focus on a particular area of the Mesh where attention is needed.
|
69 | 69 | *
|
70 |
| - * B # Bed Set the Bed Temperature. If not specified, a default of 60 C. will be assumed. |
| 70 | + * B # Bed Set the Bed Temperature. If not specified, a default of 60 C. will be assumed. |
71 | 71 | *
|
72 | 72 | * C Current When searching for Mesh Intersection points to draw, use the current nozzle location
|
73 | 73 | * as the base for any distance comparison.
|
74 | 74 | *
|
75 |
| - * D Disable Disable the Unified Bed Leveling System. In the normal case the user is invoking this |
76 |
| - * command to see how well a Mesh as been adjusted to match a print surface. In order to do |
77 |
| - * this the Unified Bed Leveling System is turned on by the G26 command. The D parameter |
| 75 | + * D Disable Disable the Unified Bed Leveling System. In the normal case the user is invoking this |
| 76 | + * command to see how well a Mesh as been adjusted to match a print surface. In order to do |
| 77 | + * this the Unified Bed Leveling System is turned on by the G26 command. The D parameter |
78 | 78 | * alters the command's normal behaviour and disables the Unified Bed Leveling System even if
|
79 | 79 | * it is on.
|
80 | 80 | *
|
81 |
| - * H # Hotend Set the Nozzle Temperature. If not specified, a default of 205 C. will be assumed. |
| 81 | + * H # Hotend Set the Nozzle Temperature. If not specified, a default of 205 C. will be assumed. |
82 | 82 | *
|
83 |
| - * F # Filament Used to specify the diameter of the filament being used. If not specified |
84 |
| - * 1.75mm filament is assumed. If you are not getting acceptable results by using the |
| 83 | + * F # Filament Used to specify the diameter of the filament being used. If not specified |
| 84 | + * 1.75mm filament is assumed. If you are not getting acceptable results by using the |
85 | 85 | * 'correct' numbers, you can scale this number up or down a little bit to change the amount
|
86 | 86 | * of filament that is being extruded during the printing of the various lines on the bed.
|
87 | 87 | *
|
88 | 88 | * K Keep-On Keep the heaters turned on at the end of the command.
|
89 | 89 | *
|
90 |
| - * L # Layer Layer height. (Height of nozzle above bed) If not specified .20mm will be used. |
| 90 | + * L # Layer Layer height. (Height of nozzle above bed) If not specified .20mm will be used. |
91 | 91 | *
|
92 |
| - * O # Ooooze How much your nozzle will Ooooze filament while getting in position to print. This |
| 92 | + * O # Ooooze How much your nozzle will Ooooze filament while getting in position to print. This |
93 | 93 | * is over kill, but using this parameter will let you get the very first 'circle' perfect
|
94 | 94 | * so you have a trophy to peel off of the bed and hang up to show how perfectly you have your
|
95 |
| - * Mesh calibrated. If not specified, a filament length of .3mm is assumed. |
| 95 | + * Mesh calibrated. If not specified, a filament length of .3mm is assumed. |
96 | 96 | *
|
97 |
| - * P # Prime Prime the nozzle with specified length of filament. If this parameter is not |
98 |
| - * given, no prime action will take place. If the parameter specifies an amount, that much |
99 |
| - * will be purged before continuing. If no amount is specified the command will start |
| 97 | + * P # Prime Prime the nozzle with specified length of filament. If this parameter is not |
| 98 | + * given, no prime action will take place. If the parameter specifies an amount, that much |
| 99 | + * will be purged before continuing. If no amount is specified the command will start |
100 | 100 | * purging filament until the user provides an LCD Click and then it will continue with
|
101 |
| - * printing the Mesh. You can carefully remove the spent filament with a needle nose |
102 |
| - * pliers while holding the LCD Click wheel in a depressed state. If you do not have |
| 101 | + * printing the Mesh. You can carefully remove the spent filament with a needle nose |
| 102 | + * pliers while holding the LCD Click wheel in a depressed state. If you do not have |
103 | 103 | * an LCD, you must specify a value if you use P.
|
104 | 104 | *
|
105 |
| - * Q # Multiplier Retraction Multiplier. Normally not needed. Retraction defaults to 1.0mm and |
| 105 | + * Q # Multiplier Retraction Multiplier. Normally not needed. Retraction defaults to 1.0mm and |
106 | 106 | * un-retraction is at 1.2mm These numbers will be scaled by the specified amount
|
107 | 107 | *
|
108 | 108 | * R # Repeat Prints the number of patterns given as a parameter, starting at the current location.
|
109 | 109 | * If a parameter isn't given, every point will be printed unless G26 is interrupted.
|
110 | 110 | * This works the same way that the UBL G29 P4 R parameter works.
|
111 | 111 | *
|
112 |
| - * NOTE: If you do not have an LCD, you -must- specify R. This is to ensure that you are |
| 112 | + * NOTE: If you do not have an LCD, you -must- specify R. This is to ensure that you are |
113 | 113 | * aware that there's some risk associated with printing without the ability to abort in
|
114 |
| - * cases where mesh point Z value may be inaccurate. As above, if you do not include a |
| 114 | + * cases where mesh point Z value may be inaccurate. As above, if you do not include a |
115 | 115 | * parameter, every point will be printed.
|
116 | 116 | *
|
117 |
| - * S # Nozzle Used to control the size of nozzle diameter. If not specified, a .4mm nozzle is assumed. |
| 117 | + * S # Nozzle Used to control the size of nozzle diameter. If not specified, a .4mm nozzle is assumed. |
118 | 118 | *
|
119 |
| - * U # Random Randomize the order that the circles are drawn on the bed. The search for the closest |
120 |
| - * undrawn cicle is still done. But the distance to the location for each circle has a |
121 |
| - * random number of the size specified added to it. Specifying S50 will give an interesting |
| 119 | + * U # Random Randomize the order that the circles are drawn on the bed. The search for the closest |
| 120 | + * undrawn cicle is still done. But the distance to the location for each circle has a |
| 121 | + * random number of the size specified added to it. Specifying S50 will give an interesting |
122 | 122 | * deviation from the normal behaviour on a 10 x 10 Mesh.
|
123 | 123 | *
|
124 | 124 | * X # X Coord. Specify the starting location of the drawing activity.
|
|
218 | 218 | * nozzle in a problem area and doing a G29 P4 R command.
|
219 | 219 | */
|
220 | 220 | void unified_bed_leveling::G26() {
|
221 |
| - SERIAL_ECHOLNPGM("G26 command started. Waiting for heater(s)."); |
| 221 | + SERIAL_ECHOLNPGM("G26 command started. Waiting for heater(s)."); |
222 | 222 | float tmp, start_angle, end_angle;
|
223 | 223 | int i, xi, yi;
|
224 | 224 | mesh_index_pair location;
|
|
264 | 264 | //debug_current_and_destination(PSTR("Starting G26 Mesh Validation Pattern."));
|
265 | 265 |
|
266 | 266 | /**
|
267 |
| - * Declare and generate a sin() & cos() table to be used during the circle drawing. This will lighten |
| 267 | + * Declare and generate a sin() & cos() table to be used during the circle drawing. This will lighten |
268 | 268 | * the CPU load and make the arc drawing faster and more smooth
|
269 | 269 | */
|
270 | 270 | float sin_table[360 / 30 + 1], cos_table[360 / 30 + 1];
|
|
575 | 575 |
|
576 | 576 | /**
|
577 | 577 | * print_line_from_here_to_there() takes two cartesian coordinates and draws a line from one
|
578 |
| - * to the other. But there are really three sets of coordinates involved. The first coordinate |
579 |
| - * is the present location of the nozzle. We don't necessarily want to print from this location. |
580 |
| - * We first need to move the nozzle to the start of line segment where we want to print. Once |
| 578 | + * to the other. But there are really three sets of coordinates involved. The first coordinate |
| 579 | + * is the present location of the nozzle. We don't necessarily want to print from this location. |
| 580 | + * We first need to move the nozzle to the start of line segment where we want to print. Once |
581 | 581 | * there, we can use the two coordinates supplied to draw the line.
|
582 | 582 | *
|
583 | 583 | * Note: Although we assume the first set of coordinates is the start of the line and the second
|
584 |
| - * set of coordinates is the end of the line, it does not always work out that way. This function |
585 |
| - * optimizes the movement to minimize the travel distance before it can start printing. This saves |
586 |
| - * a lot of time and eleminates a lot of non-sensical movement of the nozzle. However, it does |
| 584 | + * set of coordinates is the end of the line, it does not always work out that way. This function |
| 585 | + * optimizes the movement to minimize the travel distance before it can start printing. This saves |
| 586 | + * a lot of time and eliminates a lot of nonsensical movement of the nozzle. However, it does |
587 | 587 | * cause a lot of very little short retracement of th nozzle when it draws the very first line
|
588 |
| - * segment of a 'circle'. The time this requires is very short and is easily saved by the other |
| 588 | + * segment of a 'circle'. The time this requires is very short and is easily saved by the other |
589 | 589 | * cases where the optimization comes into play.
|
590 | 590 | */
|
591 | 591 | void unified_bed_leveling::print_line_from_here_to_there(const float &sx, const float &sy, const float &sz, const float &ex, const float &ey, const float &ez) {
|
|
850 | 850 |
|
851 | 851 | stepper.synchronize(); // Without this synchronize, the purge is more consistent,
|
852 | 852 | // but because the planner has a buffer, we won't be able
|
853 |
| - // to stop as quickly. So we put up with the less smooth |
| 853 | + // to stop as quickly. So we put up with the less smooth |
854 | 854 | // action to give the user a more responsive 'Stop'.
|
855 | 855 | set_destination_to_current();
|
856 | 856 | idle();
|
|
860 | 860 |
|
861 | 861 | #if ENABLED(ULTRA_LCD)
|
862 | 862 | strcpy_P(lcd_status_message, PSTR("Done Priming")); // We can't do lcd_setstatusPGM() without having it continue;
|
863 |
| - // So... We cheat to get a message up. |
| 863 | + // So... We cheat to get a message up. |
864 | 864 | lcd_setstatusPGM(PSTR("Done Priming"), 99);
|
865 | 865 | lcd_quick_feedback();
|
866 | 866 | #endif
|
|
0 commit comments