New layer detection?



  • I made my own slicer for the concrete printer, but for some reason the layer change is not detected, so my "Last Layer Time" is not updated.

    What is the trigger word to tell the firmware that we are starting a new layer?

    Kulitorum



  • This is what I am doing now, where layer changes are not detected in the web interface

    G1 X277.132813 Y3480.687500 U-274.985304 E763.277837 F6000
    G1 X279.390625 Y3489.125000 U-284.980935 E763.933073 F6000
    G1 X283.078125 Y3497.000000 U-295.091530 E764.585242 F6000
    G1 X288.070313 Y3504.156250 U-304.899560 E765.246632 F6000
    G1 X294.234375 Y3510.312500 U-315.036332 E765.900015 F6000
    G1 X301.375000 Y3515.312500 U-324.999566 E766.555136 F6000
    G1 X309.273438 Y3519.000000 U-334.973800 E767.209834 F6000
    G1 X317.695313 Y3521.250000 U-345.042121 E767.863628 F6000
    G1 X326.375000 Y3522.000000 U-355.061416 E768.517030 F6000
    G1 X358.894852 Y3522.000000 U-360.000000 E771.641838 F6000
    G1 X391.414703 Y3522.000000 U-360.000000 E774.893823 F6000
    G1 X423.934555 Y3522.000000 U-360.000000 E778.145808 F6000
    G1 X456.617188 Y3522.000000 U-360.000000 E781.414071 F6000
    ; tool H20.000000 W50.000000
    ; layer 1, Z = 40.000000
    G1 Z40.000000
    ;spline 0
    G92 E0 ;reset extrusion
    G1 Z80 ;lift head
    G1 X3586.367188 Y998.762024 U-90.000000 F6000 ;move
    G1 E4 Z40 ;unretract and lower head
    G92 E0 ;reset extrusion
    G1 X3586.367188 Y968.674683 U-90.000000 E3.008734 F6000
    G1 X3586.367188 Y938.587341 U-90.000000 E6.017468 F6000
    G1 X3586.367676 Y908.489990 U-89.999070 E9.027203 F6000
    G1 X3586.775635 Y900.490234 U-87.080649 E9.828219 F6000
    G1 X3588.448975 Y892.678223 U-77.909890 E10.455014 F6000
    G1 X3591.348877 Y885.241394 U-68.697298 E11.079869 F6000
    G1 X3595.396973 Y878.336060 U-59.620003 E11.710974 F6000
    G1 X3600.491943 Y872.180908 U-50.383498 E12.335664 F6000
    G1 X3606.500732 Y866.900940 U-41.306017 E12.966334 F6000
    G1 X3613.274902 Y862.652405 U-32.094576 E13.592323 F6000
    G1 X3620.642578 Y859.560120 U-22.768266 E14.214025 F6000
    G1 X3628.408447 Y857.655457 U-13.780395 E14.847448 F6000


  • administrators

    Which firmware version are you using? The layer change detection algorithm was changed in 1.20beta2.

    Are you generating a layer height comment in the prologue to the gcode?

    Does DWC display the correct layer height?



  • 1.20beta1 (2017-10-02)

    PROLOG:

    T0
    M302 P1
    G90 ;absolute position
    M82 ;absolute extrusion
    ; tool H20.000000 W50.000000
    ; layer 0, Z = 20.000000
    G1 Z20.000000
    ;spline 0
    G92 E0 ;reset extrusion
    G1 Z60 ;lift head
    G1 X3586.367188 Y998.762024 U-90.000000 F6000 ;move
    G1 E4 Z20 ;unretract and lower head
    G92 E0 ;reset extrusion
    G1 X3586.367188 Y968.674683 U-90.000000 E3.008734 F6000
    G1 X3586.367188 Y938.587341 U-90.000000 E6.017468 F6000
    G1 X3586.367676 Y908.489990 U-89.999070 E9.027203 F6000

    DWC does not see the layer height:

    Size:
    16.9 MiB
    Object Height:
    3780 mm
    Layer Height:
    n/a
    Filament Usage:
    n/a
    Generated by:
    n/a


  • administrators

    I suggest you have your slicer write a comment like this to the gcode file before the gcode starts:

    ; generated by MyOwnSlicer
    ; layerHeight,0.2
    ; firstLayerHeightPercentage,150

    These are not the only supported formats. Also include (at the end of the file if it is easier):

    ; Filament used 1560

    then you will get better estimations of print finish time.



  • Cool, thanks 🙂



  • Nope, still don't work:

    Start gcode:

    ; generated by WallSurfaces.cleanum.5-0.5-10 (Slicer28).dyn
    ; layerHeight,20.000000
    ; firstLayerHeightPercentage,100
    T0
    M302 P1
    G90 ;absolute position
    M82 ;absolute extrusion
    ; tool H20.000000 W50.000000
    ; layer 0, Z = 20.000000
    G1 Z20.000000
    ;spline 0
    G92 E0 ;reset extrusion
    G1 Z60 ;lift head
    G1 X3586.367188 Y998.762024 U-90.000000 F6000 ;move
    G1 E4 Z20 ;unretract and lower head
    G92 E0 ;reset extrusion
    G1 X3586.367188 Y968.674683 U-90.000000 E3.008734 F6000
    G1 X3586.367188 Y938.587341 U-90.000000 E6.017468 F6000

    END:

    G1 X78.570313 Y153.093750 U-51.107178 E1.913699 F6000
    G1 X86.648438 Y145.937500 U-41.537093 E2.742433 F6000
    G1 X95.804688 Y140.218750 U-31.987802 E3.572363 F6000
    ; Filament used 7384730.688058


  • administrators

    Is the filament usage (7384730.688058) specified in the same units as the E parameter in your G1 commands?



  • yes



  • Oh…. no it is not, the real total extrusion is only 738473 I missed a e*0.1 in a printf command...

    Changing and checking again.



  • Hmm, that made no differnce….

    It thinks we are at layer z although Z is 40 (and 20mm layers)



  • sorry,it think we are at layer 0, I wrote layer z 😛




  • administrators

    How many 20mm high layers had you printed when you took that screenshot?

    The estimate based on filament (concrete?) consumption should start to kick in when 1% of the total filament has been used. So I'm surprised that it isn't shown.



  • Just one, but I am now 3% into the gcode, and still nothing.
    top of window

    bottom



  • So we are now 6 layers in.



  • No more insight to share?



  • I printed 10 layers and still no timing reading.


  • administrators

    I have identified the problem. The print monitor code assumes that printing hasn't started unless there is at least one active heater, and all active heaters have reached their set temperature. I presume you don't have any tool heaters, or else you have configured a heater for tool 0 but you haven't set a temperature. What is your M563 command for tool 0?

    I need to work out how I can fix this without breaking the code for normal filament printing.



  • You could make a fake heater that will report back any temperature that it has been asked to reach.

    Kulitorum


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.