Skip to content

Exceptions

All exceptions derive from DobotError and are importable from pydobotlab and pydobotlab.errors.

DobotError
├── DobotConfigError
├── DobotConnectionError
│   ├── DobotPortInUseError
│   └── DobotPermissionError
├── DobotProtocolError
├── DobotTimeoutError
└── DobotAlarmError
    ├── DobotKinematicError
    ├── DobotOverspeedError
    ├── DobotLostStepError
    └── DobotSystemAlarmError
Exception Description
DobotError Base class.
DobotConfigError The configuration file is invalid.
DobotConnectionError The connection could not be opened or used.
DobotPortInUseError The port is busy.
DobotPermissionError Access to the port was denied.
DobotProtocolError A malformed frame was received.
DobotTimeoutError A response or wait timed out.
DobotAlarmError The arm reported an alarm.
DobotKinematicError A planning, motion, or limit alarm.
DobotOverspeedError A joint over-speed alarm.
DobotLostStepError A lost-step alarm.
DobotSystemAlarmError A system alarm.

DobotError

Base class of all pydobotlab exceptions.


DobotConfigError

The configuration file is invalid. The message names the file and the setting. Raised by the first use of any object that reads a default setting.


DobotConnectionError

The serial port or broker connection could not be opened, read, or written, a command was sent while not connected, or the control panel is required and not running (see require_panel in Magician).


DobotPortInUseError

Subclass of DobotConnectionError. The port is open in this process or held by another program. The message has the form port 'COM3' is busy.


DobotPermissionError

Subclass of DobotConnectionError. The operating system denied access to the port (Linux and macOS). The message names the condition and its remedy:

  • The user is not in the group of the device, for example dialout on Ubuntu and Debian or uucp on Arch Linux.
  • The user was added to the group after the current session started.
  • The user is in the group and access is still denied.
  • The group has no read and write permission on the device.

DobotProtocolError

A malformed frame was received: invalid header, length, or checksum.


DobotTimeoutError

No response arrived within the read timeout, or a wait exceeded its timeout. Raised by any command and by wait_for, wait_idle, and move_to.


DobotAlarmError

DobotAlarmError(alarms=None, message="")

The arm reported an alarm. Raised by every DobotLab function that changes the arm state, such as ptp, and by move_to, wait_for, wait_idle, batch, clear_alarm, and ensure_no_alarms. The arm refuses further commands until the alarm is cleared with clear_alarm or the panel's Clear Alarm button. See Alarms and recovery.

The subclass follows the group of the alarm, as listed under Alarm groups. The message lists each active alarm with a remedy.

Attribute Type Description
alarms list[str] Names of the active alarms.

DobotKinematicError

Subclass of DobotAlarmError. A planning, motion, or limit alarm (PLAN_*, MOVE_*, LIMIT_*), for example a target outside the workspace.


DobotOverspeedError

Subclass of DobotAlarmError. A joint exceeded its maximum speed (OVERSPEED_J1 to OVERSPEED_J4).


DobotLostStepError

Subclass of DobotAlarmError. A joint lost steps (LOST_STEP_J1 to LOST_STEP_J4).


DobotSystemAlarmError

Subclass of DobotAlarmError. The arm reported a system fault (PUBLIC_RESET to PUBLIC_ANGLE_SENSOR_READ).