# gRPCサーバーとローカル制御の関係 English | 日本語 ## 実装確認の範囲 `MiniPixCtrl` は `pixet_ctrl.py` に実装されたローカル制御クラスである。`connect()`、設定、測定、停止、フレーム取得、状態取得は確認できる。一方、**今回確認したソースは `pixet_ctrl.py` のみ**であり、gRPCサーバー実装・RPC定義の有無をプロジェクト全体について断定しない。 ## 想定する構成(設計資料・実装未確認) ```text Remote client → gRPC server → MiniPixCtrl → pypixet / PIXet → MiniPIX D08-W0313 ``` 過去のドキュメントに記載された `pixet_grpc_server.py`、`SyncPixetGrpcClient`、`AsyncPixetGrpcClient` は**構想または別ソースに存在する可能性のあるコンポーネント**として残す。添付ソースからはクラスの存在、RPC名、ポート番号、実行例の動作を確認できないため、実装済みAPIとして扱わない。 ## 公開を検討するローカルAPI | 用途 | `MiniPixCtrl` の確認済みメソッド | gRPC公開状況 | |---|---|---| | 接続 | `connect()` / `disconnect()` | 未確認 | | 設定 | `set_mode_all()` / `set_threshold()` / `set_clock()` / `set_bias()` | 未確認 | | 測定 | `acquire()` / `acquire_frames()` / `acquire_integral()` | 未確認 | | 中断・状態 | `stop()` / `is_running()` / `is_aborting()` / `state()` | 未確認 | | 画像 | `get_frame()` / `get_frames()` / `get_acq_frames()` | 未確認 | 画像データはNumPy配列である。gRPC公開時にはshape、dtype、バイトオーダー、フレームサイズ、転送制限、排他制御、切断時の動作を明示する必要がある。**これらは設計課題であり、現行の `MiniPixCtrl` が自動的に提供する機能ではない。** ## gRPCの透過性とローカルAPI `grpc_frame` はローカル制御APIを透過的に呼び出すための通信基盤であり、**検出器制御機能を独自に追加しません**。したがって、リモートから実行可能な検出器操作は、サーバー側のローカル制御クラスに実装された操作に限られます。RPCの公開名や引数がローカルメソッドと一致するかは、対応するクライアント・サーバーのソースコードによる確認が必要です。 現行の正式なAPIは `pixet_ctrl.py` の `MiniPixCtrl` を基準とします。ローカル制御に存在しない機能を、gRPCだけで提供できるものとして記述しません。通信層の実装状況についても、`pixet_ctrl.py` だけでは断定しません。