Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. stevenim
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 16
    • Best 0
    • Controversial 0
    • Groups 0

    stevenim

    @stevenim

    0
    Reputation
    1
    Profile views
    16
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    stevenim Unfollow Follow

    Latest posts made by stevenim

    • M950 GPIO Bug

      I'm noticing a GCode bug on my Duet3D board. I'm running the following configuration:
      FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.1.1 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2020-05-19b2

      So I'm using all 9 GPIO outputs to drive some valves and I have all the GPIO set high beforehand. But when I assign the pins using M950, some of the states change. For example, assume that all GPIO outputs are set high at 3.3V. So when I query the object model of those pins, they all say this:

      {"key":"state.gpOut","flags":"","result":[{"pwm":1.00},{"pwm":1.00},{"pwm":1.00},{"pwm":1.00},{"pwm":1.00},{"pwm":1.00},{"pwm":1.00},{"pwm":1.00},{"pwm":1.00}]}

      Which is what I expect.
      Then I'll send down the following commands sequentially:
      M950 P0 C"io0.out"
      M950 P1 C"io1.out"
      M950 P2 C"io2.out"
      M950 P3 C"io3.out"
      M950 P4 C"io4.out"
      M950 P5 C"io5.out"
      M950 P6 C"io6.out"
      M950 P7 C"io7.out"
      M950 P8 C"io8.out"

      For some unknown reason, pins 4, 5, and 7 get switched low to 0V during those assignments and I have no idea why they would switch when all I'm doing is assigning them and not setting them. Even when I query the object model again, I still see that all pins are said to be high even though pins 4, 5, and 7 are low.

      What's going on? Why do only those 3 gpio pins get switched when I'm assigning pins? I'm not even setting them at all which is concerning since the board even thinks that they're all set high when they're physically not which puts it at an unknown state. Am I missing something?

      posted in General Discussion
      stevenimundefined
      stevenim
    • RE: Switch I/O pins during macros?

      @dc42 Does this specifically pertain to macros? I'm able to switch i/o pins during regular moves such as G0/G1. As in, while the motor is moving, I can send an M42 command to a pin just fine.

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim
    • RE: Switch I/O pins during macros?

      Yup. Even with the DWC I can switch the pin but the moment I home, I can't switch until after the home.

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim
    • RE: Switch I/O pins during macros?

      I'm just trying to set set a pin high during macros/homing routine by calling "M42 P0 S1" although I find that it isn't working.

      FYI, I'm sending HTTP GET requests over Ethernet with my Duet 3 MB6HC v1.01 board running Firmware version 3.1.1

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim
    • Switch I/O pins during macros?

      Can you switch I/O pins with the M42 command during a macro or home?

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim
    • HTTP Connection thru async C#.

      Hi,

      I'm making HTTP GET requests over Ethernet with my Duet 3 MB6HC v1.01 board running with Firmware version 3.1.1 and I'm trying to send GCode commands with the "/rr_gcode?gcode=" command but I'm seeing that not all my requests are making it to the board. For example, in my case I need to set the output of all 9 of my GPIO pins simultaneously and I try to do this by making 9 GET requests in parallel with HttpClient async operations in C# which, while looking in Wireshark, takes a total of ~800ms from setting the first GPIO pin to the last one thru 9 individual M42 commands.

      So I was wondering if this was a timing issue in that I would add a delay of some sort between requests (I noticed that adding 300ms between requests that all my requests actually register with the board)? Or could this be a driving issue where I drive too many individual GET requests in such a short amount of time? How can I achieve making a sizable amount of GET requests at a time while also having the board actually respond to those requests? Should I format my code such that it looks at failed responses since I occasionally see out-of-order packets and reset flags within the TCP layer (but not all the time). Heck, sometimes I see that all 9 of my requests go through with no issue in Wireshark but not all get registered on the board since after making a "rr_model?key=state.gpOut", I see that not all are set even after I saw that all requests got thru with an OK status (Note that this is still within the ~800ms I make all requests).

      Thank you for your time.

      posted in Duet Web Control
      stevenimundefined
      stevenim
    • RE: G Code over Ethernet

      I was actually thinking of sending G-Code over Ethernet not through the DuetWebControl but manually with my own HTTP GET request packets through C#. Basically doing the job of the DWC but with C#. Would this be possible? Just wondering how requests and responses work alongside general formatting so I wouldn't have to reverse engineer the DWC.

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim
    • G Code over Ethernet

      Hi,

      I have the device running with firmware: [FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.1.1 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2020-05-19b2]. I was wondering if it was possible to connect to my board with my laptop with a USB to Ethernet Connection where I send Ethernet packets/data including G-Code to the board for control. USB connection would be to my laptop with an Ethernet connection to the board. Would this be possible? How would I have to format the packets to be sent?

      Thanks.

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim
    • RE: nanoDLP 3.1.1 Emergency Stop not working & other alternatives

      Can GPIO or fan outputs be set asynchronously over USB? If so, I was thinking of maybe using a wire from that output back into a GPIO input port to be used as an endstop trigger to do an emergency stop.

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim
    • RE: nanoDLP 3.1.1 Emergency Stop not working & other alternatives

      @Phaedrux G Code command over USB.

      posted in Duet Hardware and wiring
      stevenimundefined
      stevenim