Return values, communication failures, and alarm detection
This page is a static source audit of source_reference/dobot_core/dobot_ctrl.py, dobot_tcp.py, and dobot_error.py; it is not hardware validation.
Return-value contracts
API |
Normal result |
Failure or limitation |
|---|---|---|
|
|
Non-success Dashboard replies, parse errors, missing values, and exceptions also return |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List of alarm IDs |
Missing Dashboard, failed |
|
First ID / count |
The above failures can also produce |
|
|
Can return |
Feedback and alarm-query boundary
_state() waits for the first valid Feedback frame and raises RuntimeError on timeout. It does not validate age of cached Feedback after the first frame. motion_error_active() catches RuntimeError from _state_getter("ErrorStatus", timeout=0.1) and treats the error status as false. When GetErrorID() also yields an empty alarm list because retrieval failed, the control flow can report no active alarm without having established that status.
Operational implication: Do not use an isolated False, 0, [], or True as proof of connection health or motion safety. This page documents existing behavior; it does not change the implementation.
Scope
Only the provided Python source branches and return paths were inspected. Hardware alarms, network interruptions, I/O wiring, TCP timeouts, and Sphinx HTML output were not tested.