.. _manual_del_tcp: del_tcp (Manual Mode) ------------------------------------------ This section explains how to use :ref:`del_tcp ` to remove a previously registered **Tool Center Point (TCP)** from the robot controller. This function is mainly used during system setup or maintenance to clean up unused TCP entries, rather than during task execution. Available in Manual mode. In any other mode the function returns false and prints ``this command can only be used in manual mode. please change to manual mode as robot mode``. The mode check uses the value returned by :ref:`get_robot_mode `. .. Caution:: On a real robot the safety board also refuses the call while the robot is moving; the motion is quick-stopped and a running program is stopped. **Typical usage** - Delete outdated or incorrect TCP definitions. - Clean up recipe libraries when tools or reference points change. - Remove temporary TCPs used for calibration or development. - Maintain a clean, consistent controller configuration. .. Note:: - Do **not** delete a TCP that is currently active. - ``strSymbol`` must exactly match the registered TCP name. - Typically used during commissioning or before production runs. **Example: Removing an Unused TCP** .. code-block:: cpp // Delete a TCP named "TCP_TEST_POINT" if (!drfl.del_tcp("TCP_TEST_POINT")) { printf("Failed to delete TCP.\n"); return -1; } printf("TCP successfully removed.\n"); In this example, an unused TCP entry is removed to prevent naming conflicts and maintain a clean setup. **Tips** - Remove outdated points when updating grippers or end-effector geometry. - Always check active TCP with ``get_tcp()`` before deletion.