That's normal. For some reason the E39 folder comes with the files for a lot modules the E39 never got (such as the MK60), and they essentially have junk data.
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/
Greetings to all
Is is possible to add a new function line to a module file and have it work properly?
I am looking to add line: CAN_RDC aktiv (found in KMB_E46.C08 to file KMB_E46.C03.
I also want to add line: REIFENDRUCKWARNSYSTEM aktiv (found in MK60) to my cars MK20E_I.C03 file.
This is in attempt to get the TPMS retrofit (http://www.zhpmafia.com/forums/showt...e-doityourself) fully functional as i have coded the other three lines needed to the KMB (as per the zhpmafia instructions) and now need the two lines listed above to see if this works. Upon initial ignition start up the icon turns red and then back to yellow but stays on all the time.
Regards,
Mark
Sent from my iPhone using Tapatalk
Last edited by se93; 01-10-2019 at 10:35 AM.
You can add new parameters(values) to existing functions, but you can't just add new functions to a module and have it work.
In that case I would know many functions offered in the GM5 module that I would like to add to the GM4 module. If only it was that easy.
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/
Revtor, please add translation. In Module MRS5CD.C22 AGKL_1 / AGKR_1 = belt tensioner force limiter, left/right.
revtor, man, just want to say great thanks to you for this excellent soft =)
E38 740iAL '00
I sold my soul to speed...
Looking for some pointers for decompiling and adding functions and parameters.
I'm looking at the KMBI_PL2.C09 from E89 and KMBI_E70.C03 from E70.
I am hoping to add to E89 the Check Control screen that shows SLI (speed limit), as my radio (hu_nbt2) is capable of sending speed limit information that is stored in the map, but only to an E70 cluster.
I've tried exporting and also decompiling the two module files. I see similarities in some sections that makes me think/hope that I may be able to add the function definitions from one to the other. Example:
E70:
CC_BLINKFREQUENZ_SCHNELL 00300003 (01) FF CHECK CONTROL FAST FLASHING FREQUENCY [FREQUENCY_HZ=10/DATA]
RDC_VERBAUT 00300004 (01) 01 TIRE PRESSURE CONTROL (RDC) INSTALLED
BC_QMVH_ENABLE 00300004 (01) 02
BC_SLI_ENABLE 00300004 (01) 04
BC_LIMIT_ENABLE 00300005 (01) 01 ON-BOARD COMPUTER (OBC) SPEED LIMIT ENABLED
E89:
CC_BLINKFREQUENZ_SCHNELL 00300003 (01) FF CHECK CONTROL FAST FLASHING FREQUENCY [FREQUENCY_HZ=10/DATA]
RDC_VERBAUT 00300004 (01) 01 TIRE PRESSURE CONTROL (RDC) INSTALLED
BC_LIMIT_ENABLE 00300005 (01) 01 ON-BOARD COMPUTER (OBC) SPEED LIMIT ENABLED
There are other sections that don't line up at all, though, and I need to add two function definitions from there too.
I think I need to look at the hex code of the program file that is referenced by these parameters to see where in the E89 program the matching code is.
Are the address numbers (0x00300004) hex addresses into the program file? Which is to say, could I look at 0x00300004 in the prg and find the code being referenced by these parameters?
vilord: KMBI_PL2.C09 and KMBI_E70.C03 are indeed strikingly similar suggesting their hardware is pretty much identical. Whether you'll be able to enable the feature on the E89 depends entirely on the similarity of the software. If the speed limit feature is not in the software, no disassembly/assembly will get it to work. It's worth a try of course...
Assuming the three SLI functions are the only ones controlling the feature (I don't know for sure), all you have to do is copy them to the disassembled KMBI_PL2.C09 file. You will have to change/add the hexadecimal identifiers as the E70 and E89 do not share the same SWTFSWxx.DAT (function keywords) and SWTPSWxx.DAT (parameter keyword) files. For example (excerpt from disassembled KMBI_E70.C03):
PARZUWEISUNG_FSW : {00003000} 00000004 0001 1BDB {b} (04) {h} {} // BC_SLI_ENABLE
PARZUWEISUNG_PSW1 : 0008 (00) // nicht_aktiv
PARZUWEISUNG_PSW1 : 0007 (01) // aktiv
0x1BDB translates to "BC_SLI_ENABLE" in the E70 SWTFSW11.DAT but "T_DEPRESSURE_DIFF_E89" for the E89 SWTFSW03.DAT. Similar with 0x0008 translating to "nicht_aktiv" in the E70 SWTPSW11.DAT but "1.9_l/min" in the E89 SWTPSW03.DAT. So you'll have to look up the E89 equivalent hexadecimal identifiers or add new ones to the keyword file(s). The exact keyword are of no importance. You could add new ones like "BLAHBLAH" if you'd like - It's only important that you do not run into conflicts with existing keywords.
No. The addresses point to locations in the memory of the physical module in the vehicle. The PRG files have nothing to do with this.Are the address numbers (0x00300004) hex addresses into the program file? Which is to say, could I look at 0x00300004 in the prg and find the code being referenced by these parameters?
Last edited by revtor; 02-11-2019 at 05:37 AM. Reason: Update
[Adding parameter issue]
Hello, I'm trying to add new parameter and I have an issue with this. I'm following this small tutorial, I'm using chrome and translate the whole page : https://www.drive2.ru/l/473425243860370249/
What I want to do: add new parameter to HUD in order to change the rpm curve range (currently is set to M5 and I want to change it in order to work in my E60 525D.
The issue is that when I select the correct module, I don't have "Add parameter"available when right click on the function, also "Update module" is disabled.
Can somebody help me with this?
Also, "Add new parameter is there when I select an incorrect/not matching version of the module, HUD in this case
You cannot load FSW/PSW trace in order to add parameters.
Pick only correct module, and without browse/load FSW/PSW you should be able to add parameters.
Last edited by clawpt; 02-11-2019 at 05:29 AM.
Yes.
After that, load fsw and select the parameter tou just added.
Sent from my D6503 using Tapatalk
Am I reading this correctly that it is (theoretically) possible to add functions from module A and make it work in module B? For example as I mentioned, GM5 functions, in GM4?
Suggestion: a Search button on the main screen. (for tablet use). Double pressing inside the search box calls up a virtual keyboard, and I can start typing, but to activate the search box, I have to press the virtual keyboard, then CTRL+F on it to pop-up the search screen. A dedicated button would be a nice feature.
A step further would be a permanent searchbox on the main screen, right of te Chassis/Module section. Something like:
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/
In most cases it's safe to say, no, that is not possible. However, sometimes you can get lucky when a very similar module (like a different coding index) supports the feature and your own module matches most of its memory mapping. This may indicate both modules share the same or very similar hardware and perhaps even software (firmware). If your module has a small gap in the addressing or an unoccupied function at the address where the feature is in the other module, there is a tiny chance that your own module supports it too.
There seems to be a lot of confusion about what exactly NCS Expert does: It does not and cannot change the software (firmware) in the physical modules of your vehicle. That's the territory of WinKFP (if the module can even be flashed). What NCS Expert does is making changes to the module's configuration - similar to what editing an *.ini configuration file with Notepad does for a computer program. If the module (computer program) does not support a certain feature, no meddling around with the configuration will ever change that...
Already there since version 0.6.0.0: The magnifying glass right above the HEX/DEC button.Suggestion: a Search button on the main screen. (for tablet use).
Hello, here is a newbie question: How do I get NCS Dummy to show the check boxes? I'm using the latest version 0.6.0.8 on an XP machine. Is it dependent on the text editor been use (Notepad, etc..)? Thanks in advance.
Hi Revtor, Thanks so much for all your hard work,
I have an E90 2005 n46.
I'm new and wondering can I get a list of ecu module files and decriptions so I can find what I'm looking for?
Cheers,
Vard
This is kinda off topic but does anyone know where there is a good guide on how to update modules/software in the car?
Hi, is it possible to with the help of NCS expert/ dummy read the whole flash memory of a module?
For example adding
CODIERDATENBLOCK : {00003001} 00000000 0090 "Test_to_dump_flash"
CODIERDATENBLOCK : {00003002} 00000000 0090 "Test_to_dump_flash1"
And so forth to the ex. MMI_E65.C04 file.
Would NCS then output the nettodata.trc of those addresses? Or do I need to add something more to the file like: UNBELEGT1 : {00003002} 00000000 0090 0ABF {} (FF) {h} {} //
Or something like that.
Or is there a simpler way of reading the whole memory?
Please tell me if I'm completely stupid or if I'm on to something here
Hi Everyone,
I have a error talking to my DSC module in NCS expert, first up with all the other modules its works perfectly.
Background,
11.02.2002 E46 S54 M3 conversion in a 02.06.2003 e46 N42 318 Compact.
M3 modules
DME
KMB
EWS
Compact modules
GM5
DSC
All the modules work except DSC, I've tried with pins 7 and 8 connected and not connected,
The car drives greatbut i wouldlike to change the DSC setting to a M3 setup.
Can anyone help?
Thanks
Sometimes modifying the module description file gives you access to memory parts that are normally not included. For example, the E31 EKM module will not read bytes for addresses 0xF6..0xFB but if you fabricate a module description file you can actually fetch the bytes just fine. For example, the following will read all 256 bytes (0x0100) in the EKM memory whereas the original module description file will not:
Note that this does not mean you will be able to write data to these addresses. In the case of the E31 EKM reading works but the module simply refuses to write bytes to that range (and other ranges in the address space). In fact even completely bypassing NCS Expert and directly talking to the module with custom written software still does not make it possible to write these bytes. I'm sure the software in the physical module is responsible for that. The only way to modify these bytes in the EKM module is through an EEPPROM programmer.Code:CODIERDATENBLOCK : {} 00000000 0100 "Experiment" UNBELEGT1 : {} 00000000 0100 {} (FF)
Just adding the block/group is not sufficient. You do need commands that actually represent data ranges. UNBELEGT1 is probably the easiest to work with if all you are interested in is getting more binary data in the nettodata trace file. So in your case a construction as follows should work (assuming the module wants to cooperate):For example adding
CODIERDATENBLOCK : {00003001} 00000000 0090 "Test_to_dump_flash"
CODIERDATENBLOCK : {00003002} 00000000 0090 "Test_to_dump_flash1"
And so forth to the ex. MMI_E65.C04 file.
Would NCS then output the nettodata.trc of those addresses? Or do I need to add something more to the file like: UNBELEGT1 : {00003002} 00000000 0090 0ABF {} (FF) {h} {}
Moffatt: This thread is about NCS Dummy. Best create a new topic for your issue.Code:CODIERDATENBLOCK : {00003001} 00000000 0010 "Test_to_dump_flash1" UNBELEGT1 : {00003001} 00000000 0010 {} (FF) CODIERDATENBLOCK : {00003002} 00000000 0010 "Test_to_dump_flash2" UNBELEGT1 : {00003002} 00000000 0010 {} (FF)
Thanks for the reply revtor. I just want to hopfully read as much of the memory as possible (without a external flash programmer requiring desoldering) so writing to them is not of the essens right now. So I'll rewrite the description file like this then
and so on for the whole memory and hope that the unit lets me use it.Code:CODIERDATENBLOCK : {00000000} 00000000 0010 "Test_to_dump_flash1" UNBELEGT1 : {00000000} 00000000 0010 {} (FF) CODIERDATENBLOCK : {00000001} 00000000 0010 "Test_to_dump_flash2" UNBELEGT1 : {00000002} 00000000 0010 {} (FF) CODIERDATENBLOCK : {00000003} 00000000 0010 "Test_to_dump_flash3" UNBELEGT1 : {00000003} 00000000 0010 {} (FF)
This is going to take a while...
vibbelito: I just realized that the example I gave leaves huge gaps. Each block address has an address space of 256 bytes but my example was set to read only the first 16 bytes (0x0010) of each block. You should read 256 bytes (0x0100):
It may be possible to read even larger blocks but I never tried that...Code:CODIERDATENBLOCK : {00000000} 00000000 0100 "Test_to_dump_flash0" UNBELEGT1 : {00000000} 00000000 0100 {} (FF) CODIERDATENBLOCK : {00000001} 00000000 0100 "Test_to_dump_flash1" UNBELEGT1 : {00000001} 00000000 0100 {} (FF) CODIERDATENBLOCK : {00000002} 00000000 0100 "Test_to_dump_flash2" UNBELEGT1 : {00000002} 00000000 0100 {} (FF)
By the way, it's probably better to start with a few address ranges and expand from there (and test reading the module after each change). Whenever you try to access memory that does not exist you'll get an error message without any indication of where things went wrong. If you create a module description file covering a huge address space and it doesn't work, it's going to be a pain to figure out which address ranges return errors.
I also think starting from 0x00000000 (and ending at 0xFFFFFFFF ?) is a bit overambitious. Changing the module description file to read address ranges that were originally not included has the best chance of success when these address ranges are gaps in the original address space (when there is known data before and after certain addresses there's a change these certain addresses in between also contain data). Reading before and after the original address space is a lot less likely to return data. It's worth a try but I'd start in small increments from the known address space.
Hi guys, I'm wondering if anyone can help me with this error code I have been getting:
[E] 00:35:46 An error occurred while reading "C:\NCSEXPER\WORK\FSW_PSW.TRC": Inconsistent data between parameter keywords "wert_11" and "wert_24" in function "ALC_KENNLIN_LWR_SENSOR_HI". Make sure chassis and module match those of the trace file.
It happens when I am trying to access the FRMFA.C10 module in NCSDummy. I have selected the original ECU as FRM in NCSExpert, aswell as selecting FRM when processing ECU.
I am trying to code this module for the e87 2005 120d. I am making sure that I have e89 selected in NCSExperty and NCSDummy as the e89 covers e87 chassis too.
The coding works for other modules, such as CAS, however I am trying to change features that I can only find in the FRM module, but it is not allowing me to do this.
Any help please?
Bookmarks