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>
62 lines
2.2 KiB
Markdown
62 lines
2.2 KiB
Markdown
# 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.md` and `../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)
|
|
- 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_PATH` to include the directory with the shared libraries.
|
|
|
|
## Configuration
|
|
|
|
Point your config to the SDF and schedule:
|
|
|
|
```yaml
|
|
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.py` exists or add the vendor folder to `PYTHONPATH`.
|
|
- DLL/SO not found
|
|
- On Windows, ensure the DLLs are in PATH or next to `BabyLIN_library.py` per SDK instructions.
|
|
- On Linux/RPi, export `LD_LIBRARY_PATH` to the folder with the `.so` files.
|
|
- Device not found
|
|
- Check USB connection, drivers, and that no other tool holds the device open.
|