hardbyte / hardbyte/python-can

No remote request flag is set when sending such frame with interface socketcand

未關閉
#2,091 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
bug
主要語言
Python
星號
1.6k
分支
697
PR 合併指標
30 天內沒有已合併 PR

描述

### 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

貢獻指南

開啟貢獻指南

研究方向

從 can.interface.Bus 開始,設定 interface='socketcand',並在 can.Message 將 is_remote_frame=True 時追蹤 self.bus.send(can_msg)。將 socketcand 路徑與直接的 can0 路徑進行比較,並使用 candump 驗證結果。完成的條件是,傳輸的訊框被回報為遠端請求,而不是空資料訊框。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
embedded-iot, networking
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
活躍
描述清晰度
基本清楚
新手友好度
68/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。