Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 1.44 KB

File metadata and controls

20 lines (13 loc) · 1.44 KB

Upstream integration notes

Prime Robot Tools 0.1.0 is tested against pybricksdev==2.3.2 (release commit 65210a2).

The service uses these upstream library interfaces rather than parsing CLI output:

  • pybricksdev.ble.find_device() to discover a hub advertising the Pybricks BLE service.
  • pybricksdev.connections.pybricks.PybricksHubBLE for the persistent Windows BLE connection.
  • PybricksHub.stdout_observable and status_observable for program output and execution state.
  • compile_multi_file() for MPY compilation.
  • download_user_program(), start_user_program(), and stop_user_program() for the program lifecycle.

Two private compatibility seams are intentionally isolated:

  • pybricks_adapter.py reads _capability_flags and _max_user_program_size because pybricksdev 2.3.2 does not publicly expose the negotiated MPY ABI or maximum program size.
  • compiler.py replaces pybricksdev's private _run_mpy_tool callback with an in-process call to the same vendored mpy-tool. The upstream implementation starts sys.executable -m ..., which cannot work after the service is frozen because sys.executable points to the service EXE.

The runtime build executes a frozen compile self-test so this packaging-specific failure cannot silently reach a release.

Hardware validation is still required on the target Windows laptop and SPIKE Prime hub. Mock tests prove ordering and protocol behavior but cannot prove Windows BLE driver behavior.