@dc42 and @T3P3Tony
Do you know what the problem is and how this "expected numeric operand" can be avoided/solved?
Posts made by Phil333
-
RE: Check if a specific tool is selected and set it to standby
-
RE: Check if a specific tool is selected and set it to standby
@dc42, @T3P3Tony and @cosmowave
If there is no "then" like this:
;if tools[0].state="active" ; then M568 P0 R{tools[0].active} ; echo "tool 0 (V6) ist active." ;if tools[1].state="active" ; then M568 P1 R{tools[1].active} ; echo "tool 1 (Volcano) ist active." var temp0 = {tools[0].active} var temp1 = {tools[1].active} if tools[0].state="active" M568 P0 R{var.temp0} echo "tool 0 (V6) ist active." if tools[1].state="active" M568 P1 R{var.temp1} echo "tool 1 (Volcano) ist active."
I still get this back:
M98 P"0:/macros/00_Toolselect_check"
Error: in file macro line 15 column 24: M568: expected numeric operand
tool 0 (V6) ist active.The error appears in this line:
M568 P0 R{var.temp0}
On:
Board: Duet 2 Ethernet (2Ethernet)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta5+1 (2021-10-28) -
RE: multiple filament sensors
@t3p3tony said in multiple filament sensors:
the error messages are in the firmware code - they are not it a user editable text file. You could add a second notice to the user in your filamen-errorX.g
Thanks, then I will leave it as it is.
@phil333 said in multiple filament sensors:
While testing this, I saw that sometimes the pausing of the print needs longer or kind of freezes the printer.
I mean the tool always stops and normally it goes back to its homing position.
But sometimes it stops, needs ~5-15 sec and then goes back.Try and tie down what part of the gcode file has this issue, the shorter and more reproducible the better.
Does this happen with both tools or just one?
Its hard to say or to determinate which code is doing it, as there seems to be some background (firmware) code to be involved as well.
I think that it happens with both tools, but I will investigate more into it, to see if I can find more details or something reproducible.
I will report back
-
RE: multiple filament sensors
Implementing this in
tpreX
and
tfreeX(where X is the tool number)
works great!If I pull the filament out of the sensor, it says:
Printing paused
Extruder 1 reported 'noFilament'I have 2 more questions:
#1:
Where does that massage "Extruder 1 reported 'noFilament'" come from?
I already created the "filament-errorX.g" files (where X is the tool number), but I would like to change the message#2:
While testing this, I saw that sometimes the pausing of the print needs longer or kind of freezes the printer.I mean the tool always stops and normally it goes back to its homing position.
But sometimes it stops, needs ~5-15 sec and then goes back.2 times it also stayed at that position and never went back to the homing position
-
RE: Slicer based time estimation
@phaedrux
This machine is currently running on
Duet Web Control 3.4.0-b5The example gcode cant be uploaded, because its ~43Mb and the limit it 4Mb
But I can show some copied snippets.
Start:; generated by SuperSlicer 2.3.57 on 2021-11-29 at 16:50:27 UTC ; ; external perimeters extrusion width = 0.45mm ; perimeters extrusion width = 0.45mm ; infill extrusion width = 0.45mm ; solid infill extrusion width = 0.45mm ; top infill extrusion width = 0.40mm ; support material extrusion width = 0.40mm ; first layer extrusion width = 0.42mm ; object:{"name":"Prototypli","id":"Prototypli.stl id:0 copy 0","object_center":[217.670244,305.000001,0.000000],"boundingbox_center":[217.670244,305.000001,15.627051],"boundingbox_size":[53.634032,560.000000,31.254103]} ; object:{"name":"Prototypre","id":"Prototypre.stl id:1 copy 0","object_center":[277.304286,305.000001,0.000000],"boundingbox_center":[277.304286,305.000001,15.627062],"boundingbox_size":[53.634054,560.000000,31.254124]} ; object:{"name":"Prototyprere","id":"Prototyprere.stl id:2 copy 0","object_center":[393.390408,305.000000,0.000000],"boundingbox_center":[393.390408,305.000000,14.584077],"boundingbox_size":[51.512729,560.000000,29.168155]} ; object:{"name":"Prototyplili","id":"Prototyplili.stl id:3 copy 0","object_center":[335.877678,305.000001,0.000000],"boundingbox_center":[335.877678,305.000001,14.584077],"boundingbox_size":[51.512733,560.000000,29.168155]} ; Total objects to print: 4 M486 T4 ; plater:{"center":[305.000000,305.000000,0.000000],"boundingbox_center":[305.000000,305.000000,15.627062],"boundingbox_size":[228.293544,560.000001,31.254124]} M201 X1000 Y1000 Z1000 E5000 ; sets maximum accelerations, mm/sec^2 M203 X15000 Y15000 Z360 E1200 I0; sets maximum feedrates, mm/min M204 P500 T1000 ; sets acceleration (P, T), mm/sec^2 M566 X270.00 Y270.00 Z60.00 E180.00 ; sets the jerk limits, mm/min G10 P0 R204 ; sets the standby temperature G10 P0 S210 ; set temperature ;TYPE:Custom ; custom start gcode T-1 ; deselect all tools M140 S66 ; set bed temp M568 P0 S210 R195 A1 ; set first tool standby temp G28 ; home all axes G1 Z2 F5000 ; lift nozzle M190 S66 ; wait for bed temp to be reached M116 ; wait for stand by temps to be reached G90 ; Absolute positionning G28 ; home all axes again after the bed is hot G1 Z2 F5000 ; lift nozzle T0 ; set the first used tool as active tool M116 ; wait for first tool temperature to be reached M107 G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion ; Filament gcode G10 P0 S210 ; set temperature M116 ; wait for temperature to be reached
[printing]
End:
;TYPE:Custom ; Filament-specific end gcode ;END gcode for filament ; Filament-specific end gcode ;END gcode for filament ; custom end gcode M104 S0 ; turn off extruder temp M140 S0 ; turn off bed temp G91 ; Relative positionning G1 Z10 F5000 ; lift nozzle quickly G90 ; Absolute positionning G1 X0 Y600 F6000 ; move to home position T-1 ; deselect all tools M84 ; disable all motors ; filament used [mm] = 292752.69 ; filament used [cm3] = 680.22 ; filament used [g] = 850.27 ; filament cost = 22.96 ; total filament used [g] = 850.27 ; total filament cost = 22.96 ; total layers count = 170 ; estimated printing time (normal mode) = 2d 18h 36m 25s ; allow_empty_layers = 0 ; avoid_crossing_not_first_layer = 1 ; avoid_crossing_perimeters = 0 ; avoid_crossing_perimeters_max_detour = 0 ; bed_custom_model = ; bed_custom_texture = ; bed_shape = 0x0,610x0,610x610,0x610 ; bed_temperature = 65,65 ; before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z] ; between_objects_gcode = ; bottom_fill_pattern = rectilinear ; bottom_solid_layers = 5 ; bottom_solid_min_thickness = 0.9 ; bridge_acceleration = 0 ; bridge_angle = 0 ; bridge_fan_speed = 100,100 ; bridge_flow_ratio = 90% ; bridge_internal_fan_speed = -1,-1 ; bridge_overlap = 100% ; bridge_overlap_min = 80% ; bridge_speed = 35 ; bridge_speed_internal = 55 ; bridged_infill_margin = 200% ; brim_ears = 0 ; brim_ears_detection_length = 1 ; brim_ears_max_angle = 125 ; brim_ears_pattern = concentric ; brim_inside_holes = 0 ; brim_offset = 0 ; brim_width = 0 ; brim_width_interior = 0 ; chamber_temperature = 0,0 ; clip_multipart_objects = 1 ; color_change_gcode = M600 ; complete_objects = 0 ; complete_objects_one_brim = 0 ; complete_objects_one_skirt = 1 ; complete_objects_sort = object ; cooling = 1,1 ; cooling_tube_length = 5 ; cooling_tube_retraction = 91.5 ; curve_smoothing_angle_concave = 0 ; curve_smoothing_angle_convex = 0 ; curve_smoothing_cutoff_dist = 2 ; curve_smoothing_precision = 0 ; default_acceleration = 0 ; default_filament_profile = ; default_print_profile = ; deretract_speed = 0,0 ; disable_fan_first_layers = 1,1 ; dont_support_bridges = 0 ; draft_shield = 0 ; duplicate_distance = 6 ; end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n";"; Filament-specific end gcode \n;END gcode for filament\n" ; end_gcode = ; custom end gcode\n\nM104 S0 ; turn off extruder temp\nM140 S0 ; turn off bed temp\n\nG91 ; Relative positionning\nG1 Z10 F5000 ; lift nozzle quickly\n\nG90 ; Absolute positionning\nG1 X0 Y600 F6000 ; move to home position\nT-1 ; deselect all tools\nM84 ; disable all motors ; enforce_full_fill_volume = 1 ; ensure_vertical_shell_thickness = 1 ; exact_last_layer_height = 0 ; external_infill_margin = 150% ; external_perimeter_cut_corners = 0% ; external_perimeter_extrusion_spacing = ; external_perimeter_extrusion_width = 0.45 ; external_perimeter_fan_speed = -1,-1 ; external_perimeter_overlap = 100% ; external_perimeter_speed = 35 ; external_perimeters_first = 0 ; external_perimeters_hole = 1 ; external_perimeters_nothole = 1 ; external_perimeters_vase = 0 ; extra_loading_move = -2 ; extra_perimeters = 0 ; extra_perimeters_odd_layers = 0 ; extra_perimeters_overhangs = 0 ; extruder_clearance_height = 20 ; extruder_clearance_radius = 20 ; extruder_colour = #0000FF;#FF0000 ; extruder_fan_offset = 0%,0% ; extruder_offset = 0x0,0x0 ; extruder_temperature_offset = 0,0 ; extrusion_axis = E ; extrusion_multiplier = 0.97,0.97 ; extrusion_spacing = ; extrusion_width = 0.45 ; fan_always_on = 1,1 ; fan_below_layer_time = 60,60 ; fan_kickstart = 0 ; fan_percentage = 0 ; fan_speedup_overhangs = 1 ; fan_speedup_time = 0 ; feature_gcode = ; filament_colour = #29B2B2;#29B2B2 ; filament_cooling_final_speed = 3.4,3.4 ; filament_cooling_initial_speed = 2.2,2.2 ; filament_cooling_moves = 4,4 ; filament_cooling_zone_pause = 0,0 ; filament_cost = 27,27 ; filament_custom_variables = ; ; filament_density = 1.25,1.25 ; filament_diameter = 1.72,1.72 ; filament_dip_extraction_speed = 70,70 ; filament_dip_insertion_speed = 33,33 ; filament_enable_toolchange_part_fan = 0,0 ; filament_enable_toolchange_temp = 0,0 ; filament_load_time = 0,0 ; filament_loading_speed = 28,28 ; filament_loading_speed_start = 3,3 ; filament_max_overlap = 100%,100% ; filament_max_speed = 0,0 ; filament_max_volumetric_speed = 14,14 ; filament_max_wipe_tower_speed = 0,0 ; filament_melt_zone_pause = 0,0 ; filament_minimal_purge_on_wipe_tower = 15,15 ; filament_notes = ; ; filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6";"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" ; filament_retract_before_travel = 1.5,1.5 ; filament_retract_layer_change = 1,1 ; filament_retract_length = 1.8,1.8 ; filament_retract_lift = 0.24,0.24 ; filament_retract_speed = 35,35 ; filament_settings_id = "FormFutura black Premium PLA @V6";"FormFutura black Premium PLA @V6" ; filament_shrink = 100%,100% ; filament_skinnydip_distance = 31,31 ; filament_soluble = 0,0 ; filament_spool_weight = 0,0 ; filament_toolchange_delay = 0,0 ; filament_toolchange_part_fan_speed = 50,50 ; filament_toolchange_temp = 200,200 ; filament_type = PLA;PLA ; filament_unload_time = 0,0 ; filament_unloading_speed = 90,90 ; filament_unloading_speed_start = 100,100 ; filament_use_fast_skinnydip = 0,0 ; filament_use_skinnydip = 0,0 ; filament_vendor = (Unknown) ; filament_wipe = 1,1 ; filament_wipe_advanced_pigment = 0.5,0.5 ; filament_wipe_extra_perimeter = 1,1 ; fill_angle = 45 ; fill_angle_increment = 0 ; fill_density = 18% ; fill_pattern = rectilinear ; fill_smooth_distribution = 9% ; fill_smooth_width = 50% ; fill_top_flow_ratio = 100% ; first_layer_acceleration = 0 ; first_layer_bed_temperature = 66,66 ; first_layer_extrusion_spacing = ; first_layer_extrusion_width = 0.42 ; first_layer_flow_ratio = 100% ; first_layer_height = 0.2 ; first_layer_infill_speed = 25 ; first_layer_min_speed = 0 ; first_layer_size_compensation = -0.35 ; first_layer_size_compensation_layers = 1 ; first_layer_speed = 25 ; first_layer_temperature = 210,210 ; full_fan_speed_layer = 0,0 ; gap_fill = 1 ; gap_fill_last = 0 ; gap_fill_min_area = 100% ; gap_fill_overlap = 100% ; gap_fill_speed = 45 ; gcode_comments = 0 ; gcode_filename_illegal_char = ; gcode_flavor = reprapfirmware ; gcode_label_objects = 1 ; gcode_precision_e = 5 ; gcode_precision_xyz = 3 ; high_current_on_filament_swap = 0 ; hole_size_compensation = 0 ; hole_size_threshold = 100 ; hole_to_polyhole = 0 ; hole_to_polyhole_threshold = 0.01 ; hole_to_polyhole_twisted = 1 ; host_type = octoprint ; infill_acceleration = 0 ; infill_anchor = 2.5 ; infill_anchor_max = 12 ; infill_connection = connected ; infill_connection_bottom = connected ; infill_connection_solid = connected ; infill_connection_top = connected ; infill_dense = 1 ; infill_dense_algo = autosmall ; infill_every_layers = 1 ; infill_extruder = 1 ; infill_extrusion_spacing = ; infill_extrusion_width = 0.45 ; infill_first = 0 ; infill_only_where_needed = 0 ; infill_overlap = 25% ; infill_speed = 55 ; interface_shells = 0 ; ironing = 0 ; ironing_angle = -1 ; ironing_flowrate = 15% ; ironing_spacing = 0.45 ; ironing_speed = 15 ; ironing_type = top ; layer_gcode = ; layer_height = 0.18 ; lift_min = 0 ; machine_limits_usage = emit_to_gcode ; machine_max_acceleration_e = 5000,5000 ; machine_max_acceleration_extruding = 500,1250 ; machine_max_acceleration_retracting = 1500,1250 ; machine_max_acceleration_travel = 1000,1250 ; machine_max_acceleration_x = 1000,1000 ; machine_max_acceleration_y = 1000,1000 ; machine_max_acceleration_z = 1000,200 ; machine_max_feedrate_e = 1200,20 ; machine_max_feedrate_x = 15000,100 ; machine_max_feedrate_y = 15000,100 ; machine_max_feedrate_z = 360,12 ; machine_max_jerk_e = 3,2.5 ; machine_max_jerk_x = 4.5,10 ; machine_max_jerk_y = 4.5,10 ; machine_max_jerk_z = 1,0.4 ; machine_min_extruding_rate = 0,0 ; machine_min_travel_rate = 0,0 ; max_fan_speed = 100,100 ; max_gcode_per_second = 1500 ; max_layer_height = 0.24,0.68 ; max_print_height = 640 ; max_print_speed = 80 ; max_speed_reduction = 90%,90% ; max_volumetric_speed = 7 ; milling_after_z = 200% ; milling_extra_size = 150% ; milling_post_process = 0 ; milling_speed = 30 ; milling_toolchange_end_gcode = ; milling_toolchange_start_gcode = ; min_fan_speed = 100,100 ; min_layer_height = 0.16,0.16 ; min_length = 0.035 ; min_print_speed = 15,15 ; min_skirt_length = 4 ; min_width_top_surface = 100% ; model_precision = 0.0001 ; no_perimeter_unsupported_algo = none ; notes = ; nozzle_diameter = 0.4,0.8 ; only_one_perimeter_first_layer = 0 ; only_one_perimeter_top = 1 ; only_one_perimeter_top_other_algo = 0 ; only_retract_when_crossing_perimeters = 0 ; ooze_prevention = 0 ; output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode ; over_bridge_flow_ratio = 100% ; overhangs_reverse = 0 ; overhangs_reverse_threshold = 250% ; overhangs_speed = 35 ; overhangs_width = 75% ; overhangs_width_speed = 55% ; parking_pos_retraction = 92 ; pause_print_gcode = M601 ; perimeter_acceleration = 0 ; perimeter_bonding = 0% ; perimeter_extruder = 1 ; perimeter_extrusion_spacing = ; perimeter_extrusion_width = 0.45 ; perimeter_loop = 0 ; perimeter_loop_seam = nearest ; perimeter_overlap = 100% ; perimeter_round_corners = 0 ; perimeter_speed = 35 ; perimeters = 3 ; physical_printer_settings_id = HWlab ; post_process = ; print_custom_variables = ; print_extrusion_multiplier = 100% ; print_retract_length = -1 ; print_retract_lift = -1 ; print_settings_id = V6 - 0.18mm DAILY ; print_temperature = 0 ; printer_custom_variables = ; printer_model = ; printer_notes = ; printer_settings_id = Modix Big60 ; printer_technology = FFF ; printer_variant = ; printer_vendor = ; raft_layers = 0 ; remaining_times = 0 ; remaining_times_type = m73 ; resolution = 0.005 ; retract_before_travel = 2,2 ; retract_before_wipe = 0%,0% ; retract_layer_change = 1,1 ; retract_length = 2.5,2.5 ; retract_length_toolchange = 3,3 ; retract_lift = 0.2,0.28 ; retract_lift_above = 0,0 ; retract_lift_below = 0,0 ; retract_lift_first_layer = 0,0 ; retract_lift_top = "All surfaces";"All surfaces" ; retract_restart_extra = 0,0 ; retract_restart_extra_toolchange = 0,0 ; retract_speed = 40,40 ; seam_angle_cost = 100% ; seam_gap = 15%,15% ; seam_position = cost ; seam_travel_cost = 100% ; silent_mode = 0 ; single_extruder_multi_material = 0 ; single_extruder_multi_material_priming = 1 ; skirt_brim = 0 ; skirt_distance = 6 ; skirt_distance_from_brim = 1 ; skirt_extrusion_width = 0.45 ; skirt_height = 2 ; skirts = 3 ; slice_closing_radius = 0.049 ; slowdown_below_layer_time = 15,15 ; small_perimeter_max_length = 20 ; small_perimeter_min_length = 6 ; small_perimeter_speed = 15 ; solid_fill_pattern = rectilineargapfill ; solid_infill_below_area = 0 ; solid_infill_every_layers = 0 ; solid_infill_extruder = 1 ; solid_infill_extrusion_spacing = ; solid_infill_extrusion_width = 0.45 ; solid_infill_speed = 55 ; solid_over_perimeters = 2 ; spiral_vase = 0 ; standby_temperature_delta = -5 ; start_filament_gcode = "; Filament gcode\n";"; Filament gcode\n" ; start_gcode = ; custom start gcode\nT-1 ; deselect all tools \n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM568 P[initial_tool] S[first_layer_temperature] R195 A1 ; set first tool standby temp\n\n\nG28 ; home all axes\nG1 Z2 F5000 ; lift nozzle\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp to be reached\nM116 ; wait for stand by temps to be reached\n\nG90 ; Absolute positionning\nG28 ; home all axes again after the bed is hot\nG1 Z2 F5000 ; lift nozzle\n\nT[initial_tool] ; set the first used tool as active tool\nM116 ; wait for first tool temperature to be reached ; start_gcode_manual = 0 ; support_material = 1 ; support_material_angle = 0 ; support_material_auto = 1 ; support_material_buildplate_only = 0 ; support_material_contact_distance_bottom = 0.2 ; support_material_contact_distance_top = 0.2 ; support_material_contact_distance_type = filament ; support_material_enforce_layers = 0 ; support_material_extruder = 1 ; support_material_extrusion_width = 0.4 ; support_material_interface_contact_loops = 0 ; support_material_interface_extruder = 1 ; support_material_interface_layers = 2 ; support_material_interface_pattern = rectilinear ; support_material_interface_spacing = 0.2 ; support_material_interface_speed = 40 ; support_material_pattern = rectilinear ; support_material_solid_first_layer = 0 ; support_material_spacing = 2 ; support_material_speed = 40 ; support_material_synchronize_layers = 0 ; support_material_threshold = 35 ; support_material_with_sheath = 1 ; support_material_xy_spacing = 0.8 ; temperature = 204,204 ; template_custom_gcode = ; thin_perimeters = 0 ; thin_perimeters_all = 0 ; thin_walls = 1 ; thin_walls_merge = 1 ; thin_walls_min_width = 40% ; thin_walls_overlap = 50% ; thin_walls_speed = 35 ; threads = 8 ; thumbnails = 0x0,0x0 ; thumbnails_color = #018aff ; thumbnails_custom_color = 0 ; thumbnails_end_file = 0 ; thumbnails_with_bed = 1 ; time_estimation_compensation = 100% ; tool_name = V6;Volcano ; toolchange_gcode = ; Tool change custom gcode\nT[next_extruder] ; set the first used tool as active tool\nG10 P[next_extruder] S[first_layer_temperature] ; set temperatures for tool\nM116 ; wait for extruder temperature to be reached ; top_fan_speed = -1,-1 ; top_fill_pattern = monotonicgapfill ; top_infill_extrusion_spacing = ; top_infill_extrusion_width = 0.4 ; top_solid_infill_speed = 35 ; top_solid_layers = 5 ; top_solid_min_thickness = 0.9 ; travel_acceleration = 1500 ; travel_speed = 100 ; travel_speed_z = 0 ; use_firmware_retraction = 0 ; use_relative_e_distances = 1 ; use_volumetric_e = 0 ; variable_layer_height = 1 ; wipe = 1,1 ; wipe_advanced = 0 ; wipe_advanced_algo = linear ; wipe_advanced_multiplier = 60 ; wipe_advanced_nozzle_melted_volume = 120 ; wipe_extra_perimeter = 0,2 ; wipe_into_infill = 0 ; wipe_into_objects = 0 ; wipe_speed = 0,0 ; wipe_tower = 0 ; wipe_tower_bridging = 10 ; wipe_tower_brim = 150% ; wipe_tower_no_sparse_layers = 0 ; wipe_tower_rotation_angle = 0 ; wipe_tower_width = 60 ; wipe_tower_x = 180 ; wipe_tower_y = 140 ; wiping_volumes_extruders = 70,70,70,70 ; wiping_volumes_matrix = 0,140,140,0 ; xy_inner_size_compensation = 0 ; xy_size_compensation = 0 ; z_offset = 0 ; z_step = 0.008
-
RE: Slicer based time estimation
@oliof Thanks for your post.
My last slice was with the latest Superslicer Version.
It generated a gcode with comment, which was not recognized:; estimated printing time (normal mode) = 2d 18h 36m 25s
-
Slicer based time estimation
Hi,
I'm wondering how the silcer based time estimation in DWC works.
I think that it uses the name of the gcode file and takes it, but I would like to know that for sure and use this estimation at my workflow.
For example I slice something with prusaslicer and let it add the time to the file name.
It will generate something like Testprint_24m52s.gcode and takes that time as the slicer based estimation (I think).
But when I do bigger prints which takes several days, the naming is like Testprint_2d16h27m.gcode.
This file then gives the slicer based time estimation of 1s.Maybe I am lucky, but even on a 3days print the slicer print time estimation is really accurate and just around 10min off.
So I would like to make the slicer based print time estimation to beeing used and shown in DWC all the time.I hope you can give me more insights of how this estimation works, where it is taken from and why it takes _24m52s but not _2d16h27m.
Thanks a lot!
-
RE: Check if a specific tool is selected and set it to standby
@dc42 said in Check if a specific tool is selected and set it to standby:
@phil333 said in Check if a specific tool is selected and set it to standby:
Error: in file macro line 19 column 29: M568: expected numeric operand
It would help if you tell us what is in line 19 of the macro file.
Its the snippet that @cosmowave suggested:
then M568 P1 R{var.temp1}
The whole macro is:
;if tools[0].state="active" ; then M568 P0 R{tools[0].active} ; echo "tool 0 (V6) ist active." ;if tools[1].state="active" ; then M568 P1 R{tools[1].active} ; echo "tool 1 (Volcano) ist active." var temp0 = {tools[0].active} var temp1 = {tools[1].active} if tools[0].state="active" then M568 P0 R{var.temp0} echo "tool 0 (V6) ist active." if tools[1].state="active" then M568 P1 R{var.temp1} echo "tool 1 (Volcano) ist active."
-
RE: Check if a specific tool is selected and set it to standby
I am using as
Board: Duet 2 Ethernet (2Ethernet)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta5+1 (2021-10-28) -
RE: Check if a specific tool is selected and set it to standby
@cosmowave said in Check if a specific tool is selected and set it to standby:
@phil333 of course... you don't need "then"! Sorry for that!
No sorry at all! I'm really thankful that you're trying to help me out with you knowledge
On defining a variable like you said, the error remains the same:
Error: in file macro line 19 column 29: M568: expected numeric operand -
RE: Check if a specific tool is selected and set it to standby
Yes something like this
I will test and report back (in ~20min)
Ok here is the feedback @cosmowave :
It doesnt work (yet) and giving back this error:
Error: in file macro line 6 column 30: M568: expected numeric operandI'm pretty sure its the R{tools[0].active} which is not correct.
Any ideas?I also tested what the "then" does, because I thought the syntax is just "similar spaces or tabs"
For that I created a macro :
if tools[0].state="active" then echo "tool 0 (V6) ist active." if tools[1].state="active" then echo "tool 1 (Volcano) ist active."
This reports either
Tool 0 is selected
or
Tool 1 is selected
when the tool accordingly is selected.If I delete the "then" like this:
if tools[0].state="active" echo "tool 0 (V6) ist active." if tools[1].state="active" echo "tool 1 (Volcano) ist active."
it reports
tool 0 (V6) ist active.
or
tool 1 (Volcano) ist active. -
RE: multiple filament sensors
@phaedrux
Thats it!
I have not tested it, but that makes complete sense and I'm sure it will work.
I just didn't though of thatThanks a lot!
I will report back anyways, so others that might come across knows it
-
Check if a specific tool is selected and set it to standby
Hi,
I want to check if a specific tool is selected and if true, I want to unselect it.
To be precise, I want to check if T1 is active and if yes, put it in standby (if possible also with the same temperature that is currently set).
The reason is, that I have a tool changing mechanism that lowers and raises T1.
If T1 is active, it is lower (has an offset) from T0.
If T1 is active and I home the tool, It raises the tool and homes (coded in homeall.g).
But T1 stays active. That is a problem because it interferes with my t1free and t1pre macros.
When I start a print job, the tool gets deselected (from the slicer starting gcode. I cant delete that or the printer can damage itself).
Then tool 1 is deactivated, it lowers the printhead (by the t1free macro).
By that, T0 crashes into the bed, because the homing was done and now it lowers the head further.I know the gcode "T" (with no parameters) returns the current active tool.
Is there a way to check if T1 is active, then put it in standby and do the homing after that?
T : reports currently active tool
M568: Set Tool Settings
M105: Get Extruder TemperatureI thought of something like this:
if T == 1 ; if Tool 1 is selected
M568 P1 RM105 A1 ; set first tool standby temp to currently active temperature "M105"Of course I know that the bold parts in my code will be the problematic parts, but I hope you can help me out
-
RE: multiple filament sensors
Thank you @Phaedrux
Well I assumed that the firmware only considers M591 when trying to extrude with the relevant extruder.
If I understand you correctly it is either
S1 = check from now one - regardless of whether the tool is used at all
od
S0 = dont use it at allI do want the sensor to be monitored, but only the one that is in use.
Both options are not really convinient, so are there any "best practice" tips of how to integrate this into prusaslicer and cura with variables etc. for activating only the filament sensor that is needed? -
multiple filament sensors
Hi,
I am having 2 filament sensors for 2 extruders.
Whenever one sensor does not detect filament, the print stops.This also happens, when I print with extruder 1 only, but the 2nd extruder (filament sensor) is not loaded.
I think I am doing something wrong, because the printer should only check the filament sensor according to the extruder not on general.
Here is the snippet from my config:
; Filament runout sensors M591 D0 P1 C"e0stop" S1 ; filament sensor for E0 M591 D1 P1 C"e1stop" S1 ; filament sensor for E1
Do I need to do anything else?
Thanks a lot!
-
RE: Multiple issues after RRF 3.2.0 to 3.3.0 update
Try again, I corrected it
Here for a faster access:
https://youtu.be/IHGDNubi_jQIts a problem that you cant reproduce it.
I am using a Duet 2 Wifi v1.04c powered by 24V (Meanwell) and a quiet recent BLtouch (so v3.0 or 3.1)
All genuine and the issue is on my side 100% reproducible.Wiring is definetly not the issue here. (tested with the clone directly connected to the Duet - shortest wire possible).
2 different BTtouch clones tested with the same issue.I am pretty sure its a firmware issue.
Tested the BLtouch on exp.heater3 (connected currently) but also checked (exp.heater4 and exp.heater5.)As the problems disappears on 3.2.0 and comes back again on 3.3+ I think we can say its not a hardware issue.
I already opened a thread only for this issue:
https://forum.duet3d.com/topic/25573/bltouch-problem-after-upgrade-to-rrf-3-3/5But as more issues came up, I thought to open one not in the "third party add-on" section but rather to the "firmware" section".
All other problems then the BLtouch are solved.
-
RE: Multiple issues after RRF 3.2.0 to 3.3.0 update
Hey @T3P3Tony
I took the time, because its important for you to know - and I am happy to help you and give something back
For 3.3
I did update to RRF 3.3 using the Duet2and3Firmware-3.3.zip then reuploaded it (not installing again).
Installation was successfull.
I turned the printer off completely (to ensure all files properly and freshly loaded).
The issue with the BLtouch appeared again.For 3.4.0 beta 5
I uploaded the Duet2CombinedFirmware.bin and istalled it.
Thereafter I uploaded the DuetWebControl-SD.zip.
Update was successfull:
Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.4.0beta5
FIRMWARE_DATE: 2021-10-12 13:55:00
Duet Web Control 3.4.0-b5BLtouch issue still exists.
For the 3.5b5+1
I did so and update was successfull:
Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.4.0beta5+1
FIRMWARE_DATE: 2021-10-28 21:18:14The issue is still existent.
Is there anything more I can do/check for you right now?
If so, please give me further instructionsIf not, I will roll back to 3.2.x to have a usable system.
This issue caused already a crash where my printhead got deformed and unleveled my 4 axis print bed, which I will now calibrate and level again (to print something later on).
This happened after starting a print right after booting,when the BLtouch was not yet ready and I was not aware of this problem -
RE: Multiple issues after RRF 3.2.0 to 3.3.0 update
M997 P"0:/sys/Duet2CombinedFirmware.bin"
is giving me a beacon:
but it seems to do something:
Yeap!
It did it!
Now the important part:
The BLtouch is working normally with the 2 pin out/in cycle, no delay, everything as before!This includes:
- BLtouch inititialization as normal
- The"Calibration and Compensation" -> "Define Area for Mesh Compensation (M557)" on the Dashboard is working correctly.
(Testing the rest right now)
For you @T3P3Tony :
Should I now go to RRF 3.3 again and see if this issue is reproducible? -
RE: Multiple issues after RRF 3.2.0 to 3.3.0 update
I did so and used the Duet2and3Firmware-3.2.zip (no renaming involved).
After decompressing, it asks me if I want to update:
This time I clicked on "NO" and did the M997 on the console.Then it started updating, but I am still on RRF 3.3
Any ideas?
-
RE: Multiple issues after RRF 3.2.0 to 3.3.0 update
@T3P3Tony _
I uploaded Duet2and3Firmware-3.2.zip and let it install.DWC is now on 3.2.0 but RRF is still on 3.3:
I will now try to just upload the Duet2CombinedFirmware.bin and see how it goes.
EDIT:
Seems like I cant downgrade this way.
Uploaded and installed the Duet2CombinedFirmware.bin from release 3.2 but I am still on 3.3:
What am I doing wrong?
EDIT 2:
I also tried a downgrade to 3.0
While DWC downgraded sucessfully:
RRF remained on 3.3