@dc42
Is there is guide or tutorial on how to create "two separate command channels?"
Getting status updates while waiting for commands to complete is what I am looking for. Thanks in advance.
@dc42
Is there is guide or tutorial on how to create "two separate command channels?"
Getting status updates while waiting for commands to complete is what I am looking for. Thanks in advance.
@T3P3Tony
1.) Is there a way to create multiple channels in a single interface (only USB or only WiFi) and then specify certain commands to each channel? For example one channel will be only for movement and the second channel will be only for reading position.
2.) Or is there a way to execute a movement command without locking the channel up? For example, in Grbl I am able to use the "?" command to get a "Status report query" anytime during a movement command. In Marlin "M114" (Get Current Position) also works anytime during a movement command.
Thanks for the help.
@T3P3Tony Thanks for the response.
I am testing out segmentation on Firmware 3.4.5. I am connected to my Duet 2 Wifi with both the web interface and YAT.
I am trying to implement a CNC jog feature. For the CNC jog, I want to be able to:
1.) Quickstop as mentioned in this thread, and
2.) Poll the current machine position during any movement.
I think segmentation might work, but I noticed something odd while testing.
I first set my segmentation with "M669 S600 T0.05".
Test 1:
In Duet Web Control 3.4.5, I can do a move using the button.
In YAT, I can send "M408 S3" to poll the current position anytime during the move. I immediately get a machine position response back.
Test 2:
In YAT, I send "G91 G1 X10" to move the X-axis.
In Duet Web Control 3.4.5, I can send a console command "M408 S3" to poll the current position at anytime during the move. I immediately get a machine position response back.
Test 3:
In Duet Web Control 3.4.5, I can do a move using the button.
In Duet Web Control 3.4.5, I can send a console command "M408 S3" to poll the current position. The M408 command stalls and does not respond until the move is almost complete.
Test 4:
In YAT, I send "G91 G1 X10" to move the X-axis.
In YAT, I can send "M408 S3" to poll the current position. I do not get a response back until the move is almost complete.
Is there a way to remove that delay in Test 4? I am writing a C# program that primarily communicates with Duet through serial.
@dc42 Is this feature implemented in the current Release 3.5beta1 or Release 3.5beta2? If so, what is the GCode command to stop the current movement?
In version 3.1.1, I am able to run M409 F"f, d3" to obtain the homed status, machinePosition, and current heater temperature. In version 3.2.2, the homed status is not shown anymore.
Inside move/axes for 3.1.1:
"homed": false,
"machinePosition": 0,
"userPosition": 0
Inside move/axes for 3.2.2:
"machinePosition": 0,
"userPosition": 0
Is there a single command that I can run to find the homed status, machinePosition, and current heater temperature in 3.2.2?
I am trying to build the firmware using these instructions.
https://github.com/Duet3D/RepRapFirmware/wiki/Building-RepRapFirmware
I cannot find a download link for the crc32appender. A Google and Github search does not come up with a download link when searching for "crc32appender."
https://github.com/search?q=crc32appender
https://www.google.com/search?q=crc32appender
The last thread talking about this has a dropbox link, but the files have been deleted.
https://forum.duet3d.com/topic/12275/crc32appender-now-needed-for-rrf/6
I feel like I'm missing something obvious. The instructions seem like I need to find a crc32appender.exe and add it to my path. Is that correct?
@dc42 This would be a great addition. I was doing a search for this feature, and this was the first Google hit. Has there been any progress on this feature since last year?
You mentioned controlling the deceleration. Is there a Duet command that stops steppers instantly? Marlin has a quickstop feature.
M410 - Quickstop - "Stop all steppers instantly. Since there will be no deceleration, steppers are expected to be out of position after this command."
https://marlinfw.org/docs/gcode/M410.html
PS: For those coming from Google. Here is another thread talking about how this would be helpful for clean jogging and microscopy applications.
https://forum.duet3d.com/topic/19900/gcode-stop-current-move-with-deceleration-no-emergency
Thank you for the quick responses! I will try multiple small move segment to see how it goes. If that does not work well enough, I'll consider simply buying a second Duet to control my experiment's fluid handling and perfusion.
I am using the Duet 2 Wifi to control XYZ stepper motors on a Cartesian microscope stage. I made a script where it continuously travels to different points of interest using G0 commands. It is working well.
I would like to build a custom pump to create oscillatory flow using the E1 driver and a stepper motor. The stepper motor would be coupled to a syringe pump. I would send G0 commands to move the pump 0mm to 200mm back and forth. I would like a smooth travel that takes around 20 minutes for each direction.
I would label the E1 driver axis as U. Starting at U=0mm and using an appropriately slow speed, I can call G0 U200 to move to U=200mm over 20 minutes. During that time, is there a way to have Duet move the XYZ axes to move my microscope stage independent of the pump?