RRF 2.02, Slic3r PE 1.41.2: Filament used and print times wrong



  • I think this is more of change in Slic3r's generated output than RRF bug but it needs to be adapted.

    With the latest version of Slic3r PE I don't see print time estimates included in the file anymore at all. This is due to a slightly changed (or better: extended) format of the corresponding line.
    Also sometimes filament used is the wrong value since Slic3r includes 3 different values for this:

    1. mm
    2. mm³
    3. g (if density is entered for the used filament)

    The relevant section in the file looks as following:

    ; filament used = 10435.9mm (25.1cm3)
    ; filament used = 31.1
    ; filament cost = 0.7
    ; total filament cost = 0.7
    ; estimated printing time (normal mode) = 1h 52m 54s
    

    For this specific file filament usage is detected as 31.1 (which is grams) instead of 10435.9mm.

    Also the added string (normal mode) prevents correct detection of the estimated printing time since the code in FileInfoParser.cpp does only expect space, tab, colon or equal sign.


  • administrators

    Thanks, that's on my list to do for the next release. Please provide a sample GCode file.



  • @dc42 Full file for the above excerpt can be found in my Dropbox.



  • So this is very weird.
    I'm on 2.03b2 RRF and Slic3rPE 1.42.0-alpha5.

    Some files show up in DWC with proper info displayed, some do not. I checked the gcode and the headers and footers for both are exactly the same.
    Gcode has been generated using the same profile, same filament settings and possible minor printer settings.

    This doesn't show info:
    https://paste.ubuntu.com/p/zX5hmcCXhm/

    This shows info (and is a much bigger file):
    https://paste.ubuntu.com/p/9mHwv4Yy3m/

    The info-less file also doesn't display print progress in Job Status.
    And weirdly enough, it seems that more files fail info, than succeed in getting info displayed.


  • administrators

    @pkos said in RRF 2.02, Slic3r PE 1.41.2: Filament used and print times wrong:

    So this is very weird.
    I'm on 2.03b2 RRF and Slic3rPE 1.42.0-alpha5.

    Some files show up in DWC with proper info displayed, some do not. I checked the gcode and the headers and footers for both are exactly the same.
    Gcode has been generated using the same profile, same filament settings and possible minor printer settings.

    This doesn't show info:
    https://paste.ubuntu.com/p/zX5hmcCXhm/

    This shows info (and is a much bigger file):
    https://paste.ubuntu.com/p/9mHwv4Yy3m/

    The info-less file also doesn't display print progress in Job Status.
    And weirdly enough, it seems that more files fail info, than succeed in getting info displayed.

    Please make the complete files available on Dropbox or another site that doesn't require a login.




  • administrators

    For the files in the "bad" folder, I see this:

    0_1551266024708_618ce2cd-d94e-4689-b3c5-04d5dfdba5bd-image.png

    So it's working for me. I suspect you are either using a very slow SD card or it is formatted using small clusters.



  • Huh. It's the very same (and untouched) SD card I got with the Duet. Weird thing is - files that fail - always fail. File that are good are always good. Would you then recommend I replace the card with something different/faster maybe?


  • administrators

    First use M39 to check the cluster size that the SD card was formatted with. If it isn't 32kb or 64kb then you could save the entire contents, reformat it to 32kb or 64kb, then copy the data back onto it.



  • Understood.

    I just checked:

    M39
    SD card in slot 0: capacity 0.50Gb, free space 0.35Gb, speed 15.00MBytes/sec, cluster size 8kb

    I'll run a test after this (long) print is finished.

    But now this has me curious. I have another board waiting until I'm done building a new printer. Will check later what the cluster is there.



  • @dc42 Right. So I replaced the card alltogether and this one I formatted into FAT@64kb cluster size.

    Upon first loading the card with the old contents copied over - metadata was still missing.
    But after deleting the files and reuploading them - metadata is here.

    What bugs me now (and I hope you won't mind explaining this to me) is:

    • How come the old cluster size made the files load up incorrectly?
    • The card I bought reaches full 15MBytes/s on a PC and is seen as such by the Duet:
      0_1551298824216_1da6251b-1441-4c5d-9862-9cc8788ec7b9-image.png
      but the highest upload speeds I get to the Duet Maestro is 500 KB/s. Should I look at my network here or is this some other limitation?
    • Just so I have the full picture - is it normal that the Maestro comes with a 512MB SD card while the bigger Duets have a 4 gig card (I checked on my Duet Wifi - 4gig card formatted in FAT at 64kb cluster size).

    And finally - thank you for helping me solve this thing. Now I can happily finish printing parts for my HEVO.


  • administrators

    @pkos said in RRF 2.02, Slic3r PE 1.41.2: Filament used and print times wrong:

    • How come the old cluster size made the files load up incorrectly?

    To avoid DWC timing out, when it is asked for file information, the firmware spends a limited amount of time trying to read it. Reading backwards from the end of the file can be very slow when using a small cluster size. So it may time out before it has found all the information.

    • The card I bought reaches full 15MBytes/s on a PC and is seen as such by the Duet:
      0_1551298824216_1da6251b-1441-4c5d-9862-9cc8788ec7b9-image.png
      but the highest upload speeds I get to the Duet Maestro is 500 KB/s. Should I look at my network here or is this some other limitation?

    If you are running firmware 2.02 (or a 2.03 beta), send M122 P104 to test the SD card write speed without involving the network. When I run that test, I get about 1.2Mbytes/sec. That's using an 8Gb card (so not the original one) formatted to 32kb cluster size. Smaller cluster sizes are generally slower.

    If you get much slower figures than that, try a better SD card. The actual speed you get when uploading files over the network depends on both the network throughput and the SD card write speed.

    Ideally we'd use a larger RAM buffer to get better SD card write speeds, but the RAM on the Maestro is limited. So we use 8kb buffers. I'm looking at better overlapping network and SD card activity to see if we can improve the transfer rate.

    • Just so I have the full picture - is it normal that the Maestro comes with a 512MB SD card while the bigger Duets have a 4 gig card (I checked on my Duet Wifi - 4gig card formatted in FAT at 64kb cluster size).

    Yes, that's normal. M3D manages the manufacture of the Maestro, and they procure the SD cards for it. Whereas we procure the SD cards for the Duet WiFi/Ethernet.



  • OK. I found the problem. It wasn't Duet. It wasn't even Slic3r PE (well... technically)... It was the name of the file in the Hypercube package.

    And I screwed up the upload to David.

    With Slic3r PE - I use the send to printer function so it uploads directly and starts the print.
    When downloading the files to send to David, I misread the fact that the files downloaded from Duet directly were exported incorrectly and I added .gcode at the end of the name.

    Now I sliced another part to print out and the problem reappeared.
    I exported the file directly to the hard drive this time and was surprised the extension of the file was .0 and not .gcode.

    The file I loaded up to print was:
    Y_Carriage_Clamp_LM10UU_1.0.stl

    Slicer exported the file as:
    Y_Carriage_Clamp_LM10UU_1.0

    and uploaded with the same name to Duet. All I had to do was rename the file on the Duet for the metadata to load up properly.

    So the end question now is - where is the misbehavior- in Slic3r when it exports a file without .gcode at the end? Or in Duet that it reads the file and even manages to print it, but doesn't read the metadata?



  • @dc42 Great. Thank you for the explanations and the help.


  • administrators

    @pkos said in RRF 2.02, Slic3r PE 1.41.2: Filament used and print times wrong:

    So the end question now is - where is the misbehavior- in Slic3r when it exports a file without .gcode at the end? Or in Duet that it reads the file and even manages to print it, but doesn't read the metadata?

    I'm glad you solved it. RepRapFirmware only tries to read metadata from files whose names end in .gcode or .g or another extension that is commonly used for GCode files. So if you use DWC to upload a file without a recognised GCode extension in future, then you can rename it in DWC, appending .gcode to the name. Then press the Refresh button and it should read the metadata.



  • Right. I need to check unbranded Slic3r then to see if it will also have that problem and have a go with Prusa guys to get this fixed 😉

    Thanks again!



  • @pkos In slic3r, check print settings->output options and check the output filename format is what you want. I use PLA_[input_filename_base].gcode, for pla.



  • @stephen6309 Thanks!
    Weird, I don't think I ever went there to change anything, but yeah - extension was missing in that single profile.

    Much appreciated 🙂


 

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