Skip to main content

motor-drive-layer

Python bindings for the Motor-Drive-Layer native C++ Damiao motor driver.

The package loads the bundled C ABI library through Python ctypes and exposes SocketCAN, SocketCAN-FD, Damiao serial bridge, and optional DM_Device transports. Published wheels cover Linux x86_64/ARM64, macOS Intel/Apple Silicon, and Windows x64. The serial transport is cross-platform; SocketCAN transports remain Linux-only.

Use Motor.request_fresh_state(timeout_ms=50) when the caller must wait for a newly requested feedback frame. For multiple motors, Controller.request_feedback_all(timeout_ms=50) sends every request with the configured TX pacing and waits against one shared deadline; a timeout reports the missing motor IDs. The lower-level request_feedback(), get_state(), and poll_feedback_once() methods remain non-blocking asynchronous/cache operations.

The wheel includes py.typed and .pyi declarations for editor completion and static type checking. The main public APIs are:

  • Controller(...), from_socketcanfd(...), from_dm_serial(...), and from_dm_device(...).
  • Controller.add_damiao_motor(...), enable_all(), disable_all(), request_feedback_all(), set_tx_gap_us(), shutdown(), and close_bus().
  • Motor.enable(), disable(), ensure_mode(), all four control-mode send methods, fresh/cached feedback methods, typed register access, parameter aliases, and store_parameters().
  • MotorState, FeedbackStats, Mode, register metadata/constants, and SDK exception classes.

Motor is a logical child of its creating Controller. After the parent closes, motor operations raise CallError; motor.close() can still release the handle. Both classes support context managers. Leaving a Motor context only frees its handle, while leaving a Controller context attempts to disable all motors before closing the bus.

See the project README for build instructions, architecture, configuration, safety guidance, and examples.

This package is distributed under the MIT License. The optional DM_Device vendor runtime is distributed separately and may have its own license terms.

Metadata

Release files for motor-drive-layer 0.5.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for motor-drive-layer 0.5.6
File
motor_drive_layer-0.5.6-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
motor_drive_layer-0.5.6-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details
motor_drive_layer-0.5.6-py3-none-manylinux_2_34_aarch64.whl Python 3 none Linux glibc 2.34+ ARM64 Details
motor_drive_layer-0.5.6-py3-none-macosx_11_0_x86_64.whl Python 3 none macOS 11.0+ x86-64 Details
motor_drive_layer-0.5.6-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 451.2 kB

Release files / motor_drive_layer-0.5.6-py3-none-win_amd64.whl

Download URL motor_drive_layer-0.5.6-py3-none-win_amd64.whl
Size 95.7 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
e1431ec12bc88ca8b40b45b199bec565d910a0a2d811abf3a1e338fcab43245b
BLAKE2b-256 checksum
How to use checksums
5db8253c26e6a6046cb04c99fdd96adc459500ac3b5c9e56cd06a6f4402a9f44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / motor_drive_layer-0.5.6-py3-none-manylinux_2_34_x86_64.whl

Download URL motor_drive_layer-0.5.6-py3-none-manylinux_2_34_x86_64.whl
Size 103.4 kB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
82051d09d2b696d33815eb173da778132cc5a756f8242c20daeb4dacde666eda
BLAKE2b-256 checksum
How to use checksums
a95d258d99d41e27def323ba890e839352f6bdfbde168f41e26661ee8807a095
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / motor_drive_layer-0.5.6-py3-none-manylinux_2_34_aarch64.whl

Download URL motor_drive_layer-0.5.6-py3-none-manylinux_2_34_aarch64.whl
Size 97.6 kB
Tags Linux glibc 2.34+ ARM64 Python 3
SHA-256 checksum
How to use checksums
557418ba65db5910e94f7ffde0c8e45ca69ae0efa720345393106586511f0e83
BLAKE2b-256 checksum
How to use checksums
db83affd4296a98947036b3d6a6b9e49e42a3d2294a0dbce86d2a19d31b018db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / motor_drive_layer-0.5.6-py3-none-macosx_11_0_x86_64.whl

Download URL motor_drive_layer-0.5.6-py3-none-macosx_11_0_x86_64.whl
Size 78.4 kB
Tags Python 3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
57146819be6d6c531cea4926eb4b65c855eeefaf777a46a224c484ed26b527c6
BLAKE2b-256 checksum
How to use checksums
783c869c923e5559a457de84fff80a8b49301f9a5a25c6bfa5f6925fb204b578
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / motor_drive_layer-0.5.6-py3-none-macosx_11_0_arm64.whl

Download URL motor_drive_layer-0.5.6-py3-none-macosx_11_0_arm64.whl
Size 76.1 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9c81b86d6892b4d37b5b9cf43c9f0f13c39c07427c863c16220d3839ffad1b0b
BLAKE2b-256 checksum
How to use checksums
57a2ebc4b51c16562e1660a5b8fa564cacf481a86306d6a683d020ed82ebf6a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.5

2 release files

0.22.3

2 release files

0.22.2

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.9

2 release files

0.12.8

2 release files

0.12.7

2 release files

0.12.6

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.1

1 release file

0.11.0

1 release file

0.10.30

1 release file

0.10.29

1 release file

0.10.28

1 release file

0.10.27

1 release file

0.10.26

1 release file

0.10.25

1 release file

0.10.14

1 release file

0.10.9

2 release files

0.10.8

2 release files

0.10.7

3 release files

0.10.6

2 release files

0.10.5

1 release file

0.10.4

1 release file

0.10.3

1 release file

0.10.2

1 release file

0.10.1

2 release files

0.10.0

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.9

1 release file

0.8.8

1 release file

0.8.7

1 release file

0.8.5

5 release files

0.8.4

5 release files

0.8.3

5 release files

0.8.2

5 release files

0.7.9

5 release files

0.7.7

5 release files

0.7.6

5 release files

0.7.5

5 release files

0.7.4

5 release files

0.7.3

1 release file

0.7.0

1 release file

0.6.2

5 release files

0.6.1

5 release files

0.6.0

5 release files

0.5.11

2 release files

0.5.10

2 release files

0.5.9

5 release files

0.5.8

5 release files

0.5.7

5 release files

This release

0.5.6 This release

5 release files

0.5.4

5 release files

0.5.3

5 release files

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page