Files
2026-09-20 21:15:39 +08:00

43 lines
1.6 KiB
Markdown

# Vendored ZMotion runtime (internal use)
These files are copied verbatim from the ZMotion SDK that ships with the
controller's `ZDevelop` install, as unpacked from the vendor example bundle:
D:\orisys_ws\zmotion\Python64\dll库文件\
| File | Bytes | SHA-256 (first 16) |
|---|---|---|
| `zauxdll.dll` | 4410880 | `282369258733A0D6` |
| `zmotion.dll` | 3596288 | `30DC519539783EE9` |
| `zauxdll2.h` | 179106 | `BC8788DE71A7900B` |
`zauxdll2.h` is kept only as the parameter contract of record for the wrappers
in `orisys_app_shared/zmotion/client.py` (register values, argument order,
return codes). It is not loaded at run time.
## Why they are vendored
`zmcdll/zauxdllPython.py` in the vendor example resolves its DLLs relative to
its own module location, plus a current-working-directory fallback. That makes
`import` depend on where the process happens to be started from. Copying the
two runtime DLLs next to the app and resolving them explicitly (see
`orisys_app_shared/zmotion/loader.py`) removes that, at the cost of ~8 MB in
the repo.
## Overriding
Set `ORISYS_ZMOTION_DLL_DIR` to point at a different directory — for example a
newer controller-support CD — and it wins over this folder:
```powershell
$env:ORISYS_ZMOTION_DLL_DIR = "D:\Zmotion\bin"
```
## Redistribution
Internal use only. The ZMotion SDK is vendor-supplied hardware support
software with its own terms; these DLLs must **not** be redistributed inside
the customer-facing Orisys Studio installer. AutoCal is a separate, internal
application and is deliberately not packaged by `build/studio` (see
`build/README.md`).