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.![]()
Just upgraded to latest version after not having vistited this topic from some time. I noticed the two coding examples, one of which is the Video In Motion.
This got me curious. Maybe it's just a generic example to show how to add new parameters, but in this specific example, wouldn't simply code both the MIN and MAX speedlimit for Video in Motion to the available "Not enabled" setting. This would imply no speedlock on any speed?
And in that same realm, coding the lower limit to 255 (km/h) would mean that you would have Video in motion at ONLY 255 km/h.
Logic (Well mine anyways) would think lower limit 0 and upper limit 255 (taken the not active doesn't mean what it implies).
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
MParallel: The min and max value have a slightly different meaning than what you think:
- When accelerating, "SPEEDLOCK_X_KMH_MAX" is the speed in km/h at which video-in-motion is disabled
- When decelerating, "SPEEDLOCK_X_KMH_MIN" is the speed in km/h at which video-in-motion is re-enabled
If you set both values high enough, video-in-motion is permanently enabled (well at least up to 255 km/h). If you set both to 0 km/h ("nicht_aktiv"), no video is possible when in motion.
I see. That's logic I guess you need to find out.
What about the Not Active options?
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
MParallel: Not active ("nicht_aktiv") has data value 0. In other words 0 km/h. So, video-in-motion will not work at all.
Ah yes of course. Should've checked that.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
So much thank you ! revtor !
Since I just took ownership of an 135i the coding fun has started. Compared to my E36, this has way more possibilities.
Anyways, of course I did the video in motion by adding the two parameters for min/max speed tresholds.
When filtering by the keyword "video" I noticed there is a 3rd related setting that itself refers to the ones just mentioned and it's the "SPEEDLOCK_FREISCHALTMENU". Unlock menu for video/television while driving.
I haven't tested it, but the name implies that it would give you an option in iDrive to alter the speed setting.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
mόkemmel bir ADAMSIN teşekkόrler dostumη
It would be nice if I could somehow tell NCS Dummy what module apply to my car. For my E88 it uses the E89 Daten folder, which has 462 files in it. Except a view config files, there are all mdules, including every CI version.
Specially if I want to filter modules by keyword, it will go through that whole list, which can take quite some time.
I would like to see a function where I can mark the modules that apply to my car so it only used these modules.
I tried making a copy of the E89 folder and call it E88 and just copy the applicable files into that, but that folder isn't seen. Sp NCS Dummy, must use some other file as input for what folders it displays. But so far I haven't found anything. Well one, but editting that file didn't do anything.
Or maybe an option to filter the list by module type. So instead of showing all available CI version, just shows "CIC" for example. Like when you choose module in NSC Expert.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
MParallel: You can actually make new DATEN folders, but you cannot simply copy & rename them as NCS Dummy expects a certain pattern: Inside each DATEN folder is a Exx_CONF.BAP file. That file should have the same prefix as the folder it is in to make NCS Dummy recognize it:
<folder> \ <folder>_CONF.BAP
E36 \ E36_CONF.BAP
E36_2 \ E36_2_CONF.BAP
MY LOVELY E36 \ MY LOVELY E36_CONF.BAP
Following files must be present in each folder for proper operation of NCS Dummy:
- <folder>_CONF.BAP
- <chassis>CVT.000 (chassis is the original name - do not rename this file)
- SWTASWxx.dat
- SWTFSWxx.dat
- SWTPSWxx.dat
Excellent, new folder now seen by NCS Dummy.
So the key point is to name the *_CONF.BAP the same as the folder name.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
I am glad I found this thread as I would really like to do some coding and I'm tired of asking people and paying crazy prices. The question I have is that I have my E46 M3 coded to some CSL options and is running on a modified MSS54 converted to MSS54-HP. Will that cause any problems?
Is there anyway NCS Dummy will read and display all coded options currently so I can modify my current coding and not lose it completely and have to start from Zero.
Thank you for this awesome thread.
EURO 04 M3 Current Mods: GC DA's, Eibach ARB's, BLUEBUS, VCSL Bumper + CF Rear Diffusor, BBS CHs & LMs, RE RCAs, OEM CSL Interior, OEM CSL Intake, OEM CSL Roof, OEM CSL Trunk, OEM CSL Steering, M3 CSL HP DME, HTE Tune, STOPTECH ST60/ST40, FXR 3.0 Projectors, SS Stepped headers + Catless SS Pipes + Res X-Pipe + Sport Muffler.
That's exactly what Dummy does and no that MSS54-HP is separate from coding.
But have you ready the WHOLE post made my Revtor and/or the manual for NCS Dummy. My guess is no, as this explains in detail how to code and one of the first steps is the "CODIERDATEN_LESEN" (read coding data) which generates a tracefile that NCS Dummy can read, where you can see exactly what your current settings are. And from there you make the changes. And of course you can save that file as a backup first, so if anything goes wrong or you forgot the changes made, you can revert back to original coing settings.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
EURO 04 M3 Current Mods: GC DA's, Eibach ARB's, BLUEBUS, VCSL Bumper + CF Rear Diffusor, BBS CHs & LMs, RE RCAs, OEM CSL Interior, OEM CSL Intake, OEM CSL Roof, OEM CSL Trunk, OEM CSL Steering, M3 CSL HP DME, HTE Tune, STOPTECH ST60/ST40, FXR 3.0 Projectors, SS Stepped headers + Catless SS Pipes + Res X-Pipe + Sport Muffler.
Suggestion: being able to filter on explicit data like "Aktiv" or "Nicht_aktiv".
For example I'm checking DRL settings, so I filter on DRL. Then I would like to filter that down with all the parameters for which I have setting Active or Not_active for example.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
Bookmarks