Revolution Pi で CANopen を使用しています MLS (Magnetic Line Sensor) からのデータがありますが、更新を即座に行う必要があるため、受信するデータが遅すぎます。データの更新をより速くするにはどうすればよいですか?
CAN は以下を使用してセットアップされます。
sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up
candump can0 -td
Python-can ライブラリを使用して基本的なプログラムを作成し、ポーリングが高速になるかどうかを調べました。
import can
can_interface = 'can0'
bus = can.interface.Bus(can_interface, bustype='socketcan')
while 1 < 2:
bus.flush_tx_buffer()
message = bus.recv()
print(message)
メッセージデータを出力したデータ (candump のデータと同様) は、1 秒間に何度も新しいメッセージに投稿する必要がありますが、センサーからのメッセージ間で <1 秒から >10 分の間待機しています。