I/O・状態・エラー処理の実装照合
このページは source_reference/dobot_core/dobot_ctrl.py と dobot_tcp.py の静的検証結果です。実機動作の保証ではありません。
I/O
get_digital_input(id_num)はDobotCtrlからDobotTcp.get_digital_input(index)に委譲され、Dashboard のDI(index)を呼び出します。正常応答では値をboolに変換します。get_digital_input()は通信エラー、応答エラー、解析失敗、例外時にもFalseを返します。Falseだけでは入力LOWと取得失敗を区別できません。 インターロックなど安全用途の正常性判定に流用しないでください。get_IO(id_num)は入力DIではなく、feedback のdigital_outputsを参照するDO readbackです。ビット位置はid_num - 1です。id_num < 1ではValueErrorになります。set_IO(id_num, value)はDO(int(id_num), int(bool(value)))を送信し、先頭の応答コードが0かどうかを真偽値で返します。書き込み後の物理的な出力状態を確認する処理ではありません。
状態と完了
servo_onはfeedbackのEnableStatusを真偽値に変換します。移動中かどうかを示すものではありません。get_motion_complete()はbusy_statusがNoneの場合False、それ以外はその否定を返します。正常到達・アラームなしを保証する値ではありません。wait_for_complete()は Motion API のSync()を呼び出し、その応答とモーションエラー検査で判定します。バックエンドのtimeoutとintervalは使われず、公開DobotCtrl.wait_for_complete()は引数を取りません。
エラー
reset_error()は Dashboard のClearError()を送信します。エラー原因の解消や安全状態への復帰を保証しません。get_error()、get_error_code()、get_error_count()、get_error_info()はDobotErrorManagerに委譲されます。詳細な戻り値や例外の契約は、同クラスのソースと照合する必要があります。
未検証
実機でのDI/DOマッピング、feedbackの鮮度、通信断時の振る舞い、アラーム後の復帰シーケンス、Sphinx HTML生成は未検証です。