Пример #1
0
 static void DynamixelOpenPort()
 {
     if (!DynamixelSDK.openPort(DynamixelPortNum))
     {
         throw new Exception("Failed to open the port!");
     }
     else
     {
         Console.WriteLine("Succeeded to open the port!");
     }
 }
Пример #2
0
 static void DynamixelSetBaudRate()
 {
     if (!DynamixelSDK.setBaudRate(DynamixelPortNum, DYNAMIXEL_BAUDRATE))
     {
         throw new Exception("Failed to change the baudrate!");
     }
     else
     {
         Console.WriteLine("Succeeded to change the baudrate!");
     }
 }
Пример #3
0
        static void DynamixelEnableTorque(byte pID)
        {
            int  Result;
            byte Error;

            DynamixelSDK.write1ByteTxRx(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION, pID, Dynamixel.Constants.ADDR_TORQUE_ENABLE, Dynamixel.Constants.TORQUE_ENABLE);

            if ((Result = DynamixelSDK.getLastTxRxResult(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION)) != Dynamixel.Constants.COMM_SUCCESS)
            {
                throw new Exception(Marshal.PtrToStringAnsi(DynamixelSDK.getTxRxResult(DYNAMIXEL_PROTOCOL_VERSION, Result)));
            }
            else if ((Error = DynamixelSDK.getLastRxPacketError(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION)) != 0)
            {
                throw new Exception(Marshal.PtrToStringAnsi(DynamixelSDK.getRxPacketError(DYNAMIXEL_PROTOCOL_VERSION, Error)));
            }
            else
            {
                Console.WriteLine("Dynamixel " + pID + " has been successfully connected");
            }
        }
Пример #4
0
        static void DynamixelEnableWheelMode(byte pID)
        {
            int  Result;
            byte Error;

            DynamixelSDK.write2ByteTxRx(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION, pID, Dynamixel.Constants.ADDR_CCW_ANGLE_LIMIT_L, DynamixelWheelModeData);

            if ((Result = DynamixelSDK.getLastTxRxResult(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION)) != Dynamixel.Constants.COMM_SUCCESS)
            {
                throw new Exception(Marshal.PtrToStringAnsi(DynamixelSDK.getTxRxResult(DYNAMIXEL_PROTOCOL_VERSION, Result)));
            }
            else if ((Error = DynamixelSDK.getLastRxPacketError(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION)) != 0)
            {
                throw new Exception(Marshal.PtrToStringAnsi(DynamixelSDK.getRxPacketError(DYNAMIXEL_PROTOCOL_VERSION, Error)));
            }
            else
            {
                Console.WriteLine("Dynamixel " + pID + " is in a wheel mode");
            }
        }
Пример #5
0
        private static void DynamixelSetGoalPosition(byte pID, ushort pGoalPosition)
        {
            int  Result;
            byte Error;

            try
            {
                DynamixelSDK.write2ByteTxRx(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION, pID, Dynamixel.Constants.ADDR_GOAL_POSITION_L, pGoalPosition);
            }
            catch (Exception)
            {
                throw;
            }

            //if ((Result = DynamixelSDK.getLastTxRxResult(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION)) != Dynamixel.Constants.COMM_SUCCESS)
            //{
            //    throw new Exception(Marshal.PtrToStringAnsi(DynamixelSDK.getTxRxResult(DYNAMIXEL_PROTOCOL_VERSION, Result)));
            //}
            //else if ((Error = DynamixelSDK.getLastRxPacketError(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION)) != 0)
            //{
            //    throw new Exception(Marshal.PtrToStringAnsi(DynamixelSDK.getRxPacketError(DYNAMIXEL_PROTOCOL_VERSION, Error)));
            //}
        }
Пример #6
0
 static void DynamixelInitialization()
 {
     DynamixelPortNum = DynamixelSDK.portHandler(DYNAMIXEL_DEVICENAME);
     DynamixelSDK.packetHandler();
 }
Пример #7
0
        private static ushort DynamixelReadPresentPosition(byte pID)
        {
            ushort pos = DynamixelSDK.read2ByteTxRx(DynamixelPortNum, DYNAMIXEL_PROTOCOL_VERSION, pID, Dynamixel.Constants.ADDR_PRESENT_POSITION);

            return(pos);
        }
Пример #8
0
 static void DynamixelClosePort()
 {
     DynamixelSDK.closePort(DynamixelPortNum);
 }