hardbyte / python-can

The can package provides controller area network support for Python developers
https://python-can.readthedocs.io
GNU Lesser General Public License v3.0
1.26k stars 599 forks source link

Using the canfox USB/CAN interface #1051

Open guanicoe opened 3 years ago

guanicoe commented 3 years ago

Describe the bug This is not really a bug, more a question.

I'm trying to use a canfox usb/can interface https://www.ifm.com/fr/en/product/EC2112 I tried using bustype "serial", and "slcan" to no avail.

Am I missing something or is this hardware not supported?

import canopen
import time

network = canopen.Network()

node = canopen.RemoteNode(32, 'DTM428.eds')
network.add_node(node)

network.connect(bustype='serial', channel="COM10", bitrate=125000)

device_name = node.sdo['Manufacturer device name'].raw
print(device_name)
network.sync.stop()
network.disconnect()
Traceback (most recent call last):
  File "c:\rfid\main.py", line 28, in <module>
    device_name = node.sdo['Manufacturer device name'].raw
  File "c:\rfid\venv\lib\site-packages\canopen\sdo\base.py", line 44, in __getitem__
    entry = self.od[index]
  File "c:\rfid\venv\lib\site-packages\canopen\objectdictionary\__init__.py", line 64, in __getitem__
    raise KeyError("%s was not found in Object Dictionary" % name)
KeyError: 'Manufacturer device name was not found in Object Dictionary'
felixdivo commented 3 years ago

Since neither "canfox" nor "ifm" were ever mentioned in this repo, I suppose it is not supported.