Janez
Janez
You can use one callback function for multiple OD entries. Each "extended" OD entry must have own `OD_extension_t` object. Part of it is also a `void *object`, which points to...
That information was really missing inside callback. It is added now: https://github.com/CANopenNode/CANopenNode/commit/1204042a1f83cbbb3dc6398ed410bb9f58fc5102
Thank you for your comments, I agree with them. I wasn't skillful with OOP from the beginning and also didn't like to break driver interface much in the past. However,...
Please describe, how could your situation be reproduced. I made quite heavy tests with SDO block transfer and all worked as expected: - https://github.com/CANopenNode/CANopenDemo/blob/master/tutorial/SDO.md - https://github.com/CANopenNode/CANopenDemo/blob/master/test/test_report.md
SRDO update is now on the master branch.
> But I'm not really sure: if I have e.g. 16 temperature sensors which I have set that can be mapped to TPDO, do I have to follow this approach...
Now it works.
Yes. Each CANopen object has reference to can module. I used some PDOs on second CAN module. You should adapt CANopen.h and .c file.
For example, CO_RPDO_init(), you have to specify your other CANdevRx and CANdevRxIdx (index inside your other CANdev). You have to call CO_CANmodule_init() to initialize your other CANdev first.
You can connect up to 127 devices on one cable. Make sure, you have 120ohm resistors on both sides of the cable. Each device has own node-id, also the "master"....