hardbyte / hardbyte/python-can
No remote request flag is set when sending such frame with interface socketcand
- Dominant language
- Python
- Stars
- 1.6k
- Forks
- 697
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the bug
When sending a frame like
```python
bus = can.interface.Bus(interface='socketcand', channel='can0', host='the.ipa.ddr.ess', port=29536)
...
can_msg = can.Message(is_extended_id = False, arbitration_id = address, is_remote_frame = True)
self.bus.send(can_msg)
```
the terminal message print is:
```
Timestamp: 0.000000 ID: 403 S Rx R DL: 0
```
but on the bus be get (using candump):
```
can0 403 [0] ''
```
kinda empty frames.
When using the direct can0 interface (no socketcand) I get correctly:
```
can0 403 [0] remote request
```
### To Reproduce
Using python_can==4.6.1 on a Mac with Python 3.9.6.
socketcand Version 0.6.1 is running on a Debian 13.
### Expected behavior
Seeing correct remote request frames
Contributor guide
Research direction
Start at can.interface.Bus with interface='socketcand' and trace self.bus.send(can_msg) when can.Message sets is_remote_frame=True. Compare the socketcand path with the direct can0 path and use candump to verify the result. Done means the transmitted frame is reported as a remote request rather than an empty data frame.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100