KITmedical / kacanopen

Easy-to-use CanOpen stack and CanOpen-to-ROS bridge.
Other
93 stars 57 forks source link

add_transmit_pdo_mapping() and set_entry() for two object. #20

Open moxo26 opened 5 years ago

moxo26 commented 5 years ago

So I am trying to map two object to objects to a RPDO I have already set up. Note I have successfully mapped 1 object and was able to update and send the RPDO. Now I am trying to map 2 objects, like this: device.add_transmit_pdo_mapping( 0x201, {{"target_position", 0}, {"profile_velocity", 4}}); I get no error from this.

Then I try two update one of the entries by doing the following: device.set_entry("target_position", (int32_t)(0xFFFFFFFF)); or: device.set_entry("profile_velocity", (int32_t)(0xFFFFFFFF));

but when I try to run it it get the following error: `terminate called after throwing an instance of 'kaco::canopen_error' what(): [Entry::get_value] Value is not valid.

I don't know what I am doing wrong, but I suspect its due to the fact that there are two mapped objects. Any help would be appreciated. Aborted (core dumped)`

Also is there of way of updating both values at the same time without having to send two messages.