Align expected time of auxillary commands to what CuraEngine estimates

CuraEngine doesn't take most of these into its time estimate at all so they can just be 0.

Contributes to issue CURA-5561.
This commit is contained in:
Ghostkeeper 2018-09-05 11:18:40 +02:00
parent bddfe44f2c
commit cf5f66db9f
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A

View file

@ -303,8 +303,8 @@ class Command:
travel_time_in_ms = -1 #Signal that we need to include this in our second pass. travel_time_in_ms = -1 #Signal that we need to include this in our second pass.
# G4: Dwell, pause the machine for a period of time. TODO # G4: Dwell, pause the machine for a period of time.
if cmd_num == 4: elif cmd_num == 4:
# Pnnn is time to wait in milliseconds (P0 wait until all previous moves are finished) # Pnnn is time to wait in milliseconds (P0 wait until all previous moves are finished)
cmd, num = get_code_and_num(parts[1]) cmd, num = get_code_and_num(parts[1])
num = float(num) num = float(num)
@ -313,25 +313,20 @@ class Command:
estimated_exec_time_in_ms = num estimated_exec_time_in_ms = num
# G90: Set to absolute positioning. Assume 0 seconds. # G90: Set to absolute positioning. Assume 0 seconds.
if cmd_num == 90: elif cmd_num == 90:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# G91: Set to relative positioning. Assume 0 seconds. # G91: Set to relative positioning. Assume 0 seconds.
if cmd_num == 91: elif cmd_num == 91:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# G92: Set position. Assume 0 seconds. # G92: Set position. Assume 0 seconds.
if cmd_num == 92: elif cmd_num == 92:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# G280: Prime. Assume 10 seconds for using blob and 5 seconds for no blob. # G280: Prime. Assume 0 seconds. Actually more like 10 if using blob and 5 if not.
if cmd_num == 280: elif cmd_num == 280:
use_blob = True estimated_exec_time_in_ms = 0.0
if len(parts) > 1:
cmd, num = get_code_and_num(parts[1])
if cmd == "S" and num == 1:
use_blob = False
estimated_exec_time_in_ms = (10.0 if use_blob else 5.0) * 1000
# Update estimated execution time # Update estimated execution time
self._estimated_exec_time_in_ms = round(estimated_exec_time_in_ms, 5) self._estimated_exec_time_in_ms = round(estimated_exec_time_in_ms, 5)
@ -344,33 +339,34 @@ class Command:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# M83: Set extruder to relative mode. Assume 0 execution time. # M83: Set extruder to relative mode. Assume 0 execution time.
if cmd_num == 83: elif cmd_num == 83:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# M104: Set extruder temperature (no wait). Assume 0 execution time. # M104: Set extruder temperature (no wait). Assume 0 execution time.
if cmd_num == 104: elif cmd_num == 104:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# M106: Set fan speed. Assume 0 execution time. # M106: Set fan speed. Assume 0 execution time.
if cmd_num == 106: elif cmd_num == 106:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# M107: Turn fan off. Assume 0 execution time. # M107: Turn fan off. Assume 0 execution time.
if cmd_num == 107: elif cmd_num == 107:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# M109: Set extruder temperature (wait). Uniformly random time between 30 - 90 seconds. # M109: Set extruder temperature (wait). Assume 0 execution time. Actually more like a minute.
if cmd_num == 109: elif cmd_num == 109:
estimated_exec_time_in_ms = random.uniform(30, 90) * 1000 # TODO: Check estimated_exec_time_in_ms = 0.0
# M140: Set bed temperature (no wait). Assume 0 execution time. # M140: Set bed temperature (no wait). Assume 0 execution time.
if cmd_num == 140: elif cmd_num == 140:
estimated_exec_time_in_ms = 0.0 estimated_exec_time_in_ms = 0.0
# M203: Set maximum feedrate. Only Z is supported. Assume 0 execution time. # M203: Set maximum feedrate. Only Z is supported. Assume 0 execution time.
if cmd_num == 203: elif cmd_num == 203:
value_dict = get_value_dict(parts[1:]) value_dict = get_value_dict(parts[1:])
buf.max_z_feedrate = value_dict.get("Z", buf.max_z_feedrate) buf.max_z_feedrate = value_dict.get("Z", buf.max_z_feedrate)
estimated_exec_time_in_ms = 0.0
# M204: Set default acceleration. Assume 0 execution time. # M204: Set default acceleration. Assume 0 execution time.
if cmd_num == 204: if cmd_num == 204:
@ -389,8 +385,8 @@ class Command:
self._estimated_exec_time_in_ms = estimated_exec_time_in_ms self._estimated_exec_time_in_ms = estimated_exec_time_in_ms
def _handle_t(self, cmd_num: int, parts: List[str]) -> None: def _handle_t(self, cmd_num: int, parts: List[str]) -> None:
# Tn: Switching extruder. Assume 2 seconds. # Tn: Switching extruder. Assume 0 seconds. Actually more like 2.
estimated_exec_time_in_ms = 2.0 estimated_exec_time_in_ms = 0.0
self._estimated_exec_time_in_ms = estimated_exec_time_in_ms self._estimated_exec_time_in_ms = estimated_exec_time_in_ms