-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stuck on "Wait for device to boot." #204
Comments
This could be related to a failed start-up due to missing sdo timeouts. We are currently working on a patch. Some CANopen devices do not respond within 100ms. |
Do you know how long until that patch is complete? Is there anything I could do to make it activate? |
@jitaxis is that everything or is there more communication Happening? |
Yeah thats all that happens. |
@ipa-cmh are there any updates? |
We faced a similar issue. Could you please provide an estimation of when we can expect this patch? Or you can point us to a place where it should be implemented and we will be more than happy to fix that. |
#220 does add this feature. As you can see there are still a couple of changes to do. |
Hello,where is the configuration of sdo and pdo in your bus.yml file? |
I have a similar issue (humble, ubuntu22, 1dd817c) bus setup:
Launch file output:
On the canbus i see the master resetting the bus, the radar sensor replying with boot message, but there its stuck.
Notes:
|
I'm facing a similar problem with @remco-r. I am running the latest branch on ubuntu 22.04, humble (1dd817c), with the following options:
dcf_path: "@BUS_CONFIG_PATH@"
master:
node_id: 1
driver: "ros2_canopen::MasterDriver"
package: "canopen_master_driver"
defaults:
dcf: "ZeroErr Driver_V1.5.eds"
driver: "ros2_canopen::Cia402Driver"
package: "canopen_402_driver"
enable_lazy_load: false
sdo:
- {index: 0x60C2, sub_index: 1, value: 50} # Set interpolation time for cyclic modes to 50 ms
- {index: 0x60C2, sub_index: 2, value: -3} # Set base 10-3s
- {index: 0x6081, sub_index: 0, value: 1000}
- {index: 0x6083, sub_index: 0, value: 2000}
tpdo: # TPDO needed statusword, actual velocity, actual position, mode of operation
1:
enabled: true
cob_id: "auto"
transmission: 0x01
mapping:
- {index: 0x6041, sub_index: 0} # status word
- {index: 0x6061, sub_index: 0} # mode of operation display
2:
enabled: true
cob_id: "auto"
transmission: 0x01
mapping:
- {index: 0x6064, sub_index: 0} # position actual value
- {index: 0x606c, sub_index: 0} # velocity actual position
3:
enabled: false
4:
enabled: false
rpdo: # RPDO needed controlword, target position, target velocity, mode of operation
1:
enabled: true
cob_id: "auto"
mapping:
- {index: 0x6040, sub_index: 0} # controlword
- {index: 0x6060, sub_index: 0} # mode of operation
2:
enabled: true
cob_id: "auto"
mapping:
- {index: 0x607A, sub_index: 0} # target position
- {index: 0x60FF, sub_index: 0} # target velocity
nodes:
cia402_device_1:
node_id: 3 I made the following attempt to run the Cia402Driver.
1. Running on candleLight USB-CAN Adapter (can0)
The output of candump is as follows.
2. Runs on a virtual interface (vcan0)
Stuck in "Wait for device to boot." as before. But I sent some frames via
The additional output is as follows.
The output of candump is as follows.
The weird thing is that on the physical interface, even though the device sends 583#4300100092010204, the program is still stuck on "Wait for device to boot.", even though I send it again via cansend. But if I manually send the 703#00, the program continues to run, just like the virtual interface. |
I am running a basic lunch file that launches the /canopen.launch.py file. I am using a KINCO motor driver with the .eds coming from the supplier.
When I run the file, the terminal gets stuck on:
[kinco_124S]: Wait for device to boot.
If I try to use the nmt_start service I get the following:
[kinco_124S]: Could not start device via NMT because driver not activated.
I am using ROS2 Humble on Ubuntu 22.04
I feel like I must be making a basic mistake but I am just unsure of what I am doing wrong.
Any help is greatly appreciated, and let me know if there is anything required. Thank you.
My bus.yaml and .eds file:
can_driver_config.zip
My launch file:
def generate_launch_description():
ld = LaunchDescription()
master_bin_path = os.path.join(
get_package_share_directory("bhm_can_interface"),
"config",
"single-kinco-fd124s",
"master.bin",
)
When running the above I get the following candump (master ID 2 and Device is ID 1):
can0 702 [1] 00
can0 000 [2] 82 00
can0 701 [1] 00
can0 601 [8] 40 00 10 00 00 00 00 00
can0 581 [8] 43 00 10 00 92 01 02 00
can0 601 [8] 40 18 10 01 00 00 00 00
can0 581 [8] 43 18 10 01 00 03 00 00
can0 601 [8] 40 18 10 02 00 00 00 00
can0 581 [8] 43 18 10 02 44 46 00 00
The text was updated successfully, but these errors were encountered: