概要
PR #497 で Robot ファサードが StackchanContext capability に置き換わりましたが、較正系のサンプルMODが旧APIの生ドライバ直参照のまま残っており、実行時に undefined 参照でクラッシュします。
mods/examples/setup_rs30x/mod.js — robot._driver._pan 等を参照(8行目・16行目)。また button.a.onEvent の二重代入により先のハンドラが無効化される既存バグもあり
mods/examples/calibration/mod.js — context._driver を参照(36-37行目)
新しい MotionCapability(host/app/capabilities.ts)には旧 robot.ts の get driver() に相当する生ドライバへのアクセサがないため、単純な書き換え先が存在しません。
対応案
MotionCapability に較正用途の監督下アクセサ(例: motion.calibration capability として offset調整・個別サーボ角の読み書きだけを公開)を追加する
- その上で
setup_rs30x / calibration を新APIへ移行し、button 参照は optional chaining に統一する
関連
概要
PR #497 で
RobotファサードがStackchanContextcapability に置き換わりましたが、較正系のサンプルMODが旧APIの生ドライバ直参照のまま残っており、実行時に undefined 参照でクラッシュします。mods/examples/setup_rs30x/mod.js—robot._driver._pan等を参照(8行目・16行目)。またbutton.a.onEventの二重代入により先のハンドラが無効化される既存バグもありmods/examples/calibration/mod.js—context._driverを参照(36-37行目)新しい
MotionCapability(host/app/capabilities.ts)には旧robot.tsのget driver()に相当する生ドライバへのアクセサがないため、単純な書き換え先が存在しません。対応案
MotionCapabilityに較正用途の監督下アクセサ(例:motion.calibrationcapability として offset調整・個別サーボ角の読み書きだけを公開)を追加するsetup_rs30x/calibrationを新APIへ移行し、button参照は optional chaining に統一する関連