Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. CthulhuLabs
    3. Topics
    • Profile
    • Following 0
    • Followers 1
    • Topics 30
    • Posts 125
    • Best 28
    • Controversial 0
    • Groups 0

    Topics created by CthulhuLabs

    • CthulhuLabsundefined

      Getting actual spindle speed from "M3 R1" Mcode

      DSF Development
      • • • CthulhuLabs
      15
      0
      Votes
      15
      Posts
      716
      Views

      CthulhuLabsundefined

      @dc42 Would you like me to send you the original GCode file I was using before I altered the post processor? Each tool path is just one giant G1 Gcode.

    • CthulhuLabsundefined

      Feasibility of running DSF on X86

      DSF Development
      • • • CthulhuLabs
      13
      0
      Votes
      13
      Posts
      667
      Views

      CthulhuLabsundefined

      I just got an Adafruit FT232H Breakout board. I am realizing that testing this is not as easy as I first though. Most of the simple microcontroller firmwares like Arduino / Circuit Python lack direct support for SPI Slave mode on the newer microcontrollers. They all seem to think that people only want to use their microcontroller as the SPI Master. That said it looks like the original AVR based Arduino's have good documentation on how to initialize SPI Slave through the SPI Registers. I have an Arduino MEGA from my original RAMPS 1.4 controller from 2014. Hopefully it is still working and I can get the SPI Bus speed up to 8Mhz in Slave mode.

      My plan is to have the FT232H enable the CS and then transmit to the MEGA the current timestamp with as high of accuracy as I can get. It will then disable the CS. It will then wait for the MEGA to set its interrupt pin high. The MEGA will sleep for 1ms and then set its interrupt pin high. The FT232H will then enable the CS and read from the MEGA the last timestamp. It will then disable the CS and finally print on the CLI the current timestamp, the timestamp it received from the MEGA, and the difference minus 1ms (accounting for the MEGA's programmed delay). This should be the latency. I will have this whole process running in a loop. Depending on how much latency I am seeing, Ill probably have it loop like this 10 times a second. Then I will run this while doing other things on the USB bus, (moving a mouse, typing, accessing a USB2 thumb drive, accessing a USB3 thumb drive, etc.) Ill also test this with the FT232H going through a hub as well as being directly connected to the motherboards USB host controller. Ill take the output and generate some nice pretty graphs.

      @chrishamm & @T3P3Tony does this sound like a valid test? Any recommendations on things to change?

    • CthulhuLabsundefined

      Split Firmware Version In ObjectModel

      Firmware wishlist
      • • • CthulhuLabs
      1
      5
      Votes
      1
      Posts
      145
      Views

      No one has replied

    • CthulhuLabsundefined

      Invert Z Controls

      General Discussion
      • • • CthulhuLabs
      3
      0
      Votes
      3
      Posts
      184
      Views

      CthulhuLabsundefined

      @o_lampe I do see it that way.... after I ram the nozzle into my bed. The issue is that after a month or two of not using my 3D printer I forget this lesson and end up repeating my mistake. After breaking three glass beds I figured I should ask for this feature.

    • CthulhuLabsundefined

      Odd Vibrations Over 95mm/s On CoreXY

      Duet Hardware and wiring
      • • • CthulhuLabs
      5
      0
      Votes
      5
      Posts
      313
      Views

      CthulhuLabsundefined

      @Phaedrux I replaced the stepper motors with two of these:

      https://www.amazon.com/dp/B07LF898KN

      and the machine is completely quiet all the way up to 10,000 mm/min. which is as fast as I have tested.

    • CthulhuLabsundefined

      dsf python reconnect after eStop

      DSF Development
      • • • CthulhuLabs
      1
      0
      Votes
      1
      Posts
      197
      Views

      No one has replied

    • CthulhuLabsundefined

      CNC Enclosure Door Pause

      CNC
      • • • CthulhuLabs
      10
      0
      Votes
      10
      Posts
      536
      Views

      deckingmanundefined

      @cthulhulabs said in CNC Enclosure Door Pause:

      Is it possible to configure two triggers on one pin? IE trigger a pause script when the pin goes Inactive -> Active and another script when it goes from Active -> Inactive. IE something like:

      ; Configure Enclosure Door Switch To Pause M950 J1 C"io4.in" M581 P1 T2 S1 ; Call trigger2.g when io4.in goes from inactive to active M581 P1 T3 S0 ; Call trigger3.g when io4.in goes from active to inactive

      I haven't actually tried that in anger but if the firmware works as the documentation implies, then it should. It would be simple enough to test by simply creating those triggers with a single echo command in each.

    • CthulhuLabsundefined

      duetcontrolserver 100% CPU

      Duet Hardware and wiring
      • • • CthulhuLabs
      20
      0
      Votes
      20
      Posts
      820
      Views

      chrishammundefined

      @cthulhulabs I am confused. Didn't you say the original problem only started showing up when you turned off the Duet but left the SBC running? If that is the case, how did you power the SBC in the first place? I assumed you had a USB cable connected to the SBC which was in charge of the 5V supply already.

      Nevertheless, if you want to provide 5V to the Duet and power ONLY the SBC from there, do the following:

      Check if your 5V PSU is set to 5V (no more than 5.2V) Connect 5V from your PSU to the EXT 5V header Remove the INT 5V jumper Bridge "5V -> SBC" and "SBC -> 5V"

      If you want to connect extra devices to the SBC, it is highly recommended to power the SBC separately using a USB-C cable (e.g. this). The reason is that both 5V supply lines of the ribbon cable should not exceed 2A total and with a Pi 4 + extra peripherals you would probably exceed that.

    • CthulhuLabsundefined

      Bad Link

      Purchasing
      • • • CthulhuLabs
      3
      1
      Votes
      3
      Posts
      298
      Views

      T3P3Tonyundefined

      @cthulhulabs thanks, fixed now.

    • CthulhuLabsundefined

      DRO half function with a 1 line macro

      CNC
      • • • CthulhuLabs
      3
      5
      Votes
      3
      Posts
      280
      Views

      CthulhuLabsundefined

      @dc42 You are welcome 🙂

      Honestly this might be a good addition to the actual DWC interface when in CNC mode. Just a thought.

    • CthulhuLabsundefined

      M291 Button Size And Spacing

      Duet Web Control wishlist
      • • • CthulhuLabs
      1
      1
      Votes
      1
      Posts
      166
      Views

      No one has replied

    • CthulhuLabsundefined

      Surfacing Macro

      CNC
      • • • CthulhuLabs
      28
      8
      Votes
      28
      Posts
      2.6k
      Views

      CthulhuLabsundefined

      So I am working on a new version of this Macro that will prompt for user input with the M291 command. It will make the Macro far more interactive for things like DepthOfCut, RPM, FeedRate, etc. One of the prompts I want to add is to ask if it should work in Pass mode or Depth mode.

      In pass mode it will prompt you for the number of passes to take. It will then do that many passes before prompting you whether to surface another layer. Default will obviously be 1.

      In Depth mode it will prompt you for how much material to remove. So if your DepthOfCut is say 0.3mm and you enter a depth of 1mm the Macro will do three passes at 0.3mm and then a fourth pass at 0.1mm for a total of 1mm.

    • CthulhuLabsundefined

      Duet 3 6HC In SBC Mode Reconnect Issue After E-Stop

      Duet Hardware and wiring
      • • • CthulhuLabs
      7
      0
      Votes
      7
      Posts
      265
      Views

      CthulhuLabsundefined

      @chrishamm Nope. Still fails to connect about half the time. Restarting the duetcontrolserver causes it to reconnect.

    • CthulhuLabsundefined

      Add Numeric Keypad To M291 Gcode

      Firmware wishlist
      • • • CthulhuLabs
      5
      3
      Votes
      5
      Posts
      323
      Views

      CthulhuLabsundefined

      @mintytrebor Did not know that was a thing. Thank you!

    • CthulhuLabsundefined

      RRF 3.3rc3 Ignoring Part Of Rapid G0

      CNC
      • • • CthulhuLabs
      5
      0
      Votes
      5
      Posts
      164
      Views

      CthulhuLabsundefined

      I removed the M03 command and tried the file again and it is working properly.

    • CthulhuLabsundefined

      Define Custom Macros For M3/M4/M5 In The M950 Mcode

      Firmware wishlist
      • • • CthulhuLabs
      1
      1
      Votes
      1
      Posts
      150
      Views

      No one has replied

    • CthulhuLabsundefined

      Stop Macro Arguments

      Gcode meta commands
      • • • CthulhuLabs
      4
      0
      Votes
      4
      Posts
      278
      Views

      CthulhuLabsundefined

      Woohoo! After playing around with a bunch of settings I was able to get the CAM software to export with M6 commands so all I need to do is implement my own /sys/M6.g macro. No post processing needed.

    • CthulhuLabsundefined

      Issues Saving Files Through Web Interface

      Beta Firmware
      • • • CthulhuLabs
      7
      0
      Votes
      7
      Posts
      293
      Views

      CthulhuLabsundefined

      @chrishamm My SBC is running the full DuetPi image. My workstation is running Windows 10. I can test from my laptop I suppose.

    • CthulhuLabsundefined

      CNC Tool Offsets Confusion

      CNC
      • • • CthulhuLabs
      5
      1
      Votes
      5
      Posts
      730
      Views

      CthulhuLabsundefined

      Here is my finished Macro. Hopefully will be helpful for others. I am not entirely sure why certain things behave a certain way though. This Macro does allow me to reliably change tools and still position the base of the tool a the work piece zero position.

      ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 ; Clear the tool Z offset G10 P0 L1 Z0 G53 G0 Z0 ; Go to 0 Z in Machine Co-ordanates var ZBeginPos = move.axes[2].userPosition ; Save the Z starting position (might not be 0) G53 G0 X{global.BtStrXLoc} Y{global.BtStrYLoc} ; Move to BitSetter location G91 ; relative positioning ; Adjust probe for high speed probing M558 K0 P8 C"!io3.in" H20 F600 T300 ; Z probe number - Z probe switch type - probe recovery 1s probe speed and travel speed G31 K0 P500 X0 Y0 Z0 ; Set trigger value - set offset and trigger height - Z probe number ; Seak down rapidly till we contact the probe G38.2 Z{move.axes[2].userPosition + global.BtStrZTrig} ; Move up 2mm G0 Z2 ; Adjust probe for low speed probing M558 K0 P8 C"!io3.in" H20 F120 T300 ; Z probe number - Z probe switch type - probe recovery 1s probe speed and travel speed G31 K0 P500 X0 Y0 Z0 ; Set trigger value - set offset and trigger height - Z probe number ; Seak down slowly till we contact the probe G38.2 Z{move.axes[2].userPosition - 3} var ZEndPos = move.axes[2].userPosition ; Save the Z end position ; set the tool offset G10 P0 L1 Z{global.BtStrZTrig - (var.ZEndPos - var.ZBeginPos)} G0 Z5 ; rapid move Z axis up 5mm
    • CthulhuLabsundefined

      Zeroing Macro For Carbide3D BitZero

      Gcode meta commands
      • • • CthulhuLabs
      3
      0
      Votes
      3
      Posts
      490
      Views

      CthulhuLabsundefined

      I was an idiot. The spindle was moving. Just doing so slowly I did not see it. All the same I ran into a bunch of issues with the G38.2 command and ended up redoing my code based off someone else's macro. Here it is:

      var ProbeThickness = 13; var ProbeXWidth = 58; var ProbeYWidth = 58; var CoordSystem = 20; ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 M291 P"Insert a Dowel Pin into your spindle and center it in the probes hole" R"Probing" S3 X1 Y1 Z1 ; Find center of cavity M675 X R2 F300 K0 ; Find center in X axis M675 Y R2 F300 K0 ; Find center in Y axis G10 P1 L{var.CoordSystem} X0 Y0 ; Store X and Y as zero in CoordSystem ; Set bit above center of probe G91 ; relative positioning G0 Z{var.ProbeThickness + 2} ; rapid move Z axis over the surface of the probe G0 X{var.ProbeXWidth / 2} Y{var.ProbeYWidth / 2} ; rapid move X and Y axis to middle of probe ; Probe Z component G38.2 Z{move.axes[2].userPosition - (var.ProbeThickness + 2.25)} ; seek until the probe circuit is closed Z-axis 25 mm G0 Z5 ; rapid move Z axis 5 mm G10 P1 L{var.CoordSystem} Z{var.ProbeThickness + 5} ; store relative probe offset for coordinates system 1 G0 X{(var.ProbeXWidth / 2) * -1} Y{(var.ProbeYWidth / 2) -1} ; go back over the hole G90 ; Absolute positioning