diff --git a/CHANGELOG.md b/CHANGELOG.md index 70bab64..08981c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Fixed compiling multi-file projects with implicit namespace packages. +- Fixed EV3 firmware upload on Windows ([pybricksdev#128]). + +[pybricksdev#128]: https://github.com/pybricks/pybricksdev/pull/128 ## [2.3.0] - 2025-10-31 diff --git a/pybricksdev/connections/ev3.py b/pybricksdev/connections/ev3.py index 9c4e2ac..a8e899f 100644 --- a/pybricksdev/connections/ev3.py +++ b/pybricksdev/connections/ev3.py @@ -84,10 +84,17 @@ def _send_command(self, command: Command, payload: bytes | None = None) -> int: length += len(payload) + # report_id is not used by the EV3 but is required by HIDAPI on Windows. + # It does no harm on Linux, so we include it unconditionally. Note that + # the report ID is automatically stripped from incoming messages by + # HIDAPI on all platforms. + report_id = 0 + message_number = next(self._msg_count) message = struct.pack( - "