Yes, that's right. These are bitwise operations. For more details see this post.
Your guess is as good as mine. The field is labeled "INDEX" in the module description files, but that does not tell us much. Over all modules and all chassis I see values from a to z and B, C, F & H (but these might be mistakenly uppercase).{b} what is this ?
The signature is simply the data bytes of the first two frames of the module description file. I don't know what these represent, but the frames are identical between all modules description files.also at the start I can find this: (comment in bold)
SIGNATURE : 00010001010163 02 Unknown function with CS?
This is literally the content of the header of the module description file. It's a legend of the frame formats in the file.--------------- Unknown function
0000 - DATEINAME - S - NAME
0001 - SGID_CODIERINDEX - B(B) - WERT,WERT2
0002 - SGID_HARDWARENUMMER - S(S) - WERT,WERT2
[..]
The strange structure behind the name shows the data formats of the fields in the frame: L = 32-bit unsigned, W = 16-bit unsigned, S = string, B = byte (or character), A = bitwise operation or option. The brackets and braces indicate the occurrence: {} = 0..1, () = 0..n.
For example, 0002 - SGID_HARDWARENUMMER - S(S) - WERT,WERT2 tells us a frame with id 0x0002 represents the "SGID_HARDWARENUMMER" (device hardware number). The frame contains two fields: A string field with name WERT (value) and a string collection with name WERT2 (value2).
This indicates the memory address layout of the module. The structure tells whether its values are 8-bit or 16-bit and the type whether it uses a free addressing or block addressing.SPEICHERORG : "BYTE" "FREI" What is it ?
It is the initial value of something, but I don't know what. Common values are 00 and FF but a few modules have 01.ANLIEFERZUSTAND : (00) Delivery condition ?
I don't know the precise meaning of the KENNUNG_* fields, but they often indicate special locations in the memory like the position of a checksum or VIN. In the example above from the KMB_E36.C25 module:KENNUNG_ALL : "G" 0046 () What is it ?
KENNUNG_ALL : "B" 0000 (0060,0061) What is it ?
KENNUNG_ALL : "Z" 0062 () What is it ?
KENNUNG_K : "$IDCDNR" "25" () For coding index 25
KENNUNG_K : "$IDHWNR" "**" () Hardware number all
KENNUNG_K : "$IDSWNR" "78" ("82","8C","96","A0","AA","B4","BE","C8") SW number of list
KENNUNG_D : 0000-0003 (0005-001D,0024-002F,0031-0031,0033-0033,0035-0035,0037-0037,0039-003B,003D-003F) What is it ?
KENNUNG_D : 0045-0045 (004A-005B) What is it ?
KENNUNG_ALL : "G" 0046 The VIN starts at address 0x46
KENNUNG_ALL : "B" 0000 (0060,0061) Address 0x61 contains a checksum calculated over range 0x00-0x60
KENNUNG_ALL : "Z" 0062 The ZCS (GM/SA/VN) starts at address 0x62
As you can see there is still a bit unknown about the module description files. There is no (public) documentation, so everything we know was found through reverse engineering or trial and error. I don't think that what is still unknown holds much value, though.
Thanks a lot for the quick and informative answer. I need to document myself more.
Bookmarks