hardbyte / hardbyte/python-can

[Introspection] Expose supported nominal/data bitrate capabilities for detected CAN channels

Open
#2,033 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
1.6k
Forks
697
PR merge metrics
No merged PRs in 30d

Description

Hi maintainers,

I’m integrating `python-can` into a UI tool that uses `can.interface.detect_available_configs()` to list adapters/channels.

Current situation:
- `detect_available_configs()` gives interface/channel candidates, which is great.
- But there is no standardized way to discover supported nominal bitrate(s) and CAN-FD data bitrate(s) per detected channel.
- As a result, UIs have to hardcode bitrate presets, which can be wrong for specific hardware/drivers.

Feature request:
- Add optional capability fields to auto-detected configs (or a related capability API), e.g.:
- `supported_bitrates: list[int] | None`
- `supported_data_bitrates: list[int] | None` (for FD-capable channels)
- `supports_fd: bool | None`

Example output shape:
```python
{
"interface": "socketcan",
"channel": "can0",
"supports_fd": True,
"supported_bitrates": [125000, 250000, 500000, 1000000],
"supported_data_bitrates": [1000000, 2000000, 4000000]
}

Would that make sense?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.