Closed Mofeywalker closed 6 years ago
fixes #41 and #42
thanks
Thanks)
Hi, can you explain how to do the same for PolyScope 3.9, for example? Where can I look at the RobotModeData struct of my PolyScope version?
I just checked the documentation and it seems to be the case that the "universal Robots internal" flag is an int since version 3.6. In 3.5 it was a char. You could change this in the parsing process similar to my commit.
Thank you very much for the links!!! Format in your commit is "!IBQ???????BBddc". Why not "IBQ???????BBdddc"?
"!IBQ???????BBddi" works! Wasted about 4 hours to change 1 character=) Thank you again!!!
I am glad it worked! Maybe you could add this fix in a Pull Request.
Hm... As you said, In 3.5 flag is an uchar. Since 3.6 flag is an int. I can't just change format becouse it will break 3.5 version. And i can't get version from psize becouse it is 47 in 3.5 and 3.6. Is there any other way to get the version? Or I can indicate that this request does not work on 3.5 version.
psize should be 50 in 3.6 upwards as integer is 4 Byte and char is 1 byte, or am I mistaken? Have you checked the actual psize? Link to python docs
It is 47, strange
You could try 'b' or 'B' for unsigned / signed char, which in fact is an int. Maybe this could also work for the older versions. I currently don't have access to a robot, so I cannot test it.
yep, "B" works.
UR added a byte for internal use in version 3.6 to RobotModeData struct. I added a case for software versions >= 3.5 and added the byte to the parser string