Skip to content

Conversation

@dmothes
Copy link

@dmothes dmothes commented Jul 24, 2019

Hi,

The Python CanOpenlib uses the self._node.rpdo[1]['Name'].raw and calls the a .update() function to call modfiy_data() if driver has the attribute. The IXXAT driver didn't have the attribute for now. But if u don't stop() and .start() in between u can't update the data. Now the modify_data() function derived from ModifiableCyclicTaskABC takes this in account and deletes the IXXAT hardware message on the CAN2USB and creates a new one without task recreation.

Regards

…ge first and adds it after that, and start transmition
@christiansandberg
Copy link
Collaborator

Actually this is intentional. At least in my opinion a modifiable task should not affect the timing when modified. If you need to stop and start then it is not truly modifiable.

We might however question why we have this class. Maybe applications should always be able to call modify_data() and if the interface does not implement this then we should fall back to starting and stopping. Maybe also checking if the data has not changed so that timing is kept constant as much as possible.

@mergify mergify bot requested a review from hardbyte November 16, 2020 00:19
@felixdivo
Copy link
Collaborator

I think we should discuss this in an issue first (if there is need for it) before attempting an implementation.

@felixdivo felixdivo closed this Nov 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants