Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Implementing GetMotionType vs GetKinematicsType

    Scheduled Pinned Locked Moved
    Firmware wishlist
    2
    2
    397
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • GizmotronX5000undefined
      GizmotronX5000
      last edited by

      I have implemented a kinematics type based on the LinearDeltaKinematics, but I am running into a bit of a roadblock. It looks like currently LinearDeltaKinematics::GetMotionType may not be implemented. I believe this function is supposed to allow for additional linear axes on a delta, is that correct?

      A secondary problem is that the firmware only allows segmentFreeDelta movements if the current kinematics class is specifically class LinearDelta (Mine is based on this, but has a different name) using function Move::IsDeltaMode. If I want to move an extra linear axis at the same time as the delta carriage makes a segmentFreeDelta movement, how would I do that? It works right now, but the delta motion traces a curve as the towers move linearly. In fact, the delta axes always make linear moves rather than segmentFreeDelta moves in this kinematics mode.

      As of now it looks like GetKinematicsType is used to determine if a printer uses segmentFreeDelta movements based on if it is using class LinearDelta or not, while it should be determined per axis, (or per set of 3 axes) in whatever the current kinematics mode is. It looks like a per-axis approach is partially implemented through LinearDeltaKinematics::GetMotionType, but not fully.

      My request is that the motion type be determined per axis regardless of kinematics mode.

      1 Reply Last reply Reply Quote 1
      • dc42undefined
        dc42 administrators
        last edited by

        You are right, the code needs to be refactored to use the GetMotionType function.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Unless otherwise noted, all forum content is licensed under CC-BY-SA