Simplify3D send gcode directly to Duet 2 Maestro?
-
@dlc60 said in Simplify3D send gcode directly to Duet 2 Maestro?:
How best to use that option?
like shown in the linked thread and the batch file arhi posted. posting the exact error you get may help identify whats causing it to not work for you.
-
@bearer Kind of hard to show. It did absolutely nothing. Nothing at S3D, nothing in the console, no error displayed. So, I guess that was vague of me - it errored out by doing nothing at all.
curl --data-binary "@[output_filepath]" "http://192.168.1.184/rr_upload?name=gcodes/[output_filename].gcode"
curl "http://192.168.1.184/rr_disconnect"BTW, I am on a Windows 10 box and I do have curl available, and the --data-binary is an allowed option.
DLC
-
May be beneficial to have an official doc on how to upload and start jobs using Curl, and to make the Duet's end point more friendly for such operations if they are not.
-
@dlc60, do you have a password set on the Duet? If so then you will need to send a rr_connect message at the start. It's a good idea to send one anyway.
-
@dc42 I do have a password set. I tried the rr_connect before the rr_upload, nothing happened. I checked, and the rr_connect with the password when sent directly to the board from my browser connected with the correct return info. It did not help to put that in front of the rr_upload using the --data-binary in the curl, I still had nothing happen. The only way that I have been able to print directly from S3D is using the curl -F sequence, which generates some noise and errors, but it still prints.
DLC
-
i'd suggest trying wihtout password, but if the "old" syntax sort of works then it should be ok.
download wireshark, log the attempt and share the file? (you may want to change the password to something you don't mind sharing prior to this)
the only thing that strikes me is one is using the dns name, the other an IP.
-
@bearer I will look into that - that is a good tool for debugging your networking.
I have used both the IP and DNS names for both sequences and they behaved the same. I thought about that like you did, and wanted to make sure that the DNS name wasn't an issue. The "old" syntax is definitely the 80% solution, so follow-up on the --data-binary is, I have to admit, pretty low priority. Also as a secondary benefit, the "old" syntax generates an error at the end of the print that gives the print time, something that Duet web interface code does not do. So, glass half full?DLC
-
If you don't get any other errors, the HTTP response should give us enough info. Would be interesting to get to the bottom of it.
You can replace the error with a M117 or M118 to send a message to the interface of your choice. M118 P3 S"Print complete" would leave a entry in the console that gets timestamped by DWC f.ex.
-
If you send the rr_connect message with the correct password using curl on the command line, what response does it return?
-
@dc42 said in Simplify3D send gcode directly to Duet 2 Maestro?:
If you send the rr_connect message with the correct password using curl on the command line, what response does it return?
This is the connection, rr_connect. I do not know how to send the gcode direct from the browswer, not sure how to suck in the file.
err 0
sessionTimeout 8000
boardType "duetmaestro100"
apiLevel 1DLC
-
@arhi I do like what I see in IM, I don't have a Raise printer, so it kinda stinks there is no network out for my printers, but Duet has the web interface, so that is just one extra step, no big.
I just have to get used to it, I have use S3D for years and know how to drive it really well. IM though gives you the g-code hooks right there in the scripting screen so you aren't guessing about what you can do. S3D kicks butt and takes numbers on two filament printing, nothing that I have tried does it better (Nothing I have tried does it worse than CURA IMO), I wonder how IM does? Oh well, not EVERY job looks like a nail, I can use more than one tool to get jobs done.
DLC
-
@dlc60 said in Simplify3D send gcode directly to Duet 2 Maestro?:
I wonder how IM does?
There are some weird limitations (like what's primary extruder) etc but it does it pretty good, I had similar results as s3d with limited experience (I am not using IM that long and only for very short time with dual extruder, I too know s3d much better but you see yourself what's going on with that single dev. company so it's time to move on)... I agree cura is worse with dual but since they recently have their own dual printer maybe it will get better
-
@arhi said in Simplify3D send gcode directly to Duet 2 Maestro?:
@dlc60 said in Simplify3D send gcode directly to Duet 2 Maestro?:
I wonder how IM does?
There are some weird limitations (like what's primary extruder) etc but it does it pretty good, I had similar results as s3d with limited experience (I am not using IM that long and only for very short time with dual extruder, I too know s3d much better but you see yourself what's going on with that single dev. company so it's time to move on)... I agree cura is worse with dual but since they recently have their own dual printer maybe it will get better
I have pretty extensive experience with S3D dual extruder, for both the Chimera (two-in, two-out) and Cyclops (two-in, one-out). I have specialized scripts for tool exchanges that create really fine two-color prints, they take quite a while because the scripts chill the unused extruder when the selected extruder is running, and move to the side waiting for the selected extruder to come up to heat. Very little "drool" and really good layer definition. That and supports are where S3D really shines. I bet that I can do the same with IM, I just need some time with it. The big IM drawback is no network support for any but the Raise printers.
On a kind of related note, I just got a tp-link TL-WR802N travel router, put it in "client" mode and connected to my Maestro. Now I have WiFi on the Maestro. It only costed $27 and took 5 minutes to set up. Boom! Wifi Maestro! I am stoked, the unit is tiny (about 60x60x12mm) and comes with all you need. I will be getting more of these, they are awesome for the price.
Hey, nothing is perfect I suppose.
DLC -
@dlc60 said in Simplify3D send gcode directly to Duet 2 Maestro?:
put it in "client" mode and connected to my Maestro.
you can find a lot of "repeaters", "clients", "amplifiers" for 10-20$ that do just that, connect to a wifi and expose ethernet port, bunch of them come with battery power too .. I use mostly "tenda" and "tplink" but there are other even more "noname" brands even cheaper
The big IM drawback is no network support for any but the Raise printers
yes, well the same issue is with s3d, only there's a chance IM will add that support sometime in the future while the chance of s3d releasing another version ... they are not able to add the most asked feature - 3d mouse support - that's ~3 hours to implement and ~3 hours to test, for 4+ years
anyhow since both of them allow to put a tool changing script you can copy/paste your code from one to another (I know I did ) but even better, most of the stuff is supported directly in the RRF so that's maybe even better option
-
@arhi said in Simplify3D send gcode directly to Duet 2 Maestro?:
anyhow since both of them allow to put a tool changing script you can copy/paste your code from one to another (I know I did ) but even better, most of the stuff is supported directly in the RRF so that's maybe even better option
Wait, scripting in the RRF? I didn't see that.
DLC
-
@dlc60 said in Simplify3D send gcode directly to Duet 2 Maestro?:
Wait, scripting in the RRF? I didn't see that.
check out for e.g. https://duet3d.dozuki.com/Wiki/Macros#Section_Tool_change
There are normally three specified tool change macros (any of which can contain no commands if desired) that execute in this order:
- Actions to do with the old tool before it is released - macro name: tfreeN.g where N is the tool number;
- Actions to do with the new tool before it is selected - macro name: tpreN.g where N is the tool number;
- Actions to do with the new tool after it is selected - macro name: tpostN.g where N is the tool number.
So you can have a macro to execute before tool is release, before is selected and after it is selected, same thing for every tool, called automatically, you just make files tfree0.g tfree1.g tfree2.g tpre0.g tpre1.g ... put stuff in ... and enjoy .. so when S3D sends T1 the RRF will execute tfreeX (where X is whatever was before T1) etc etc..
and in this macro files you can use dynamic g-code with loops and conditionals and...
https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands -
@arhi said in Simplify3D send gcode directly to Duet 2 Maestro?:
@dlc60 said in Simplify3D send gcode directly to Duet 2 Maestro?:
Wait, scripting in the RRF? I didn't see that.
check out for e.g. https://duet3d.dozuki.com/Wiki/Macros#Section_Tool_change
There are normally three specified tool change macros (any of which can contain no commands if desired) that execute in this order:
- Actions to do with the old tool before it is released - macro name: tfreeN.g where N is the tool number;
- Actions to do with the new tool before it is selected - macro name: tpreN.g where N is the tool number;
- Actions to do with the new tool after it is selected - macro name: tpostN.g where N is the tool number.
So you can have a macro to execute before tool is release, before is selected and after it is selected, same thing for every tool, called automatically, you just make files tfree0.g tfree1.g tfree2.g tpre0.g tpre1.g ... put stuff in ... and enjoy .. so when S3D sends T1 the RRF will execute tfreeX (where X is whatever was before T1) etc etc..
and in this macro files you can use dynamic g-code with loops and conditionals and...
https://duet3d.dozuki.com/Wiki/GCode_Meta_CommandsThat is really useful. I can put the g-code scripts that I use for dual filament prints into these macros and not need to bother with what slicer I am using. Awesome! The scripts that I wrote for S3D and dual filament deliver the goods. CURA scripting is terrible and the outcome seems totally random. I have to try now.
Thanks,
DLC