The MUM (Melexis Universal Master) adapter is the current default; the
BabyLIN SDK adapter is retained only for backward compatibility with
existing rigs.
Code:
- Emit DeprecationWarning when BabyLinInterface is instantiated and
when tests/conftest.py routes interface.type=='babylin' to it.
- Update module/class docstrings in ecu_framework/{__init__,config,
lin/__init__,lin/babylin}.py to label BabyLIN-specific fields and
paths as deprecated.
Config / scripts / pytest:
- pytest.ini: relabel the babylin marker as deprecated.
- config/{babylin.example,examples,test_config}.yaml: add deprecation
banners and field comments.
- scripts/99-babylin.rules and scripts/pi_install.sh: annotate the
udev-rule install block as legacy-only.
Documentation:
- TESTING_FRAMEWORK_GUIDE.md, docs/08_babylin_internals.md, and
vendor/README.md: prepend explicit "DEPRECATED" banners.
- docs/{README,01,02,04,05,07,09,10,12,13,14,15,18,DEVELOPER_COMMIT_
GUIDE}.md: relabel "legacy" to "deprecated" where babylin is
mentioned, present MUM as the primary path, and steer new work
toward the MUM examples.
No tests, configs, or modules were deleted; existing BabyLIN setups
keep working but now produce a clear DeprecationWarning at runtime.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.2 KiB
2.2 KiB
BabyLIN SDK placement (DEPRECATED)
The BabyLIN adapter is deprecated and retained for backward compatibility only. New deployments should target the MUM (Melexis Universal Master) adapter — see
automated_lin_test/README.mdand../docs/16_mum_internals.md. This guide is kept so existing BabyLIN rigs can still be set up.
Place the SDK's Python wrapper and platform-specific libraries here so the test framework can import and use them.
Required files
- BabyLIN_library.py
- BabyLIN library/ (directory provided by the SDK containing platform-specific binaries)
- Windows:
BabyLIN library/Windows/x64/*.dll - Linux x86_64:
BabyLIN library/Linux/x86_64/*.so - Raspberry Pi (ARM):
BabyLIN library/Linux/armv7/*.so(or as provided by your SDK)
- Windows:
- Optional: Example SDF file (e.g.,
Example.sdf)
Folder structure example:
vendor/
├─ BabyLIN_library.py
├─ Example.sdf
└─ BabyLIN library/
├─ Windows/
│ └─ x64/
│ ├─ BabyLIN.dll
│ ├─ BabyLIN_FTDI.dll
│ └─ ... (other DLLs from SDK)
├─ Linux/
│ ├─ x86_64/
│ │ └─ libBabyLIN.so
│ └─ armv7/
│ └─ libBabyLIN.so
└─ ...
Notes:
- Keep the directory names and casing exactly as the SDK expects (often referenced in
BabyLIN_library.py). - Ensure your Python environment architecture matches the binaries (e.g., 64-bit Python with 64-bit DLLs).
- On Linux/RPi, you may need to set
LD_LIBRARY_PATHto include the directory with the shared libraries.
Configuration
Point your config to the SDF and schedule:
interface:
type: babylin # deprecated; emits a DeprecationWarning at runtime
channel: 0
sdf_path: ./vendor/Example.sdf
schedule_nr: 0
Troubleshooting
- ImportError: BabyLIN_library not found
- Ensure
vendor/BabyLIN_library.pyexists or add the vendor folder toPYTHONPATH.
- Ensure
- DLL/SO not found
- On Windows, ensure the DLLs are in PATH or next to
BabyLIN_library.pyper SDK instructions. - On Linux/RPi, export
LD_LIBRARY_PATHto the folder with the.sofiles.
- On Windows, ensure the DLLs are in PATH or next to
- Device not found
- Check USB connection, drivers, and that no other tool holds the device open.