Skip to main content
Updated
Source Link
0scar
  • 37.1k
  • 12
  • 67
  • 155

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands in the function void gcode_get_destination():

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.


Some extra information from G0 & G1: Move describing the usage of the feed rate:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands:

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.


Some extra information from G0 & G1: Move describing the usage of the feed rate:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands in the function void gcode_get_destination():

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.


Some extra information from G0 & G1: Move describing the usage of the feed rate:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

Updated
Source Link
0scar
  • 37.1k
  • 12
  • 67
  • 155

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands:

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.

 

FromSome extra information from G0 & G1: Move describing the usage of the feed rate:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands:

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.

From G0 & G1: Move:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands:

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.

 

Some extra information from G0 & G1: Move describing the usage of the feed rate:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

additional info
Source Link
0scar
  • 37.1k
  • 12
  • 67
  • 155

You should never use a feedratefeed rate of zero to start a command with. Theoretically, the other way around would work as the feedratefeed rate specified in the command is the feedratefeed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands:

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.

From G0 & G1: Move:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

You should never use a feedrate of zero to start a command with. Theoretically, the other way around would work as the feedrate specified in the command is the feedrate at the end of the operation.

From G0 & G1: Move:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands:

if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.

From G0 & G1: Move:

Most RepRap firmwares do subtle things with feedrates.

G1 F1500           ; Set feedrate to 1500mm/m 
G1 X50 Y25.3 E22.4 ;

Move and extrude In the above example, we first set the feedrate to 1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding 22.4mm of filament between the two points.

G1 F1500                 ; Feedrate 1500mm/m 
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m
However, in the above example, we set a

feedrate of 1500 mm/m, then do the same move, but accelerating to 3000 mm/m. Everything stays synchronized, so extrusion accelerates right along with X and Y movement.

Source Link
0scar
  • 37.1k
  • 12
  • 67
  • 155
Loading