Send full 8 byte of SDO message or full 4 byte of data
In comparison to PDO's CiA301 standard expects 8 byte of the SDO message. Some devices would abort communication, if not full length of message was sent.
Thanks again for doing this repo
Could you please refer to any documentation which states that this behaviour is required? Thanks.
(I couldn't find any related documentation after a quick Internet search.)
https://www.canopensolutions.com/english/about_canopen/SDO-services.shtml
All SDO services are mapped to CAN data frames with an 8-byte length.
Official CiA301 standards are not free to download, but I'd have a snipped I could PM you. I guess mostly it works fine without the full 8 bytes, but in some cases libraries check for it.
Please check out the changes I've made in the new branch refactoring. Since I don't have any CANopen devices at hand, I'm unable to fully test it – but the changes should actually fix your issue.