axi92
October 10, 2023, 3:45pm
1
When I connect I get this message: 0000003814fffffffffffffffffe03095552436f6e74726f6c0304000000000000011d4d617220303820323031372c2031353a30343a3337
It should decode according to my controller version 3.4 and the excel documentation in 1.6 like this:
Excel docs: https://s3-eu-west-1.amazonaws.com/ur-support-site/16496/Client_Interfaces_1.1.3.xlsx
VersionMessage - first package only
int messageSize
unsigned char messageType = ROBOT_MESSAGE = 20
uint64_t timestamp
char source
char robotMessageType = ROBOT_MESSAGE_VERSION = 3
char projectNameSize
char array projectName
unsigned char majorVersion
unsigned char minorVersion
int svnRevision
char array buildDate
Zero or more of the following messages:
The data does not make sense at all, can somebody decrypt that message for me so I can understand what is what?
My data:
{
length_of_overall_package: 56, // uint32
package_type: 20, // uint8
package: {
size: 4294967295, //uint32
type: 255, //uint8
timestamp: 18446744065170560338n, //uint64
source: 67, //uint8
robotMessageType: 111, //uint8
projectNameSize: 110, //uint8
projectName: 116, //uint8
majorVersion: 114, //uint8
minorVersion: 111, //uint8
svnRevision: 108, //uint8
buildDate: 3, //uint8
left_over_bytes: '04000000000000011d4d617220303820323031372c2031353a30343a3337'
}
}
PS: I use that javascript parser for that
axi92
October 11, 2023, 12:51pm
2
I tried it now to parse everything with different encodings and tried to figure out what makes sense:
Thats my result now:
{
length_of_overall_package: 56, // uint32 4bytes length
package_type: 20, // uint8 1byte length
package: {
timestamp: 18446744073709551615n, // uint64 8bytes length
source: 254, // uint8 1byte length
robotMessageType: 3, // uint8 1byte length
projectNameSize: 9, // uint8 1byte length
projectName: 'URControl', // string ascii encoded with length of projectNameSize (in this case 9bytes)
majorVersion: 3, // uint8 1byte length
minorVersion: 4, // uint8 1byte length
bugfixVersion: 0, // uint32 4byte length
buildNumber: 285, // uint32 4byte length
buildDate: 'Mar 08 2017, 15:04:37' // string ascii encoded untill the last byte
}
}
The timestamp is still confusing to me
mmi
October 13, 2023, 7:58am
3
You’re decoding timestamp from a wrong offset. Timestamp is just set to -1 on some message types (version is one of them).
Highlighted:
0000003814 ffffffffffffffff fe03095552436f6e74726f6c0304000000000000011d4d617220303820323031372c2031353a30343a3337
axi92
October 13, 2023, 9:23am
4
Ok thank you I thought so.
Can you also tell me what the second message is that I get over the secondary interface?
// 00000018 14 ffffffffffffffff fe 0c 000001f80000010001
// length=24 messageType=20 timestamp=-1 source=254 robotMessageType=12 ....?
I can’t find a message with the messageType=20 and then robotMessageType=12
mmi
October 13, 2023, 1:21pm
5
It’s internal safety message. This is not public because we cannot guarantee backwards compatibility.
axi92
October 16, 2023, 7:40am
6
Oooh ok thank you, so messages that are not documented I can skip! Nice!