-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Description
- Hardware: Canable 2.0 Pro from Makerbase
- Firmware: updated to
Canable 2.5 of slcanfrom Elmue. - The detail of slcan protocol implemented in the firmware is HERE
- DroneCAN GUI Tool: version 1.2.28
- OS: win10 64bit version=10.0.19045.6466
Phenomena:
- putty works:
V
+Board: MksMakerbase MCU: STM32G431 DevID: 1128 Firmware: 2429224 Slcan: 100 Clock: 160 Limits: 512,256,128,128,32,32,16,16
- DroneCAN GUI Tool
SLCAN ACK Timeout
- pydronecan
SLCAN ACK Timeout
Python 3.12.10 (tags/v3.12.10:0cc8128, Apr 8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 9.9.0 -- An enhanced Interactive Python. Type '?' for help.
Tip: We can't show you all tips on Windows as sometimes Unicode characters crash the Windows console, please help us debug it.
In [1]: import dronecan as dc
In [5]: import logging
In [6]: logging.basicConfig(level=logging.DEBUG)
DEBUG:asyncio:Using proactor: IocpProactor
In [7]: node =dc.make_node("COM13",baudrate=1024000,bit_rate=500000)
INFO:dronecan.driver.slcan:IO process started with PID 31408
INFO:dronecan.driver.slcan:Init: Sending command b''
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'C'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'S8'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
ERROR:dronecan.driver.slcan:Could not init SLCAN adapter, will retry; error was: SLCAN ACK timeout
Traceback (most recent call last):
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 519, in _init_adapter
wait_for_ack()
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 474, in wait_for_ack
raise DriverError('SLCAN ACK timeout')
dronecan.driver.common.DriverError: SLCAN ACK timeout
INFO:dronecan.driver.slcan:Init: Sending command b''
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'C'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'S8'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
ERROR:dronecan.driver.slcan:Could not init SLCAN adapter, will retry; error was: SLCAN ACK timeout
Traceback (most recent call last):
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 519, in _init_adapter
wait_for_ack()
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 474, in wait_for_ack
raise DriverError('SLCAN ACK timeout')
dronecan.driver.common.DriverError: SLCAN ACK timeout
INFO:dronecan.driver.slcan:Init: Sending command b''
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'C'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'S8'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
ERROR:dronecan.driver.slcan:Could not init SLCAN adapter, will retry; error was: SLCAN ACK timeout
Traceback (most recent call last):
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 519, in _init_adapter
wait_for_ack()
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 474, in wait_for_ack
raise DriverError('SLCAN ACK timeout')
dronecan.driver.common.DriverError: SLCAN ACK timeout
INFO:dronecan.driver.slcan:Init: Sending command b''
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'C'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
INFO:dronecan.driver.slcan:Init: Sending command b'S8'
INFO:dronecan.driver.slcan:Init: Waiting for ACK...
ERROR:dronecan.driver.slcan:IO process failed
Traceback (most recent call last):
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 646, in _io_process
_init_adapter(conn, bitrate)
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 537, in _init_adapter
raise ex
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 519, in _init_adapter
wait_for_ack()
File "C:\Users\chengdi\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py", line 474, in wait_for_ack
raise DriverError('SLCAN ACK timeout')
dronecan.driver.common.DriverError: SLCAN ACK timeout
INFO:dronecan.driver.slcan:IO process is terminating...
INFO:dronecan.driver.slcan:IO process is now ready to die, goodbye
---------------------------------------------------------------------------
DriverError Traceback (most recent call last)
Cell In[7], line 1
----> 1 node =dc.make_node("COM13",baudrate=1024000,bit_rate=500000)
File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\node.py:554, in make_node(can_device_name, **kwargs)
549 def make_node(can_device_name, **kwargs):
550 """Constructs a node instance with specified CAN device.
551 :param can_device_name: CAN device name, e.g. "/dev/ttyACM0", "COM9", "can0".
552 :param kwargs: These arguments will be supplied to the CAN driver factory and to the node constructor.
553 """
--> 554 can = driver.make_driver(can_device_name, **kwargs)
555 return Node(can, **kwargs)
File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\__init__.py:67, in make_driver(device_name, **kwargs)
65 return MAVCAN(device_name, **kwargs)
66 else:
---> 67 return SLCAN(device_name, **kwargs)
68 elif PythonCAN is not None:
69 return PythonCAN(device_name, **kwargs)
File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\dronecan\driver\slcan.py:751, in SLCAN.__init__(self, device_name, **kwargs)
749 if isinstance(sig, Exception):
750 self._tx_queue.put(IPC_COMMAND_STOP, timeout=IO_PROCESS_INIT_TIMEOUT)
--> 751 raise sig
752 except queue.Empty:
753 pass
DriverError: SLCAN ACK timeout
> c:\users\chengdi\appdata\local\programs\python\python312\lib\site-packages\dronecan\driver\slcan.py(751)__init__()
749 if isinstance(sig, Exception):
750 self._tx_queue.put(IPC_COMMAND_STOP, timeout=IO_PROCESS_INIT_TIMEOUT)
--> 751 raise sig
752 except queue.Empty:
753 passMetadata
Metadata
Assignees
Labels
No labels