Janez
Janez
You can just map three bytes of U32 into PDO. No problem.
SDO client is complex, please read the docs or see CANopenLinux for implementation. Or try to use PDO instead SDO.
CO_SDOclient.h contains quite useful information with example. But make sure, you understand CANopen, SDO, PDO, etc. correctly: see the standard, wikipedia, internet, docs here, but the easiest way may be...
C union for example?
Can you please make a fork and a pull request. Please note, there already is a pull request for SRDO, but there is to many reformatting of the code, so...
And please make it compliant with some [Misra C rules](https://github.com/CANopenNode/CANopenNode/blob/master/codingStyle), which was added recently: https://github.com/CANopenNode/CANopenNode/commit/a52db428f699394f58e12ce15acadfe1461e50ea
You should set include paths in Arduino somehow. Or manually copy files for your project.
Extra bracket is between pre-processor directives: https://github.com/CANopenNode/CANopenNode/blob/91653819e79072efeb585d56279dc87dbfc4d84a/301/CO_Emergency.c#L632-L643 This is not an error, just a bit ugly. I can't find more elegant solution.
https://github.com/CANopenNode/CANopenDemo/blob/master/demo/CO_application.c#L112
Thank you for you contribution. You are right, SRDO was not up to date with current CANopenNode. I can't merge directly into CANopenNode, because it could quite change the current...